> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Web SDK

> Release notes and changelog for the MoEngage Web SDK.

<Update label="16th July 2026" description="v2.78.01">
  * Analytics: Implemented time-bounded Indexed DB operations in login and logout flows.
</Update>

<Update label="9th July 2026" description="v2.78.00">
  * SDK: Refactored and consolidated debug logs and logger broadcasts.
  * Analytics: Froze the device ID and UID in the report for every `add_unique_user_id`/`setUniqueId` call.
  * OSM: Added `base_url` support for the HTML OSM campaign type.
  * Web Personalization: Updated the contract for the `fetchExperiences` method.
</Update>

<Update label="25th June 2026" description="v2.77.03">
  * SDK: Fixed identifier race conditions and added support for native window global methods.
  * OSM: Added `templateType` to all default OSM events.
</Update>

<Update label="18th June 2026" description="v2.77.01">
  * NPM: Updated SDK initialization logic.
  * WebP: Added Decision Policy Simulator support.
  * OSM: Updated the logic for the global frequency capping pre-prioritization check.
  * SDK: Fixed an SDK opt-out issue when `disableCookies` is enabled.
</Update>

<Update label="11th June 2026" description="v2.77.00">
  * SDK: Added support to detect version mismatch between Web SDK, Personalize SDK and Service Worker.
</Update>

<Update label="8th June 2026" description="v2.76.02">
  * Analytics: Removed `previous_identities` from the identity map when calling `add_unique_user_id` or `setUniqueId`.
</Update>

<Update label="3rd June 2026" description="v2.76.01">
  * SDK: Extended TV device detection to support new Vizio SmartCast user agents.
</Update>

<Update label="27th May 2026" description="v2.76.00">
  * SDK: Implemented a methodQueue to reliably manage and execute public method calls.
  * SDK: Added a safeguard to prevent duplicate initializations of the Web SDK and WebP.
  * GTM: Implemented a fallback mechanism for MoEngage actions to prevent execution failures when the Web SDK initializes with a delay.
</Update>

<Update label="25th May 2026" description="v2.75.00">
  * SDK: Reduced script bundle size to enhance overall performance.
</Update>

<Update label="12th May 2026" description="v2.74.01">
  * SDK: Downgraded the emitted JavaScript output target.
</Update>

<Update label="7th May 2026" description="v2.74.00">
  * Data Tracking: Fixed an issue where anonymous users were unintentionally logged out when data tracking was disabled.
  * Web SDK Assist: Introduced the MoEngage Assist Chrome Extension, a dedicated browser tool for debugging Web SDK integration, inspecting live event payloads, and troubleshooting campaigns in real time. For more information, refer to [MoEngage Assist Chrome Extension](/docs/developer-guide/web-sdk/integration-validation/moengage-assist-chrome-extension).
  * Analytics: Fixed an issue where an incorrect OS version was being sent in the report call for users on Firefox and Safari browsers.
  * Web Push: Resolved an issue that caused self-handled web push notifications to automatically trigger after resetting push permissions.
  * SDK: Optimized the SDK initialization process by eliminating redundant `InitData` constructor calls.
</Update>

<Update label="23rd April 2026" description="v2.73.02">
  * Web Personalization: Added nonce support for attribute operation.
  * OSM: Added all campaign validation for Frequency Capping.
</Update>

<Update label="9th April 2026" description="v2.73.01">
  * Web Personalization: Fixed an issue regarding event tracking.
</Update>

<Update label="2nd April 2026" description="v2.73.00">
  * Web Personalization: Removed rendered experiences on page change.
  * SDK: Tracked browser name and OS version.
</Update>

<Update label="30th March 2026" description="v2.72.01">
  * Cards: Fixed cards fetch issue caused by epoch time in milliseconds instead of seconds.
</Update>

<Update label="26th March 2026" description="v2.72.00">
  * Web Push: Prevented soft ask and hard ask for web push notifications in incognito/private browsing mode.
  * OSM: Frequency capping count now persists after logout, so returning users keep their existing count.
</Update>

<Update label="13th March 2026" description="v2.71.01">
  * NPM: Hotfix related to SDK version in NPM package.
</Update>

<Update label="12th March 2026" description="v2.71.00">
  * SDK: Standardized Web SDK initialization properties and method names. For more information, refer to [Standardizing Web SDK APIs for Cross-Platform Consistency](/docs/developer-guide/web-sdk/migration/standardizing-web-sdk-apis-for-cross-platform-consistency).
  * SDK: Added support to track integration type.
  * Cards: Fixed an issue related to content and CTA button text max width.
</Update>

<Update label="24th February 2026" description="v2.70.00 · v2.70.01">
  * SDK: CSP Nonce Support.
  * OSM: Multi App.
  * WebP: Experience operations re-rendering support for test experiences.
</Update>

