> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/sdk-release-notes/release-notes.md).

# SDK release notes

## v1.23.1 (2026-08-10)

**Bug Fixes**

* dedupe `Consent Preferences Updated` event so it fires on actual consent transitions instead of once per page load

## v1.23.0 (2026-06-25)

**Features**

* add support for Cookiebot as a consent management platform

## v1.22.2 (2026-05-04)

**Bug Fixes**

* `identify/track/page` now await in-flight `reset()` before sending, eliminating identity-bleed when events fire immediately after logout

## v1.22.1 (2026-03-20)

**Bug Fixes**

* allow postMessages from null-origin sandboxed iframes in web pixel listener

## v1.22.0 (2026-03-20)

**Features**

* unified custom web pixel

## v1.21.3 (2026-03-06)

**Bug Fixes**

* prevent duplicate CDP script injection in React StrictMode

## v1.21.2 (2026-02-19)

**Bug Fixes**

* race condition in OneTrust consent adapter

## v1.21.1 (2026-02-11)

*(internal release tooling — no user-facing changes)*

## v1.21.0 (2026-01-20)

**Features**

* add `sessionStorage` persistence for consent event queue (events queued during consent wait now survive instance recreation)

## v1.20.0 (2026-01-12)

**Features**

* add `trackOrderCompleted` convenience method

## v1.19.0 (2025-12-08)

**Features**

* consent: stamp events with fresh consent via CDP configure
* consent: add g`etCategories` / `isConsentReady` to all adapters
* consent: add OneTrust API utilities module

**Bug Fixes**

* add awaits to fix race conditions
* stamp initial consent event after CDP fully initialized

## v1.18.1 (2025-10-10)

**Bug Fixes**

* retry\*\* OneTrust \*\*consent handler setup

## v1.18.0 (2025-09-23)

**Features**

* create a CommonJS build for sites on older Node/Webpack

## v1.17.0 (2025-09-04)

**Features**

* add `addSourceMiddleware` (Segment parity)

## v1.16.1 (2025-08-28)

**Bug Fixes**

* track method waits for CDP ready

## v1.16.0 (2025-08-21)

**Features**

* add configurable `awaitConsentTimeout` option

## v1.15.0 (2025-07-31)

**Features**

* add Segment support

**Bug Fixes**

* guard Chord CDP `dontSend` configuration when API not yet available

## v1.14.1 (2025-07-23)

**Bug Fixes**

* normalize `cdpDomain` to avoid double slashes in URLs

## v1.14.0 (2025-07-21)

**Features**

* add Consent Preferences Updated event

**Bug Fixes**

* prevent duplicate consent processing on page load

## v1.13.0 (2025-06-30)

**Features**

* add optional `props` argument to `page` method

## v1.12.2 (2025-05-30)

**Bug Fixes**

* `awaitConsent` option

## v1.12.1 (2025-05-27)

**Bug Fixes**

* add `isResetting`
* Chord CDP called first
* resolve event only after both CDP promises resolved
* increase speed of consent management check

## v1.12.0 (2025-05-01)

**Features**

* add support for OneTrust CMP

## v1.11.0 (2025-04-23)

**Bug Fixes**

* wait before setting initial consent

**Features**

* add support for Ketch CMP

## v1.10.0 (2025-04-10)

**Features**

* add built-in consent managment support, Shopify

## v1.9.1 (2025-04-09)

**Bug Fixes**

* support Chord CDP and Segment in parallel

## v1.9.0 (2025-03-24)

**Features**

* add Chord CDP support

## v1.8.0 (2024-03-21)

**Features**

* add `trackNavigationClicked`
* add `trackCheckoutStepCompleted`
* add `trackCheckoutStepViewed`
* add `trackVariantClicked`
* add `trackLoginStarted`
* add `trackSubscriptionCancelled`
* add `trackPaymentInfoEntered`

## v1.7.0 (2024-03-07)

**Features**

* add type parameter to ChordAnalytics

## v1.6.0 (2024-03-05)

**Features**

* publish to npm registry

## v1.5.1 (2024-02-14)

**Bug Fixes**

* address linter errors and warnings
* remove no longer needed eslint disableds

## v1.5.0 (2024-01-19)

**Features**

* add cdp and logger methods to ChordAnalytics
* add comments for cdp() and logger()

## v1.4.0 (2024-01-18)

**Features**

* add enableLogging option

## v1.3.0 (2024-01-17)

**Features**

* add page method to ChordAnalytics

## v1.2.0 (2024-01-16)

**Features**

* support function to return the CDP instance

## v1.1.1 (2023-12-07)

**Bug Fixes**

* clean up input types

## v1.1.0 (2023-12-07)

**Features**

* set up eslint config for core package

## v1.0.3 (2023-12-05)

**Bug Fixes**

* semantic release config file format
* update package for node compatibility

## v1.0.2 (2023-12-05)

**Bug Fixes**

* add missing dep to liquid package
* update module type to support imports

## v1.0.1 (2023-12-05)

**Bug Fixes**

* remove zero price fallback
* strip null values from arrays
* update tracking plan to latest

## v1.0.0 (2023-12-05)

**Features**

* rename package
* initial release


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/sdk-release-notes/release-notes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
