# Versions

## 1.3.0

### Minor Changes

* Fix GPP `signalStatus` when the CMP is already loaded and operational.

### Patch Changes

* CTV: Fix embed loader to always use the legacy SDK path for CTV notices.

## 1.2.0

### Minor Changes

* IAB TCF: Apply April 2026 updates including SDK items and new `specialPurposes` and `optOut` fields for cookie disclosures.

### Patch Changes

* A11Y: Fix button `aria-label` to start with visible button text and include description for WCAG 2.5.3 compliance.
* Fix X (Twitter) in-app browser incorrectly detected as a bot.

## 1.1.2

### Patch Changes

* A11Y: Replace `aria-pressed` with `aria-checked` on radio buttons.

## 1.1.1

### Patch Changes

* Fix Didomi custom tag setup - use `textContext` instead of `setHTML`.
* Emit `notice.clickviewvendors` for embedded partner links.

## 1.1.0

### Minor Changes

* IAB TCF: Fix `tcData` structure by exposing `disclosedVendors` under `vendor.disclosedVendors` instead of `outOfBand.disclosedVendors` to comply with the TCF 2.3 specification.
* Fix `addVendorStatusListener` callback not triggered under CPRA (USCA).

### Patch Changes

* Add missing colon to data processing translation key in locales.
* Fix Legitimate Interest purpose consideration with `isVendorEnabled` for vendor consent status.
* Fix CPRA consent-only vendors shown as enabled in `didomiState` before user interaction.
* Fix bulk action toggle not working with first-party vendor.

## 1.0.4

### Patch Changes

* Propagate CSP nonce to all dynamic style and script injections.
* CTV: Remove double scrollbars.
* Fix user choices not reflected on third layer.
* Fix bulk toggle for categories.

## 1.0.3

### Patch Changes

* Fix horizontal scrolling and cut-off CTAs on mobile devices.
* Fix action param set to external when status is set using `setCurrentUserStatus()` and `setUserStatus()` methods.
* A11Y: Add `role` and `aria-level` attributes for accessibility compliance.

## 1.0.2

### Patch Changes

* Fix the reset function behaviour for cross-domain hostnames configuration.
* CTV: Remove clickable link from Didomi logo in notice footer to prevent unintended navigation when using remote controls.
* Fix automatically enabling vendors with only essential purposes (consent or legitimate interest) when using setUserStatus API.
* Fix vendor handling (optin/optout) on mixed regulations and prevent notice from reappearing on every refresh of the page.

## 1.0.1

### Patch Changes

* A11Y: Add missing ID for bulk purposes `aria-describedby` attribute.
* Add configurable token query parameter name via `user.auth.tokenName` to prevent conflicts with third-party services using the same parameter name.
* CTV: Fix active border style to apply only to direct child paragraph element, preventing unintended styling of nested paragraphs.
* A11Y: Change text for voice over on third layer purposes.
* Hide notice for bots.
* Add regional subdomains for Canada.
* A11Y: Add translated `alt` attribute for Didomi logo.
* Adjust auto spacing for link continue without agreeing.
* Fix the reset API function for DCS enabled configuration.
* A11Y: Add `aria-hidden` attribute to Continue without agreeing link.
* CTV: Fix notice legal text font size enlargement when navigating back from preferences.
* CTV: Add `padStart` polyfill needed for some CTV models when the organization has the DCS feature enabled.
* A11Y: Adjust category heading level for accessibility.

## 1.0.0

### Major Changes

* CTV: **Multiregulations support** - CTV notices now support multiple regulations including GPP (Global Privacy Platform) functionalities.
* CTV: Moving forward, the "Enable the 'agree to all' and 'disagree to all' buttons" option must be explicitly enabled from the console to show agree/disagree/close buttons in the second layer for all CTV notices (including existing GDPR notices).

### Minor Changes

* IAB TCF: Add v2.3 support.
* IAB TCF: Refactor service to improve website performance.
* CTV: Categories with mixed legal bases (consent and legitimate interest) now update correctly.
* CTV: Second layer CTA buttons ordering logic is now fixed.

### Patch Changes

* Prevent unintended validation of Accept / Reject when users drag and release the mouse unintentionally outside the notice.
* CTV: Fix UI rendering failure on devices where style element was undefined during initialization.
* Transpile monorepo packages (metrics, utils, consent-string) in modern build to prevent ES2021 syntax errors in legacy browsers with external polyfills.
* CTV: Improve HbbTV compatibility by fixing CSS syntax issues and element type detection on Smart TV platforms.
* CTV: Fix notice text overflow on older TV models by removing scrollbars and enabling dynamic text resizing.
* A11Y: Use localized key for aria-label on close dialog popup icon.
* A11Y: Remove block-level elements from buttons for compliance.
* CTV: Fix consent status overflow outside buttons in preferences. The data-processing component had a layout issue causing overflow regardless of text length, while the purpose-row component overflowed when purpose names were too long.
* A11Y: Add attributes to allow for tab navigation on all supported browsers.
* Add support for setting the logo height and width in the CMP banner.
* A11Y: Fix purpose button selection when dragging the mouse during click.
* A11Y: Include arrow in "continue without agreeing" link text for tab navigation purposes.
* Fix Firefox tab key navigation for vendors list.

## 0.0.1

### Patch Changes

* Initial release of the versioned SDK


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.didomi.io/cmp/web-sdk/reference/versions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
