20.0.0
cdk
| Commit | Description | 
|---|---|
| dialog: add closePredicate option | |
| drag-drop: introduce resetToBoundary(#30436) | |
| accordion: resolve changed after checked error | |
| collections: breaking changes for v20 | |
| dialog: breaking changes for v20 | |
| dialog: provide proper shaped Directionality (#30898) | |
| drag-drop: breaking changes for v20 | |
| drag-drop: incorrect type DragConstrainPosition (#30510) | |
| overlay: use MutationObserver to detach overlay (#30703) | |
| portal: remove deprecated symbols (#30584) | |
| schematics: support project index file discovery for object-form and default (#30967) | |
| table: breaking changes for v20 | |
| table: move out unused style scheduler (#30963) | |
| table: remove private symbols from public API (#30956) | |
| overlay: add tree-shakeable alternatives for overlay APIs (#30904) | 
material
| Commit | Description | 
|---|---|
| button: add support for tonal button (#30638) | |
| button: allow appearance to be set dynamically | |
| card: support filled variant (#29868) | |
| core: handle prefers-reduced-motion automatically (#30796) | |
| core: introduce custom token for controlling animations (#30749) | |
| dialog: add closePredicate option | |
| autocomplete: allow overlay backdrop by setting hasBackdrop option (#30631) | |
| button-toggle: changed after checked error when updating tabindex (#31172) | |
| button: align harness with new terminology | |
| button: combine MatButton and MatAnchor (#30492) | |
| button: tonal touch target token transgression (#30688) | |
| checkbox: breaking changes for v20 | |
| checkbox: hardcode token renames (#30752) | |
| checkbox: resolve change after checked error | |
| chips: chip input not showing placeholder (#30664) | |
| chips: implement disabledInteractive in chip input (#30665) | |
| core: include density tokens in system theme (#30845) | |
| datepicker: resolve change after checked errors | |
| dialog: breaking changes for v20 | |
| form-field: preserve aria-describedby set externally across all form controls (#30699) | |
| form-field: use ResizeObserver for label offset calculation (#30702) | |
| list: resolve changed after checked error | |
| schematics: add schematic to rename tokens (#31051) | |
| select: breaking changes for v20 | |
| select: close panel on detach output event (#30634) | |
| select: resolve change after checked errors | |
| sidenav: resolve changed after checked error | |
| slide-toggle: breaking changes for v20 | |
| slide-toggle: opacity tokens not being used (#30946) | |
| slider: fix clobbered token for hover/focus/pressed (#30754) | |
| slider: handle null values in slider input (#30621) | |
| snack-bar: change politeness level (#30851) | |
| snack-bar: rename snackbar token prefix (#30750) | |
| stepper: done icon tokens not emitted in M3 (#30996) | |
| stepper: resolve changed after checked errors | |
| tabs: flicker when animationDuration is set to zero (#30966) | |
| tabs: not emitting token in M3 (#31136) | |
| tabs: resolve change after checked errors | |
| form-field: set notch outline variable only on relevant element (#30955) | |
| form-field: split DOM accesses into read and write (#31086) | 
youtube-player
| Commit | Description | 
|---|---|
| use safevalues (#30773) | 
cdk-experimental
| Commit | Description | 
|---|---|
| listbox: add cdk-active class (#30932) | |
| listbox: readonly mode (#30803) | |
| popover-edit: Support skipping over annotated rows when the user moves focus up/down. (#30916) | |
| tabs: add cdk-active class and update example styles (#30950) | |
| tabs: support initial tab selection and add unit tests (#31023) | |
| ui-patterns: add expansion behavior and refactor tabs (#30962) | |
| ui-patterns: listbox ui pattern (#30495) | |
| ui-patterns: tabs ui pattern (#30568) | |
| listbox: change shift+nav behavior (#30854) | |
| listbox: ignore spaces during typeahead (#30766) | |
| listbox: initial listbox focus state (#30764) | |
| listbox: use meta as alternative to ctrl (#30852) | |
| popover-edit: use MutationObserver to detect table rows (#30713) | |
| scrolling: Fix ExpressionChangedAfterItWasCheckedError (#31076) | |
| tabs: handle space and enter events (#30889) | |
| ui-patterns: add missing event handlers (#30786) | |
| ui-patterns: add modifier checks for regexps (#30738) | |
| ui-patterns: fix lint and build config (#30877) | |
| ui-patterns: listbox pointer event handler (#30843) | |
| ui-patterns: small fixes for internal compatibi… (#30625) | 
material-angular-io
| Commit | Description | 
|---|---|
| streamline directive and component metadata handling in dgeni (#30661) | 
multiple
| Commit | Description | 
|---|---|
| avoid repeating selectors in m3 themes (#30645) | |
| ensure mat-option parents are the offsetParent (#30977) | |
| ensure re-exported module symbols can be imported (#30667) | |
| remove backwards-compatibility code (#30747) | |
| remove remaining references to ComponentFactoryResolver (#30569) | |
| rename hardcoded tokens that were renamed (#30807) | |
| rename token prefixes to match components (#30802) | |
| resolve directive host binding issues (#30606) | |
| use DI token for tag name (#30892) | 
Breaking Changes
material
- 
- ButtonVariantwhich is returned by- MatButtonHarness.getVariantno longer includes the appearance of the button. Use- MatButtonHarness.getAppearanceinstead.
 
- tabindexvalues set as- [attr.tabindex]set on a Material button might not work as expected. Use- tabindexfor static values, or- [tabindex]/- [tabIndex]for dynamic ones.
- 
- MAT_CHECKBOX_REQUIRED_VALIDATORhas been removed.
- MAT_CHECKBOX_VALUE_ACCESSORhas been removed.
- MatCheckboxRequiredValidatorhas been removed.
- _MatCheckboxRequiredValidatorModulehas been removed.
 
- 
- MAT_DIALOG_SCROLL_STRATEGY_PROVIDERhas been removed.
- MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORYhas been removed.
 
- 
- matSelectAnimations.transformPanelWraphas been removed.
 
- 
- MAT_SLIDE_TOGGLE_REQUIRED_VALIDATORhas been removed.
- MAT_SLIDE_TOGGLE_VALUE_ACCESSORhas been removed.
- MatSlideToggleRequiredValidatorhas been removed.
- _MatSlideToggleRequiredValidatorModulehas been removed.
 
cdk
- 
- SelectionModel.clearnow returns a boolean.
- SelectionModel.deselectnow returns a boolean.
- SelectionModel.selectnow returns a boolean.
- SelectionModel.setSelectionnow returns a boolean.
- SelectionModel.togglenow returns a boolean.
 
- 
- DIALOG_SCROLL_STRATEGY_PROVIDERhas been removed.
- DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORYhas been removed.
 
- 
- DragDropRegistryis no longer generic.
- DragDropRegistry.scrollhas been removed. Use the- scrolledmethod instead.
 
- 
- DomPortalHosthas been removed. Use- DomPortalOutletinstead.
- PortalInjectorhas been removed. Use- Injector.createinstead.
- PortalHosthas been removed. Use- PortalOutletinstead.
- BasePortalHosthas been removed. Use- BasePortalOutletinstead.
 
- 
- Constructorsymbol has been removed.
- CanStickCtorsymbol has been removed.
- mixinHasStickyInputhas been removed. Implement the- CanStickinterface instead.
 
- 
- CanStickhas been removed.
- CDK_TABLE_TEMPLATEhas been removed.
- StickyDirectionhas been removed.
- StickyStylerhas been removed.
 
multiple
- 
- DialogConfig.componentFactoryResolverhas been removed.
- The constructor of DomPortalOutlethas changed.
- ComponentPortal.componentFactoryResolverhas been removed.
- The constructor signature of ComponentPortalhas changed.
- MatDialogConfig.componentFactoryResolverhas been removed.