2.65.0 (2026-04-23)
- Clean up BatchUploader timers and event listeners on re-init (#1251) (79ca4f8)
- honor config.domain when directURLRouting is enabled (#1253) (8b64e8e)
2.64.1 (2026-04-16)
2.64.0 (2026-04-13)
2.63.0 (2026-04-09)
- Remove blocking identity call in selectPlacements (#1241) (fd62adb)
- support batch forwarding in kits (#1244) (0126522)
2.62.0 (2026-04-08)
2.61.0 (2026-04-07)
- add /verify skill for lint, build, and test validation (#1222) (fc744e8)
- define reporting service contracts and dispatchers (#1224) (79184e0)
2.60.1 (2026-03-25)
2.60.0 (2026-03-24)
2.59.0 (2026-03-16)
2.58.0 (2026-02-24)
2.57.0 (2026-02-10)
- enable Rokt fallback on identity server errors (#1157) (2e0e61a)
- SDKE-871 add Rokt kit initialization timestamp (#1161) (90b655d)
2.56.0 (2026-02-04)
2.55.0 (2026-02-04)
2.54.1 (2026-01-26)
2.54.0 (2026-01-26)
2.53.1 (2026-01-20)
2.53.0 (2026-01-20)
- map Rokt Privacy flags in cookieSyncManager (#1140) (3840afa)
- Migrate Logger to Typescript (#1120) (#1141) (e8d1ef1)
2.52.0 (2026-01-13)
- Add hashSha256 method for SHA-256 hashing (#1116) (89c5baa)
- Support scope in alias requests (#1138) (b3c937a)
2.51.0 (2025-12-10)
2.50.1 (2025-11-20)
2.50.0 (2025-11-13)
2.49.0 (2025-11-10)
2.48.0 (2025-10-27)
2.47.1 (2025-10-06)
2.47.0 (2025-10-01)
- added DisabledVault to disable id-cache when noFunctional is set (#1072) (8187d72)
- added noFunctional in batchUploader to disable offline storage (#1063) (97dd88a)
- disable session cookie/localStorage when noFunctional is set (#1070) (edb2e61)
- disable time tracking when noTargeting is set to true (#1064) (71c891c)
2.46.0 (2025-09-17)
2.45.0 (2025-09-15)
- add use method for rokt kit (#1067) (bdcd4c5)
- added noFunctional and noTargeting flags (#1059) (9235483)
2.44.0 (2025-09-02)
2.43.3 (2025-08-22)
- Update BatchUploader to include integration attributes and custom flags in AST events (#1058) (46c91e6)
2.43.2 (2025-08-12)
2.43.1 (2025-07-21)
2.43.0 (2025-06-10)
2.42.0 (2025-06-04)
2.41.1 (2025-06-03)
2.41.0 (2025-06-02)
2.40.0 (2025-05-27)
- Fire identify in RoktManager if user email is different from selectPlacements email (#1032) (1e3c824)
2.39.1 (2025-05-19)
2.39.0 (2025-05-05)
2.38.1 (2025-04-28)
- Add try/catch logic for getCookie to prevent crashes on web extensions (#1024) (4ac50cc)
- Add try/catch to getCookies util function (#1027) (d143c39)
- Update Placement Attributes Mapping (#1026) (9ecf540)
2.38.0 (2025-04-22)
2.37.0 (2025-04-16)
- Add select placement attributes to current user (#1019) (1048fdf)
- Add support for sandbox mode via selectPlacements (#1015) (d1373c6)
- Add user attribute mapping to Rokt Manager (#1018) (99c9b54)
2.36.0 (2025-04-03)
2.35.2 (2025-03-25)
2.35.1 (2025-03-20)
2.35.0 (2025-03-18)
- Add Rokt Wrapper Methods to snippet.js (#997) (49202b3)
- adds native collection of snap click ID (#989) (92945a9)
2.34.0 (2025-03-15)
2.33.1 (2025-02-25)
- Add failsafes for queryStringParser (#983) (1c771fd)
- Add Rokt Click ID for Integration Capture (#985) (f5026f9)
- Update TOS local storage key (#987) (32503f9)
2.33.0 (2025-02-13)
2.32.5 (2025-02-13)
2.32.4 (2025-02-10)
2.32.3 (2025-02-03)
2.32.2 (2025-01-27)
2.32.1 (2025-01-21)
2.32.0 (2025-01-14)
2.31.1 (2025-01-06)
- Check for uploader to prevent errors when calling upload() too early (#938) (4342b0a)
- Forward user attributes to kits properly when kit blocking is enabled and unplanned UAs are allowed (#947) (fdbc6ba)
2.31.0 (2024-12-11)
2.30.4 (2024-11-05)
2.30.3 (2024-11-05)
2.30.2 (2024-10-28)
2.30.1 (2024-10-15)
2.30.0 (2024-10-11)
2.29.0 (2024-10-08)
2.28.3 (2024-09-16)
2.28.2 (2024-09-11)
2.28.1 (2024-09-04)
2.28.0 (2024-08-26)
2.27.0 (2024-08-13)
2.26.10 (2024-06-18)
2.26.9 (2024-06-11)
2.26.8 (2024-06-04)
2.26.7 (2024-05-29)
2.26.6 (2024-05-28)
2.26.5 (2024-05-22)
2.26.4 (2024-05-13)
2.26.3 (2024-04-29)
2.26.2 (2024-04-23)
2.26.1 (2024-04-22)
2.26.0 (2024-04-15)
- Implement audience API feature flag (#865) (faa4520)
- Migrate First and Last Seen Time Setters and Getters to Store (#856) (86a9535)
- Update audience logic to new backend response (#844) (8a63045)
- Update url to nativesdks and update server response (#863) (9e46cef)
2.25.3 (2024-04-08)
2.25.2 (2024-04-01)
- Combine End Session Logging Messaging flow (#848) (a2c902d)
- Create a simple merge object utility (#849) (61e82da)
2.25.1 (2024-02-06)
2.25.0 (2024-01-29)
2.24.0 (2024-01-09)
2.23.9 (2024-01-08)
2.23.8 (2024-01-02)
- Add filtered user identities to identity complete methods (#816) (715e217)
- Replace identify method strings with constants (#817) (1bca974)
2.23.7 (2023-10-23)
- Prevent immediate upload for UserAttributeChange Events (#793) (2f0c5ac)
- Respect sideloaded kit filter dictionaries (#792) (91b6afa)
2.23.6 (2023-10-17)
2.23.5 (2023-10-09)
2.23.4 (2023-09-25)
2.23.3 (2023-09-19)
2.23.2 (2023-07-17)
2.23.1 (2023-07-10)
2.23.0 (2023-06-26)
2.22.1 (2023-06-12)
- Add Sideloaded Kit flag to Batches (#613) (13a113b)
- Revise priority of device id when initializing state (#618) (b71f746)
2.22.0 (2023-06-05)
- Add MPSideloadedKit class (#564) (252a2ce)
- Expose MPSideloadedKit class to public API (#568) (47a9186)
2.21.2 (2023-05-15)
2.21.1 (2023-05-02)
2.21.0 (2023-04-18)
2.20.3 (2023-04-10)
2.20.2 (2023-04-05)
2.20.1 (2023-04-05)
2.20.0 (2023-03-15)
2.19.3 (2023-03-08)
- removeUserAttribute and forwarder filters fix (#391) (838f267)
- Verify Batches and events are uploaded in order of creation (#394) (8553331)
2.19.2 (2023-03-03)
- Revert "refactor: Modify BatchUploader to use promises for individual uploads (#385)" (#398) (bc9de3a)
2.19.1 (2023-02-16)
2.19.0 (2023-02-08)
2.18.3 (2023-02-01)
2.18.2 (2023-01-25)
2.18.1 (2023-01-04)
- Fix Firefox Runner and Remove references to node 12 (#369) (083672f)
- Prevent Batches from queuing empty events (#367) (4bf8ef9)
2.18.0 (2022-11-08)
2.17.4 (2022-10-11)
2.17.3 (2022-10-03)
2.17.2 (2022-09-14)
2.17.1 (2022-08-25)
2.17.0 (2022-08-23)
2.16.3 (2022-07-28)
2.16.2 (2022-06-29)
2.16.1 (2022-06-16)
2.16.0 (2022-05-18)
- add package to batch application info (#238) (5e6e773)
- add support for client side rules (#241) (dc40f14)
2.15.5 (2022-05-11)
2.15.4 (2022-05-02)
- add UAC and UIC as upload triggers (7576509)
2.15.3 (2022-04-28)
- revert slugify removal (15c6af5)
2.15.2 (2022-04-27)
2.15.1 (2022-04-20)
- add validation to prevent null event category from sending (#358) (cc93497)
- decode cookie error on special character attributes (#365) (9237a44)
- ensure sessions/AST initialize before identity callback (#360) (2663a57)
2.15.0 (2022-03-01)
- prevent erroneous event logging to kits when an event is not sent (dfc0f4f)
2.14.2 (2022-02-09)
- Refactor Public methods to queue if Store is not initialized (#311) (27d506c)
- Update cookie sync date only upon successful cookie sync (48d6fe1)
- update reusable workflow urls (#265) (1c334d3)
2.14.1 (2021-09-02)
- Add launch_referrer to event data (cd7dc62)
- Allow multiple promotions to be logged when calling logPromotion (9e0dd5b)
2.14.0 (2021-08-04)
- Allow scope param on user alias requests (a864aef)
2.13.0 (2021-07-29)
2.12.9 (2021-06-23)
- Update esm/common rollup.config to prevent regenerator runtime issue (2ff362f)
--
- Any new workspaces with JS API Keys will now batch all web events in order to save bandwidth and improve site performance. To read more about web batching see here - https://docs.mparticle.com/developers/sdk/web/getting-started#upload-interval--batching. This does not require any updates to the SDK itself. No implementation changes are required. If you have a workspace created prior to 2020-05-06 and are not yet on batching, please contact your Customer Success Manager.
- Bugfix: Rename pageViewFilters to screenAttributeFilters Enables screen attributes to be filtered out on downstream forwarders
- Bugfix - Add product impressions to kit blocking
- Feat - Consent-based cookie-sync
- Bugfix - Add source message id
- Bugfix - Use addEventListeners for life cycle events
- Bugfix - Set setCurrencyCode on eCommerce object
- Refactor - Import version from package.json
- Format code styling
- Bugfix - update is first run to booleans
- Bugfix - Sanitize ecommerce amounts to numbers
- Bugfix - Set sessionStartDate to 0 instead of null
- Bugfix - Error events - Set to null if stack trace is undefined; Add context to error events
- Bugfix - Fix data plan options API
- Bugfix - Add try/catch to cookie searching
- Fix Typo in logging
- Update identity mappings
- Bugfix - Add check for window for node environments
- Feat - Implement client side kit blocking You can now use Data Master to block unplanned events and attributes from being sent to client side forwarders.
- Remove eventsApiModels.ts in favor of js-events npm module
- Feat - Add event and product context to sanitized attributes
- Add logic to handle Media Events as Custom Events
- Add additional tests for app name change in config
- Feat - Add transactionAttributes to logProductAction method signature
- Bugfix - Make tagging batches with appropriate UI more robust
- Bugfix - prevent null CCPA consent on events v3 endpoint
- Bugfix - logProductActions of purchase/refund conform to logPurchase/logRefund
- Feat - Add Other5-Other10, mobile/phone number identity types
- Bugfix - Fix v3 events endpoint location payload
- Bugfix - Send specific user along with UIC and UAC Events
- Dependabot - Bump Acorn version
- Don't set empty TransactionAttribute fields
- Deprecate removeCCPAState in favor of removeCCPAConsentState
- Feat - XHR Support for Batching
- Migrate network tests from local Mockhttprequest to Sinon
- Bugfix - Flush eventQueue after identity callback
- Update node version for Travis
- Api docs update
- Bugfix - Enable configuration of v1 endpoints
- Feat - Modify reset API for public consumption
- Feat - Import @mparticle/event-models to replace eventApiModels
- Bugfix - Typo & keep persistence checking consistent
- Update package.json (Add mparticle.js to dist/ for partner kit testing)
- Feat - Add support for custom v3 URL
- Bugfix - resolve when browser has disabled localStorage
- Bugfix - Do not log deprecated warnings when logging purchases
- Feat - Add support for Data Planning to V2 Events upload
- Feat - Add CCPA support
- Add batch creator class for ESLint data planning plugin
- Feat - Pass appName to config
- Bugfix - Do not populate data plan context when plan id is null
- Feat - Implement Multiple Instances
- Bugfix - Parse string in shouldEnableBatching
- Deprecate Cart - The mParticle functionality will be removed in a future release, please
- Bugfix - Self hosting namespaces storage with workspaceToken again
- Remove mparticle.js from root
- Feat - Stub logBaseEvent in snippet, add snippet comments
- Feat - Implement User Identity Change & User Attribute Change Events
- Allow MediaEvents and Media PageEvents to be supported
- Happy Halloween! 🎃
- Refactor codebase with Prettier
- Bugfix - Resolve Sonarqube code smells
- Modify Rollup builds
- Support event batching and beacon API; provide new Events API v3 endpoint which supports batching
- Implement Typescript and Babel compilation
- Feat - Enable configuration of config endpoint
- Feat - Add Base Event functionality to core for future child SDK use
- Update .eslintrc, fix urls in yuidoc comments
- Add integration tests for bundlers (webpack, browserify, rollup)
- Bugfix - Make getCartProducts more robust
- Bugfix - Fix immediate logging for self hosting
- Feat - add session start to server DTO
- Bugfix - update modify old_value
- Bugfix - Check all event attributes when forwarding rules are set
- Migrate to ES6 Modules; Replace Browserify with Rollup
- Bugfix - noHttpCoverage code properly sent to callback
- Bugfix - Configure forwarders prior to identify callback
- Bugfix - Alias requests respect isDevelopmentMode setting
- Bugfix - set isInitialized in both web and webview contexts
- Feature: log error custom attributes
- Update build parameters
- Modify files for self hosting
- Add a /config endpoint
- Accept 2nd argument to init for configuration
- Bugfix - Initialize Logger before Store
- Bugfix - retain mParticle.isIOS on script load
- Bugfix - respect mParticle.isIOS setting
- Make endpoints configurable
- Implement User Aliasing
- Bugfixes - Helpers.debug & set isFirstRun to false after app inits for the first time
- Implement firstSeen and lastSeen fields for MParticleUser
- Sort MParticleUser Array returned by getUsers() by lastSeenTime
- Bugfix - Callback validation & correct warning message
- Add getPreviousUser() to Identity callbacks
- Refactor config into a class
- Implement Logger
- Fix consent object validation and remove unneeded null check
- Prefer modules over public mParticle methods
- Simplify / remove migrations
- Bugfix - Native SDK - prioritize equality of requiredWebviewBridgeName
- Update native bridge logic
- Namespace localstorage with workspace token
- Add callback to location tracking method
- Set session attributes when using native bridge
- Bugfix - Check for LocalStorage before migrating
- Bugfix - Guard against undefined result from crypto API
- Bugfix - Call identify if cookies exist, but there is no current user
- Add identityMethod to onUserIdentified function definition
- Bugfix - return 0 instead of null for hashing boolean false
- Fix autogen yuidocs comments
- Add get/setIntegrationAttribute APIs
- Add snippet tests
- Add boolean validation for isDevelopmentMode
- Initialize forwarders based on logged in status
- Bugfix - remove cart item uses proper product persistence
- Bugfix - Guard against corrupt local storage/cookies
- Bugfix - guard against null cookie
- Add getUser method to identity callback results
- Only call initial identify and callback once
- Bugfix - logLevel
- Bugfix - Remove corrupt localStorage
- Bugfix - Fix encoding LS for special characters
- Bugfix - Always init forwarder when no UA filters are present
- Re-initialize forwarders after userAttr changes
- Capitalize all letters in sessionId
- Bugfix - Create copy of MP.eventQueue to iterate through
- Add setUserAttributes to public API
- Implement forwarderUploader module, feaure flags, batch forwarder stats
- Bugfix - Change ProductActionTypes to be consistent with mobile/S2S
- Implement customFlags per public API method
- Update growl and hoek for testing dependencies
- Bugfix - sendEventToForwarder fix
- Default forceHttps to true
- Add apiClient module
- Implement Consent forwarding rules
- Bugfix - Fix filterUserAttributeValues break/continue
- Expose getUser and getUsers to public Identity API
- Bugfix - send newUser to forwarder on user identified
- Add filtered user object
- Bugfix - encode event value before sending to iOS
- Update package-lock.json to pass CI tests
- Implement Consent State
- Expose Identitiy HTTP constants to the public
- Bugfix - filter user attributes to forwarders on init
- Bugfix - filter user attributes to forwarders on init
- Bugfix - Compare strings when filtering event/user attribute values
- Bugfix - Prioritize client entered config over persistence
- Bugfix - Correct capitalization of clearing eCommerce carts
- Add Identify to public API
- Add forceHttps as a config option
- Fix linting
- Migrate all mpids between cookies and LS when useCookieStorage changes
- Bugfix - add shouldUseNativeSdk logic to fix null user and null path values
- Add config option for maxCookieSize
- Refactor useNativeSdk and prevent identify calls when in webview
- Update logic for useNativeSdk and isIOS
- Pass identityApiData to native SDKs
- Queue events when mpid is null or 0
- Stub primary methods for pre-loading SDK invocation
- Add eventSubscriptionId to forwarder contract
- Update readme to remove adchemix
- Remove product bags
- Update version endpoint for /Forwarding
- Ensure customerid is always the first identity being set
- Auto generate API docs
- Add migration for base64 encoded products
- Finalize Other IDs
- Bugfix - Adjust logic for session end event
- Remove logLTVIncrease
- Return an empty array when there are no cart products
- Bugfix - Adjust arguments for applyToForwarders
- Add setForwarderOnUserIdentified, return null currentUser when MPID is null
- Modularize tests for readability and robustness
- Adjust Application State Transition, include initial location
- Bugfix - Add CheckoutOption to ProductAction-related switch statements
- Add parseStringOrNumber function
- Sanitize additional attributes
- Correct order of internal createProducts arguments
- Refactor logPageView
- Require explicit UIWebview binding
- Migrate persistence to v4
- Add onUserAlias callback
- Add support for filtering user attribute values
- Update persistence after a modify call
- Complete modularization of SDK
- Modularize Types, Constants, Helpers, DTO, Identity, Ecommerce
- Reorganize tests
- Bugfix - Execute useLocalStorage method
- Fixes for cookie syncing. Properly cookie sync when MPID changes, and only perform a cookie sync when debug modes for defined pixel and mParticle match
- Store productBags and cartProducts to cookies, with config option to change number of products allowed in each (config.maxProducts = 20 by default)
- Prevent setUserIdentity from accepting booleans
- Clean up code - Add additional validations, convert remaining == to ===
- Support for cookie-syncing. Cookie-syncing enables the optional collection of 3rd-party IDs to enable enhanced audience sharing with advertising platforms such as DoubleClick, Adobe, and AppNexus
- Add application state transition to mParticle initialization
- Fix for removing duplicate user identities where ID is missing, allow ID to be
undefined - Fix for creating CGID on initial load
- Send sessionLength to server when sessionEnd is called.
- Add deviceId, and deviceId retrieval via
mParticle.getDeviceId().
- Add new session management.
- Fixed a bug where the same sessionId may be associated with events over several days.
- Added config option for useCookieStorage to allow use of either cookies or localStorage. By default, localStorage is used (useCookieStorage = false). If localStorage not available, reverts to cookie use.
- Fixed a bug where
forwarderscontained a mix of both initialized and uninitialized forwarders.forwardersnow only contains initialized forwarders.
- Fixed bug where calling setUserIdentity with a similar type added another identity, rather than replacing the identity.
- Calling setUserIdentity with
id = nulland valid type will remove the user identity of that type. - Include CommerceEvent custom attributions in expansion; makes a copy of the original commerce event rather than referencing it, which would mutate it.