<Update label="12th February 2026" description="v2.68.02 · v2.68.03">
  * OSM: Hotfix regarding `handle_page_change()` function in TV device integration.
  * Shopify: Fixed saving `cart_token` in storage.
  * OSM: Fixed delivery funnel stats for self-handled OSM.
  * Cards: Fixed multiple lines of content in Cards message body.
</Update>

<Update label="5th February 2026" description="v2.68.01">
  * GTM: Added method sequencing for MoEngage public APIs.
  * SDK: Fixed an infinite loop in device attribute tracking during user resolution.
  * NPM: Fixed the `disable_onsite` mismatched key name issue.
</Update>

<Update label="29th January 2026" description="v2.68.00">
  * OSM: Added array object support for trigger filters.
</Update>

<Update label="22nd January 2026" description="v2.67.00">
  * SDK: Added support for Adblocker Handling.
</Update>

<Update label="20th January 2026" description="v2.66.02">
  * SDK: Fixed an IndexedDB transaction issue.
</Update>

<Update label="14th January 2026" description="v2.66.01">
  * OSM: Fixed multiple template calls issue.
  * OSM: Added error handling in exit intent campaigns.
  * Cards: Fixed cards button aria label.
</Update>

<Update label="8th January 2026" description="v2.66.00">
  * SDK: Decoupling environment and logs from debug logs.
  * SDK: Disable data tracking.
  * Cards: Code refactoring.
  * OSM: Segment revaluation.
  * NPM: Null check for `swScope`.
</Update>

<Update label="6th January 2026" description="v2.65.03">
  * SDK: Fixed an issue with DC\_101.
</Update>

<Update label="19th December 2025" description="v2.65.02">
  * SDK: Fixed an issue with `identifyUser`.
  * Web Personalization: Fixed subdomain sharing fetch experiences issue.
</Update>

<Update label="4th December 2025" description="v2.65.00 · v2.65.01">
  * OSM: Brizy v3.
  * Web Push: Fixed an issue where push subscription details were not removed after unsubscribing.
  * Web Push: Fixed an issue where the soft ask did not reappear after logging out.
  * Web Personalization: Added cache support for self-handle experiences.
</Update>

<Update label="20th November 2025" description="v2.64.00">
  * OSM: Added support for channel-level frequency capping.
  * Analytics: Updated `destroy_session()` method to handle parallel user logouts.
  * Analytics: Added support to store third-level domain cookies.
  * Analytics: Added expiry date to `moe_uuid` cookie.
</Update>

<Update label="19th November 2025" description="v2.63.02">
  * Analytics: Removed async from `identifyUser()`, `enableSdk()`, `disableSdk()` methods to make them compatible with new GTM changes.
</Update>

<Update label="13th November 2025" description="v2.63.01">
  * WebP: Reset reapply operations for SPA pages.
</Update>

<Update label="6th November 2025" description="v2.63.00">
  * SDK: Bug fixes regarding subdomain sharing.
  * SDK: Universal Link Tracking for email.
  * OSM: Improved test case coverage of the OSM module.
</Update>

<Update label="30th October 2025" description="v2.62.00">
  * SDK: Upgraded Node version to 22.11.0 (LTS).
  * Analytics: Refactored subscriber-based billing module.
</Update>

<Update label="28th October 2025" description="v2.61.02">
  * OSM: Fixed restoring styles when no campaigns exist.
</Update>

<Update label="23rd October 2025" description="v2.61.01">
  * OSM: Fixed application of styles on the body tag.
</Update>

<Update label="16th October 2025" description="v2.61.00">
  * SDK: Added Multi-App and Portfolio Attributes Tracking Support.
</Update>

<Update label="6th October 2025" description="v2.60.01">
  * Analytics: Fixed user logout issue.
</Update>

<Update label="26th September 2025" description="v2.60.00">
  * SDK: Cookie storage reduction.
</Update>

<Update label="18th September 2025" description="v2.59.00">
  * Landing Pages: Bypass subscriber billing in landing pages.
  * Web Personalization: Fixed device ID handling issue.
</Update>

<Update label="4th September 2025" description="v2.58.02">
  * Cards: Fixed bug related to `disableSDK`.
  * Web Personalization: Removed caching for self-handled personalization.
</Update>

<Update label="3rd September 2025" description="v2.58.01">
  * Web Push: Hard ask for impression tracking in case of self-handled push.
</Update>

<Update label="21st August 2025" description="v2.58.0">
  * OSM: Campaign Priority Management.
</Update>

<Update label="14th August 2025" description="v2.57.0">
  * Cards: Cards module size optimized.
  * Web Push: Self-handled web push opt-in shown event tracking.
  * SDK: CI/CD optimizations.
</Update>

<Update label="1st August 2025" description="v2.56.2">
  * Data Tracking: Fixed bug related to fetching user before SDK initialization.
