Skip to content

v19.0.0

Compare
Choose a tag to compare
@crisbeto crisbeto released this 19 Nov 16:33
· 100 commits to main since this release

19.0.0 "hafnium-hippo" (2024-11-19)

cdk

Commit Description
feat - f4a02adb7 a11y: use native media query for high contrast detection (#29678)
feat - 9b4085c6e private: create cdk-visually-hidden style loader (#29757)
fix - df21d2b09 overlay: avoid having to manually load structural styles
fix - 560878a23 overlay: load structural styles in a cascade layer (#29725)
fix - 873eb01e0 portal: remove ComponentFactoryResolver usages (#27427)
fix - 5439460d1 scrolling: adds ngTemplateContextGuard (#27276)
fix - ad18e6d74 text-field: avoid having to manually load text field styles
fix - bd84c2a67 tree: fix issue where isExpanded wouldn't be set if placed before isExpandable (#29565)
fix - 3b4ade5a0 tree: only handle keyboard events directly from the node (#29861)
fix - f6066c23f tree: warn if mixed node types are used within the same tree

material

Commit Description
feat - 9122335b2 checkbox: add new aria properties to MatCheckbox (#29457)
feat - 64ed7ca71 core: add experimental theme demo (#29636)
feat - a58e6f671 core: add theme-overrides mixin (#29858)
feat - d206225c5 core: create focus-indicator structural styles loader (#29763)
feat - b519b4785 core: default to color-scheme theme type (#29907)
feat - ea0d1ba7b core: deprecate the core mixin (#29906)
feat - 486990912 core: rename theme mixin (#29857)
feat - 4b49d7354 core: switch system prefix from sys to mat-sys (#29908)
feat - 1abb484aa input: add the ability to interact with disabled inputs (#29574)
feat - 4adc3725d schematics: create v19 core removal schematic (#29768)
feat - 9c3af284f schematics: Switch custom theme schematic to use theme mixin instead of define-theme and add high contrast override mixins (#29642)
feat - 3fc1f9a1b schematics: Update custom theme schematic to work with light-dark and use theme-overrides mixin (#29911)
feat - ff3d342fd tabs: add alignTabs in MatTabsConfig (#29779)
feat - 371446a7c theming: Disambiguate token names in theme overrides (#29859)
feat - 9546fe77e timepicker: add test harnesses
feat - 2646e0885 timepicker: add timepicker component
fix - de6c20686 bottom-sheet: add height minHeight maxHeight to config (#29794)
fix - fcb76d3ed core: add missing system variables (#29624)
fix - 5ad133d07 core: allow optgroup overrides through core-overrides (#29897)
fix - 0fb4247ce core: avoid browser inconsistencies when parsing time
fix - 855ed4948 core: avoid having to manually load ripple styles
fix - d0d59b784 core: change ng-add to use mat.theme (#29990)
fix - a8e40ec34 core: correctly identify color input (#29909)
fix - edce90652 core: delete deprecated APIs (#29651)
fix - 54875a325 core: drop sanity checks (#29688)
fix - ef14c2869 core: option showing double selected indicator in high contrast mode
fix - 5403b4b07 core: remove unused motion system vars (#29920)
fix - 613cf5406 core: rename sys vars from mat-app to mat-sys (#29879)
fix - d0e178b75 core: stop manually instantiating MatRipple directive (#29630)
fix - d55ec612c core: update prebuilt themes to use mat.theme (#29989)
fix - 7cf8c6c46 datepicker: calendar font tokens not being picked up (#29610)
fix - 5ba97925b form-field: avoid touching the DOM on each state change
fix - a2cd04902 form-field: incorrect form field border radius with system-level themes (#29966)
fix - 5345a875f input: preserve aria-describedby set externally
fix - 9dcb95a72 list: remove unnecessary high contrast styles
fix - dbcb921d5 menu: handle keyboard events through dispatcher (#29997)
fix - de5e57ad1 menu: use static elevation (#29968)
fix - 482009bac schematics: add explicit system variable prefix schematic (#29980)
fix - 75631fb0b sidenav: prevent the content from jumping when hydrated (#29991)
fix - 14e9ec7cc timepicker: always re-focus input
fix - 1eda48604 timepicker: hide toggle icon from assistive technology
fix - 490bcfe38 timepicker: more flexible interval parsing
fix - fb6e20290 timepicker: text field in parse error not up to date
fix - 9b5ee9d55 timepicker: value considered as invalid by default

google-maps

Commit Description
feat - 1bd976c6a Add support for some mouse events #29741 (#29747)
feat - a05475e76 deprecate marker cluster component
feat - c70aae15b implement new marker clusterer
fix - b9deeee85 add schematic to switch to the new clusterer name
fix - a6709497f expose all clusterer types (#29905)
fix - 74c2a081f resolve CLI errors in ng update schematic (#29947)

youtube-player

Commit Description
fix - 09da06b42 ready event not emitting
fix - 288598750 startSeconds not applied when using placeholder

material-date-fns-adapter

Commit Description
feat - 234e5e0e8 add support for date-fns 4 (#29744)

mat

Commit Description
fix - 8f0369a27 paginator: fix focus issues with paginator buttons (#29379)

multiple

Commit Description
fix - 01711b180 account for mixed declarations in latest Sass version (#29596)
fix - cb1450fc7 change fallbacks to use m3 (#29528)
fix - a9da72ed1 consolidate strong focus indicators (#29623)
fix - be342289c remove final references to ComponentFactoryResolver (#29832)
fix - d1d53f51a remove usages of Sass globals (#29972)
fix - b3a9062ed ripples not showing up in some cases (#29672)
fix - 485bd9923 stop exposing internal ripple implementation (#29622)

Breaking Changes

google-maps

    • The new @googlemaps/markerclusterer API should be imported instead of the old one. Read more at: https://github.com/googlemaps/js-markerclusterer
    • The MapMarkerClusterer class has been renamed to DeprecatedMapMarkerClusterer.
    • The map-marker-clusterer selector has been changed to deprecated-map-marker-clusterer.

material

    • The ripples styles are now loaded slightly later than before which can change their specificity. You may have to update any ripple style overrides.
    • mixinColor and CanColor have been removed. Use a host binding instead.
    • mixinDisableRipple and CanDisableRipple have been removed. Use input transforms instead.
    • mixinDisabled and CanDisable have been removed. Use input transforms instead.
    • mixinInitialized and HasInitialized have been removed. Use a Subject that emits in ngOnInit instead.
    • mixinTabIndex and HasTabIndex have been removed. Use input transforms instead.

cdk

    • Since cdk.high-contrast targets a media query instead of a class, the specificity of the styles it emits is lower than before.
    • The overlay stays are now loaded slightly later than before which can change their specificity. You may have to update any overlay style overrides.
    • Virtual scrolling lists now have proper type checking which can reveal some previously-hidden compilation errors.

    • fix(cdk/scrolling): adds ngTemplateContextGuard

    implements ngTemplateContextGuard for CdkVirtualForOf directive

multiple

    • In order for Material to be compatible with recent changes in Sass and upcoming changes in the CSS standard, tokens are now emitted in-place, rather the being hoisted to the top of the selector. As a result, some token overrides might not apply anymore. This is relevant primarily for the cases like @include mat.button-theme($theme); --mat-button-color: red;. It can be resolved by wrapping the overrides with & {}, for example @include mat.button-theme($theme); & { --mat-button-color: red; }.
    • MatButton.ripple is no longer available.
    • MatCheckbox.ripple is no longer available.
    • MatChip.ripple is no longer available.