Skip to content

chore: 🤖 update dependency mixpanel-browser to v2.78.0#1577

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mixpanel-browser-2.x
Open

chore: 🤖 update dependency mixpanel-browser to v2.78.0#1577
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mixpanel-browser-2.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 28, 2026

This PR contains the following updates:

Package Change Age Confidence
mixpanel-browser 2.65.02.78.0 age confidence
@​types/mixpanel-browser 2.60.02.66.0 age confidence

Release Notes

mixpanel/mixpanel-js (mixpanel-browser)

v2.78.0: Feature Flags Utility Updates

Compare Source

  • adds loadFlags method to mixpanel.flags to manually refresh feature flags
  • adds whenReady method to mixpanel.flags, which returns a Promise that resolves when feature flags are done fetching

v2.77.0: Cross-origin iframe recording

Compare Source

Session Replay can now capture content from cross-origin iframes embedded within your page, providing a unified replay experience across parent pages and embedded third-party content. This feature requires explicit domain allowlisting via record_allowed_iframe_origins for security purposes. For example:

On your parent site www.yoursite.com, specify the origins from which recording data is accepted:

mixpanel.init('YOUR_PROJECT_TOKEN', {
  record_sessions_percent: 100,
  record_allowed_iframe_origins: [
    'https://embedded-widget.example.com',
  ],
});

On the child iframe page https://embedded-widget.example.com, add the parent page's origin to record_allowed_iframe_origins:

mixpanel.init('YOUR_PROJECT_TOKEN', {
  record_sessions_percent: 100,
  record_allowed_iframe_origins: [
    'https://yoursite.com',
  ],
});

Miscellaneous Fixes:

  • Added type dependency @types/json-logic-js for the RulesLogic type introduced in 2.76.0
  • Fixed type declaration file name for the loader-module-with-async-recorder import option

v2.76.0: Network recording, event-triggered recording, and various improvements

Compare Source

New Features

Network recording plugin for Session Replay

Adds a new network plugin that captures network telemetry during session recordings. This feature is currently in beta and will not show data in the Mixpanel UI until enabled (documentation forthcoming).

Event-triggered session recording

Adds a recording_event_triggers configuration option that allows starting a session recording when the targeted events that meet the specified property filters occur. These property filters are optional and are specified using json-logic syntax, but this option is mainly intended to be used by remote settings (closed beta). Allows session replays to start on a trigger if a session replay is not already in progress. Does not affect any active recording sessions.

mixpanel.enable() method

Adds a new public method mixpanel.enable(), complementing the existing disable method. This re-enables tracking for some or all events after disable() has been called.

Improvements

Immutable async bundles

Async bundles (e.g., mixpanel-recorder, mixpanel-targeting) that are loaded via CDN or loader-module-with-async-modules entry points will now use a hash-based file name to ensure consistent versioning with the main SDK.