</Update>

<Update label="17th July 2025" description="v2.56.0">
  * Landing Pages: Added tracking support for subscriber-based billing apps.
</Update>

<Update label="10th July 2025" description="v2.55.1">
  * OSM: Added Self-Handled OSM support. For more information, refer to [Self-Handled On-Site Messaging](/docs/developer-guide/web-sdk/onsite-messaging/self-handled-on-site-messaging).
</Update>

<Update label="9th July 2025" description="v2.55.0">
  * WebP: Updated validate offering context function for tracking offering experiences.
</Update>

<Update label="3rd July 2025" description="v2.54.12">
  * WebP: Self-handling experience rendering support.
  * WebP: Added offering click and shown experience tracking.
  * Web Push: Fixed issue related to fetching SDK Settings.
  * Data Tracking: Fixed issues related to subscriber-based billing and cross-subdomain tracking.
</Update>

<Update label="1st July 2025" description="v2.54.8 · v2.54.9 · v2.54.10">
  * WebP: Self-handling experience rendering support.
  * WebP: Added offering click and shown experience tracking.
  * Web Push: Fixed issue related to fetching SDK Settings.
  * Data Tracking: Fixed issues related to subscriber-based billing and cross-subdomain tracking.
</Update>

<Update label="26th June 2025" description="v2.54.7">
  * Cards: Added accessibility support in Cards.
</Update>

<Update label="23rd June 2025" description="v2.54.6">
  * SDK Opt-out: Initialization lifecycle event emitted even if SDK is disabled.
</Update>

<Update label="19th June 2025" description="v2.54.4">
  * Web Push: Refactored and removed unused code.
  * Web Personalization: Updated prefix name for self-handle function.
  * Web Personalization: Added support for multiple `moe-data-id`.
</Update>

<Update label="9th June 2025" description="v2.54.3">
  * SDK: Added accessibility support in Web Push and On-site Messaging.
  * Shopify: Fixed order of cart items in data tracking payload.
  * SDK Opt-out: Initializing store manager when enabling SDK.
</Update>

<Update label="27th May 2025" description="v2.54.2">
  * SDK: Web SDK Opt-out.
</Update>

<Update label="24th April 2025" description="v2.53.5">
  * Data Tracking: Tracking `moe_aid` in all report calls if present.
</Update>

<Update label="21st April 2025" description="v2.53.4">
  * Web Personalization: Removed JavaScript type attribute from the script tag.
</Update>

<Update label="9th April 2025" description="v2.53.3">
  * Cards: Fixed Delete API failure.
  * Cards: Fixed content CSS.
</Update>

<Update label="8th April 2025" description="v2.53.2">
  * Cards: Updated un-clicked count function.
  * WebP: Removed widget id attribute from script tags.
</Update>

<Update label="12th March 2025" description="v2.52.2">
  * Data Tracking: Added support for Multi-ID.
</Update>

<Update label="4th March 2025" description="v2.52.0">
  * WebP: Updated default variation method for impression tracking.
</Update>

<Update label="25th February 2025" description="v2.51.3">
  * WebP: Hash URL support in Web Personalized editor.
  * Cards: Updated API cards context data.
</Update>

<Update label="13th February 2025" description="v2.51.1">
  * NPM Package: Added compatibility for server-side rendering.
  * OSM: Bug fix for a corner case.
</Update>

<Update label="30th January 2025" description="v2.51.0">
  * Web Push: Bug fix for push support in Chrome extension.
  * NPM Package: Added support for CommonJS Module.
  * Landing Pages: Tracking widget id in `trackClick` function.
  * SDK: Refactored SPA handler.
</Update>

<Update label="23rd January 2025" description="v2.50.1">
  * Segment: Fixed data center casing related bug.
</Update>

<Update label="20th January 2025" description="v2.50.0">
  * OSM: Added support for tracking failure stats in offline mode.
  * Web Personalization: Added support for Tabbed Recommendation.
  * Web Personalization: Fixed split URL related bug.
  * Web Push: Added support for push notification in Chrome Extension.
</Update>

<Update label="9th January 2025" description="v2.49.0">
  * Web Push: Removed the push permission check while tracking device attribute if the web push module is disabled.
  * Web Push: Fixed tracking of push device attribute in an edge case of subscriber-based billing.
  * Web Personalization: Added public method `renderPageTypeExperience` for Page-Type experience rendering.
  * NPM Package: Added support to provide custom SDK version during initialization.
  * OSM: Fixed fetching metadata of OSM campaigns on user login.
</Update>

<Update label="5th December 2024" description="v2.48.1">
  * OSM: Fixed GCG campaign rendering.
  * WebP: Split URL rendering.
  * Landing Page released.
</Update>

<Update label="21st November 2024" description="v2.48.0">
  * NPM Package: Added `window.Moengage` null check in integration script.
  * OSM: Added multiple URL filtering support in a single operation.
