# What changed in @angular/cdk

> 54 changes in @angular/cdk 21 to 22 from its official release notes, upgrade guides and advisories: 15 breaking, 2 security, 7 new APIs and options. Each one cited. Sources checked 2026-10-22. HTML: https://unstale.sh/npm/@angular/cdk/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @angular/cdk 22

### Breaking changes

- Inert elements are now treated as non-focusable. (22.2.3) — [release notes](https://github.com/angular/components/releases/tag/v22.2.3)
- Overlay no longer uses old prefixes for fullscreen elements. (22.2.2) — [release notes](https://github.com/angular/components/releases/tag/v22.2.2)
- Temporarily hides getAttachedOverlays from the API. (22.2.0) — [release notes](https://github.com/angular/components/releases/tag/v22.2.0)
- The CDK dialog ref is no longer exposed to users. (22.1.1) — [release notes](https://github.com/angular/components/releases/tag/v22.1.1)
- CDK_DESCRIBEDBY_HOST_ATTRIBUTE has been removed. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- CDK_DESCRIBEDBY_ID_PREFIX has been removed. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- The injector parameter of the ConfigurableFocusTrap constructor is now required. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- The boolean parameter has been replaced with a config object. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- Some constructors that use rest arguments have been removed; extensions may need to update their super calls. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- ContextMenuTracker has been renamed to MenuTracker. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- The event parameter of DropListRef.drop is now required. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- The injector parameter of the FocusTrap constructor is now required. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- MESSAGES_CONTAINER_ID has been removed. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- More public APIs are now readonly. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)

### Security

- Guards createPolicy against DOM clobbering. (22.0.5) — [release notes](https://github.com/angular/components/releases/tag/v22.0.5)
- Avoids CSS injection attacks in the media matcher. (22.0.2) — [release notes](https://github.com/angular/components/releases/tag/v22.0.2)

### New APIs and options

- Allows users to opt into closing overlays on any URL change. (22.2.1) — [release notes](https://github.com/angular/components/releases/tag/v22.2.1)
- Exports aria injection tokens to support custom subclasses. (22.2.0) — [release notes](https://github.com/angular/components/releases/tag/v22.2.0)
- Exposes currently open overlays through the Overlay API. (22.1.6) — [release notes](https://github.com/angular/components/releases/tag/v22.1.6)
- Allows navigation to a specific index in a listbox. (22.0.4) — [release notes](https://github.com/angular/components/releases/tag/v22.0.4)
- Adds the ability to bulk select or deselect values. (22.0.3) — [release notes](https://github.com/angular/components/releases/tag/v22.0.3)
- Dialog can now receive bindings. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- Rendered rows are now exposed by the table API. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)

### Behavior and default changes

- Added forms to the CDK peer dependencies. (22.1.5) — [release notes](https://github.com/angular/components/releases/tag/v22.1.5)
- Container elements now have a presentation role. (22.1.1) — [release notes](https://github.com/angular/components/releases/tag/v22.1.1)
- A signal form can now be assigned as stepControl. (22.1.0) — [release notes](https://github.com/angular/components/releases/tag/v22.1.0)
- Reworked the error state matcher to handle signal forms. (22.0.4) — [release notes](https://github.com/angular/components/releases/tag/v22.0.4)
- ComponentPortal now supports directives. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)
- Providing a custom scrollable is easier. (22.0.0) — [release notes](https://github.com/angular/components/releases/tag/v22.0.0)

### Fixes and other changes

- Fixed an error that occurred when the popup was destroyed before the first change detection. (22.2.4) — [release notes](https://github.com/angular/components/releases/tag/v22.2.4)
- Increased the specificity of datepicker period button styles. (22.2.4) — [release notes](https://github.com/angular/components/releases/tag/v22.2.4)
- Updated the parse error when a signal forms value stays null. (22.2.4) — [release notes](https://github.com/angular/components/releases/tag/v22.2.4)
- Bounded dragging uses consistent touch coordinates. (22.2.2) — [release notes](https://github.com/angular/components/releases/tag/v22.2.2)
- Drag-and-drop no longer uses old prefixes for fullscreen elements. (22.2.2) — [release notes](https://github.com/angular/components/releases/tag/v22.2.2)
- Ensures the right attribute is set when the accordion is used as a host directive. (22.1.8) — [release notes](https://github.com/angular/components/releases/tag/v22.1.8)
- Table rows update when row definitions change. (22.1.7) — [release notes](https://github.com/angular/components/releases/tag/v22.1.7)
- The popup now closes when focus leaves it. (22.1.5) — [release notes](https://github.com/angular/components/releases/tag/v22.1.5)
- Focus is now moved into the menu when its items are delayed. (22.1.5) — [release notes](https://github.com/angular/components/releases/tag/v22.1.5)
- Prevents the drawer from getting stuck when toggled rapidly. (22.1.4) — [release notes](https://github.com/angular/components/releases/tag/v22.1.4)
- Shows a real error message instead of crashing when a table column is missing. (22.1.4) — [release notes](https://github.com/angular/components/releases/tag/v22.1.4)
- Aria directives now account for shadow DOM. (22.1.3) — [release notes](https://github.com/angular/components/releases/tag/v22.1.3)
- Focus moves to the root when a focus trap has no focusable elements. (22.1.2) — [release notes](https://github.com/angular/components/releases/tag/v22.1.2)
- The touch target no longer becomes a focus stop. (22.1.1) — [release notes](https://github.com/angular/components/releases/tag/v22.1.1)
- Fixes thumb jumping on Safari. (22.1.1) — [release notes](https://github.com/angular/components/releases/tag/v22.1.1)
- Resolved issues in the navigation schematic. (22.0.7) — [release notes](https://github.com/angular/components/releases/tag/v22.0.7)
- Accounts for disabled cell widgets and in-place disablement. (22.0.7) — [release notes](https://github.com/angular/components/releases/tag/v22.0.7)
- Drag-and-drop now resets popover overflow. (22.0.6) — [release notes](https://github.com/angular/components/releases/tag/v22.0.6)
- Guards against a null document.body before checking popover support. (22.0.5) — [release notes](https://github.com/angular/components/releases/tag/v22.0.5)
- Resets more properties to avoid jumping during virtual scroll. (22.0.3) — [release notes](https://github.com/angular/components/releases/tag/v22.0.3)
- Accounts for composedPath errors during event replay. (22.0.2) — [release notes](https://github.com/angular/components/releases/tag/v22.0.2)
- Clipboard operations avoid an infinite attempt loop. (22.0.1) — [release notes](https://github.com/angular/components/releases/tag/v22.0.1)
- The accessibility ID generator avoids prototype conflicts. (22.0.1) — [release notes](https://github.com/angular/components/releases/tag/v22.0.1)

## @angular/cdk 21

### Breaking changes

- Menu no longer sets a default aria-label. (21.2.10) — [release notes](https://github.com/angular/components/releases/tag/v21.2.10)

### Fixes and other changes

- Ensures dates don't overflow on a small screen. (21.2.12) — [release notes](https://github.com/angular/components/releases/tag/v21.2.12)