e.g. mixpanel-recorder.min.js => mixpanel-recorder-bIS4LMGd.min.js. For customers who already proxy these files individually from the CDN, we recommend proxying everything under cdn.mxpnl.com/libs/* for reliability.

Case-sensitive event targeting properties

Event property matching in targeting now respects case sensitivity, consistent with how Mixpanel handles property names.

Bug Fixes

rrweb-utils dependency: adds a dependency declaration for the @mixpanel/rrweb-utils which is a peer dependency for @mixpanel/rrweb-plugin-console-record. This was causing errors for users with strict peer dependencies enabled.

AbortController compatibility check: fixes an error thrown when disabling recording from remote settings and AbortController is not supported in the browser.

v2.75.0: Feature Flags runtime events support

Compare Source

This release adds support for Runtime Event Targeting in the Feature Flags subsystem: see https://docs.mixpanel.com/docs/featureflags/runtime-events. This feature does not require any SDK configuration changes.

Additional fixes included:

  • Fix for using arrow functions in hooks configuration
  • Session Recording: fix for memory leaks on pages which create and destroy iframes

v2.74.0: New masking API, remote settings, and more

Compare Source

New Recorder Masking API

Session recording now supports unmasking inputs, as well as an allow-list based masking API for both inputs and text. New configuration options:

Option Type Default Description
record_mask_all_text boolean true When true, all text is masked by default. Use record_unmask_text_selector to selectively reveal specific elements.
record_mask_text_selector string | string[] undefined CSS selector(s) for elements to mask. Only applies when record_mask_all_text is false.
record_unmask_text_selector string | string[] undefined CSS selector(s) for elements to unmask. Only applies when record_mask_all_text is true.
record_mask_all_inputs boolean true When true, all inputs are masked by default. Use record_unmask_input_selector to selectively reveal specific inputs.
record_mask_input_selector string | string[] "" CSS selector(s) for inputs to mask. Only applies when record_mask_all_inputs is false.
record_unmask_input_selector string | string[] "" CSS selector(s) for inputs to unmask. Only applies when record_mask_all_inputs is true.

Old record_mask_text_selector configuration options are migrated to the equivalent new config options for compatibility - e.g. record_mask_text_selector: '' will be applied as record_mask_all_text: false

Initial Remote Settings Support

Preparation to support remote settings functionality which will allow customizing session recording configurations (and eventually more) within the Mixpanel UI. The config option remote_settings_mode allows 3 states:

  • strict - do not act (for instance, start session recording) unless the remote settings are loaded in a timely manner
  • fallback - use fallback configuration values (options set during initialization) if remote settings fail to load in a timely manner
  • disabled (default) - do not use or attempt to load remote settings

Remote settings are currently in a CLOSED alpha as of 1/27/2026, and the SDK API could be updated with breaking changes.

Other fixes
  • Add missing typescript fields for api_routes (thanks @​rnbrady!)
  • Fix issue where Mixpanel import breaks in Safari when cookies are disabled: #​530
  • Deleted some outdated example directories

v2.73.0: New hooks, extension support, type fixes

Compare Source

This release adds several new hooks for running code and intercepting SDK actions: before_identify, before_register, before_register_once, before_track, before_unregister. It also adds integration code for the Data Inspector browser extension and improves some of the library's type definitions.

v2.72.0: Miscellaneous updates and bugfixes

Compare Source

Additions:

  • Adds Autocapture rage-click configuration option interactive_elements_only, to ignore clicks on non-interactive page elements such as text. Configure with: mixpanel.init('<TOKEN>', {autocapture: {rage_click: {interactive_elements_only: true}}})
  • Adds TypeScript types for Feature Flags subsystem (mixpanel.flags)
  • Adds JS console data to Session Recordings, enabled by default but configurable via the record_console initialization option.

Fixes:

  • Fixes an issue in session recording where closing and opening a page would upload a replay shorter than the configured minimum duration (record_min_ms)
  • Fixes an issue in session recording where payloads get truncated on old Safari versions due to a bug in their CompressionStream implementation

v2.71.1: Fix $mp_page_leave over-tracking

Compare Source

Fixes an issue where the $mp_page_leave is automatically captured when record_heatmap_data is on and there is no session recording taking place.

$mp_page_leave events will be excluded from Mixpanel billing for the month of October.

v2.71.0: Autocapture Updates

Compare Source

New autocapture events are now available:

  • Dead Click ($mp_dead_click): when a click occurs but there is no DOM mutation afterwards
  • Page Leave ($mp_page_leave): when a page is "left" either by navigation or leaving the tab

Dead Click event tracking is ON in the default autotrack configuration, but Page Leave tracking must be turned on explicitly (with the config option {autocapture: {page_leave: true}}.

This release also includes several other updates:

  • adding additional properties to experiment exposure events for feature flags
  • upgrade rrweb fork to fix a hidden input masking issue
  • getting rid of package.json exports feature to be less restrictive of what can be imported
  • adding type definitions for each build option

v2.70.0

Compare Source

v2.69.1

Compare Source

v2.69.0: rrweb upgrade and stricter disable_persistence

Compare Source

  • Upgraded rrweb to use a Mixpanel-maintained fork containing performance fixes from the rrweb team (https://github.com/mixpanel/rrweb)
  • Added additional handling for disable_persistence so that sessionStorage and IndexedDB are not modified
  • Fixed TypeScript imports for custom builds

v2.68.0: Rage-Click detection and other updates

Compare Source

This release adds support for Rage-Click tracking as part of the Autocapture subsystem. It is enabled in the default autocapture config, and can also be controlled explicitly with the rage_click autocapture init option.

Other updates include:

  • Session Recording now blocks <audio> tags by default
  • A new Feature-Flag method flags.update_context() facilitates updating context variables and refetching variants

v2.67.0: Fixes and minor updates

Compare Source

  • get_api_host() is now used consistently across the SDK to ensure that per-endpoint API host configs are respected everywhere
  • A fix is included for the ordering of (asynchronous) operations when calling mixpanel.reset() while a session recording is active
  • Default Feature Flag context now includes device_id alongside distinct_id
  • $experiment_started events now include several API-latency-tracking properties

v2.66.0: Fine-grained API host configuration and session recording fixes

Compare Source

A new api_hosts configuration option enables different endpoints (events, profiles, groups, session recordings) to be sent to different hosts, for selective proxying, e.g.:

mixpanel.init('<TOKEN>', {
  api_hosts: {
    // proxy only session-recording requests, and leave the rest on the default host api-js.mixpanel.com
    'record': 'https://my-proxy.com',
  },
});

This release also fixes a race condition when calling mixpanel.reset() while a session recording is active, and adds an initial TypeScript types.d.ts file.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from tal-rofe as a code owner March 28, 2026 20:32
@renovate renovate bot force-pushed the renovate/mixpanel-browser-2.x branch 2 times, most recently from d442678 to 294ac28 Compare March 29, 2026 01:36
@renovate renovate bot force-pushed the renovate/mixpanel-browser-2.x branch from 294ac28 to 3e8d76e Compare April 15, 2026 16:18
@renovate renovate bot changed the title chore: 🤖 update dependency mixpanel-browser to v2.76.0 chore: 🤖 update dependency mixpanel-browser to v2.78.0 Apr 15, 2026
@renovate renovate bot force-pushed the renovate/mixpanel-browser-2.x branch from 3e8d76e to edacb65 Compare April 15, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants