--
- 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
forwarders
contained a mix of both initialized and uninitialized forwarders.forwarders
now 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 = null
and 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.