</Update>

<Update label="11th November 2024" description="v2.47.2">
  * NPM Package: Handled cards `on_load` callback in case when cards initialization takes time.
</Update>

<Update label="29th October 2024" description="v2.47.1">
  * Web Push: Fixed notification error handling.
</Update>

<Update label="23rd October 2024" description="v2.47.0">
  * Cards: Cards sync and code improvement.
  * Web Push: Code revert for notification error handling.
</Update>

<Update label="17th October 2024" description="v2.46.3">
  * OSM: Removed cookies dependency from test campaigns.
  * Cards: Removed cards frame on user logout.
  * Data Tracking: Size of offline batches made the same as online batches.
  * NPM Package: Fixed `InitData` TypeScript declaration.
</Update>

<Update label="7th October 2024" description="v2.46.0">
  * SDK: Added versioning in Web SDK, Cards, Web Personalization, and serviceworker (Web Push).
  * NPM Package: Added versioning of Web SDK in sync with the version in the NPM package's `package.json`.
  * NPM Package: Added TypeScript declaration file to assist usage of Web SDK in IDEs.
</Update>

<Update label="20th September 2024" description="v2.45.1">
  * Web Push: Null check for the `Notification` window object.
</Update>

<Update label="19th September 2024" description="v2.45.0">
  * Web Push: Null check for the `Notification` window object.
  * OSM: Added campaign context in OSM template call.
</Update>

<Update label="17th September 2024" description="v2.44.0">
  * Web Push: Null check for the `Notification` window object.
  * OSM: Added campaign context in OSM template call.
</Update>

<Update label="12th September 2024" description="v2.43.0">
  * SDK: Added new events and device attributes for Push Subscription events.
  * SDK: JSON object support for trigger evaluator.
  * Web Personalization: Removed the default cluster target to dc\_1.
</Update>

<Update label="11th September 2024" description="v2.43.1">
  * SDK: Handled cross-subdomain push opted state.
</Update>

<Update label="10th September 2024" description="v2.43.0">
  * SDK: Adding new events and device attributes for Push Subscription events.
  * SDK: JSON object support for trigger evaluator.
  * Web Personalization: Remove default cluster target to dc\_1.
</Update>

<Update label="3rd September 2024" description="v2.42.0">
  * OSM: Added support for delay in custom event trigger campaign.
  * Web Personalization: Show personalized experiences in preview mode.
</Update>

<Update label="29th August 2024" description="v2.41.1">
  * Web Personalization: Trigger Personalize based on `pageContext`.
  * Web Personalization: Added Page Type filter support.
  * Data Tracking: Fixed Push Subscriber Billing post-logout issue.
  * Cards: Added support to handle notification icon on a non-SPA element in a SPA website.
  * Cards: Removed hidden cards from self-handled APIs.
</Update>

<Update label="27th August 2024" description="v2.41.0">
  * Web Personalization: Trigger Personalize based on `pageContext`.
</Update>

<Update label="22nd August 2024" description="v2.40.2">
  * Data Tracking: User attribute caching of object-type attributes.
  * OSM: Passing User ID in API calls.
  * Web Personalization: Editor rendering logic change.
</Update>

<Update label="20th August 2024" description="v2.40.1">
  * Data Tracking: User attribute caching of object-type attributes.
  * OSM: Passing User ID in API calls.
</Update>

<Update label="19th August 2024" description="v2.40.0">
  * Web Personalization: Editor rendering logic change.
</Update>

<Update label="12th August 2024" description="v2.39.0">
  * Data Tracking: Bug fixes for `setCurrentSource` error handling.
</Update>

<Update label="6th August 2024" description="v2.39.0">
  * Cards: Merged Cards TV features and global DC4 release.
</Update>

<Update label="2nd August 2024" description="v2.38.4 · v2.38.5">
  * Cards: Added support for Cards in TV for DC4.
  * WebP: Fixed stats API failure for hash URLs.
</Update>

<Update label="1st August 2024" description="v2.38.1">
  * Cards: Added support for Cards in TV (all clusters except DC4).
</Update>

<Update label="24th July 2024" description="v2.37.7">
  * Data Tracking: Added condition to check date value in user attribute.
</Update>

<Update label="2nd July 2024" description="v2.37.3">
  * OSM: Delivery funnel cases for personalization failure, delay campaign, and API failures.
  * Web Personalization: Fixed test experience URL for hash URLs.
</Update>

<Update label="27th June 2024" description="v2.37.0 · v2.37.1">
  * Shopify: Added `cart_token` request param in Shopify multi-ID enabled clients.
  * Core: Added flag for subscriber billing accepted attributes.
  * Cards: Fixed cards get call hit multiple times.
</Update>

<Update label="24th June 2024" description="v2.36.0">
  * OSM: Added null check on a function called from TV devices.
