Skip to content

Latest commit

 

History

History
336 lines (250 loc) · 12.8 KB

CHANGELOG.md

File metadata and controls

336 lines (250 loc) · 12.8 KB

2.48.1 (14 Nov 2023)

  • UTM campaign properties will always be persisted super properties (fixes discrepancy between minified and unminified package)

2.48.0 (7 Nov 2023)

  • API endpoint routes can now be configured individually (i.e. rename /track, /engage, /groups)
  • Event properties object passed to mixpanel.track() will no longer be mutated
  • Super properties are now reloaded from persistence when making every tracking call (i.e., kept fresh when another tab/window in the same browser has updated them)
  • Extra failsafe behavior for trying to clear queued requests when localStorage doesn't work on startup, e.g., when localStorage is full so writes fail
  • Block Chrome-Lighthouse user agent
  • Fix for error in add_group() when adding a new group to an existing list

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_reporter config option for user-configurable handling of errors
  • Fix missing var declarations 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_requests default-on for all remaining projects
  • Replace unload event 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 persistent option to register(), to support setting superproperties only for the current pageload
  • Add before-send hooks for transforming/enriching data before it goes over the network
  • Add batch_autostart config option and start_batch_senders() method, to allow extra control over when batches start sending over the network
  • Fix request-batching when sendBeacon is 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_pageview config 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_domain config option to allow specifying domain explicitly for cross-subdomain tracking
  • Add cross_site_cookie config option to add SameSite=None;Secure for 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_id with 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 $identify event 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_default to 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_default which will determine whether SDK persistence is turned off during initialization

2.23.0 (23 Oct 2018)

  • Track time prop automatically with all events recording UTC timestamp (in seconds) as the client (browser) sees it. The automatic value can be overridden by setting the time prop explicitly in tracking calls.
  • Set $user_id and $device_id superprops 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_headers config option for sending extra headers with each request (thanks @austince)

2.22.0 (3 May 2018)

  • Add cookie_prefix option 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)

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 window polyfill 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 people methods queue again between reset() and identify()

2.8.0 (6 Jun 2016)

  • Collect everything dev
  • track_links() and track_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_blacklist config option to prevent sending specified props in track()

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_event method
  • 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) token property override in track()

2.4.1 (12 Mar 2015)

  • fix for minification issue in track() colliding token and ad

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_type to notification-tracking

2.3.1 (24 Nov 2014)

  • fix error when calling identify() with no distinct_id

2.3.0 (13 Nov 2014)

  • web notifications support