Skip to content

Tags: Den-dp/components

Tags

9.0.0-rc.3

Toggle 9.0.0-rc.3's commit message
| | |

| ---------- | --------------------- |
| feature |  **testing:** support querying for multiple TestHarness / ComponentHarness at once in locatorFor ([angular#17658](angular#17658)) ([15a5171](angular@15a5171)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **ng-update:** do not copy gesture config if only standard HammerJS events are used ([angular#17753](angular#17753)) ([b53e092](angular@b53e092)) |
| bug fix |  **ng-update:** hammer v9 migration should not unnecessarily set up gestures ([angular#17713](angular#17713)) ([4794c60](angular@4794c60)) |
| bug fix |  **ng-update:** imports to `MatProgressSpinnerModule` not migrated ([angular#17717](angular#17717)) ([3acd6c1](angular@3acd6c1)), closes [angular#17715](angular#17715) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  avoid event listener leaks if inputs change ([angular#17664](angular#17664)) ([b2ea4c8](angular@b2ea4c8)) |
| bug fix |  error during server-side rendering ([angular#17744](angular#17744)) ([0b0e98c](angular@0b0e98c)) |

|            |                       |
| ---------- | --------------------- |
| feature |  **mdc-snackbar:** add skeleton ([angular#17161](angular#17161)) ([6bda718](angular@6bda718)) |

9.0.0-rc.2

Toggle 9.0.0-rc.2's commit message
| | |

| ---------- | --------------------- |
| bug fix |  **checkbox:** unknown property warning with Ivy during server-side rendering ([angular#17485](angular#17485)) ([227c490](angular@227c490)) |
| bug fix |  **ng-update:** migrations not running for release candidate versions ([angular#17704](angular#17704)) ([bfa88fd](angular@bfa88fd)) |

9.0.0-rc.1

Toggle 9.0.0-rc.1's commit message
| | |

| ---------- | --------------------- |
| feature |  **a11y:** add high-contrast mode detection ([angular#17378](angular#17378)) ([6b7f091](angular@6b7f091)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **chips:** handle ripple color in theme using CSS variables ([angular#17649](angular#17649)) ([1923f7f](angular@1923f7f)) |
| bug fix |  **clipboard:** namespace copied output name ([angular#17598](angular#17598)) ([1a2befa](angular@1a2befa)) |
| bug fix |  **overlay:** maxWidth and maxHeight not applied when using exact dimensions ([angular#17586](angular#17586)) ([969d5c2](angular@969d5c2)), closes [angular#17582](angular#17582) |
| bug fix |  **popover-edit:** incorrect spacing for form field inside popover ([angular#17600](angular#17600)) ([790b53e](angular@790b53e)) |
| bug fix |  **select:** select active item when tabbing away ([angular#17592](angular#17592)) ([93fdb00](angular@93fdb00)), closes [angular#17442](angular#17442) |
| bug fix |  **sidenav:** not destroying custom QueryList ([angular#17619](angular#17619)) ([39c0074](angular@39c0074)) |
| bug fix |  **slider:** handle touchcancel event ([angular#17520](angular#17520)) ([320f387](angular@320f387)) |
| bug fix |  **slider:** some potentially broken styles when using css variables ([angular#17580](angular#17580)) ([584ad3f](angular@584ad3f)) |
| bug fix |  **slider:** track fill not rendering on ios safari when slider starts at 0 ([angular#17583](angular#17583)) ([fa18ce1](angular@fa18ce1)) |
| bug fix |  **stepper:** not rendering correctly in some cases when step is inside ngIf ([angular#17555](angular#17555)) ([cd7d8c8](angular@cd7d8c8)) |
| bug fix |  **tabs:** custom QueryList not being cleaned up ([angular#17548](angular#17548)) ([b7b7bd0](angular@b7b7bd0)) |
| bug fix |  **tree:** fix typo in CSS class name ([angular#17538](angular#17538)) ([52918ea](angular@52918ea)) |
| feature |  **clipboard:** add the ability to specify number of attempts in clipboard directive ([angular#17547](angular#17547)) ([a67cef6](angular@a67cef6)) |
| feature |  **portal:** add new portal that projects DOM nodes ([angular#16101](angular#16101)) ([d3d8859](angular@d3d8859)), closes [angular#14430](angular#14430) |
| feature |  **schematics:** add prompt to add global typography class ([angular#17602](angular#17602)) ([c08050d](angular@c08050d)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **mdc-button:** rename state class ([angular#17575](angular#17575)) ([9f9b017](angular@9f9b017)) |
| bug fix |  **mdc-chips:** chip set not picking up indirect descendant chips ([angular#17568](angular#17568)) ([e7aeee4](angular@e7aeee4)) |
| feature |  add test harness for mdc-slider ([angular#16978](angular#16978)) ([7cd314c](angular@7cd314c)) |
| feature |  **mdc-checkbox:** add default options ([angular#17578](angular#17578)) ([4cc69d2](angular@4cc69d2)) |
| feature |  **mdc-tabs:** add default fitInkBarToContent option ([angular#17556](angular#17556)) ([2f84389](angular@2f84389)) |

9.0.0-rc.0

Toggle 9.0.0-rc.0's commit message
Earlier this year, we changed the name of this repo to "angular/compo…

…nents" to emphasize our goal

to provide more than Material Design components. The 9.0.0 release includes one of the next new
features in that regard- a new package that wraps the
[Google Maps JavaScript API](https://developers.google.com/maps/documentation/javascript/tutorial)
in an easy-to-use Angular component.

You can see the
[documentation on GitHub](https://github.com/angular/components/blob/master/src/google-maps/README.md)
for the time being.

Big thanks to @mbehrlich for contributing this!

|            |                       |
| ---------- | --------------------- |
| feature |  expand input types with coercion to work with ngtsc input type checking ([angular#17528](angular#17528)) ([8da64f4](angular@8da64f4)) |

9.0.0-next.2

Toggle 9.0.0-next.2's commit message
_Breaking changes:_

* **checkbox:** MAT_CHECKBOX_CLICK_ACTION is deprecated, use MAT_CHECKBOX_DEFAULT_OPTIONS

|            |                       |
| ---------- | --------------------- |
| bug fix |  **autocomplete:** not picking up indirect descendant option g… ([angular#17510](angular#17510)) ([f0df308](angular@f0df308)) |
| bug fix |  **drag-drop:** coerce drop list autoScrollDisabled input ([angular#17480](angular#17480)) ([e2de5e6](angular@e2de5e6)), closes [angular#17475](angular#17475) |
| bug fix |  **grid-list:** not picking up indirect descendant lines ([angular#17530](angular#17530)) ([044a360](angular@044a360)) |
| bug fix |  **list:** Do not rely on input binding order ([angular#17501](angular#17501)) ([4301fb0](angular@4301fb0)), closes [angular#17500](angular#17500) |
| bug fix |  **list:** selection list option not picking up indirect desce… ([angular#17514](angular#17514)) ([ee863b2](angular@ee863b2)) |
| bug fix |  **stepper:** not picking up indirect descendant elements ([angular#17529](angular#17529)) ([5f0f2dc](angular@5f0f2dc)) |
| bug fix |  **tree:** not picking up indirect descendant node definitions ([angular#17522](angular#17522)) ([7f1c2ca](angular@7f1c2ca)) |
| feature |  **checkbox:** add options defaults config ([angular#17473](angular#17473)) ([3fdab10](angular@3fdab10)) |

|            |                       |
| ---------- | --------------------- |
| feature |  **mdc-tabs:** add option to fit ink bar to content ([angular#17507](angular#17507)) ([77d51ca](angular@77d51ca)) |

9.0.0-next.1

Toggle 9.0.0-next.1's commit message
* New `cdk/clipboard` subpackage containing helpers for working with …

…the clipboard.

|            |                       |
| ---------- | --------------------- |
| bug fix |  **scrolling:** expand type for "cdkVirtualForOf" input to allow null ([angular#17421](angular#17421)) ([3e5e9db](angular@3e5e9db)), closes [angular#17411](angular#17411) |
| feature |  **testing:** add method to wait for async tasks outside the angular zone ([angular#17408](angular#17408)) ([c50aa21](angular@c50aa21)) |
| feature |  **clipboard:** new clipboard module ([angular#17272](angular#17272)) ([473d4c6](angular@473d4c6)) |
| feature |  change tslib from direct dependency to peerDependency ([angular#17393](angular#17393)) ([41166b7](angular@41166b7)) |

_Breaking changes:_

* We no longer have a direct depedency on `tslib`. Instead it is now listed a
  `peerDependency`. This matches Angular framework.

Users not using the Angular CLI will need to manually install `tslib` via;
```
yarn add tslib
```
or
```
npm install tslib --save
```

|            |                       |
| ---------- | --------------------- |
| bug fix |  **button-toggle:** indirect descendant buttons not picked up… ([angular#17451](angular#17451)) ([67b009f](angular@67b009f)) |
| bug fix |  **chips:** don't set aria-required when element doesn't have… ([angular#17425](angular#17425)) ([939c18d](angular@939c18d)), closes [angular#17397](angular#17397) |
| bug fix |  **dialog:** don't move focus if it was moved during close ani… ([angular#17300](angular#17300)) ([3476f51](angular@3476f51)), closes [angular#17296](angular#17296) |
| bug fix |  **drag-drop:** global resize subscription not cleared ([angular#17257](angular#17257)) ([f10b222](angular@f10b222)), closes [angular#17255](angular#17255) |
| bug fix |  **drag-drop:** not picking up indirect descendant items ([angular#17226](angular#17226)) ([ef92091](angular@ef92091)), closes [angular#17047](angular#17047) |
| bug fix |  **drag-drop:** only call enterPredicate when pointer is inside drop list ([angular#17310](angular#17310)) ([9fe32c0](angular@9fe32c0)), closes [angular#17266](angular#17266) |
| bug fix |  **drag-drop:** unable to drop into connected list inside shad… ([angular#17424](angular#17424)) ([593a06c](angular@593a06c)), closes [angular#16899](angular#16899) [angular#17422](angular#17422) |
| bug fix |  **form-field:** annotate base class with Directive for Ivy ([angular#17457](angular#17457)) ([4663d8f](angular@4663d8f)), closes [angular#17022](angular#17022) |
| bug fix |  **form-field:** ensure that descendants are picked up in Ivy ([angular#17439](angular#17439)) ([1d40ec9](angular@1d40ec9)) |
| bug fix |  **form-field:** outline gap no calculated in shadow dom ([angular#17303](angular#17303)) ([1b94295](angular@1b94295)), closes [angular#17262](angular#17262) |
| bug fix |  **menu:** trigger should aria-controls panel ([angular#17365](angular#17365)) ([405f5d0](angular@405f5d0)) |
| bug fix |  **schematics:** secondary entry point migration not working against v9 ([angular#17452](angular#17452)) ([5e10833](angular@5e10833)), closes [angular#17433](angular#17433) |
| bug fix |  **select:** not picking up indirect descendant option groups ([angular#17458](angular#17458)) ([d773cce](angular@d773cce)) |
| bug fix |  **sidenav:** container not picking up indirect descendant sid… ([angular#17453](angular#17453)) ([9933479](angular@9933479)) |
| bug fix |  **snack-bar:** handle large numbers passed in as duration ([angular#17239](angular#17239)) ([86a8fee](angular@86a8fee)), closes [angular#17234](angular#17234) |
| bug fix |  **tabs:** no longer use OnPush ([angular#16529](angular#16529)) ([35b3226](angular@35b3226)), closes [angular#15440](angular#15440) |
| bug fix |  **tabs:** not picking up indirect descendant tabs in ivy ([angular#17346](angular#17346)) ([ed0067e](angular@ed0067e)), closes [angular#17336](angular#17336) |
| bug fix |  **toolbar:** not picking up indirect descendant rows ([angular#17469](angular#17469)) ([646d47f](angular@646d47f)) |
| feature |  **autocomplete/testing:** polish harness API ([angular#17350](angular#17350)) ([7a748fc](angular@7a748fc)) |
| feature |  **drag-drop:** allow drag start delay to be configured based… ([angular#17301](angular#17301)) ([43c7a7d](angular@43c7a7d)), closes [angular#17260](angular#17260) |
| feature |  **drag-drop:** allow for custom class to be set on preview ([angular#17304](angular#17304)) ([34e848f](angular@34e848f)), closes [angular#17089](angular#17089) |
| feature |  **menu/testing:** finish implementing harness ([angular#17379](angular#17379)) ([aa2cbf7](angular@aa2cbf7)) |
| feature |  **ng-update:** add migration for hammerjs in version 9 ([angular#17369](angular#17369)) ([f065977](angular@f065977)) |
| feature |  **radio/testing:** polish harness API ([angular#17414](angular#17414)) ([36d34a6](angular@36d34a6)) |
| feature |  **sidenav/testing:** polish harness API ([angular#17415](angular#17415)) ([9e79940](angular@9e79940)) |
| feature |  **slide-toggle/testing:** polish harness API ([angular#17416](angular#17416)) ([db999ff](angular@db999ff)) |
| feature |  **tabs:** add input to opt out of pagination ([angular#17409](angular#17409)) ([bb9a3a8](angular@bb9a3a8)), closes [angular#17317](angular#17317) |
| feature |  **tabs/testing:** polish harness API ([angular#17417](angular#17417)) ([05600a2](angular@05600a2)) |
| feature |  change tslib from direct dependency to peerDependency ([angular#17393](angular#17393)) ([41166b7](angular@41166b7)) |
| performance |  **tooltip:** avoid triggering change detection for all keydown events ([angular#17331](angular#17331)) ([493c32d](angular@493c32d)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **dialog:** don't move focus if it was moved during close animation ([angular#17320](angular#17320)) ([442ec30](angular@442ec30)), closes [angular#17300](angular#17300) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **mdc-button:** elevate z-index of content ([angular#17349](angular#17349)) ([230403e](angular@230403e)) |
| bug fix |  **mdc-slide-toggle:** missing focus indication in high contrast mode ([angular#17471](angular#17471)) ([3de0b08](angular@3de0b08)) |
| bug fix |  **mdc-slider:** remove theme import from all-theme ([angular#17348](angular#17348)) ([40665e9](angular@40665e9)) |
| bug fix |  **mdc-tabs:** add `.mdc-tab__ripple` container ([angular#17498](angular#17498)) ([409e656](angular@409e656)) |
| bug fix |  **mdc-progress-bar:** server-side rendering error ([angular#17359](angular#17359)) ([b30aedd](angular@b30aedd)) |

8.2.3

Toggle 8.2.3's commit message
| | |

| ---------- | --------------------- |
| bug fix |  **drag-drop:** dragging styles not reset once dragging is… ([angular#17150](angular#17150)) ([4d489f0](angular@4d489f0)), closes [angular#17139](angular#17139) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **a11y:** focus monitor not identifying touch focus inside shadow root ([angular#17167](angular#17167)) ([bacb8df](angular@bacb8df)) |
| bug fix |  **datepicker:** year not formatted in multi-year view button ([angular#17202](angular#17202)) ([13363e6](angular@13363e6)), closes [angular#17187](angular#17187) |
| bug fix |  **overlay:** error when trying to add/remove empty string cla… ([angular#14919](angular#14919)) ([9894ab2](angular@9894ab2)) |
| bug fix |  **select:** highlighted option not updated if value is reset while closed ([angular#17213](angular#17213)) ([d996abd](angular@d996abd)), closes [angular#17212](angular#17212) |
| bug fix |  **stepper:** unable to skip step if completed value is overwritten ([angular#15403](angular#15403)) ([9f497a0](angular@9f497a0)), closes [angular#15310](angular#15310) |
| bug fix |  **tabs:** avoid Ivy template type checking errors in tab link ([angular#17282](angular#17282)) ([cd11ae5](angular@cd11ae5)), closes [angular#17228](angular#17228) |
| bug fix |  **tabs:** avoid template type checking errors with Ivy ([angular#17228](angular#17228)) ([1bfa1ea](angular@1bfa1ea)), closes [angular#17121](angular#17121) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **mdc-checkbox:** model value not updated through toggle method ([angular#17229](angular#17229)) ([73b086d](angular@73b086d)), closes [angular#11902](angular#11902) |
| bug fix |  **mdc-button:** use state container for button interaction ([angular#17284](angular#17284)) ([070d0a5](angular@070d0a5)) |
| bug fix |  **mdc-button:** add ::after to reflect active styles ([angular#17283](angular#17283)) ([4380179](angular@4380179)) |
| bug fix |  **mdc-slider:** incorrectly rendering extra background ([angular#17207](angular#17207)) ([561c90c](angular@561c90c)) |

9.0.0-next.0

Toggle 9.0.0-next.0's commit message
_Highlights_:

* New infrastructure for creating component test harnesses is available in `@angular/cdk/testing`.
  Documentation for this infrastructure and for specific Angular Material harnesses is in-progress.

|            |                       |
| ---------- | --------------------- |
| bug fix |  **drag-drop:** dragging styles not reset once dragging is dragging styles not reset once dragging is completed ([angular#17150](angular#17150)) ([e62e6bd](angular@e62e6bd)), closes [angular#17139](angular#17139) |
| feature |  **testing:** move harness code from cdk-experimental ([angular#17026](angular#17026)) ([bacdc85](angular@bacdc85)) |

_Breaking changes:_

* Components can no longer be imported through "@angular/material".
Use the individual secondary entry-points, such as `@angular/material/button`.

|            |                       |
| ---------- | --------------------- |
| bug fix |  **a11y:** focus monitor not identifying touch focus inside shadow root ([angular#17167](angular#17167)) ([3673f3d](angular@3673f3d)) |
| bug fix |  **datepicker:** year not formatted in multi-year view button ([angular#17202](angular#17202)) ([ae28fce](angular@ae28fce)), closes [angular#17187](angular#17187) |
| bug fix |  **overlay:** error when trying to add/remove empty string class ([angular#14919](angular#14919)) ([5509c23](angular@5509c23)) |
| bug fix |  **schematics:** support stricter TypeScript compiler flags ([angular#17159](angular#17159)) ([f32fb68](angular@f32fb68)), closes [angular#17135](angular#17135) |
| bug fix |  **select:** highlighted option not updated if value is reset while closed ([angular#17213](angular#17213)) ([d453d06](angular@d453d06)), closes [angular#17212](angular#17212) |
| bug fix |  **stepper:** unable to skip step if completed value is overwritten ([angular#15403](angular#15403)) ([bebb9ff](angular@bebb9ff)), closes [angular#15310](angular#15310) |
| bug fix |  **tabs:** avoid Ivy template type checking errors in tab link ([angular#17282](angular#17282)) ([ef5d9cb](angular@ef5d9cb)), closes [angular#17228](angular#17228) |
| bug fix |  **tabs:** avoid template type checking errors with Ivy ([angular#17228](angular#17228)) ([8c98013](angular@8c98013)), closes [angular#17022](angular#17022) [angular#17121](angular#17121) |
| feature |  **autocomplete:** move harness out of experimental ([angular#17080](angular#17080)) ([dec116b](angular@dec116b)) |
| feature |  **button:** move harness out of experimental ([angular#17098](angular#17098)) ([3dc33f1](angular@3dc33f1)) |
| feature |  **checkbox:** move checkbox harness out of experimental ([angular#17067](angular#17067)) ([09ded04](angular@09ded04)) |
| feature |  **core:** allow more granular control over sanity checks ([angular#16973](angular#16973)) ([77994e9](angular@77994e9)), closes [angular#16617](angular#16617) |
| feature |  **dialog:** move test harness out of experimental ([angular#17104](angular#17104)) ([8859dfc](angular@8859dfc)) |
| feature |  **google-maps:** Add map-info-window component ([angular#17027](angular#17027)) ([30de283](angular@30de283)) |
| feature |  **menu:** move test harness out of experimental ([angular#17113](angular#17113)) ([170299b](angular@170299b)) |
| feature |  **progress:** move harnesses out of experimental ([angular#17115](angular#17115)) ([26df035](angular@26df035)) |
| feature |  **radio:** move test harness out of experimental ([angular#17117](angular#17117)) ([ef439b4](angular@ef439b4)) |
| feature |  **sidenav:** move harnesses out of experimental ([angular#17122](angular#17122)) ([aa2e0ab](angular@aa2e0ab)) |
| feature |  **slide-toggle:** move harness out of experimental ([angular#17132](angular#17132)) ([15ba871](angular@15ba871)) |
| feature |  **slide-toggle:** remove Hammer.js dependency ([angular#17102](angular#17102)) ([534b9c2](angular@534b9c2)) |
| feature |  **slider:** move harness out of experimental ([angular#17136](angular#17136)) ([8229353](angular@8229353)) |
| feature |  **slider:** remove Hammer.js dependency ([angular#16860](angular#16860)) ([00a3e79](angular@00a3e79)) |
| feature |  **snack-bar:** add test harness for snack-bar ([angular#17127](angular#17127)) ([6a732d3](angular@6a732d3)) |
| feature |  **tabs:** move harnesses out of experimental ([angular#17137](angular#17137)) ([a2ccacd](angular@a2ccacd)) |
| feature |  **tooltip:** remove Hammer.js dependency ([angular#17003](angular#17003)) ([4126029](angular@4126029)), closes [angular#16850](angular#16850) |
| refactor |  remove re-exports from primary entry-point ([0c1d369](angular@0c1d369)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **mdc-checkbox:** model value not updated through toggle method ([angular#17229](angular#17229)) ([f178f20](angular@f178f20)), closes [angular#11902](angular#11902) |
| bug fix |  **mdc-button:** use state container for button interaction ([angular#17284](angular#17284)) ([ae682d8](angular@ae682d8)) |
| bug fix |  **mdc-button:** add ::after to reflect active styles ([angular#17283](angular#17283)) ([4dbf9f6](angular@4dbf9f6)) |
| bug fix |  **mdc-radio:** rename mdc-radio APIs to match existing radio APIs ([angular#17178](angular#17178)) ([8e141ef](angular@8e141ef)) |
| bug fix |  **mdc-slider:** incorrectly rendering extra background ([angular#17207](angular#17207)) ([7bee53f](angular@7bee53f)) |
| feature |  **mdc-radio:** Set up the MDC foundation ([angular#17180](angular#17180)) ([67f3c0b](angular@67f3c0b)) |
| feature |  **mdc-radio:** use MDC DOM structure and styles ([angular#17179](angular#17179)) ([2112fac](angular@2112fac)) |

8.2.2

Toggle 8.2.2's commit message
| | |

| ---------- | --------------------- |
| bug fix |  **drag-drop:** unable to drop into connected sibling after scrolling into view via the parent ([angular#17162](angular#17162)) ([357d1c3](angular@357d1c3)), closes [angular#17144](angular#17144) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **autocomplete:** top option group not scrolled into view when going up ([angular#16343](angular#16343)) ([c0034d3](angular@c0034d3)) |
| bug fix |  **button:** focus method does not respect specified origin ([angular#17183](angular#17183)) ([7355389](angular@7355389)), closes [angular#17174](angular#17174) |
| bug fix |  **datepicker:** add scope to calendar headers ([angular#17163](angular#17163)) ([cf244ff](angular@cf244ff)), closes [angular#17038](angular#17038) |
| bug fix |  **form-field:** FormField with outline doesn't work well with dir="r… ([angular#15415](angular#15415)) ([8158754](angular@8158754)), closes [angular#14944](angular#14944)
| bug fix |  **list:** selection list checkbox theme overwritten by parent theme ([angular#16939](angular#16939)) ([57b2c3f](angular@57b2c3f)), closes [angular#16891](angular#16891) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **clipboard:** avoid changing layout with temporary textarea ([angular#17227](angular#17227)) ([d4d958e](angular@d4d958e)) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **mdc-slider:** not usable in high contrast mode ([angular#17164](angular#17164)) ([73a233d](angular@73a233d)) |

8.2.1

Toggle 8.2.1's commit message
| | |

| ---------- | --------------------- |
| bug fix |  **a11y:** remove aria-describedby attribute when no descriptions are left ([angular#17074](angular#17074)) ([0e5c82c](angular@0e5c82c)), closes [angular#17070](angular#17070) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **icon:** use ErrorHandler to log MatIcon errors ([angular#16999](angular#16999)) ([8f54f5c](angular@8f54f5c)), closes [angular#16967](angular#16967) |
| bug fix |  **select:** fix recursive call to SelectionModel.select() ([angular#17071](angular#17071)) ([ed96878](angular@ed96878)) |
| bug fix |  **slide-toggle:** clear static aria attributes from host nodes ([angular#17085](angular#17085)) ([8d73869](angular@8d73869)), closes [angular#16938](angular#16938) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  errors during server-side rendering ([angular#17091](angular#17091)) ([9b547b9](angular@9b547b9)) |

|            |                       |
| ---------- | --------------------- |
| feature |  expose root loader instance in testbed harness environment ([angular#16903](angular#16903)) ([69f7693](angular@69f7693)), closes [angular#16697](angular#16697) [angular#16709](angular#16709) |

|            |                       |
| ---------- | --------------------- |
| bug fix |  **button:** ripple color should match state color ([angular#17066](angular#17066)) ([7e98a7e](angular@7e98a7e)) |
| bug fix |  **button:** ripples were using mat-button styles ([angular#17069](angular#17069)) ([6d48c4f](angular@6d48c4f)) |
| bug fix |  **mdc-tabs:** error during server-side rendering ([angular#17169](angular#17169)) ([57fa880](angular@57fa880)) |
| feature |  **drawer:** add harness for mat-drawer ([angular#17010](angular#17010)) ([7ad30eb](angular@7ad30eb)), closes [angular#16695](angular#16695) |
| feature |  **form-field:** add test harness ([angular#17138](angular#17138)) ([eebf589](angular@eebf589)) |
| bug fix |  **testing:** throw better error when trying to use fixture after it has been destroyed ([angular#17058](angular#17058)) ([5e2296f](angular@5e2296f)) |