</Update>

<Update label="20th June 2024" description="v2.34.4">
  * OSM: Fixed new campaigns fetching every 15 minutes on TV devices.
</Update>

<Update label="14th June 2024" description="v2.34.3">
  * Web Personalization: Updated anti-flicker code.
</Update>

<Update label="13th June 2024" description="v2.34.2">
  * Web Push: Added check for 1-step without overlay.
  * Data Tracking: Updated the data tracking API format to support batching.
  * Core: Updated all scripts caching time to 2 weeks.
</Update>

<Update label="11th June 2024" description="v2.33.1 · v2.34.0">
  * OSM: Replaced dot-space unicode in OSM event and attribute names.
  * Data Tracking: Updating the data tracking API format to support batching.
</Update>

<Update label="6th June 2024" description="v2.33.0">
  * Web Personalization: Anti-flicker on element basis.
</Update>

<Update label="19th April 2024" description="v2.30.6">
  * Web Personalization: Server-side personalization feature added.
  * OSM: AND trigger support added.
</Update>

<Update label="13th March 2024" description="v2.25.0">
  * Web Personalization: Insert operation handling when body is not available.
  * OSM: Campaign context tracking in OSM lead gen for submitted event.
</Update>

<Update label="12th March 2024" description="v2.23.1">
  * Web Personalization: Real-time recommendations support added.
</Update>

<Update label="4th March 2024" description="v2.22.2 · v2.23.0">
  * Data Tracking: Page change handler added.
  * Data Tracking: Minor testing logs added.
</Update>

<Update label="27th February 2024" description="v2.22.1">
  * Data Tracking: Page change handler added.
</Update>

<Update label="22nd February 2024" description="v2.22.0">
  * OSM: Injecting campaign ID in the template.
</Update>

<Update label="15th February 2024" description="v2.21.1">
  * Data Tracking: Enabled beacon for all clients.
  * Core: `DisableCookies` config added.
</Update>

<Update label="29th January 2024" description="v2.20.2 · v2.20.6">
  * Core: Added remote logs support.
  * Web Personalization: Minor bug fix.
  * OSM: OR support in event trigger.
</Update>

<Update label="23rd January 2024" description="v2.20.0">
  * Web Personalization: Added mobile-specific personalization support.
</Update>

<Update label="17th January 2024" description="v2.19.24">
  * Core: Minor bug fix relating to serviceworker in DC build.
</Update>

<Update label="9th January 2024" description="v2.19.21 · v2.19.22">
  * Cards: Minor bug fix relating to mobile back button when card is open.
</Update>

<Update label="3rd January 2024" description="v2.19.19 · v2.19.20">
  * OSM: Minor bug fix.
</Update>

<Update label="2nd January 2024" description="v2.19.17 · v2.19.18">
  * NPM: Added missing keys for initialization.
</Update>

<Update label="14th December 2023" description="v2.19.16">
  * Core: Added data center support in NPM and Web Personalization.
</Update>

<Update label="13th December 2023" description="v2.19.15">
  * Cards: Fixed bug relating to default config being empty.
  * OSM: Fixed bug for test campaigns.
</Update>

<Update label="8th December 2023" description="v2.19.13">
  * Shopify: Fixed bug relating to using phone and email for user ID.
</Update>

<Update label="6th December 2023" description="v2.19.11">
  * Core: Minor bug fixes.
</Update>

<Update label="28th November 2023" description="v2.19.7 · v2.19.9">
  * Web Personalization: Rendering experiences for specific URLs separately.
  * Core: Internal code refactor and unit test cases.
</Update>

<Update label="27th November 2023" description="v2.19.2">
  * OSM: Removed cookies usage in test campaigns.
</Update>

<Update label="7th November 2023" description="v2.18.7">
  * Cards: Added `prev_sync_card_id` in the cards get call.
</Update>

<Update label="6th November 2023" description="v2.18.5">
  * WebP: Added performance flicker overlay.
  * Chrome Extension: Added batched events.
</Update>

<Update label="30th October 2023" description="v2.17.15">
  * WebP: Integration error handling and retry on lazy loading bug fix.
</Update>

<Update label="25th October 2023" description="v2.17.14">
  * Web Push: Fixed popping-up of web push hard-ask opt-in when `swScope` is configured.
</Update>

<Update label="19th October 2023" description="v2.17.13">
  * WebP: Fixed default variation impression tracking.
</Update>

<Update label="17th October 2023" description="v2.17.12">
  * WebP: DPM Phase 2.
</Update>

<Update label="10th October 2023" description="v2.17.11">
  * WebP and Cards: Bug fixes.
</Update>

<Update label="5th October 2023" description="v2.17.10">
  * WebP: DPM released.
</Update>

<Update label="26th September 2023" description="v2.17.9">
  * Shopify: Fixed cart token tracking issue in Firefox for the add-to-cart case.
