---
title: Browser SDK 2 release notes
description: "Release notes for the Amplitude Analytics Browser SDK 2 (`@amplitude/analytics-browser`)."
product: analytics
lang: en
last_updated: 2026-10-28
token_estimate: 4201
---
# Browser SDK 2 release notes

> For AI agents: a documentation index is available at [/docs/llms.txt](/docs/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`.

Release notes for `@amplitude/analytics-browser` (Browser SDK 2). For the full engineering changelog, go to the [analytics-browser CHANGELOG](https://github.com/amplitude/Amplitude-TypeScript/blob/main/packages/analytics-browser/CHANGELOG.md) on GitHub.

## 2.48.0

Released October 15, 2026.

**Features**

- Forward group information from Experiment connector events to `track`, so that exposure events now carry group context ([#2039](https://github.com/amplitude/Amplitude-TypeScript/pull/2039)).

**Fixes**

- Fix exposure group behavior in the unified SDK by updating connector and Experiment dependencies ([#2060](https://github.com/amplitude/Amplitude-TypeScript/pull/2060)).

## 2.45.9

Released September 16, 2026.

**Fixes**

- Normalize empty instance names so that an empty string instance name is handled consistently ([#1956](https://github.com/amplitude/Amplitude-TypeScript/pull/1956)).

## 2.45.7

Released August 24, 2026.

**Fixes**

- Prevent a non-array return type in `querySelectorAll` from causing exceptions in autocapture ([#1919](https://github.com/amplitude/Amplitude-TypeScript/pull/1919)). This only applies to websites where the JS overrides `document.querySelectorAll` with a function that alters the [return type](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll#return_value) to be something other than just a NodeList.

## 2.45.0

Released July 14, 2026.

**Features**

- Enable event property attribution by default, so campaign parameters land on both user properties and event properties. Set `autocapture.attribution.trackingMethod` explicitly to keep user property attribution only ([#1860](https://github.com/amplitude/Amplitude-TypeScript/pull/1860)).

```ts
amplitude.init(API_KEY, {
  autocapture: {
    attribution: {
      trackingMethod: "userProperty", // opts out of the default event property attribution
    },
  },
});
```

## 2.44.1

Released June 11, 2026.

**Fixes**

- Fix JSON serialization to prevent cyclic errors in remote config ([#1826](https://github.com/amplitude/Amplitude-TypeScript/pull/1826)).

## 2.44.0

Released June 11, 2026.

**Features**

- Make `referrerPolicy` a configurable option on the fetch transporter ([#1805](https://github.com/amplitude/Amplitude-TypeScript/pull/1805)).

```ts
amplitude.init(API_KEY, {
  transport: {
    type: "fetch",
    referrerPolicy: "no-referrer", // sets this referrerPolicy on outgoing Amplitude network requests
  },
});
```

**Fixes**

- Flush queued events when the browser actually transitions from offline to online ([#1812](https://github.com/amplitude/Amplitude-TypeScript/pull/1812)).
- Return errors from `trackVideo` instead of throwing them ([#1804](https://github.com/amplitude/Amplitude-TypeScript/pull/1804)).

## 2.43.0

Released June 5, 2026.

**Features**

- Enable [keepalive](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#browser_compatibility) on fetch requests by default so that fewer event requests are lost on page unloads ([#1781](https://github.com/amplitude/Amplitude-TypeScript/pull/1781)).

## 2.42.1

Released May 5, 2026.

**Fixes**

- Make Autocapture opt-in when the SDK runs inside a Chrome extension. This is because Chrome Extensions have access to users browsing history and autocapturing that has privacy implications ([#1710](https://github.com/amplitude/Amplitude-TypeScript/pull/1710)).

## 2.42.0

Released April 28, 2026.

**Features**

- Compress request bodies by default (except when proxy URL is set). This is to lower the bandwidth of the SDK's network requests ([#1699](https://github.com/amplitude/Amplitude-TypeScript/pull/1699)).

## 2.41.0

Released April 21, 2026.

**Features**

- Add long task autocapturing to SDK (captures [long tasks](https://developer.mozilla.org/en-US/docs/Glossary/Long_task) and [long animation frames](https://developer.chrome.com/docs/web-platform/long-animation-frames)) ([#1622](https://github.com/amplitude/Amplitude-TypeScript/pull/1622)).

```ts
amplitude.init(API_KEY, {
  autocapture: {
    ...otherAutocaptureOptions,
    performanceTracking: true,
  },
});
```

## 2.40.0

Released April 14, 2026.

**Features**

- Add a configuration that applies campaign attribution data to "event\_properties". This is so that campaign data can be inferred at query time via [persisted properties](https://amplitude.com/docs/data/persisted-properties) ([#1628](https://github.com/amplitude/Amplitude-TypeScript/pull/1628)).

```ts
amplitude.init(API_KEY, {
  autocapture: {
    attribution: {
      trackingMethod: "eventProperty",
    },
  },
});
```

## 2.39.0

Released April 9, 2026.

**Features**

- Add experimental video tracking with `trackVideo` ([#1652](https://github.com/amplitude/Amplitude-TypeScript/pull/1652)).

**Fixes**

- Let you disable the custom enrichment plugin even when remote config enables it ([#1638](https://github.com/amplitude/Amplitude-TypeScript/pull/1638)).

## 2.38.0

Released March 26, 2026.

**Features**

- Support `viewportContentUpdated` Autocapture through remote config ([#1621](https://github.com/amplitude/Amplitude-TypeScript/pull/1621)).

## 2.37.0

Released March 20, 2026.

**Features**

- Add a custom enrichment plugin driven by remote config settings ([#1586](https://github.com/amplitude/Amplitude-TypeScript/pull/1586)).

## 2.36.4

Released March 12, 2026.

**Fixes**

- Skip localhost and single-word domains during top-level domain checks ([#1584](https://github.com/amplitude/Amplitude-TypeScript/pull/1584)).
- Stop retrying remote config requests for most client-side errors (still retries on HTTP 429) ([#1590](https://github.com/amplitude/Amplitude-TypeScript/pull/1590)).

## 2.36.3

Released March 9, 2026.

**Fixes**

- Fix a Safari cookie writing race condition and improve exception handling around cookies ([#1578](https://github.com/amplitude/Amplitude-TypeScript/pull/1578)).
- Skip known second-level domains during top-level domain checks ([#1575](https://github.com/amplitude/Amplitude-TypeScript/pull/1575)).

## 2.36.2

Released March 5, 2026.

**Fixes**

- Make top-level domain and cookie-enabled checks synchronous to avoid re-entrancy errors ([#1564](https://github.com/amplitude/Amplitude-TypeScript/pull/1564)).

## 2.36.0

Released March 3, 2026.

**Features**

- Add `attribution.excludeInternalReferrers` to exclude internal referrers from attribution ([#1548](https://github.com/amplitude/Amplitude-TypeScript/pull/1548)).
- Support gzip compression for request bodies (opt-in) ([#1542](https://github.com/amplitude/Amplitude-TypeScript/pull/1542), [#1568](https://github.com/amplitude/Amplitude-TypeScript/pull/1568)).

**Fixes**

- Improve default excluded-referrer behavior ([#1559](https://github.com/amplitude/Amplitude-TypeScript/pull/1559)).

## 2.35.1

Released February 19, 2026.

**Fixes**

- Prevent circular references when logging browser options ([#1537](https://github.com/amplitude/Amplitude-TypeScript/pull/1537)).

## 2.35.0

Released February 17, 2026.

**Features**

- Add `setIdentity()` to set user identity in one call ([#1517](https://github.com/amplitude/Amplitude-TypeScript/pull/1517)).

## 2.34.1

Released February 10, 2026.

**Fixes**

- Defer `session_start` and attribution when `optOut` is `"true"` ([#1509](https://github.com/amplitude/Amplitude-TypeScript/pull/1509)).
- Prevent form Autocapture from binding the same form twice ([#1527](https://github.com/amplitude/Amplitude-TypeScript/pull/1527)).

## 2.34.0

Released January 26, 2026.

**Features**

- Add `shouldTrackSubmit` so you can apply custom validation before form submit Autocapture tracks an event ([#1500](https://github.com/amplitude/Amplitude-TypeScript/pull/1500)).

## 2.33.3

Released January 14, 2026.

**Fixes**

- Fix a re-entrancy error in cookie availability checks ([#1493](https://github.com/amplitude/Amplitude-TypeScript/pull/1493)).

## 2.33.2

Released January 14, 2026.

**Fixes**

- Resolve cases where the SDK could write or read conflicting cookies ([#1490](https://github.com/amplitude/Amplitude-TypeScript/pull/1490)).

## 2.33.0

Released December 24, 2025.

**Features**

- Let you set custom headers on the transport provider ([#1444](https://github.com/amplitude/Amplitude-TypeScript/pull/1444)).

## 2.32.2

Released December 16, 2025.

**Fixes**

- Fix `remoteConfig.fetchRemoteConfig` so remote config fetching works again ([#1434](https://github.com/amplitude/Amplitude-TypeScript/pull/1434)).

## 2.32.1

Released December 12, 2025.

**Fixes**

- Include the user agent in diagnostics tracking ([#1428](https://github.com/amplitude/Amplitude-TypeScript/pull/1428)).

## 2.32.0

Released December 9, 2025.

**Features**

- Capture uncaught SDK errors in diagnostics when you install the SDK with the script loader ([#1419](https://github.com/amplitude/Amplitude-TypeScript/pull/1419)).

## 2.31.4

Released December 8, 2025.

**Fixes**

- Fix a race condition in `identify` calls ([#1424](https://github.com/amplitude/Amplitude-TypeScript/pull/1424)).

## 2.31.1

Released November 17, 2025.

**Fixes**

- Record unsuccessful network responses in diagnostics ([#1405](https://github.com/amplitude/Amplitude-TypeScript/pull/1405)).

## 2.31.0

Released November 17, 2025.

**Features**

- Add a reset listener API so you can react when the SDK resets identity ([#1393](https://github.com/amplitude/Amplitude-TypeScript/pull/1393)).
- Add remote config support for diagnostics ([#1397](https://github.com/amplitude/Amplitude-TypeScript/pull/1397)).

## 2.30.0

Released October 29, 2025.

**Features**

- Expand the diagnostics metrics the SDK collects ([#1371](https://github.com/amplitude/Amplitude-TypeScript/pull/1371)).

## 2.29.0

Released October 23, 2025.

**Features**

- Enable the Page URL Enrichment plugin by default ([#1287](https://github.com/amplitude/Amplitude-TypeScript/pull/1287)).

## 2.28.0

Released October 23, 2025.

**Features**

- Add a remote config server URL option so you can proxy remote config requests ([#1348](https://github.com/amplitude/Amplitude-TypeScript/pull/1348)).

## 2.27.0

Released October 17, 2025.

**Features**

- Promote Web Vitals Autocapture to general availability ([#1347](https://github.com/amplitude/Amplitude-TypeScript/pull/1347)).

## 2.26.0

Released October 14, 2025.

**Features**

- Enable network tracking by default when Autocapture is `true` ([#1333](https://github.com/amplitude/Amplitude-TypeScript/pull/1333)).

**Fixes**

- Remove the separate `analytics-remote-config` dependency ([#1336](https://github.com/amplitude/Amplitude-TypeScript/pull/1336)).

## 2.25.3

Released October 6, 2025.

**Fixes**

- Allow timestamp overrides on Experiment events ([#1317](https://github.com/amplitude/Amplitude-TypeScript/pull/1317)).
- Fix pluralization for `frustrationInteractions` configuration ([#1320](https://github.com/amplitude/Amplitude-TypeScript/pull/1320)).

## 2.25.2

Released October 3, 2025.

**Fixes**

- Add diagnostics for Autocapture hierarchy lookup timing ([#1312](https://github.com/amplitude/Amplitude-TypeScript/pull/1312)).
- Suppress unnecessary URL warnings ([#1315](https://github.com/amplitude/Amplitude-TypeScript/pull/1315)).
- Support timestamp overrides for Experiment events.

## 2.25.0

Released September 25, 2025.

**Features**

- Add an `identify` option to SDK configuration ([#1303](https://github.com/amplitude/Amplitude-TypeScript/pull/1303)).

## 2.24.1

Released September 18, 2025.

**Fixes**

- Apply remote config headers to network tracking ([#1288](https://github.com/amplitude/Amplitude-TypeScript/pull/1288)).

## 2.24.0

Released September 12, 2025.

**Features**

- Add `urlsRegex` to remote capture rules for network tracking ([#1284](https://github.com/amplitude/Amplitude-TypeScript/pull/1284)).
- Promote Frustration Interactions Autocapture to general availability ([#1286](https://github.com/amplitude/Amplitude-TypeScript/pull/1286)).

## 2.23.6

Released September 5, 2025.

**Fixes**

- Use the original marketing cookies set by Web Experiment before a redirect ([#1280](https://github.com/amplitude/Amplitude-TypeScript/pull/1280)).

## 2.23.3

Released August 25, 2025.

**Fixes**

- Add missing `BrowserClient` attributes to the public type surface ([#1272](https://github.com/amplitude/Amplitude-TypeScript/pull/1272)).

## 2.23.1

Released August 22, 2025.

**Fixes**

- Fix the Reddit click ID property name ([#1267](https://github.com/amplitude/Amplitude-TypeScript/pull/1267)).

## 2.23.0

Released August 21, 2025.

**Features**

- Add experimental URL matching on network capture rules ([#1252](https://github.com/amplitude/Amplitude-TypeScript/pull/1252)).

## 2.22.1

Released August 8, 2025.

**Fixes**

- Improve translation of remote config values into local SDK config ([#1232](https://github.com/amplitude/Amplitude-TypeScript/pull/1232)).

## 2.22.0

Released August 5, 2025.

**Features**

- Add the Page URL Enrichment plugin for additional page URL properties, including previous page ([#1238](https://github.com/amplitude/Amplitude-TypeScript/pull/1238)).

**Fixes**

- Switch to the new remote config client ([#1191](https://github.com/amplitude/Amplitude-TypeScript/pull/1191)).

## 2.21.1

Released July 30, 2025.

**Fixes**

- Support an evaluation window for cross-domain tracking ([#1227](https://github.com/amplitude/Amplitude-TypeScript/pull/1227)).

## 2.21.0

Released July 29, 2025.

**Features**

- Expose a unified `AmplitudeContext` and `AnalyticsClient` from analytics-core ([#1222](https://github.com/amplitude/Amplitude-TypeScript/pull/1222)).

## 2.20.1

Released July 18, 2025.

**Fixes**

- Keep Frustration Interactions and Web Vitals disabled when Autocapture is set to `true` as a boolean (enable them explicitly instead) ([#1214](https://github.com/amplitude/Amplitude-TypeScript/pull/1214)).

## 2.20.0

Released July 17, 2025.

**Features**

- Add Autocapture support for Web Vitals (`autocapture.webVitals`) ([#1195](https://github.com/amplitude/Amplitude-TypeScript/pull/1195)).

## 2.19.0

Released July 15, 2025.

**Features**

- Add experimental Frustration Interactions Autocapture (`autocapture.frustrationInteractions`) ([#1209](https://github.com/amplitude/Amplitude-TypeScript/pull/1209)).

## 2.18.0

Released June 30, 2025.

**Features**

- Add `getOptOut()` and `getIdentity()` helpers ([#1174](https://github.com/amplitude/Amplitude-TypeScript/pull/1174)).

## 2.17.10

Released June 16, 2025.

**Fixes**

- Guard against environments where `addEventListener` isn't available on the global scope ([#1154](https://github.com/amplitude/Amplitude-TypeScript/pull/1154)).

## 2.17.7

Released May 27, 2025.

**Fixes**

- Support `autocapture.networkTracking` as a configuration object ([#1095](https://github.com/amplitude/Amplitude-TypeScript/pull/1095)).

## 2.17.3

Released May 5, 2025.

**Fixes**

- Use `performance.now()` for more accurate network capture timing ([#1060](https://github.com/amplitude/Amplitude-TypeScript/pull/1060)).

## 2.17.0

Released May 2, 2025.

**Features**

- Autocapture network errors ([#1050](https://github.com/amplitude/Amplitude-TypeScript/pull/1050)).

## 2.16.1

Released April 30, 2025.

**Fixes**

- Make `fetchRemoteConfig` default to `true`, so the SDK fetches remote configuration unless you turn it off. In earlier versions, remote configuration is off unless you enable it ([#1048](https://github.com/amplitude/Amplitude-TypeScript/pull/1048)).

```ts
amplitude.init(API_KEY, {
  fetchRemoteConfig: false, // opts out of remote configuration
});
```

## 2.10.0

Released August 2, 2024.

**Features**

- Add remote configuration, so Autocapture settings from **Data > Settings > Autocapture** merge with your local configuration. Remote values take precedence. Remote configuration is off by default in this version ([#832](https://github.com/amplitude/Amplitude-TypeScript/pull/832)).

```ts
amplitude.init(API_KEY, {
  fetchRemoteConfig: true, // enables remote configuration in versions before 2.16.1
});
```

## 2.8.0

Released May 21, 2024.

**Features**

- Read the session ID from the `ampSessionId` URL parameter and the device ID from the `ampDeviceId` URL parameter, so cross-domain links keep one session and device. The SDK still reads the legacy `deviceId` URL parameter, but `ampDeviceId` takes precedence ([#753](https://github.com/amplitude/Amplitude-TypeScript/pull/753)).

## 2.4.0

Released January 24, 2024.

**Features**

- Add offline mode. The SDK saves events to storage while the browser is offline and flushes them when it reconnects ([#644](https://github.com/amplitude/Amplitude-TypeScript/pull/644)).

