2.47.0 (27 Apr 2023)
- Collect richer marketing attribution properties for multi-touch attribution
- New implementation of previously-deprecated track_pageview() method and init option to send automatically
- Use performance.now when available for time-based entropy component of UUID-generation (thanks @adrianherd)
- looser API Host check for default JSON-payload sending to mipxanel.com hosts
2.46.0 (20 Mar 2023)
- Updates for new identity management system
- More aggressive deduplication within batch sender
2.45.0 (17 Feb 2022)
- Remove all code related to in-app messaging feature
- Add
error_reporterconfig option for user-configurable handling of errors - Fix missing
vardeclarations in HTML script snippet - Fixes for some batch/retry edge cases where localStorage write failures resulted in duplicate sends
2.43.0 (5 Jan 2022)
- Support plain JSON tracking payloads (no base64-encoding) and use as default when sending to *.mixpanel.com API hosts
2.42.1 (20 Dec 2021)
- Add new crawler user agents to blocked list (ahrefsbot, petalbot)
2.42.0 (9 Nov 2021)
- Make
batch_requestsdefault-on for all remaining projects - Replace
unloadevent listener with modern alternatives (thanks @JoaoGomesTW) - Don't retry requests blocked by client (adblockers)
- Retry with backoff after 429
2.41.0 (28 Jan 2021)
- Remove all code related to Autotrack feature
2.40.1 (19 Jan 2021)
- Add new crawler user agents to blocked list (pinterest, fb, bingpreview, more google crawlers etc)
- Add debug-mode logging when opt-out/DNT is preventing tracking
- Add more explicit console warning when embed script has been added multiple times on a single page
2.40.0 (2 Dec 2020)
- Add
persistentoption toregister(), to support setting superproperties only for the current pageload - Add before-send
hooksfor transforming/enriching data before it goes over the network - Add
batch_autostartconfig option andstart_batch_senders()method, to allow extra control over when batches start sending over the network - Fix request-batching when
sendBeaconis specified as default API transport - Increase batch_requests default rollout to 60% of projects
2.39.0 (17 Aug 2020)
- Escape body of POST requests to ensure valid base64 is sent to APIs (thanks @dpraul)
- Don't opt in to request-batching automatically if using a custom API host (thanks @chriszamierowski)
- Increase batch_requests default rollout to 30% of projects
2.38.0 (12 Jun 2020)
- Ensure that first-touch referrer/UTM params get saved in superproperty storage even if no events are tracked on the page
- Remove
track_pageviewconfig option altogether
2.37.0 (27 May 2020)
- Turn off default pageview-tracking (these mp_page_view events have been dropped server-side for years already)
- Begin rollout of batching as default mode for tracking (10% of projects)
2.36.0 (7 May 2020)
- Add batch/queue/retry support for event-tracking and people/group profile updates
2.35.0 (17 Mar 2020)
- Fix cross-subdomain tracking for various edge cases (extra-long TLDs, very short .com/.org domains)
- Add
cookie_domainconfig option to allow specifying domain explicitly for cross-subdomain tracking - Add
cross_site_cookieconfig option to addSameSite=None;Securefor special integrations (iframes/extensions) - Return falsey value from track() if navigator.sendBeacon transport fails to enqueue data
2.34.0 (27 Jan 2020)
- Add config option to allow ignoring DNT browser setting
- Fix for /decide checks failing when lib initialized with sendBeacon transport
2.33.1 (16 Jan 2020)
- Fix for native arrow-function track() callbacks not firing
2.33.0 (13 Jan 2020)
- Support optional navigator.sendBeacon transport for network requests
- Add user agent detection for Chromium-based Edge and Samsung Internet
2.32.0 (16 Dec 2019)
- Default to POST requests for event tracking and profile updates
- Include
$insert_idwith events for deduplication support - Don't throw exception when decoding malformed URI params
- Notifications test fixes
2.31.0 (19 Nov 2019)
- Default API server to api-js.mixpanel.com
2.29.1 (22 Aug 2019)
- Fix race condition with event-triggered in-apps
2.29.0 (6 Jun 2019)
mixpanel.identify()now sends special$identifyevent for advanced identity management- Fix extraneous logging for Group API calls
2.28.0 (9 Apr 2019)
- Support event triggered inapps
2.27.0 (7 Mar 2019)
- Support cross-subdomain tracking on TLDs longer than 6 chars (thanks @danielbaker)
- Support configurable network protocol for inapp resources (thanks @mkdai)
- Allow inapp links to open in new window/tab via config option (thanks @mkdai)
2.26.0 (9 Jan 2019)
- Fix minification issue with DoNotTrack browser setting
- Pass flag to backend indicating when $distinct_id might have been set to a pre-existing $distinct_id value instead of a generated UUID (used when resolving aliases)
2.25.0 (19 Dec 2018)
- Change the behavior of
opt_out_tracking_by_defaultto no longer override any existing opt status when the user has an opt-in cookie. It also no longer clears persistence when set to true. - Create a new param called
opt_out_persistence_by_defaultwhich will determine whether SDK persistence is turned off during initialization
2.23.0 (23 Oct 2018)
- Track
timeprop automatically with all events recording UTC timestamp (in seconds) as the client (browser) sees it. The automatic value can be overridden by setting thetimeprop explicitly in tracking calls. - Set
$user_idand$device_idsuperprops automatically. This allows finer-grained identity management around linking anonymous, logged-in, and logged-out behavior.
2.22.4 (1 Jun 2018)
- Ensure GDPR cookies are always cleared when possible
2.22.3 (25 May 2018)
- Bugfix for previous patch
2.22.2 (25 May 2018)
- Allow GDPR utils to use localStorage instead of cookies
2.22.1 (22 May 2018)
- Add
xhr_headersconfig option for sending extra headers with each request (thanks @austince)
2.22.0 (3 May 2018)
- Add
cookie_prefixoption to GDPR opt-out utils, allowing customization of cookie name - Automatically delete user profile and charge data on GDPR opt-out (if specified)
2.21.0 (20 Apr 2018)
- Add set of opt in/out utility methods in preparation for GDPR See https://mixpanel.com/help/reference/javascript-full-api-reference for details
2.20.0 (6 Apr 2018)
- Remove obsolete autotrack event count metrics
2.19.0 (21 Mar 2018)
- Clean up handling of JSONDecode errors (thanks @pkaminski)
- Expand server-side
windowpolyfill for loading the lib without errors in Node.js
2.18.0 (27 Feb 2018)
- Prevent Autotrack collecting attrs from input, textarea, select, contenteditable elements
- Change Autotrack $el_text property to not contain text of the target element's children
2.17.0 (2 Feb 2018)
- Bug fix for Autotrack inadvertently removing form.inputs in certain cases
2.16.0 (1 Feb 2018)
- Prevent Autotrack collecting attrs from password or hidden fields
2.15.0 (17 Jan 2018)
- Always track over HTTPS.
2.14.0 (10 Nov 2017)
- Add
people.unset() - Identify Chrome OS (for $os property)
- Bugfix:
register_once()no longer overwrites previously-registered but falsey values - Stub parts of DOM API when loading in non-browser environments (thanks @gfx)
- Log full "Implementation error" exceptions when DEBUG mode is on
2.13.0 (25 Jul 2017)
- Update autotrack editor js path to reflect asset restructuring
2.12.0 (17 Apr 2017)
- Remove "decide_host" config option
- Bug fix for autotrack editor path
2.11.1 (14 Apr 2017)
- Autotrack bug fixes
2.11.0 (16 Feb 2017)
- Remove autotrack backoff functionality
2.10.0 (19 Jan 2017)
- Identify UC Browser automatically
2.9.17 (8 Dec 2016)
- In-app notifications now fetch pre-sanitized/url-encoded URLs from the Mixpanel API
2.9.16 (5 Oct 2016) Autotrack:
- Bugfix: Check tagNames instead of element references
2.9.15 (28 Sep 2016) Autotrack:
- Bugfix: Handle SVG class names properly, remove appHost param
2.9.14 (23 Aug 2016) Autotrack:
- Bugfix: Pass appHost from the editor entry so the editor always uses the right appHost
2.9.13 (23 Aug 2016) Autotrack:
- Bugfix: Only allow one instance of autotrack to be enabled per project token
2.9.11/12 (20 Aug 2016) Autotrack:
- Bugfix: Revert delay navigation changes introduced in 2.9.6
2.9.10 (16 Aug 2016) Autotrack:
- Bugfix: use indexOf instead of startsWith
2.9.9 (16 Aug 2016) Autotrack:
- Do not delay navigation when the href is just a hash
2.9.8 (15 Aug 2016) Autotrack:
- Properly handle getting class names from SVGs
- Add readOnly parameter for Autotrack editor
- Reconstruct Autotrack editor URL to avoid build issue
- More tests
2.9.7 (11 Aug 2016) Autotrack:
- Don't attach property keys of stripped values to events
- Tests
2.9.6 (8 Aug 2016) Autotrack:
- Delay navigation on link clicks for better tracking
2.9.5 (27 Jul 2016)
- Autotrack: remove dependency on nearestInteractiveElement and fix a few autotrack edge cases
2.9.4 (22 Jul 2016)
- Cookie setting fix: return cookie setting function to its previous functionality of using days instead of seconds
2.9.3 (19 Jul 2016)
- Autotrack: small tweaks
2.9.2 (19 Jul 2016)
- Autotrack: enabled by default for 100% of projects (still no automatic data collection however)
2.9.1 (19 Jul 2016)
- Autotrack: enabled by default for 25% of projects (still no automatic data collection however)
2.9.0 (19 Jul 2016)
- Autotrack: easy and automatic data collection (disabled by default)
2.8.2 (12 Jul 2016)
- reduce internal stats collection
2.8.1 (7 Jun 2016)
- make
peoplemethods queue again betweenreset()andidentify()
2.8.0 (6 Jun 2016)
- Collect everything dev
track_links()andtrack_forms()can now take raw elements or element lists in addition to query selectors- add
reset()method to handle logout flow (thanks @stefansedich) - catch exceptions during
_send_request()(thanks @feychenie) - fix user agent detection/reporting for Chrome iOS and Firefox iOS
2.7.3 - 2.7.9 (9 Mar 2016)
- collect stats for internal capacity planning
2.7.2 (4 Dec 2015)
- full support for NPM installation
2.7.1 (9 Oct 2015)
property_blacklistconfig option to prevent sending specified props intrack()
2.7.0 (2 Oct 2015)
- support for snippetless synchronous loading via Browserify/Webpack/RequireJS/etc.
2.6.3 (11 Sep 2015)
- better Windows Phone detection
- enable JS strict mode
2.6.2 (11 Aug 2015)
- fix relative URL handling in snippet loader
2.6.1 (7 Aug 2015)
- improve browser/OS detection for MS Edge and IE Mobile (thanks @bohanyang) and Opera
- handle relative URLs better in snippet loader
2.6.0 (5 Aug 2015)
- add
time_eventmethod - update snippet to load mixpanel correctly from cdn when file is opened locally
2.5.2 (7 Jul 2015)
- automatically track current url
- expose info.properties
2.5.1 (11 May 2015)
- automatically track browser version (thanks @D1plo1d)
2.5.0 (5 May 2015)
- add support for localStorage alternative to cookie store (thanks to @sandorfr for initial PR)
- automatically upgrade from existing cookies when localStorage is used
2.4.2 (23 Mar 2015)
- remove (undocumented)
tokenproperty override intrack()
2.4.1 (12 Mar 2015)
- fix for minification issue in
track()collidingtokenandad
2.4.0 (10 Mar 2015)
- add
people.union()(thanks @mogstad) - remove refs to global RegExp object
2.3.6 (20 Feb 2015)
- Bower support (thanks @dehau)
2.3.5 (18 Feb 2015)
- notification caching fix
2.3.4 (17 Feb 2015)
- ensure notification-tracking on dismissal
2.3.3 (17 Feb 2015)
- fix Control-click with
track_links()on Windows/Linux (thanks @pfhayes, mixpanel#20)
2.3.2 (9 Dec 2014)
- add
resource_typeto notification-tracking
2.3.1 (24 Nov 2014)
- fix error when calling
identify()with nodistinct_id
2.3.0 (13 Nov 2014)
- web notifications support