</Update>

<Update label="8th September 2023" description="v2.17.7 · v2.17.8">
  * Push: Reverted serviceworker changes released on 29th August 2023.
  * Shopify: Fixed cart token tracking issue.
</Update>

<Update label="5th September 2023" description="v2.17.5 · v2.17.6">
  * Push: Fixed serviceworker issue of tracking impression and click.
  * Shopify: Cart token tracking issue testing.
</Update>

<Update label="31st August 2023" description="v2.17.4">
  * Shopify: Added option for phone to use as user identifier.
  * Cards: Minor bug fix for self-handled cards.
</Update>

<Update label="29th August 2023" description="v2.17.0 · v2.17.1 · v2.17.2 · v2.17.3">
  * OSM: Minor bug fix for OSM Pro.
  * SDK: Added unit test cases for existing modules.
  * Push: Merged multiple serviceworkers.
  * Web Personalization: Generating `unique_id` for first load.
  * Shopify: Tracking `cart_token` even if web push is disabled.
  * Push: Minor bug fixes for `indexedDB` in serviceworker.
</Update>

<Update label="8th August 2023" description="v2.16.1">
  * OSM: Minor bug fix for OSM Pro.
</Update>

<Update label="31st July 2023" description="v2.16.0">
  * Core: Added new data centers DC\_5 and DC\_100.
</Update>

<Update label="27th July 2023" description="v2.15.9">
  * OSM: Minor change related to delivery funnel and OSM Pro.
</Update>

<Update label="24th July 2023" description="v2.15.8">
  * Web Personalization: Minor bug fix related to same-session personalization.
</Update>

<Update label="18th July 2023" description="v2.15.7">
  * Web Personalization: Same-session personalization.
</Update>

<Update label="4th July 2023" description="v2.13.9 · v2.14.0 · v2.15.2">
  * Web Personalization: Added support for custom HTML and JS in the experience.
  * OSM: Rebranding banner template changed from iframe to div.
  * Shopify: Minor bug fix on tracking cart token.
</Update>

<Update label="3rd July 2023" description="v2.13.8">
  * Shopify: Tracking cart token on add to cart.
</Update>

<Update label="26th June 2023" description="v2.13.7">
  * Web Personalization: Small bug fix in loading editor.
</Update>

<Update label="22nd June 2023" description="v2.13.6">
  * Web Personalization: Small bug fix in permalink.
</Update>

<Update label="21st June 2023" description="v2.13.5">
  * Web Personalization: Added support to render multiple experiences.
</Update>

<Update label="13th June 2023" description="v2.13.4">
  * SDK: Added batching support on Android Chrome and Opera browsers.
</Update>

<Update label="12th June 2023" description="v2.13.3">
  * OSM: Anchor tag click tracking and same-page redirection.
</Update>

<Update label="22nd May 2023" description="v2.13.0">
  * Core: SDK will stop running if the user agent is a bot.
</Update>

<Update label="17th May 2023" description="v2.12.2">
  * Core: If DB is blocked or archived, SDK will stop.
</Update>

<Update label="16th May 2023" description="v2.12.1">
  * Data Tracking: Minor bug fix related to user unique ID tracking.
</Update>

<Update label="9th May 2023" description="v2.12.0">
  * Onsite Messaging: Implemented Delivery Funnel to track delivery failure stats.
  * Web Personalization: Added multiple URL support.
</Update>

<Update label="8th May 2023" description="v2.11.1">
  * Onsite Messaging: Fixed GCG campaign.
  * Onsite Messaging: Added `copyToClipboard` function in OSM new editor.
</Update>

<Update label="2nd May 2023" description="v2.11.0">
  * Web Personalization: Handled lazy-loading websites.
</Update>

<Update label="26th April 2023" description="v2.10.4">
  * SDK: Fixed mobile devices scrolling issue and exit intent issue.
</Update>

<Update label="24th April 2023" description="v2.10.3">
  * Web Personalization: WebP default URL params made immutable.
</Update>

<Update label="17th April 2023" description="v2.10.1">
  * Web Push: Added new config to disable web push module on demand.
</Update>

<Update label="13th April 2023" description="v2.10.0">
  * Web Personalization: Added support for default variation.
</Update>

<Update label="10th April 2023" description="v2.9.1">
  * Integration: Updated integration script of Web SDK to restrict multiple initialization.
</Update>

<Update label="3rd April 2023" description="v2.8.59">
  * Web Push: Added support for Web Push Notification in iOS.
</Update>

<Update label="29th March 2023" description="v2.8.58">
  * Shopify: Minor bug fix.
</Update>

<Update label="27th March 2023" description="v2.8.57">
  * Web Personalization: Minor bug fix relating to opening editor without referrer.
</Update>

