UNPKG

mixpanel-browser

Version:

The official Mixpanel JavaScript browser client library

315 lines (232 loc) 11.8 kB
**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 sendinig 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) - 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 `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, [https://github.com/mixpanel/mixpanel-js/issues/20](https://github.com/mixpanel/mixpanel-js/issues/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