<Update label="23rd March 2023" description="v2.8.56">
  * Data Tracking: Minor bug fix relating to beacon.
</Update>

<Update label="16th March 2023" description="v2.8.55">
  * Data Tracking: Started tracking data using beacon instead of XHR.
</Update>

<Update label="2nd March 2023" description="v2.8.54">
  * OSM: Minor bug fix related to template rendering.
  * Shopify: Tracking cart token via serviceworker.
</Update>

<Update label="22nd February 2023" description="v2.8.51 · v2.8.52">
  * Web Personalization: Added support for pre-fetch.
  * Data Tracking: Added Chrome iOS browser as a browser name.
</Update>

<Update label="9th February 2023" description="v2.8.50">
  * Data Tracking: Fixed bug related to batching where events were being cleared.
</Update>

<Update label="8th February 2023" description="v2.8.49">
  * Web Push: Added support for Safari macOS and Edge Web Push Notification.
</Update>

<Update label="20th January 2023" description="v2.8.48">
  * Shopify: Tracking cart token.
</Update>

<Update label="19th January 2023" description="v2.8.46 · v2.8.47">
  * Web Personalization: Minor bug fix — null pointer check.
  * Web Personalization: Preprod testing scope added.
</Update>

<Update label="12th January 2023" description="v2.8.45">
  * Web Personalization: Remote logging of all logs.
</Update>

<Update label="14th December 2022" description="v2.8.40">
  * OSM: Passing UID in OSM APIs for enabled DBs.
</Update>

<Update label="28th November 2022" description="v2.8.38">
  * OSM: Re-sync the list of campaigns on login.
</Update>

<Update label="22nd November 2022" description="v2.8.37">
  * Cards: Added font family support in cards.
</Update>

<Update label="14th November 2022" description="v2.8.36">
  * Cards: Minor bug fix.
</Update>

<Update label="20th July 2022" description="v2.8.18">
  * OSM: Added audio/video support in templates.
</Update>

<Update label="6th July 2022" description="v2.8.17">
  * OSM: Resetting overflow style of body on template close.
</Update>

<Update label="30th June 2022" description="v2.8.16">
  * SDK: Fixed AMP iframe cross-domain sharing.
  * SDK: Tracking `migrated_user` for push migration case in subscribe event.
  * SDK: In batching, log out first and then create a new device and user.
  * SDK: Removed `raw` key from cookies to reduce size.
</Update>

<Update label="28th June 2022" description="v2.8.15">
  * OSM: Added dynamic event listeners for Lead Gen template.
</Update>

<Update label="20th June 2022" description="v2.8.14">
  * Data Tracking: Adding event in `indexedDB` for batching case.
</Update>

<Update label="16th June 2022" description="v2.8.13">
  * OSM: Reverted meta call performance fixes.
</Update>

<Update label="13th June 2022" description="v2.8.12">
  * SDK: Updated README to remove environment and inapp host references.
</Update>

<Update label="27th May 2022" description="v2.8.11">
  * Push: Added error logging in console in serviceworker in case of push notification failure.
</Update>

<Update label="23rd May 2022" description="v2.8.8">
  * OSM: Improved performance of OSM template call on page load.
</Update>

<Update label="17th May 2022" description="v2.8.7">
  * OSM: Fixed exit intent campaign caching issue.
</Update>

<Update label="27th April 2022" description="v2.8.6">
  * OSM: Improved scroll campaigns performance. Changed implementation from continuous probing to throttling.
</Update>

<Update label="20th April 2022" description="v2.8.4">
  * Push: Added support for non-inline click event listener for "Don't Allow" Soft Ask.
</Update>

<Update label="12th April 2022" description="v2.8.2">
  * OSM: Added dismiss on dynamically added elements.
</Update>

<Update label="4th April 2022" description="v2.8.1">
  * Data Tracking: Added support for array data type in user attribute tracking.
  * SDK: Events broadcast on automated events generated by SDK.
</Update>

<Update label="2nd March 2022" description="v2.8.0">
  * Push: Added support for absolute URL in serviceworker path.
</Update>

<Update label="25th February 2022" description="v2.7.30">
  * OSM: Fixed delay type campaigns in SPA.
  * Data Tracking: Removed extra data being stored in cookies in case of subdomain shared tracking.
</Update>

<Update label="18th February 2022" description="v2.7.28">
  * Push: Fixed opt-in appearing automatically after resetting permission.
</Update>

<Update label="31st January 2022" description="v2.7.27">
  * OSM: Fixed multiple scroll campaign rendering.
</Update>

<Update label="10th January 2022" description="v2.7.25">
  * SDK: Using `device_uuid` from cookies in case of AMP.
</Update>

<Update label="20th December 2021" description="v2.7.24">
  * OSM: Prefetching exit intent type campaigns — checking on every page reload.
</Update>

<Update label="16th December 2021" description="v2.7.23">
  * OSM: Prefetching exit intent type campaigns — filtering before prefetching.
</Update>

<Update label="13th December 2021" description="v2.7.21">
  * OSM: Prefetching exit intent type campaigns and caching in browser for faster deliverability.
</Update>

<Update label="10th December 2021" description="v2.7.20">
  * Web Push: Fixed web push in AMP.
</Update>

<Update label="30th November 2021" description="v2.7.19">
  * OSM: Added support for A/B testing.
  * OSM: Using `campaign_context` for OSM calls.
</Update>

<Update label="2nd November 2021" description="v2.7.18">
  * SDK: Considering mobile number as a criteria for a user to be considered a subscribed user.
</Update>

<Update label="14th July 2021" description="v2.7.12">
  * SDK: Added new batch events API `https://websdk.moengage.com/v2/sdk/report/` replacing the existing `https://websdk.moengage.com/v2/report/add?`.
  * Push: Applied the reappear time in Soft Ask.
</Update>

<Update label="4th June 2021" description="v2.7.11">
  * Push: Fixed passing data to IndexedDB for serviceworker in case of Shopify.
</Update>

<Update label="3rd May 2021" description="v2.7.3">
  * SDK: Using `content` instead of `campaign_type` in source params.
  * OSM: Added `unique_id` check in OSM API calls.
</Update>

<Update label="13th January 2021" description="v2.7.0">
  * Data: Updated the hosts in different clusters.
  * Web Push: Removed pull mechanism code which was redundant.
  * OSM: Fixed side banner template dimension issue.
</Update>

<Update label="7th December 2020" description="v2.6.4">
  * Web Push: Updated Firefox endpoints.
  * OSM: Added margin to side banner template.
</Update>

<Update label="19th October 2020" description="v2.6.0">
  * Web Push: Added dedupe check.
</Update>

<Update label="14th August 2020" description="v2.5.4">
  * OSM: Fixed max times to show a campaign.
</Update>

<Update label="4th August 2020" description="v2.5.3">
  * SDK: `moe_user_id` made as string.
</Update>

<Update label="20th July 2020" description="v2.5.2">
  * OSM: Passing campaign ID in test campaign.
  * SDK: Fixed Edge browser detection.
</Update>

<Update label="13th July 2020" description="v2.5.0">
  * OSM: Introduced `disable_onsite: true` config to disable onsite messaging on a particular page.
</Update>

<Update label="2nd July 2020" description="v2.4.6">
  * OSM: Exposed the `dismissInapp` method to close an OSM campaign without tracking anything.
</Update>

<Update label="1st July 2020" description="v2.4.5">
  * OSM: Fixed display over other campaign issue.
</Update>

<Update label="30th June 2020" description="v2.4.4">
  * OSM: Fixed validation check for Web Personalization.
</Update>

<Update label="29th June 2020" description="v2.4.3">
  * OSM: Fixed validation check.
</Update>

<Update label="19th June 2020" description="v2.4.2">
  * SDK: Passing `new_uid` in `MOE_LOGOUT` event in case of force logout.
</Update>

<Update label="17th June 2020" description="v2.4.1">
  * OSM: Fixed wrongly showing OSM to unintended users.
</Update>

<Update label="10th June 2020" description="v2.4.0">
  * SDK: Added support for AMP analytics.
</Update>

<Update label="6th June 2020" description="v2.3.0">
  * Push: Refactored serviceworker code.
  * SDK: Fixed long session duration bug.
</Update>

<Update label="5th May 2020" description="v2.2.0">
  * SDK: Added support for India cluster.
</Update>

<Update label="8th April 2020" description="v2.1.0">
  * Data Tracking: Added tracking of additional event attributes for all events.
  * Data Tracking: Tracking `moe_logged_in_status` (boolean) for all events.
  * Data Tracking: Tracking `moe_first_visit` (boolean) for all events.
</Update>

<Update label="7th April 2020" description="v2.0.6">
  * SDK: Fixed browser inactive issue on page load.
</Update>

<Update label="4th April 2020" description="v2.0.5">
  * SDK: Fixed browser inactive issue.
</Update>

<Update label="3rd April 2020" description="v2.0.4">
  * SDK: Fixed session expiry logic for page refresh.
</Update>

<Update label="30th March 2020" description="v2.0.3">
  * SDK: Increased local reports queue size to 50.
</Update>

<Update label="23rd March 2020" description="v2.0.2">
  * SDK: Fixed test campaign cookie expiration time and updated `sameSite` cookie state.
</Update>

<Update label="20th March 2020" description="v2.0.1">
  * SDK: Fixed bug related to `pushPage` of Onsite Messaging campaign.
</Update>

<Update label="18th March 2020" description="v2.0.0">
  * SDK: Stable version released.
  * SDK: Added semantic versioning.
</Update>
