Skip to content

Latest commit

 

History

History
2626 lines (2067 loc) · 348 KB

CHANGELOG.md

File metadata and controls

2626 lines (2067 loc) · 348 KB

10.1.0 "plastic-vault" (2020-07-20)

cdk

bug fix drag-drop: pointer position calculation for SVG with viewBox (#19863) (78483bf)
bug fix platform: rtl scroll axis incorrectly determined in Safari macOS (#19830) (0ddad07), closes #14609
bug fix schematics: errors when attempting to read some files (#19783) (00c5a53), closes #19779
bug fix scrolling: fixed-size-virtual-scroll wrong range and position when items length changes and current scroll is greater than new data length (#19578) (1d6ae58)
feature testing: add base class for harnesses that may contain other harnesses (#19944) (6d2fb1f)
feature tree: add trackBy to NestedTreeControl (#19602) (e2c7e1a)

material

bug fix a11y: focus trap directive not capturing focus if auto capture input is set after init (#19689) (1acc608), closes #19664
bug fix a11y: list key manager not emitting change event if new item is added to active index (#19666) (3fbebe0), closes #19661
bug fix aria-describer: messages not being read out in IE and Edge (#12304) (0e22019), closes #12298
bug fix autocomplete: don't close when clicking inside custom origin (#19784) (1319c0a), closes #19771
bug fix button-toggle: remove unused property and type ToggleType (#19497) (c225b28)
bug fix datepicker: add role to date range input (#19717) (cfe37d1)
bug fix datepicker: don't set aria-labelledby if form field does not have a label (#19639) (37e2171)
bug fix datepicker: label state not being updated in some cases (#19761) (fcfc224)
bug fix datepicker: not marking as dirty when invalid value is typed in (#19730) (8934feb), closes #19726
bug fix datepicker: range input separator not hidden in high contrast mode (#19706) (9af441d)
bug fix dialog: restore focus with the proper focus origin (#9257) (cf9bb1f), closes #8420
bug fix drag-drop: allow handle to be set on drag element if there is a different drag root (#19559) (2335571), closes #19555
bug fix drag-drop: error when cloning 0x0 canvas (#19707) (3614a0b)
bug fix drag-drop: not starting auto scroll when inside boundary (#19865) (39d48c7), closes #18596
bug fix drag-drop: placeholder element not available in started event (#19493) (bc88cc1), closes #19457
bug fix drag-drop: sometimes incorrectly swapping items at the ends of the list (#19633) (0a6e4d6), closes #19249
bug fix drag-drop: update free drag position on scroll (#19648) (9d903e0)
bug fix focus indicators: Improve styles that determine when focus indicators should render on selection controls. (#19546) (3d03bf3)
bug fix form-field: error in older versions of edge (#19698) (e1bfb92), closes #17810
bug fix input: changed after checked error if input has static placeholder (#20015) (0d43581)
bug fix input: incorrectly handling nested themes (#19637) (da9c707)
bug fix input: placeholder being read out twice by some screen readers (#10466) (d05ba60), closes #9721
bug fix list: single selection list selected state not shown on touch devices (#19877) (2eff545), closes #19876
bug fix list: use flexbox to size mat-line elements (#19809) (#19819) (998bb18)
bug fix ng-update: properly handle update from different working directory (05ec25f), closes #19779
bug fix overlay: outside click dispatcher not accounting for shadow DOM (#19904) (7427b26)
bug fix overlay: overlay directives not emitting when detached externally (#7950) (4a3c960)
bug fix progress-spinner: not respecting user colors in high contrast mode (#19786) (abc94c4)
bug fix sidenav: restore focus if drawer is closed through backdrop click (#19534) (5ed1a00), closes #17749
bug fix snack-bar: announcing same message twice to screen readers (#14504) (1bbfcf4)
bug fix sort: sorted state being read out when navigating cells (ea22e92), closes #13012
bug fix tree: allow use of FlatTreeControl's trackBy function in MatTreeFlatDataSource and MatTreeFlattener (#19600) (8ea3558)
bug fix focus monitor-based styles not working in some cases inside shadow dom (#19422) (df981ee), closes #19414
bug fix testing: harness selector not matching mat-spinner selector (#19657) (3ffcc63), closes #19649
feature a11y: Add optional home/end key support to ListKeyManager (#19834) (544e335)
feature overlay: support closing when clicking outside the overlay (#16611) (210d054)
feature schematics: enable routing option (#19439) (31723b8)
feature testing: expose whether harness elements are focused (#19704) (081d833), closes #19702
feature testing: Add a test harness for MatToolbar (#19976) (9e97a34)
feature testing: Add a test harness for MatCard (#19833) (54c2d16)
performance int-bar: Convert MatInkBarFoundation adapter to class object (#19986) (78dc50b)
performance tooltip: Defer hooking up events until there's a message and the tooltip is not disabled (#19764) (49de56c)

google-maps

bug fix allow for dimensions to be controlled through CSS (#19790) (e32e2e2)
bug fix rendering blank if custom options with no center are provided (#19916) (9ce2a90), closes #19908

youtube-player

feature support passing in the playerVars parameter (#19746) (cc36af7), closes #17672 #19267

cdk-experimental

bug fix menu: Fix circular dependency (09b33c2)
feature listbox: add file skeleton (#19612) (0428231)
feature listbox: multi-select and active descendant support (#19929) (7c49399)
feature listbox: selection logic and testing for listbox. (#19690) (2a97418)
feature menu: add functionality to navigate a Menu and MenuBar with a keyboard (#19962) (ffc6f4b)
feature menu: Implement grouping logic for menuitems (7a4b453)
feature menu: implement menu handling logic (#19701) (b3d6d92)

material-experimental

bug fix chips: fix empty check when no chips (#20025) (ebda4de)
bug fix form-field: fix notch width after appearance change (#19682) (5ef23ba)
bug fix strong focus indicator clipped in checkbox and radio button (#19423) (45492b6)
bug fix mdc-form-field: update input alignment to match spec (f4f0d95)
bug fix mdc-list: fix infinite loop on init (#19930) (63da9e3)
bug fix mdc-snack-bar: error during server-side rendering (#19922) (912ad8d)
bug fix mdc-snack-bar: support dark themes (#19926) (a9e0ac5)
bug fix slide-toggle: fix focus indictor position (#19551) (6c212b7)
feature mdc-chips: Make chips editable by connecting to the mdc web editing interface (#19618) (04024fe)
feature snack-bar: add MDC-based snack-bar (#19738) (a63bfc5)
feature snack-bar: add MDC-based snack-bar (#19800) (7dcd2dd)

10.0.0 "ice-dice" (2020-06-24)

Highlights

  • A number of previously deprecated APIs have been removed (see below for more details).
  • New date-range picker in @angular/material

node-sass deprecation

Support for node-sass with Angular CDK and Angular Material is now deprecated in favor of the newer and more actively supported sass package. Ending support for node-sass will allow use of the new Sass module system, which offers a number of benefits over the existing import system.

cdk

Breaking changes

  • CdkDropList.start has been removed.
  • CdkDropList.drop has been removed.
  • CdkDropList.enter has been removed.
  • CdkDropList.exit has been removed.
  • CdkDropList.getItemIndex has been removed.
  • CDK_DRAG_CONFIG_FACTORY has been removed.
  • CdkTable.setHeaderRowDef has been removed. Use CdkTable.addHeaderRowDef and CdkTable.removeHeaderRowDef instead.
  • CdkTable.setFooterRowDef has been removed. Use CdkTable.addFooterRowDef and CdkTable.removeFooterRowDef instead.
  • The _platformId parameter in the Platform constructor is now required.
  • The copied event from cdkCopyToClipboard has been renamed to cdkCopyToClipboardCopied.
  • The _ngZone parameter in the CdkCopyToClipboard constructor is now required.
bug fix table: project colgroup and col elements (#18135) (5b23084)
feature tree: support optional trackBy in FlatTreeControl (#18708) (04d1588)
bug fix testing/testbed: set defined event properties as configurable (94571c5)
bug fix testing/testbed: synthetic DOM events cannot be prevented multiple times (bde3af8), closes #19440
bug fix drag-drop: error during device emulation on firefox (#19396) (d309ee2), closes #19385
bug fix drag-drop: error when item enters from the top and last has an intermediate child (#19361) (fbd6440), closes #19116 #19359
feature table: add the ability to show a data row when no data is available (#18041) (e512581)
bug fix overlay: remove potentially leaky observable (#19146) (27a812b), closes #10573

material

Breaking changes

  • MAT_HAMMER_OPTIONS has been removed.
  • GestureConfig has been removed.
  • HammerInput has been removed.
  • HammerStatic has been removed.
  • Recognizer has been removed.
  • RecognizerStatic has been removed.
  • HammerInstance has been removed.
  • HammerManager has been removed.
  • HammerOptions has been removed.
  • MatButtonToggleGroupMultiple has been removed. Use MatButtonToggleGroup instead.
  • MatSlideToggleDefaultOptions.disableDragValue has been removed.
  • MatSlideToggle.dragChange has been removed.
  • The _ngZone and _dir parameters have been removed from the MatSlideToggle constructor.
  • The _viewportRuler parameter in the MatAutocompleteTrigger constructor is now required.
  • The _location and _errorHandler parameters in the MatIcon constructor are now required.
  • The _errorHandler parameter in the MatIconRegistry constructor is now required.
  • The _ngZone and _document parameters in the MatSlider constructor are now required.
  • The _focusMonitor and _elementRef parameters in the MatSortHeader constructor are now required.
  • The _hammerLoader parameter has been removed from the MatTooltip constructor.
bug fix chips: chip list overriding chip disabled value (#19228) (9be5156), closes #19213
bug fix dialog: focus trap not attached if autoFocus is disabled (#19251) (5bb81e8), closes #18826 #19246
bug fix form-field: add missing material common module (#19093) (ba521d2)
bug fix input: avoid repeat accesses to check if element is a textarea (#19115) (f8d9c96)
bug fix list: selection list marked as touched when tabbing in (#19177) (7fde305), closes #18445 #19171
bug fix tabs: don't prevent default space/enter action if action tab doesn't change (#19207) (b38c812), closes #19190
feature datepicker: add date range picker (#19125) (96efaad), closes #18090 #17363 #17497 #17766 #17363 #17942 #18159 #18213 #18247 #18278 #18292 #18369 #18404 #18531 #18630 #18660 #18753 #18819 #18874 #18884 #18943 #18936 #18980 #19031 #19098 #19088 #19111 #19174 #19088 #19179 #19176 #19187 #19211 #19219 #19239 #19170
feature datepicker: allow for the dropdown position to be customized (#16698) (9104a0b), closes #16550
feature icon: allow fetching icons with credentials (#18896) (77730e9), closes #18871
bug fix datepicker: set color on range separator (#19308) (2f8b271)
bug fix expansion: disable header height transition if noop animations is set (#19373) (189d98e)
feature report warning if duplicate theme styles are generated (6095e29), closes #19141
bug fix dialog: focus recapturing not accounting for autoFocus option (#19356) (72b0219), closes #18826 #19350
bug fix ng-add: ng add @angular/material fails in library projects (#19164) (822e3e0)
bug fix table: incorrectly sticking multiple footer rows (#19321) (95007e5), closes #19311
feature tooltip/testing: add test harness for mat-tooltip (#19144) (44accd6), closes #16676
bug fix datepicker: placeholder not behaving correctly in legacy form field (#19595) (ec7219d)
feature mdc-list: add list-option template (#19327) (c865136)
feature menu: add input to add overlay pane classes (#19547) (5244a9f)
bug fix checkbox: high contrast focus indication not working (#19488) (a95da92), closes #19443
bug fix checkbox: pass aria-describedby through to input (#19495) (e1d85d2), closes #19477
bug fix datepicker: compilation errors with ViewEngine (#19516) (00e2171)
bug fix slider: focus ring not matching theme color (#19519) (2a6a63c), closes #19507
bug fix datepicker: date range overriding model value if both fields are changed at the same time (#19593) (e2a579a), closes #19588
bug fix datepicker: not revalidating after value is changed through the calendar (#19695) (10888f3)
bug fix input/testing: unable to set the value of inputs that don't respond to typing (#18812) (7e5802a), closes #18790

youtube-player

Breaking changes

  • The platformId parameter of the YouTubePlayer constructor is now required.
bug fix binding some event listeners too late (#19429) (d85732c), closes #19408

google-maps

feature add ground overlay component (#19143) (eba622a)
feature expose the underlying Google Maps objects. (#18613) (3e00f4c)
bug fix allow for ground overlay image to be changed (#19306) (485352e)
bug fix allow different anchor objects for info window (#19378) (d0ab041)
bug fix add exportAs to all directives (#19522) (6544de8), closes #19462

cdk-experimental

feature menu: Add menu skeleton and build scripts (#19583) (c7cadc3)
bug fix column-resize: not working inside OnPush component (#19671) (8ff9844), closes #19670

material-experimental

bug fix mdc-form-field: add setLabelRequired adapter (#19284) (7b42c7e)
bug fix mdc-proggrss-bar: better server-side rendering support (#19036) (5d25d1b)
feature mdc-button: support density scaling (9500e75)
feature mdc-checkbox: support density scaling (84f2c1a)
feature mdc-chips: support for density scaling (ee1e181)
feature mdc-form-field: support density scaling (3bcdc5e)
feature mdc-radio: support for density scaling (c659664)
feature mdc-slide-toggle: support density scaling (feafb2b)
feature mdc-table: support for density scaling (e288558)
feature mdc-tabs: support for density scaling (90d294b)
bug fix mdc-slider: remove slider theme from all-theme (#19411) (d952a22)
bug fix mdc-chips: removing chip on any key press (#19425) (ee63f63)
bug fix mdc-radio: avoid hard references to base material components (#19403) (fb9174a)
bug fix mdc-form-field: do not show focus overlay when disabled (6bf7f24)
bug fix mdc-form-field: show required asterisk for disabled fields (e3413ba), closes #19410
bug fix mdc-menu: missing padding after latest canary release (#19548) (b618a96)
bug fix mdc-slide-toggle: fix focus indicator position (#19551) (6c212b7)
bug fix mdc-menu: menu items missing padding (#19634) (9b8baa6), closes #19548
bug fix popover-edit: closing instantly when opening with enter key (#18444) (23b9145), closes #18194
feature mdc-list: add MDC foundation for action/nav list (#19601) (5f15763)

9.2.4 "aether-axiom" (2020-05-18)

cdk

bug fix a11y: focus monitor not checking children if monitor is called multiple times with different parameters (#19237) (07711b4), closes /github.com/angular/components/pull/19135#discussion_r412471591 #19218
bug fix overlay: remove potentially leaky observable (#19146) (6f79527), closes #10573

material

bug fix autocomplete: incorrectly detecting shadow DOM when inserted through an embedded view (#19332) (8d79d73)
bug fix chips: chip list overriding chip disabled value (#19228) (49be570), closes #19213
bug fix dialog: focus trap not attached if autoFocus is disabled (#19251) (e61deb9), closes #18826 #19246
bug fix form-field: add missing material common module (#19093) (8e9e1fb)
bug fix icon: cancel in-flight icon requests if the icon changes (#19303) (bef4e80)
bug fix input: avoid repeat accesses to check if element is a textarea (#19115) (8688dd8)
bug fix list: selection list marked as touched when tabbing in (#19177) (2e7dc62), closes #18445 #19171
bug fix tabs: don't prevent default space/enter action if action tab doesn't change (#19207) (7a4128b), closes #19190
bug fix text-field: unable to undo/redo in autosized text field on firefox (#19238) (7e1fd89)

material-experimental

bug fix column-resize: Resize table as well as columns, improve handing … (#19264) (87b8edb)
bug fix form-field: add setLabelRequired adapter (#19284) (e43f4ac)
bug fix mdc-list: properly render leading and trailing icons on list items (#19201) (ce136a9)

9.2.3 "chalk-hawk" (2020-05-07)

cdk

bug fix testing: Make harnesses click on the center of the element by default (#19212) (26f3f57)

material

bug fix datepicker: double role definition on calendar cell (#17297) (d270bf6), closes #17280

material-experimental

bug fix mdc-form-field: native select option blending in with background on dark themes (#19232) (7e63f4a)
feature mdc-form-field: expose MAT_FORM_FIELD injection token (#19277) (5e9ac1c)
feature mdc-list: add support for focus/hover states and ripples (#19168) (9f3bba3)

9.2.2 "graphite-graviton" (2020-04-30)

cdk

bug fix testing/testbed: emit pointer events for test element click (d7b1bbe)

material

bug fix a11y: focus monitor not working inside shadow dom (#19135) (e7bfb47), closes #18667 #19133
bug fix button-toggle: static checked value not being picked up (#18442) (1daada5), closes #18427
bug fix autocomplete: incorrect options from harness if multiple panels are on the page at the same time (#19114) (fd46ca3)
bug fix chips: chip list disabled state out of sync when swapping out form group with a disabled one (#17993) (f4bec43), closes #17872
bug fix components-examples: rename example component to follow naming convention for autoloading in docs (#19142) (9c8e87e)
bug fix datepicker: inconsistent focus restoration timing in touchUi mode (#17732) (d199500), closes #17560
bug fix dialog: incorrect dialog state for close animation (#19034) (fd0217d)
bug fix drag-drop: boundary not accounting for parent scrolling (#19108) (548a58a), closes #19086
bug fix drag-drop: drop-list wrong enter position (#19116) (12c705a)
bug fix drag-drop: expose Point interface (#19051) (9383364), closes #19001
bug fix drag-drop: preview matchSize sometimes incorrect inside flex container (#19062) (a65872d), closes #19060
bug fix drag-drop: unable to start dragging in list if dragged item is destroyed (#19055) (72fe1e4), closes #18628
bug fix list: don't select disabled options when pressing ctrl + a (#18885) (087ed4a)
bug fix overlay: expand flexible origin type to allow SVG elements (#19199) (bee88e1), closes #36381
bug fix platform: avoid errors if ShadowRoot is not defined (#19124) (874c754)
bug fix select: don't select active item when tabbing away while closed (#18797) (4307837), closes #18784
bug fix select: incorrect options from harness if multiple selects are on the page at the same time (#19112) (4fe5764), closes #19075
bug fix tabs: group alignment propagating to nested groups (#19037) (59a5786), closes #19035
bug fix tabs: unnecessarily adding pagination when changing to new list of tabs with same labels (#16869) (d26ba73), closes #16789
bug fix tree: complete viewChange stream on destroy (#18991) (d7d3be1)

google-maps

bug fix avoid runtime error on server (8f36604)
bug fix incorrect variable access for server-side rendering check (#19166) (b5864ca)

youtube-player

bug fix unable to bind to events after initialization (#18996) (0695e82)

material-experimental

bug fix mdc-form-field: add filled MDC text field class (#19103) (54c5633)
bug fix mdc-progress-bar: better server-side rendering support (#19036) (7a99cfa)
bug fix mdc-button: strong focus indication always visible on fab buttons (#19169) (11786b7)
bug fix mdc-chips: not disabling all animations when animations are disabled (#18440) (d25fe8b)
bug fix mdc-form-field: missing styles for native select controls (#19140) (90c1474)
bug fix mdc-input: avoid double event listeners in ivy (#19052) (2a4da91)
bug fix mdc-radio: avoid bundling styles from base radio button (#19032) (4557d58)
bug fix mdc-radio: strong focus indicator not working (#19091) (b713104)
bug fix mdc-slide-toggle: strong focus indication not visible (#19048) (a507873), closes #18895
bug fix mdc-table: not supporting multiple themes (#18931) (d564f6e)

9.2.1 "xenon-xenodochy" (2020-04-14)

material

bug fix a11y: avoid errors when trying to add high contrast class (#18323) (142c55e)
bug fix a11y: focus monitor incorrectly detecting fake mousedown… (#15214) (ac565a2)
bug fix autocomplete: provide horizontal fallback positions (#18906) (3488dda), closes #18854
bug fix bottom-sheet: allow result to be passed when dismissing through service (#18831) (48e26b1)
bug fix core: ripple mutating global options when animations are… (#18983) (09f2872)
bug fix datepicker: add hover indication to navigation buttons (#18995) (94ab707), closes /github.com/angular/components/blob/master/src/material/button/button.scss#L13 #18958
bug fix datepicker: disable calendar hover styles on touch devices (#18876) (d752cdf)
bug fix datepicker: error in IE/Edge for static disabled binding (#18202) (80977f6)
bug fix dialog: recapture focus when clicking on backdrop when cl… (#18826) (c5ddfe8), closes #18799
bug fix drag-drop: allow preview z-index to be changed (#18914) (5c88e67), closes #18902
bug fix drag-drop: boundary not accounting for scrolling (#18612) (0401024), closes #18597
bug fix drag-drop: defer resolving scrollable parents until first drag (#18918) (ca263c3), closes #18737
bug fix drag-drop: handle custom preview/placeholder with multiple root nodes (#18829) (92aed70)
bug fix expansion: add strong focus indication (#18552) (6feff45)
bug fix mat-button-toggle: mat-button-toggle element should not h… (#18746) (709ac63)
bug fix popover-edit: hover content not showing up if content changes after init (#18937) (d7ff7cb), closes #18934
bug fix popover-edit: unable to close focus content using the keyboard (#18945) (e7a197a)
bug fix slider: not stopping drag when released outside of viewport (#18905) (ca3c68f), closes #18888
bug fix tabs: tab nav bar not disabling pagination animation (#18886) (a6e5423)
performance drag-drop: avoid unnecessary change detection on pointer down events (#18821) (2f6e941), closes #18726
performance focus-monitor: optimize event registration (#18667) (174e4cd)
performance ripple: optimize event registration (#18633) (fca0c28)

google-maps

bug fix map circle error during server-side rendering (#18822) (7c6be0e)
bug fix not rendering until mapTypeId is set (#18967) (977c605), closes #18965

cdk-experimental

bug fix dialog: disableClose not working for tem… (#18968) (c0d19cb), closes #18964

material-experimental

bug fix mdc-card: not handling dark themes (#18938) (f1c0c09)
bug fix mdc-chips: align theming setup with… (#19000) (7957423)
bug fix mdc-chips: enter animation not disabled when using noop animations (#18653) (ea32d14), closes #18642
bug fix mdc-chips: support custom errorStat… (#18974) (58abf23)
bug fix mdc-radio: add strong focus indication (#18946) (897dee4)
bug fix mdc-radio: no focus indication in h… (#18969) (4d22936), closes #13280
performance mdc-chips: avoid checking the DOM on each change detection (#18929) (29dda54)

9.2.0 "metal-man" (2020-03-25)

This release introduces support for TypeScript 3.8.

cdk

bug fix coercion: add the support for readonly array coercion (#18807) (cd96886), closes #18806

material

bug fix form-field: incorrectly calculating start gap in RTL in the presence of a prefix (#18867) (6275339), closes #18857
bug fix form-field: some input types taller than plain text input (#18825) (e311791), closes #18787
bug fix list: no selected indication in high contrast mode while in single selection (#18585) (76e8a38)
bug fix table: error when nesting tables (#18832) (32aec93), closes #18768

google-maps

feature support setting the map type (#18578) (2a6aae1), closes #18577

material-experimental

bug fix mdc-chips: add feature targeting to theme styles (#18830) (54bbb90)
bug fix radio: redefine theme variables (#18907) (cc9793f)
bug fix radio: remove input click handler (#18868) (7c75d6e)
bug fix slide-toggle: allow different densities (#18895) (4d7ffaa)
bug fix slide-toggle: redefine more variables (#18908) (1cca459)

9.2.0-next.0 "twine-tornado" (2020-03-18)

cdk

bug fix testing: don't send unnecessary Key.chords to protractor (#18685) (427e91f), closes mozilla/geckodriver#1502
feature testing: Allow custom querySelectorAll method (#18178) (40ae1b1)

material

bug fix column-resize: don't allow dragging using the right mouse button (#18758) (c538354)
bug fix datepicker: prevent default dialog options from affecting touch ui calendar (#18657) (aca2533), closes #18648
bug fix radio: clicks not landing correctly in some cases on Chrome (#18357) (fe29835), closes #18285
feature focus-monitor: Add eventual detection mode option to focus monitor (#18684) (b3a2c56)
feature form-field: use injection token for providing form-field (#18777) (8ec44a1)
feature snackbar: add isDismissed harness method (#18766) (6e70cc7)

material-experimental

bug fix rename sass mixins to mat-mdc-* (#18615) (b91e88f)
bug fix form-field: avoid expression changed after check (#18741) (eae5cf8)

9.1.3 "plastic-juice" (2020-03-16)

cdk

bug fix overlay: support SVG element as overlay origin (#18595) (1303d8f)

material

bug fix clipboard: not restoring focus to SVG elements (#18626) (f48ddf0)
bug fix document-injection: Update to use injected document (#18780) (350e598)
bug fix drag-drop: detect changes on custom preview/placeholder before measuring (#18698) (2201a99), closes #18622
bug fix drag-drop: error on IE when document is being auto scrolled (#18757) (b0b44d2)
bug fix drag-drop: only return item to initial index if the new container's sorting is disabled (#18706) (14ae95f), closes #18697
bug fix form-field: error when trying to lock label into position too early (#18666) (6fd3e6c), closes #18663
bug fix list: incorrectly selecting items when moving focus using shift + arrow key in single selection mode (#18579) (4a809d7)
bug fix list: no disabled indication in high contrast mode (#18567) (5f37eb7)
bug fix mdc-form-field: refresh notch width when toggling appearances (#18776) (0bfa717)
bug fix mdc-form-field: text-field should stretch based on host element (#18778) (2555344)
bug fix menu: allow focus to be moved inside menuClosed event (#18756) (5499c40)

google-maps

bug fix server-side rendering error for polygon and rectangle components (#18573) (d987807)

material-experimental

bug fix mdc-list: fix styles for normal lists (#18632) (fcef522)
bug fix slider: add slider mixin to main theme mixin (#18384) (3b777eb)
bug fix mdc-form-field: account for breaking changes in MDC (#18795) (e26670f)

9.1.2 "milk-blade" (2020-03-10)

cdk

bug fix testing: don't send unnecessary Key.chords to protractor (#18685) (f87195b), closes mozilla/geckodriver#1502

material

bug fix column-resize: don't allow dragging using the right mouse button (#18758) (b29308a)
bug fix datepicker: prevent default dialog options from affecting touch ui calendar (#18657) (913ca45), closes #18648
bug fix radio: Move .mat-radio-input above .mat-focus-indicator. (#18709) (bdd9ec9)
bug fix typography: default to normal letter spacing (e441a8c)
bug fix tabs: fix event emitter type (#18664) (b486891)

material-experimental

bug fix mdc-*: rename sass mixins to mat-mdc-* (#18615) (694386a)
bug fix mdc-form-field: avoid expression changed after check (#18741) (65a602f)
bug fix mdc-progress-bar: account for breaking changes in latest canary (5d49f37)
bug fix mdc-slider: resolve warnings about active event listeners (#18583) (6faa30c)

9.1.1 "tartan-tonsure" (2020-03-04)

material

bug fix chips: only add type attribute to button remove icons (#18477) (584cd49), closes #18095 #18464
bug fix sidenav: not restoring focus to SVG elements (#18614) (ed763f5)

material-experimental

bug fix mdc-button: add base css class to all buttons (#18422) (144cb41)
bug fix mdc-chips: align with latest MDC markup (#18472) (7db3e3a)
bug fix mdc-chips: don't allow focus on checkmark icon (#18588) (8637f66)
bug fix mdc-radio: able to focus disabled radio button via click (#18584) (cdd3600), closes #15499
bug fix mdc-radio: use consistent ripple timings (#18590) (2658d9d)

9.1.0 "adamantium-mannequin" (2020-02-24)

Highlights

  • Column resizing for tables is now in experimental (198911)
  • Selection list now supports a single selection mode. Enable it with the multiple input set to false.
  • FakeMatIconRegistry has been added for unit testing.
  • Added a new Sass mixin, mat-strong-focus-indicators, that can be used to add a stronger focus indicator to Angular Material components

cdk

bug fix text-field: fix autofill listener on Chrome 80 (#18468) (4b329f0)
feature testing: add isFocused method to TestElement (#18183) (e704996)

material

Deprecations:

  • MAT_LABEL_GLOBAL_OPTIONS exported in @angular/material/core is deprecated. Use MAT_FORM_FIELD_DEFAULT_OPTIONS from @angular/material/form-field. Note that the property float is now matching the input name floatLabel.
  • FloatLabelType exported in @angular/material/core is deprecated. Import the symbol from @angular/material/from-field.
bug fix a11y: focus trap incorrectly moving focus internally if focus was already moved into it (#18541) (c704d17), closes #18538
bug fix chips: unable to set custom tabindex on chip (#17699) (bbb92a7)
bug fix clipboard: leak if directive is destroyed while a copy is pending (#18066) (9227c7b)
bug fix datepicker: don't call date filter function if date is out of bounds (#18419) (5e34de2), closes #18411
bug fix datepicker: memory leak in popup mode (#18102) (5fe233a), closes #17896
bug fix drag-drop: auto scrolling not working if list uses scroll snapping (#18294) (9459f5b), closes #18162
bug fix drag-drop: error when dragging items inside transplanted views with OnPush change detection (#18356) (f2f78a0), closes #18341
bug fix drag-drop: not working correctly inside transplanted views (#18499) (d1a6ea7), closes #18482
bug fix expansion-panel: Fix clipped box-shadow between expansion panel headers. (#18378) (dddbca2)
bug fix form-field: fix underline jank in fill variant (#18407) (52fea06)
bug fix icon/testing: Adds size specs to fake icon (#18306) (27ef842)
bug fix input: apply static class binding to host (#18196) (8f62ffe)
bug fix list: allow for list and list items to be disabled (#17584) (c6a9f15), closes #17574
bug fix list: Selection List element should not be focusable. (#18445) (fd1593d)
bug fix ng-update: avoid error if project has folder ending with style extension (#18454) (411d048), closes #18434
bug fix ng-update: do not throw if project does not have dependencies (#18470) (01e4fba), closes #18469
bug fix overlay: incorrectly calculating using minWidth and minHeight as a string (#18540) (0d7e2f0), closes #18486
bug fix overlay: restore previous host element before attaching (#17855) (ee96e05)
bug fix platform: RTL scrolling behavior detection not using cached value in some cases (#18389) (633e4c2)
bug fix selection-list: incorrectly handling A key in some cases (#18513) (ff0de11)
bug fix consistently use const enum (#18390) (8ae7b18)
bug fix popover-edit: Call markForCheck against row hover content when showing (#18258) (5c9f0d6)
bug fix progress-bar: changed after checked error on animation end event with noop animations (#18441) (004eeb8)
bug fix slide-toggle: clicks not landing correctly in some cases on Chrome (#18285) (99b27e8), closes #18269
bug fix ng-add should always install matching CDK version (#18076) (fba22bc), closes #18020 #18020
bug fix slider: inject document token (#18275) (3bae800)
bug fix tree: not allowing horizontal overflow (#18215) (c5923d6), closes #18182
feature autocomplete: add event when option is activated (#18387) (4629e23), closes #17587
feature chip: Add focus indicator (#18019) (78cfd3c)
feature drag-drop: add injection token for configuring the input defaults (#17970) (4667cd4), closes #17921
feature drag-drop: add option to match size of dragged element in custom preview (#18362) (74b3441), closes #18177
feature drag-drop: support scrolling parent elements apart from list and viewport (#18082) (c319431), closes #18072 #13588
feature icon: New FakeMatIconRegistry for unit tests (#18151) (71955d2)
feature list: Add single select mode. (#18126) (3b242f0)
feature paginator: add provider to configure default options (#17595) (c7c6262), closes #17123
feature popover-edit: Ability to disable edit on specific cells (#18273) (b163b64)
feature popover-edit: Adds support for using mat-selection-list for select-like interactions. (#18194) (5b8c581)
feature select: add injection token for configuring default options (#17543) (dbdc1a8), closes #17406
performance ripple: avoid page layouts from ripple elements (#17253) (79330b7), closes #17252 #17252
refactor deprecate MAT_LABEL_GLOBAL_OPTIONS in favor of form-field global defaults (#18017) (bfdf323)

google-maps

bug fix avoid errors when accessing API too early (#18376) (591ac9c)
bug fix internal events run inside NgZone (#18034) (3e2e023)
bug fix support numbers for width/height of the map (#18105) (02c24ec)

cdk-experimental

feature table: experimental column resize (#16114) (198911f)

material-experimental

bug fix consolidate mixins in e2e theme file (#18385) (3af0d8a)
bug fix icon/fab missing states color (#18403) (9cfc66d)
bug fix rename theme files to match stable components (#18383) (3d35180)
bug fix mdc-button: some button variants not visible in high contrast mode (#18036) (a8fde4a)
bug fix mdc-chips: chip removal not working if animations are disabled (#18314) (bb08fa7), closes #18303
bug fix mdc-chips: leading icon not hidden on init when preselected (#17997) (4c08a88), closes #17979
bug fix mdc-chips: support home/end in chip grid (#18052) (847a469)
bug fix mdc-form-field: do not include outline structure styles in theme (7fe8381)
bug fix mdc-form-field: ensure validity styling is not reset by foundation (#18266) (f43e3e8)
bug fix mdc-form-field: fix baseline and handle custom controls better (#18161) (0c26354)
bug fix mdc-form-field: fix incorrect floating label shift in RTL (440ca6c)
bug fix mdc-form-field: fix server side rendering failures (#18191) (1ef30cb)
bug fix mdc-form-field: missing animation styles due to rebase conflict (99e83a6)
bug fix mdc-form-field: notched-outline should include prefixes and suffixes (#18381) (fc91061), closes material-components-web#5326
bug fix mdc-form-field: prevent label from jumping in outline notch (60d6bd6)
bug fix mdc-form-field: properly render notched-outline on the server (b5f8248)
bug fix mdc-form-field: refresh view if prefix or suffix changes (f36f1f3)
bug fix mdc-form-field: scrollbar always visible on textarea in IE (#18438) (2497e50)
bug fix mdc-form-field: setup typography styles for form-fields (#18480) (aea79f0)
bug fix mdc-form-filed: missing focus and hover effect for fill (5852fcb), closes /github.com/material-components/material-components-web/commit/c541ebe157a66e8d2e881fad16cc4dbe30b2c16b#diff-fa38508bb43a471ee25b746d85527fb5
bug fix mdc-input: input should not inherit parent classnames (#18180) (500d235)
bug fix mdc-progress-bar: changed after checked error on animation end event with noop animations (#18508) (289eecd), closes #18441
bug fix mdc-tabs: not disabling all animations with noop animations module (#18446) (9c13772)
feature Add focus indicators to all MDC except mdc-chips. (#18175) (02db4ba)
feature chip: add focus indicators (#18261) (7581191)
feature mdc-form-field: add support for accent and warn theming (#18399) (b24b9e3)
feature mdc-form-field: add test harness (#18165) (944837f)
feature mdc-form-field: support for disabling animations (#18397) (ed77ec9)
feature mdc-form-field: support theming through feature targeting (#18265) (27111eb)
feature mdc-input: add test harness (#18224) (c07ec04)
feature mdc-radio: add functionality and styling (#18272) (59fce28)

9.0.1 "copper-canoe" (2020-02-19)

material

bug fix drag-drop: error when dragging items inside transplanted views with OnPush change detection (#18356) (bd68a4f), closes #18341
bug fix list: selection list element should not be focusable (#18445) (b61582c)
bug fix ng-update: avoid error if project has folder ending with style extension (#18454) (1cb7099), closes #18434
bug fix ng-update: better detection for workspace project in v9 hammer migration (#18525) (7a2d372), closes #18504
bug fix slider: inject document token in constructor (#18275) (d8b726d)

9.0.0 "tungsten-hombre" (2020-02-06)

Highlights

New @angular/cdk/testing infrastructure and Angular Material test harnesses

Testing components has historically relied on using implementation details such as CSS selectors to find components and to trigger events. This meant that whenever a component library changed its implementation, all of the tests relying on those components would need to be updated.

In version 9, we are introducing component harnesses, which offer an alternative way to test components. By abstracting away the implementation details, you can make sure your unit tests are correctly scoped and less brittle.

Most of Angular Material's components can now be tested via harnesses, and we are making harnesses available to any component author as part of the Component Dev Kit (CDK).

Here's an example test before harnesses:

 it('should switch to bug report template', async () => {
    expect(fixture.debugElement.query('bug-report-form')).toBeNull();
    const selectTrigger = fixture.debugElement.query(By.css('.mat-select-trigger'));
    selectTrigger.triggerEventHandler('click', {});
    fixture.detectChanges();
    await fixture.whenStable();
    const options = document.querySelectorAll('.mat-select-panel mat-option');
    options[1].click(); // Click the second option, "Bug".
    fixture.detectChanges();
    await fixture.whenStable();
    expect(fixture.debugElement.query('bug-report-form')).not.toBeNull();
  });

And the same test with harnesses:

 it('should switch to bug report template', async () => {
    expect(fixture.debugElement.query('bug-report-form')).toBeNull();
    const select = await loader.getHarness(MatSelect);
    await select.clickOptions({text: 'Bug'});
    expect(fixture.debugElement.query('bug-report-form')).not.toBeNull();
  });

Learn more about Angular Material's component harnesses or building your own with the CDK.

New @angular/google-maps package!

Earlier this year, we changed the name of this repo to "angular/components" 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 in an easy-to-use Angular component.

You can see the documentation on GitHub for the time being.

Big thanks to @mbehrlich for contributing this!

New cdk/clipboard subpackage containing helpers for working with the clipboard.

This new capability for @angular/cdk provides some convenient helpers for dealign with the clipboard. See the documentation for more information.

Big thanks to @xkxx for contributing this!

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

material

Deprecations:

  • checkbox: MAT_CHECKBOX_CLICK_ACTION is deprecated, use MAT_CHECKBOX_DEFAULT_OPTIONS
bug fix autocomplete: not picking up indirect descendant option g… (#17510) (f0df308)
bug fix drag-drop: coerce drop list autoScrollDisabled input (#17480) (e2de5e6), closes #17475
bug fix grid-list: not picking up indirect descendant lines (#17530) (044a360)
bug fix list: Do not rely on input binding order (#17501) (4301fb0), closes #17500
bug fix list: selection list option not picking up indirect desce… (#17514) (ee863b2)
bug fix stepper: not picking up indirect descendant elements (#17529) (5f0f2dc)
bug fix tree: not picking up indirect descendant node definitions (#17522) (7f1c2ca)
feature checkbox: add options defaults config (#17473) (3fdab10)
bug fix button-toggle: indirect descendant buttons not picked up… (#17451) (67b009f)
bug fix chips: don't set aria-required when element doesn't have… (#17425) (939c18d), closes #17397
bug fix dialog: don't move focus if it was moved during close ani… (#17300) (3476f51), closes #17296
bug fix drag-drop: global resize subscription not cleared (#17257) (f10b222), closes #17255
bug fix drag-drop: not picking up indirect descendant items (#17226) (ef92091), closes #17047
bug fix drag-drop: only call enterPredicate when pointer is inside drop list (#17310) (9fe32c0), closes #17266
bug fix drag-drop: unable to drop into connected list inside shad… (#17424) (593a06c), closes #16899 #17422
bug fix form-field: annotate base class with Directive for Ivy (#17457) (4663d8f), closes #17022
bug fix form-field: ensure that descendants are picked up in Ivy (#17439) (1d40ec9)
bug fix form-field: outline gap no calculated in shadow dom (#17303) (1b94295), closes #17262
bug fix menu: trigger should aria-controls panel (#17365) (405f5d0)
bug fix schematics: secondary entry point migration not working against v9 (#17452) (5e10833), closes #17433
bug fix select: not picking up indirect descendant option groups (#17458) (d773cce)
bug fix sidenav: container not picking up indirect descendant sid… (#17453) (9933479)
bug fix snack-bar: handle large numbers passed in as duration (#17239) (86a8fee), closes #17234
bug fix tabs: no longer use OnPush (#16529) (35b3226), closes #15440
bug fix tabs: not picking up indirect descendant tabs in ivy (#17346) (ed0067e), closes #17336
bug fix toolbar: not picking up indirect descendant rows (#17469) (646d47f)
feature autocomplete/testing: polish harness API (#17350) (7a748fc)
feature drag-drop: allow drag start delay to be configured based… (#17301) (43c7a7d), closes #17260
feature drag-drop: allow for custom class to be set on preview (#17304) (34e848f), closes #17089
feature menu/testing: finish implementing harness (#17379) (aa2cbf7)
feature ng-update: add migration for hammerjs in version 9 (#17369) (f065977)
feature radio/testing: polish harness API (#17414) (36d34a6)
feature sidenav/testing: polish harness API (#17415) (9e79940)
feature slide-toggle/testing: polish harness API (#17416) (db999ff)
feature tabs: add input to opt out of pagination (#17409) (bb9a3a8), closes #17317
feature tabs/testing: polish harness API (#17417) (05600a2)
feature change tslib from direct dependency to peerDependency (#17393) (41166b7)
feature expand input types with coercion to work with ngtsc input type checking (#17528) (8da64f4)
performance tooltip: avoid triggering change detection for all keydown events (#17331) (493c32d)
bug fix chips: handle ripple color in theme using CSS variables (#17649) (1923f7f)
bug fix clipboard: namespace copied output name (#17598) (1a2befa)
bug fix overlay: maxWidth and maxHeight not applied when using exact dimensions (#17586) (969d5c2), closes #17582
bug fix popover-edit: incorrect spacing for form field inside popover (#17600) (790b53e)
bug fix select: select active item when tabbing away (#17592) (93fdb00), closes #17442
bug fix sidenav: not destroying custom QueryList (#17619) (39c0074)
bug fix slider: handle touchcancel event (#17520) (320f387)
bug fix slider: some potentially broken styles when using css variables (#17580) (584ad3f)
bug fix slider: track fill not rendering on ios safari when slider starts at 0 (#17583) (fa18ce1)
bug fix stepper: not rendering correctly in some cases when step is inside ngIf (#17555) (cd7d8c8)
bug fix tabs: custom QueryList not being cleaned up (#17548) (b7b7bd0)
bug fix tree: fix typo in CSS class name (#17538) (52918ea)
feature clipboard: add the ability to specify number of attempts in clipboard directive (#17547) (a67cef6)
feature portal: add new portal that projects DOM nodes (#16101) (d3d8859), closes #14430
feature schematics: add prompt to add global typography class (#17602) (c08050d)
bug fix checkbox: unknown property warning with Ivy during server-side rendering (#17485) (227c490)
bug fix ng-update: migrations not running for release candidate versions (#17704) (bfa88fd)
bug fix ng-update: do not copy gesture config if only standard HammerJS events are used (#17753) (b53e092)
bug fix ng-update: hammer v9 migration should not unnecessarily set up gestures (#17713) (4794c60)
bug fix ng-update: imports to MatProgressSpinnerModule not migrated (#17717) (3acd6c1), closes #17715
bug fix bottom-sheet: don't move focus if it was moved during close animation (#17725) (b622d11), closes #17300
bug fix card: add missing card content selectors (#17488) (9b19e6a), closes #17487
bug fix dialog: use view container from config when attaching content (#17819) (656c681), closes #17731
bug fix drag-drop: disabled state not synced on data binding changes (#17330) (ec77513), closes #17325
bug fix drag-drop: position reset if viewport is resized while boundary is invisible (#17777) (f800900), closes #17750
bug fix expansion: accordion picking up headers from descendant accordion during keyboard navigation (#17481) (6c4122c)
bug fix form-field: incorrect assumptions about page direction (#17395) (a6f235d), closes #15415 #17390 #15415 #17390
bug fix input: avoid multiple autosize input listeners with ivy (#17817) (fe151e6)
bug fix list: don't handle selection keys while using typeahead in selection list (#17826) (ad42a1b), closes #17785
bug fix menu: cap maximum elevation for nested menus (#17687) (987c85d)
bug fix menu: internal focus state out of sync if item is focused programmatically (#17762) (af6c13f), closes #17761
bug fix menu: keyboard controls not working if all items are disabled inside lazy content (#17407) (017728a), closes #16572 #17400
bug fix portal: better handling when dom portal content can't be restored (#17851) (2e6045c)
bug fix portal: content not rendered inside outlet when view container is provided (#17731) (6d08240), closes #17650
bug fix select: don't handle open key presses while the user is typing (#17785) (2f17450), closes #17774
bug fix slider: stop dragging if page loses focus (#17849) (3b3c2ca)
bug fix tooltip: theming can affect the tooltip color (#17643) (924494d)
feature badge: add test harness (#17661) (f96e820)
feature bottom-sheet: add test harness (#17618) (a7c3ab0)
feature expansion: add test harness (#17691) (acfa174)
feature list: add test harnesses for list components (#17859) (49b6dbd)
feature sort: add test harness (#17802) (81294f7)
bug fix menu: forward aria attribute to menu panel (#17957) (3299d8c), closes #17952
bug fix chips: fix ripple element opacity when using CSS variable theming (#17576) (e7508ad)
bug fix form-field: deprecate legacy and standard appearances (#17961) (527f1b5)
bug fix chips: clear user agent styles when set on button (#17871) (26e73ac)
bug fix sort: no focus indication for active header (#17735) (191357a), closes #17716
bug fix text-field: correctly check _initialHeight (#17900) (a3e953e)
feature button-toggle: add test harness (#17996) (9a6be0d)
feature core: add test harnesses for mat-option and mat-optgroup (#17940) (0ec499d)
feature paginator: add test harness (#17969) (5a6cdaf)
feature select,input,form-field: move test harnesses out of experimental (#17874) (1c1af58)
bug fix chips: avoid accidental form submits when pressing remove button (#18095) (3b4e496)
bug fix datepicker: not respecting form control updateOn: blur for invalid values (#18063) (61029c8), closes #16461
bug fix datepicker: re-render calendar when locale changes (#18094) (be17c25), closes #18087
bug fix form-field: delete top border from focus animation (#17885) (09dc459), closes #17884
bug fix form-field: error when focusing outline form field angular elements on IE/Edge (#18062) (f573072), closes #16095
bug fix mdc-chips: Set aria-required on input instead of grid (#18049) (22d7f77)
bug fix scrolling: update virtual scroll viewport size on resize (#18058) (c36466c), closes #16802
bug fix sidenav: move focus into sidenav in side mode if autoFocus enabled explicitly (#17995) (c9856ee), closes #17967
bug fix slide-toggle: fix and simplify high contrast styles (#18104) (2fd862d)
feature grid-list: add test harness (#18001) (5e9ca28)
feature table: add test harness (#17799) (a30094b)
bug fix form-field: undeprecated legacy and standard appearances (#18144) (9ea5694)
bug fix reduce amount of generated high contrast styles (#18332) (b119472)
bug fix checkbox: outline not visible when checked in high contrast mode (#18048) (75a7681)
bug fix chips: set aria-required on chip input (#18098) (05d072a), closes #18049
bug fix datepicker: able to focus disabled datepicker toggle while disabled via click (#18231) (9086a4b)
bug fix drag-drop: error if next sibling is removed after drag sequence has started (#18230) (7a167a2), closes #18205
bug fix drag-drop: not picking up initial disabled state of handle (#16643) (3b28d33), closes #16642
bug fix drag-drop: prevent dragging selected text with the mouse (#18103) (fbbac37)
bug fix expansion: unable to toggle disabled panel via methods (#18181) (796db4d), closes #18171
bug fix input: input harness not matching matNativeControl (#18221) (f0d3a6b)
bug fix overlay: don't reset global overlay alignment when width is 100% and there's a maxWidth (#17842) (37d0191), closes #17841
bug fix overlay: only clear duplicate containers from different platform (#17006) (67d27fd), closes #16851
bug fix schematics: global typography class always being added (#18315) (2b83a0a), closes #17602 #16776
bug fix tabs: better high contrast indication on supported browsers (#18160) (01b31de)
bug fix tabs: don't start auto-scroll when right clicking on buttons (#18033) (ca9b204)
bug fix form-field: fix underline jank in fill variant (#18406) (351d0c4)
bug fix ng-add: do not overwrite version range specified in ng add (#18365) (06b7378)
bug fix ng-add: support "navigation" in additon to "nav" for navigation schematic (#18364) (06b7378)
bug fix schematics: do not depend on external dependency for colors (#17788) (e02bb82)

cdk

bug fix scrolling: expand type for "cdkVirtualForOf" input to allow null (#17421) (3e5e9db), closes #17411
feature testing: add method to wait for async tasks outside the angular zone (#17408) (c50aa21)
feature clipboard: new clipboard module (#17272) (473d4c6)
feature change tslib from direct dependency to peerDependency (#17393) (41166b7)
feature a11y: add high-contrast mode detection (#17378) (6b7f091)
feature testing: support querying for multiple TestHarness / ComponentHarness at once in locatorFor (#17658) (15a5171)
bug fix overlay: add missing transform origin directive input (#17489) (c69a727)
bug fix virtual-scroll: run changeDetection after computing transform (#17727) (d908c9f)
feature overlay: accept PositionStrategy in cdkConnectedOverlay (#16374) (73d1ceb)
bug fix a11y: make cdk-high-contrast work w/ emulated view encapsulation (#18152) (aff21e8)

youtube-player

bug fix avoid clobbering api loaded callback (#17850) (7defaa6)
bug fix clean up internal observables (#17835) (ab0f30d)
performance triggering change detection for unused events (#17665) (61b423a)
bug fix avoid setInterval change detection when player is created (#17894) (27fae29)
bug fix google-maps and youtube-player package missing tslib dependency (#17939) (2a2d837)
bug fix memory leak if player is destroyed before it is done initializing (#18046) (6b3a271)
bug fix not picking up static startSeconds and endSeconds (#18214) (8ea430f), closes #18212
bug fix handle API interactions before API has loaded (#18368) (98fac6c), closes #18279

google-maps

bug fix avoid event listener leaks if inputs change (#17664) (b2ea4c8)
bug fix error during server-side rendering (#17744) (0b0e98c)
bug fix handle trying to access the map before it has been initialized (#17805) (d990243)
bug fix unable to subscribe to events after initialization (#17845) (22fecb3)
feature Add MapPolyline component (#17512) (0c10828)
bug fix google-maps and youtube-player package missing tslib dependency (#17939) (2a2d837)
bug fix incorrect event name (#18027) (f2cbc06), closes #17845 #18026
bug fix sub-components throwing during server-side rendering (#18059) (a7f7e9b)

material-experimental

bug fix mdc-button: elevate z-index of content (#17349) (230403e)
bug fix mdc-slide-toggle: missing focus indication in high contrast mode (#17471) (3de0b08)
bug fix mdc-slider: remove theme import from all-theme (#17348) (40665e9)
bug fix mdc-tabs: add .mdc-tab__ripple container (#17498) (409e656)
bug fix mdc-progress-bar: server-side rendering error (#17359) (b30aedd)
feature mdc-tabs: add option to fit ink bar to content (#17507) (77d51ca)
bug fix mdc-button: rename state class (#17575) (9f9b017)
bug fix mdc-chips: chip set not picking up indirect descendant chips (#17568) (e7aeee4)
feature mdc-slider: add test harness for mdc-slider (#16978) (7cd314c)
feature mdc-checkbox: add default options (#17578) (4cc69d2)
feature mdc-tabs: add default fitInkBarToContent option (#17556) (2f84389)
feature mdc-snackbar: add skeleton (#17161) (6bda718)
bug fix mdc-chips: add checkmark container (#17694) (25c79cd)
bug fix mdc-chips: use ripple target for state interactions (#17681) (7aa522a)
bug fix mdc-tabs: markForCheck on ink bar content input setter (#17561) (71165f1)
bug fix mdc-menu: menu item should not inherit parent classname (#17953) (af7aa86)
bug fix mdc-progress-bar: update to latest canary to include adapter changes (#17938) (0753f9e)
feature mdc-list: Add scaffolding for MDC--based list (#17906) (45d34ad)
feature mdc-snackbar: Add demo. (#17895) (3ca7c5a)
feature mdc-table: add MDC styles/classes (#18000) (bb68c7b)
feature mdc-table: add skeleton (#17992) (4169c6f)
feature mdc-table: add tests (#18003) (8796d7c)
bug fix mdc-switch: updated to latest DOM structure guidance (#17905) (5da2ae1)
bug fix mdc-chips: avoid potential server-side rendering errors (#18044) (17a7bcb)
bug fix mdc-chips: checkmark not visible in high contrast black-on-white mode (#18061) (99af8e9)
bug fix mdc-chips: error on IE and Edge due to unsupported classList (#18074) (5fccd24)
bug fix mdc-chips: prevent default space and enter (#18084) (7b7e633)
bug fix mdc-chips: remove aria-hidden from focusable element (#18054) (55ee988)
bug fix mdc-chips: removed chip still focusable (#18083) (403377d)
bug fix mdc-slide-toggle: fix extra border in latest canary version (#18035) (b989701)
bug fix mdc-slide-toggle: initial checked and disabled state not reflected visually (#17991) (e746895)
bug fix mdc-slide-toggle: update adapter to match new interface (#18124) (636ae5c)
bug fix mdc-tabs: incorrect tab text color in dark theme (#18068) (86a4ba7)
feature mdc-form-field initial prototype of mdc-form-field (#17903) (697c3a0)
bug fix errors with latest MDC canary version (#18173) (5d13491)
bug fix mdc-theming and mdc-typography files not published (#18251) (77a25eb)

cdk-experimental

bug fix dialog: don't move focus if it was moved during close animation (#17320) (442ec30), closes #17300

8.2.3 "tinsel-pretzel" (2019-10-08)

cdk

bug fix drag-drop: dragging styles not reset once dragging is… (#17150) (4d489f0), closes #17139

material

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

material-experimental

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

9.0.0-next.0 "cardboard-cpu" (2019-10-03)

cdk

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 (#17150) (e62e6bd), closes #17139
feature testing: move harness code from cdk-experimental (#17026) (bacdc85)

material

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

material-experimental

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

8.2.2 "vantablack-rainbow" (2019-09-30)

cdk

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

material

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

cdk-experimental

bug fix clipboard: avoid changing layout with temporary textarea (#17227) (d4d958e)

material-experimental

bug fix mdc-slider: not usable in high contrast mode (#17164) (73a233d)

8.2.1 "cashmere-ore" (2019-09-24)

cdk

bug fix a11y: remove aria-describedby attribute when no descriptions are left (#17074) (0e5c82c), closes #17070

material

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

youtube-player

bug fix errors during server-side rendering (#17091) (9b547b9)

cdk-experimental

feature expose root loader instance in testbed harness environment (#16903) (69f7693), closes #16697 #16709

material-experimental

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

8.2.0 "silicon-neuron" (2019-09-09)

Highlights

New @angular/youtube-player package!

Earlier this year, we changed the name of this repo to "angular/components" to emphasize our goal to provide more than only Material Design components. The 8.2.0 release includes one of the next new features in that regard- a new package that wraps the YouTube Player API for iframe Embeds in an easy-to-use Angular component.

You can see the documentation on GitHub for the time being.

Big thanks to @YourDeveloperFriend for contributing this!

Bug Fixes

  • autocomplete: unable to open panel via click inside shadow DOM (#15616) (6e1fe2c), closes #15606
  • button: fix typo in comment (#17001) (5fb0d57)
  • card: stroked buttons missing margin (#16576) (399ed29), closes #16546
  • chips: allow null to be set as chip value (#16950) (57998a2), closes #16844
  • chips: preselected chip not highlighted on init inside OnPush component (#16868) (aad7ff7), closes #16841
  • drag-drop: connected drop zones not working inside shadow root (#16899) (6009211), closes #16898
  • drag-drop: drop list ref sorting disabled by default (#16963) (306e07c), closes #16961
  • drag-drop: error if custom preview or placeholder node is not an element (#16409) (8a4bed5)
  • drag-drop: handle list and viewport auto scroll regions overlapping (#16675) (792e886), closes #16647
  • drag-drop: handle the element going out of the boundary after a viewport resize (#16874) (44b8a47), closes #16536
  • drag-drop: incorrectly constraining element position if size changes between drag sequences (#16876) (cad0102), closes #15749
  • drag-drop: preview position relative to cursor thrown off if item has margin (#16180) (46cf45f), closes #16171
  • drag-drop: unable to drop into connected sibling that was scrolled into view (#16681) (dd59044)
  • expansion: show header focus state when expanded (#16486) (7bf5e4e)
  • icon: not copying attributes from symbol nodes (#16896) (425eb7e), closes #16892
  • icon: use ErrorHandler to log MatIcon errors (#16967) (dccddd9)
  • icon: use ErrorLogger to log http errors (#16855) (75686e8)
  • menu: keyboard controls not working if all items are disabled (#16572) (d3f63a3), closes #16565
  • menu: restore focus immediately when menu is closed (#16960) (bfa1853), closes #16954
  • paginator: MatPaginatorIntl will now cause MatPaginator to display an 'EN DASH' (U+2013) rather than a 'HYPHEN-MINUS' (U+002D) by default
  • progress-spinner: animation node inserted into wrong style root when using ngIf with ShadowDom encapsulation (#16982) (dadb3e1)
  • radio: clear aria attributes from host node (#16938) (237e030), closes #16913
  • slider: displayWith function never called with "null" (#16707) (17c8983)
  • snack-bar: don't stretch to fullscreen in landscape orientation (#16940) (8d12902), closes #16911
  • snack-bar: too tall under some circumstances in Safari (#16679) (e9baa09), closes #16605
  • tabs: tab nav bar not highlighting active tab if rendered after init (#16624) (93e9415), closes #16607
  • tooltip: avoid adding same aria description as trigger's aria-label (#16870) (1006cc2), closes #16719

Features

8.1.4 "orichalcum-ocarina" (2019-08-26)

Bug Fixes

  • button: fix opacity is not added to ripple when using CSS variables to define custom theme (c62330b)
  • datepicker: don't set aria-haspopup if no datepicker is set (#15554) (f590dc6)
  • dialog: not applying margins to new button variants (#11961) (0ad0d7a)
  • expansion: not adding margin for all button types (#16806) (1d545a6)
  • menu: inconsistent behavior when clicking on a disabled item (#16696) (e441a75), closes #16694
  • menu: mark lazy menu content as dirty before attach (#16506) (1b54011)
  • overlay: _updateElementSize should not fail if pane is disposed. (#16600) (febcaff)
  • radio: show ripple on programmatic focus (#16512) (a243ef9)
  • radio-button: underlying input not respecting value binding (e1760b6)
  • schematics: module imports not generated for schematics (#16787) (2cfcd36)
  • schematics: navigation schematic not respecting breakpoints on initial render (#16788) (621ddf7)
  • sidenav: avoid CSS class name conflict (#16798) (636cb9f)
  • sidenav: focus trap enabled state not updated if mode changes while open (#16602) (666e9b3), closes #16601
  • slider: inconsistent cursor behavior if user's pointer moves around while dragging (d62b19e), closes #14613

8.1.3 "gelatin-key" (2019-08-14)

Bug Fixes

  • cdk/virtual-scroll: fix subpixel rounding errors on hdpi… (#16269) (5bbf9ba)
  • cdk-experimental/popover-edit: prevent default escape action (#16747) (073b98c), closes #16202

Features

  • cdk-experimental/clipboard: add cdk-experimental clipboard service + directive (#16704) (6c51995)

8.1.2 "bologna-bayou" (2019-07-29)

Bug Fixes

  • bottom-sheet: not moving focus to container if autoFocus is disabled and focus was moved while animating (#16418) (0720a41), closes #16297 #16221
  • button-toggle: error when check value is set via static attribute in Ivy (#16587) (3c92c08), closes #16471
  • overlay: clear duplicate overlay container coming in from the server (#11940) (ba508a6), closes #11817
  • slide-toggle: invalid required validator in template-driven forms (#16547) (dc0c271)
  • tabs: only use aria-current on active links (#16562) (b0937dc), closes #16557
  • tree: unable to set zero as the padding of a tree node (#16345) (bf66d81), closes #16338
  • typography: use calc to allow css variables (#16475) (6013036)

8.1.1 "vantablack-glowstick" (2019-07-16)

Bug Fixes

  • form-field: superfluous whitespace when compiled with bazel (#13911) (fdad49d)
  • ng-update: material update fails due to circular dependency (#16538) (5d731d3)

8.1.0 "denim-antipode" (2019-07-15)

Highlights

  • The MatNavTabBar now support tab pagination, a long-requested feature.
  • CdkDrag now supports scrolling the viewport when an item is dragged near the edge.

Bug Fixes

  • card: disable all animations when using NoopAnimationsModule (#11538) (11a4ff0), closes #10590
  • drag-drop: fix drag start delay behavior to allow scrolling (#16228) (738f10c), closes #16224
  • drag-drop: return up-to-date position if getFreeDragPosition is called while dragging (#16464) (1540391)
  • expansion: incorrect margin for "before" indicator when expanded (#16420) (98a231d)
  • menu: keyboard controls not respecting DOM order when items are added at a later point (#11720) (49e8c59), closes #11652
  • overlay: incorrectly calculating position when page is scrolled horizontally and overlay is anchored to the right (#16235) (f61730a), closes #16009
  • overlay: OverlayKeyboardDispatcher (used in dialog and overlay and available in the CDK) now listens on bubbling/propagation phase instead of capture phase. This means that overlay keydown handlers are now called after any applicable handlers inside of an overlay, and it respects any stopPropagation() calls from inside the overlay.

Features

  • a11y: allow for element to be used as message in AriaDescriber (#16118) (8c4f25f), closes #16099
  • common: Add dev-mode sanity check for mismatched versions of cdk and material (#15395) (ffad004)
  • drag-drop: add support for automatic scrolling (#16382) (207dba6), closes #13588
  • expansion: allow expansion toggle indicator positioning (#16257) (c3eac17)
  • radio: add provider for default color input (#15811) (5c51301)
  • schematics: add font-display query (#16363) (43a01e9)
  • style: allow palettes to specify a separate hue for colored text (#15149) (15038e3), closes #15148
  • tabs: support pagination in nav bar (#16055) (aa22368), closes #2177

8.0.2 "metal-mushroom" (2019-07-02)

Bug Fixes

  • autocomplete: alt + up arrow to close panel not working (#15364) (219ad33)
  • bottom-sheet: DOM nodes not cleaned up if view container is destroyed mid-animation (#16349) (f8d32fe), closes #16309
  • breakpoint-observer: fix the breakpoint observer emit count and accuracy (#15964) (43b2df6), closes #10925
  • checkbox: hover indication showing when disabled (#16159) (bd52ce0), closes #16157
  • chips: disable all animations when using NoopAnimationsModule (#11546) (7fc7da1), closes #10590
  • datepicker: align multi-year-view based on minDate and maxDate (#16018) (400a95b), closes #10646
  • dialog: DOM nodes not cleaned up if view container is destroyed mid-animation (#16309) (a9a266a), closes #16284
  • dialog: don't move focus to dialog container if focus is already inside the dialog (#16297) (62447be)
  • dialog: not moving focus to container if autoFocus is disabled and focus was moved from a different component (#16221) (2669b90), closes #16215
  • expansion-panel: header animating on init when using non-default height (#16122) (f58840c), closes #13088 #16067
  • list: matching item not preselected if added after init (#16080) (90b1d5d), closes #16062
  • ng-update: do not rely on node-glob for finding rule directories (#16381) (6732be5), closes #16208
  • overlay: events not being unbound from destroyed backdrop (#16268) (c0efe17)
  • popover-edit: remove fallthroughs in switch statement (#16281) (14246de)
  • tabs: disable all animations when using NoopAnimationsModule (#11395) (91326e9), closes #10590

Performance Improvements

  • drag-drop: use narrower check for touch events (#16082) (b7aa763)

8.0.1 "yarn-barn" (2019-06-10)

Bug Fixes

  • drag-drop: error if drag sequence is started while another one is finishing (#16081) (23df7aa)
  • drag-n-drop: ignore consecutive touchmove events on drag item on multitouch (#15923) (208d43f)
  • prevent default on escape key presses (#16202) (0871d88)
  • ng-update: fix table generator schematic (#16204) (7386ea1)
  • ng-update: do not report form-field breaking change from v6 (#16161) (7b78cb7), closes #16143
  • ng-update: parse cli workspace config as json5 (#16218) (0fe2711)
  • overlay: stop using capture phase for overlay keyboard handling (#16019) (67b3e5f), closes #9928
  • popover-edit: unable to change type of popover buttons (#16058) (ba9fd14)
  • progress-spinner: non-default diameter indeterminate animation not working inside Shadow DOM (#16177) (e391869)
  • scrolling: virtual scroll throw off if directive injects ViewContainerRef (#16137) (af56441), closes #16130
  • bottom-sheet: allow for scroll strategy to be configured (#15535) (4d0d080), closes #15533

Features

  • popover-edit (experimental): accessible row hover content (#15917) (c979484)
  • popover-edit (experimental): Helper class to reduce form state preservation boilerplate (#15939) (3bc6020)

8.0.0 "osmium-octothorpe" (2019-05-28)

Bug Fixes

Deprecations

Importing directly from the root @angular/material entry-point is deprecated. You should instead import from specific entry-points, e.g. @angular/material/button. This aligns with @angular/cdk, makes clear where symbols originate, and helps safeguard against including unused code. The deprecated style will be removed in Angular v9.

Angular CLI users can use ng update @angular/material to automatically migrate imports to the new style.

Breaking Changes (including changes from RC)

  • tabs: _ngZone and _platform parameters in MatTabHeader constructor are now required.
  • tabs: changeDetectorRef parameter in MatTabBody constructor is now required.
  • expansion: The _document and _animationMode parameters are now required.
  • list: _elementRef parameter in MatList constructor is now required.
  • list: _changeDetectorRef parameter in MatListItem constructor is now required. Also the order of constructor parameters has changed.
  • progress-spinner: The animationMode mode parameter is now required in the MatProgressSpinner and MatSpinner constructors.
  • progress-spinner: The _elementRef parameter has changed from ElementRef<any> to ElementRef<HTMLElement> in the MatProgressSpinner and MatSpinner constructors.
  • button: _platform parameter has been removed from the MatButton constructor and the _animationMode is now required.
  • button: platform parameter has been removed from the MatAnchor constructor and the animationMode is now required.
  • button: The disabled hosting binding for MatButton has changed from a property to an attribute, which affects any tests using DebugElement.attributes.
  • badge: _document parameter has been removed and the _renderer parameter is now required in the MatBadge constructor.

8.0.0-rc.2 "mercury-melody" (2019-05-24)

Bug Fixes

  • badge: throw proper error when set on a non-element node (bdc6811)
  • button: ripples not being clipped to border radius on safari (#13645) (6643735)
  • checkbox: incorrect ripple color when unchecked (#13569) (b4a9c62)
  • chips: able to remove disabled chip via remove button (#15732) (20a0930), closes #15708
  • chips: chip-list doesn't pick up wrapped chips with ivy (7f12235)
  • datepicker: use narrower value for aria-haspopup (#15666) (0c62798)
  • ng-update: type imports not migrated to secondary entry-points (#16108) (dc51691)
  • popover-edit (experimental): rework host listeners to account for changes in Ivy (#16060) (558295b)
  • popover-edit (experimental): incorrect template root note retrieved in ivy (5bf0487)
  • schematics: avoid lint warning in code generated by nav schematic (#16088) (6c7fd30), closes #16085
  • slide-toggle: focus ripple not hiding after click/touch (#13562) (917a52e), closes #13295
  • table: better error message if text column is missing a name (254fb49)
  • table: error in Ivy for coerced multiTemplateDataRows (#16047) (5259f22), closes #16044
  • table: schematic generates code that throws an exception (#15800) (301371a), closes #15788
  • table: text-column throws if name input is set eagerly with ivy (e774692)

8.0.0-rc.1 "rust-rhubarb" (2019-05-13)

Bug Fixes

  • checkbox: don't show hover ripples on touch devices (#13700) (43b4fec), closes #13675
  • drag-drop: allow for element in DropListRef to be changed (#15091) (e630bd6), closes #15086
  • drag-drop: don't allow user to move item into container that isn't connected to current one by passing it over an intermediate one that is (#15660) (1ac9386), closes #15191
  • drag-drop: error if item is removed while dragging (#15950) (a632067), closes #15827
  • drag-drop: preview element not maintaining canvas data (#15808) (31e72a7), closes #15685
  • list: form control cleared when list is destroyed (#16005) (40b335c), closes #15994
  • menu: prevent menu from collapsing to less than one item (#15454) (941a0d9)
  • overlay: add panelClass from position to the overlay (#15853) (00226f0)
  • overlay: allow overlay sass variables to be overwritten (#15507) (b1c10d1), closes #15467
  • popover-edit (experimental): direction not being passed to overlay (#15951) (7774ae1)
  • portal: correct return type of TemplatePortal.attach (#14602) (70bc4d5), closes #14584
  • scrolling: virtual scroll not disconnecting from data source on destroy (#15856) (8494f03), closes #15855
  • select: optionSelectionChanges not emitting when the list of options changes (#14814) (f6cd86e)

Features

8.0.0-rc.0 "plastic-portal" (2019-04-29)

Project Organization

  • The repo name has changed from angular/material2 to angular/components
  • All files under src/lib have been moved under src/material

Bug Fixes

  • autocomplete: make template ViewChild query static: true (#15877) (388baa2)
  • drag-drop: not reacting to changes in the cdkDragFreeDragPosition (#15805) (021b85a), closes #15765
  • stepper: Fix visual flake in focusing stepper header (#15870) (8b5c0f1)

Features

8.0.0-beta.2 "helium-blockade" (2019-04-15)

Imminent Important Import Deprecation:

Importing directly from the root @angular/material entry-point is deprecated. You should instead import from specific entry-points, e.g. @angular/material/button. This aligns with @angular/cdk, makes clear where symbols originate, and helps safeguard against including unused code. The deprecated style will be removed in Angular v9.

Angular CLI users can use ng update @angular/material to automatically migrate imports to the new style.

Breaking Changes

  • tabs: _ngZone and _platform parameters in MatTabHeader constructor are now required.
  • tabs: changeDetectorRef parameter in MatTabBody constructor is now required.
  • expansion: The _document and _animationMode parameters are now required.
  • list: _elementRef parameter in MatList constructor is now required.
  • list: _changeDetectorRef parameter in MatListItem constructor is now required. Also the order of constructor parameters has changed.
  • progress-spinner: The animationMode mode parameter is now required in the MatProgressSpinner and MatSpinner constructors.
  • progress-spinner: The _elementRef parameter has changed from ElementRef<any> to ElementRef<HTMLElement> in the MatProgressSpinner and MatSpinner constructors.
  • button: _platform parameter has been removed from the MatButton constructor and the _animationMode is now required.
  • button: platform parameter has been removed from the MatAnchor constructor and the animationMode is now required.
  • badge: _document parameter has been removed and the _renderer parameter is now required in the MatBadge constructor.

8.0.0-beta.1 "suede-banana" (2019-04-08)

Features

  • run v8 migration schematics for v8 beta and rc releases (#15753) (bb5d544)

8.0.0-beta.0 "spidersilk-barbell" (2019-04-05)

Project setup

  • @angular/material now has an explicit peer dependency on @angular/forms. It was always required, but is now correctly listed in the package.json.

Bug Fixes

  • a11y: don't set aria description if it's the same as the node's aria-label (#15250) (1bc8bc4), closes #15048
  • autocomplete: remove old classes when classlist has changed (#15185) (413fe33), closes #15179
  • badge: disable animations when using NoopAnimationsModule (#11408) (4614fb8)
  • badge: increase font size of small badge (#15280) (2b14952), closes #15251
  • bottom-sheet: focus trap not being attached when autoFocus is disabled (#15125) (3787695), closes #15119
  • drag-drop: clear duplicate ids from descendants (#15135) (751fe8a), closes #15120
  • drag-drop: disabled value not being synced to drop list ref (#15065) (1aafdbe)
  • drag-drop: dragged styling not being removed when exiting component with OnPush (#15266) (9bbbb80), closes #15233
  • drag-drop: handle delay coming in as a string (#15425) (8bbb116)
  • drag-drop: preview not being rendered inside fullscreen element (#15066) (f1e1528), closes #15033
  • examples: fix form-field-custom-control (#15147) (83135e1), closes #14810
  • icon: clearing user content when svgIcon is bound to falsy value (#15290) (d646266)
  • input: no focus on click in IE if clicked outside native control (#15108) (2652532), closes #15093
  • layout: breakpoint observer completing unrelated subscribers when preceding subscriber unsubscribes (#14988) (0d054db), closes #14983
  • list: changed after checked error with preselected values in selection list (#15388) (d6f2729), closes #15386
  • list: not picking up indirect descendant lines (#15552) (a258400), closes #15466
  • menu: support focus first/last item via home/end keys (#14896) (0185dd1)
  • overlay: flexible position strategy throwing error for empty strings (#14935) (6e52023)
  • progress-bar: clear aria-valuenow in indeterminate or query mode (#15019) (a88d053), closes #15016
  • progress-spinner: clear aria-valuenow in indeterminate mode (#15052) (dd4257e), closes #15018
  • radio: underlying label not expanding to width of radio button (#14895) (677db8c), closes #14894
  • schematics: ensure project "style" and "skipTests" options are respected (#15513) (fe6629a), closes #15502
  • select: error when navigating via keyboard to reset option on a closed select (#15160) (a115b3a), closes #14540 #15159
  • select: update panel width if the viewport size changes (#14932) (78f55ea), closes #7811
  • slide-toggle: thumb animation not working on mobile (#15236) (48d17af), closes #15232
  • stepper: content not being rendered out initially with ivy (#15485) (876727d)
  • table: use default change detection strategy on table (#15440) (f82259b)
  • table: use static queries for examples (#15483) (d525f9c)
  • tooltip: render style values in ngOnInit instead of the constructor (#15469) (59818d1)
  • typography: move header letter spacing into typography config (#15210) (0673574), closes #15197
  • add peer dependency on @angular/forms (#15133) (8fc97ac), closes #15085
  • mark virtual scroll viewport queries as static (#15346) (e739e61)
  • missing tag in footer-row of material table (#15711) (578790b)

Features

Performance Improvements

  • focus-monitor: avoid triggering change detection if there are no subscribers to stream (#14964) (085bbb7)

7.3.7 "herringbone-harpsichord" (2019-04-04)

Bug Fixes

  • bottom-sheet: unable to reopen same bottom sheet after closing via back button (#15520) (aae6972), closes #15510
  • chips: remove aria-selected from deselected chip in single selection mode (#15634) (ebbf97e), closes #15617
  • error when attempting to access Intl API on some versions of Windows (#15693) (c02b09c), closes #15687
  • dialog: remove default aria-label from mat-dialog-close (#15654) (307889e), closes #15542
  • form-field: remove nonbreaking space before * for required fields (#15490) (5e7cf22)
  • option: Remove aria-selected='false' in single-selection mode (#15617) (61a608b)
  • schematics: use ngAfterViewInit instead of ngOnInit in table (#15446) (9c34b97)
  • sidenav: some internal subjects not being completed (#15567) (073e542)

7.3.6 "tar-trebuchet" (2019-03-25)

Bug Fixes

  • add disabled styling for unchecked pseudo checkbox (#15405) (bd1c973)
  • autofill: use static queries to read values used in ngOnInit (#15516) (cb0b025)
  • form-field: select value text blending in with the background in high contrast mode (#15286) (bbd30fb)
  • icon: clear user content when svgIcon is bound to falsy value (#15290) (f2f1232)
  • slide-toggle: be able to receive focus while disabled on click (#15501) (479618e)
  • tooltip: tooltip sample not working with keyboard navigation. (#15111) (3987b9b)

7.3.5 "asphalt-lightning" (2019-03-18)

Bug Fixes

7.3.4 "tapioca-turtle" (2019-03-11)

Bug Fixes

  • badge: duplicate leftover badge after server-side render (#15417) (815a729)
  • calendar: should markForCheck when properties are changed (#15102) (4aa5535)
  • datepicker: toggle throwing an error if datepicker is not defined on init (#15256) (3c5e671)
  • form-field: allow user to click through arrow on native select (#15328) (cb057d2), closes #15318
  • form-field: infinite loop with zone-patch-rxjs (#15335) (8581556), closes #15331
  • list: action list missing focus and hover styling (#14147) (3f876e2)
  • list: override native button text align in action list (#15404) (aaec2d5)
  • radio: ng-touched incorrectly being set on click (#12560) (5b04ec3)
  • radio: only show focus ripple for keyboard focus (#13565) (87477c3), closes #13544
  • radio: unable to distinguish disabled radio button in high contrast mode (#15375) (230b1ed)
  • schematics: incorrectly throws if NgModule uses namespaced decorator (#15298) (89c48f4)
  • scrolling: virtual scroll viewport error during server-side rendering (#15299) (78e7207), closes #15291
  • select: Fixes width-issue of select option panel in IE (#11801) (81a73c6), closes #11609
  • sort: remove arrow when sort header is disabled (#15212) (4a7fdfe), closes #14986
  • stepper: unable to tab to step content (#14892) (824aad2)
  • tabs: correct example title (#15325) (f1ca6ff)
  • virtual-scroll: move views that are already attached instead of inserting (#15348) (8dc572d)

7.3.3 "cashmere-armor" (2019-02-20)

Bug Fixes

  • theming: fix errors when building theme using CSS variables (#15140) (96f6e06), closes #15107
  • bidi: handle uppercase values correctly (#14773) (0029cde)
  • dialog: don't assign aria-label to close button if button has text (#11093) (9bf368d), closes #11084
  • list: disableRipple on selection list not affecting list options after init (#14858) (edf4541)
  • schematics: do not generate invalid stylesheet files (#15235) (e7422e4), closes #15164
  • table: add missing rowgroup roles (#15131) (2c7bc1c)

7.3.2 "jute-box" (2019-02-11)

Bug Fixes

7.3.1 "liquidcrystal-sandwich" (2019-02-04)

Bug Fixes

7.3.0 "pyrite-pixie" (2019-01-28)

Bug Fixes

  • autocomplete: not updating origin if it changes after init (#14677) (4913c36)
  • bottom-sheet: allow disableClose to be updated after opened (#14711) (3d3179f), closes #14708
  • button: focus indication hard to see in high contrast mode (#13259) (fffbcb1)
  • button-toggle: remove references to selected toggle on destroy (#14627) (98f0142)
  • datepicker: update validation when switching from null to error input (#14423) (5aefe60)
  • drag-drop: apply translation transform before user transforms (#14712) (349675a), closes #14699
  • drag-drop: dragging styling not being reset in some cases with OnPush change detection (#14725) (1d4bb18)
  • drag-drop: incorrectly preserving transform if root element changes (#14697) (3656a4e)
  • drag-drop: restore initial transform when resetting (#14701) (005fb46)
  • drag-drop: unable to move item into connected container by passing through another container (#14651) (0bd93dd), closes #14645
  • focus-trap: apply aria-hidden to focus trap tab anchors (#14644) (f66302d)
  • icon: clean up cached references in icon registry on destroy (#14801) (f6b4288)
  • list: action list button outline not being reset on firefox (#14693) (73d0fb9)
  • list: deselect option if value doesn't match up (#14800) (551ded5), closes #14734
  • list: disableRipple on list input not taking effect after init (#14836) (463ac9e), closes #14824
  • menu: not unsubscribing from close stream if trigger is destroyed (#14107) (80f510f)
  • overlay: not sizing flexible overlay correctly when opening downwards on a scrollable page (#14672) (40f8b20)
  • overlay: reset transform when disposing of position strategy (#14660) (86c530e), closes #14657
  • overlay: update size if dimensions change in overlay directives (#14610) (c92d8c9), closes #7811
  • slide-toggle: use default hue for thumb in dark theme (#14230) (7d96ed3), closes #14192
  • sort: extra Firefox focus outline not being reset (#14733) (027d4f4)
  • stepper: ensure step state is not minified (#14933) (e7b0e40)
  • table: not re-rendering when switching to a smaller set of data than the current page (#14665) (a31a2ff), closes #12586 #14010
  • tabs: better handling of animationDuration without units (#14778) (6f49813), closes #13428
  • tabs: don't handle keyboard events with modifier keys (#14234) (76cb9d0)
  • tabs: pagination not working correctly on chrome in rtl mode (#14690) (220e6b2), closes #14689
  • tooltip: afterHidden stream not being completed (#14620) (0394d59)

Features

  • dialog: support adding and removing classes via dialogRef (#14772) (b62f3f3), closes #6206
  • drag-drop: add service for attaching drag&drop to arbitrary DOM nodes (#14437) (5a18ea6)
  • overlay: allow for connected overlay to be positioned relative to a point (#14616) (651549f), closes #5007
  • ripples: support updating global ripple options at runtime (#14705) (4f755cf), closes #9729
  • tabs: add automatic scrolling when holding down paginator (#14632) (e661317), closes #6510
  • tooltip: allow for default position to be configured (#14872) (342e6f0), closes #14862

7.2.1 "acrylic-axolotl" (2019-01-07)

Bug Fixes

  • a11y: remove listeners when focus trap anchors are removed (#14629) (17bb9c3)
  • autocomplete: adding aria-activedescendant while closed if autoActiveFirstOption is enabled (#14455) (f3065cc), closes #14453
  • checkbox: incorrect color for disabled indeterminate checkbox (#14478) (0398d53), closes #14415
  • datepicker: native date adapter not preserving time when cloning (#14691) (9e3a77b)
  • dialog: complete injectable streams on destroy (#14254) (e673608)
  • drag-drop: don't disable native drag interactions if dragging is disabled (#14233) (9fa3376)
  • drag-drop: update root element if selector changes (#14426) (14b90db)
  • form-field: proper arrow color for native select (#14490) (3824a05)
  • input: unable to reset focused state of readonly input (#14698) (98711d7)
  • list: add hover and focus indication in high contrast mode (#14637) (3c71348)
  • menu: hasBackdrop not being updated after first open (#14561) (268b0e8), closes #14560
  • menu: scroll position jumping to top after animation is done on scrollable menu (#14190) (37a7080), closes #11859 #11790
  • moment-adapter: incorrectly deserializing moment dates and not setting locale on deserialized values (#14685) (36db1c0)
  • overlay: not updating hasBackdrop after first open (#14562) (61d3cf8), closes #14561
  • radio: host element unable to receive focus events (#14472) (8c35917), closes #13323 #13953
  • select: announce value changes with arrow keys while closed (#14540) (3f9a125)
  • select: don't shift arrow if there is no label (#14607) (7188719), closes #13907
  • select: form field state not updated if options are reset (#14720) (391a9fd), closes #14709
  • slider: don't handle keyboard events with modifier keys (#14675) (7d2748e)
  • typography: deprecation warning in latest sass version (#14673) (65ecb08), closes #14636
  • expansion-panel: add missing injection token for configuring the default options (#14384) (a389704), closes #14383

7.2.0 "gold-snowman" (2018-12-18)

Bug Fixes

  • a11y: inconsistent runtime value for ListKeyManager.activeItem (#14154) (c4b3484), closes #14152
  • autocomplete: update template when changing autocomplete in trigger (#13814) (904a5ea)
  • badge: aria-label not being updated if description changes (#14393) (ab78183)
  • bottom-sheet: bottom-sheet content not being read out by screen readers (#14534) (9485aff), closes #10591
  • cdk/stepper: exported injection token referring to Material (#14339) (b584888)
  • chips: don't handle separator keys while pressing modifiers (#14424) (d1cec1f)
  • drag-drop: account for out of view container and stacking order (#14257) (c5be8d3), closes #14231
  • drag-drop: error on touch end (#14392) (53cecbb), closes #14390
  • drag-drop: handle placeholder and preview templates changing after init (#14541) (bfacbb5)
  • drag-drop: prevent text selection while dragging on Safari (#14405) (220e388), closes #14403
  • drag-drop: showing touch device tap highlight when using a handle (#14549) (8a3d21a)
  • drag-drop: throw better error when attaching to non-element node (#14221) (31f0e6d)
  • drag-drop: unable to stop dragging after quick double click (#14506) (fbb2a13)
  • drawer: ensure all observables are unsubscribed (#13378) (f7dcc27)
  • form-field: long labels and option values going under select arrow (#14268) (166279b)
  • form-field: native select label floating incorrectly when invalid value is set (#14263) (9c65c87)
  • form-field: outline gap not being calculated when element starts off invisible (#13477) (e579181), closes #13328
  • form-field: outline gap not being recalculated on direction changes (#13478) (b78a750)
  • grid-list: allow more units for gutter width and row height (#14341) (f176119)
  • menu: accidentally tapping on sub-menu content that overlaps trigger on touch devices (#14538) (f2a06ab)
  • menu: reduce specificity of icon selector (#14389) (74e945a)
  • menu: unable to set icon color dynamically (#14161) (48e4f65), closes #14151
  • schematics: drag-drop schematic two consecutive commas (#14446) (35fd998)
  • schematics: two consecutive commas generated (#14371) (dd6065c), closes #14366
  • sidenav: content margins not updated on viewport changes (#14089) (b15392d)
  • snack-bar: announcing same message twice to screen readers (#13298) (3fb4b23)
  • stepper: ignoring custom falsy value for hasError (#14337) (7fac915), closes #14333
  • text-field: add fallback for browsers that don't support requestAnimationFrame (#14519) (c94812d)
  • tree: allow tree node to have undefined child or null child (#14482) (eeda91d)
  • tree: handle null children in nested tree (#14547) (364376e), closes #10886 #14545
  • reference symbols for example components rather than providing a string of the component name (#13992) (d0d97c3)
  • workaround for es2015 inheritance not always working (#13834) (a22a9fa)

Features

  • drag-drop: add class to indicate whether a container can receive an item (#14532) (c6dc070), closes #14439
  • drag-drop: add released event (#14513) (792d536), closes #14498
  • drag-drop: add the ability to constrain dragging to an element (#14242) (8432e80), closes #14211
  • drag-drop: allow entire group of drop lists to be disabled (#14179) (94e76de)
  • drag-drop: indicate in dropped event whether item was dropped outside of container (#14140) (42de6a2), closes #14136

7.1.1 "fondant-friendship" (2018-12-03)

Bug Fixes

  • a11y: don't handle disallowed modifier keys in typeahead mode (#14301) (700f20f), closes #14274
  • badge: badge instances not being cleaned up on destroy (#14265) (da3776f)
  • checkbox: poor color contrast for disabled checkbox (#14044) (9c86b5f)
  • chips: invert focus overlay on dark theme (#14204) (7af8d02)
  • drag-drop: add support for dragging svg elements in IE11 (#14215) (81db16c), closes #14214
  • drag-drop: dragged elements blurry in some browsers (#14299) (63174d2), closes #14283
  • drag-drop: only add top-level drop lists to drop group (#14130) (4acecd7)
  • drag-drop: remove expensive style recalculation (#14189) (f212345)
  • form-field: error when native select has no options (#14102) (0ef75ea), closes #14101
  • list: don't handle events when modifier key is pressed (#14313) (0c7ce7a)
  • menu: allow alternate roles to be set on menu item (#14165) (3f1588f), closes #14163
  • ng-add: do not throw if custom builder is used for "test" (#14203) (498a3d8), closes #14176
  • scrolling: default to vertical CSS class for invalid orientation (#14145) (dbe27c4)
  • scrolling: provide virtual scroll viewport as scrollable (#14168) (c552504)
  • slide-toggle: label not being read out by JAWS (#14304) (754414b), closes #4610
  • slide-toggle: label not being read out by screen reader on IE (#14259) (5264804)
  • stepper: showing hover state after tap on touch devices (#14074) (f3031ad)
  • tabs: avoid hitting change detection if text content hasn't changed (#14251) (9778af2), closes #14249
  • tabs: blurry text in scrolled header on some browsers (#14303) (f7c8026)

7.1.0 "stone-silhouette" (2018-11-20)

Bug Fixes

  • a11y: aria-live directive announcing the same text multiple times (#13467) (a150494)
  • a11y: avoid overlapping or left over timers in live announcer (#13602) (d0f4e7b)
  • a11y: key manager preventing arrow key events with modifier keys (#13503) (1ef16ac), closes #11987 #13496
  • a11y: wrong order of constructor arguments in provider (#14078) (2fcf9e7), closes #14077
  • autocomplete: autofill value changes not being propagated to the form control (#9887) (059864d), closes #9704
  • autocomplete: not propagating same model value when reset while open (#13634) (8d98375)
  • bazel: theming bundle not exposed as sass_library (#14071) (af7a3d4)
  • bidi: preserve user dir attribute (#13859) (d94d176), closes #13855
  • breakpoints: set max-widths for breakpoints to non-integers to handle subpixel queries (#13828) (077f68e)
  • button: ripple color not correct for standard, icon and stroked buttons (#13235) (b104e75), closes #13232
  • button: stroked button crops applied badges (#13912) (4b431fe), closes #13909
  • button-toggle: content shifting in IE11 (#13492) (b3483a6)
  • button-toggle: not forwarding focus to underlying control (#14001) (81f8fb9)
  • button-toggle: remove hover state on touch devices (#13724) (a320af2)
  • button-toggle: svg icon not align inside toggle (#13839) (5851c91), closes #13726
  • button-toggle: webkit tap highlight conflicting with ripples (#13721) (efe53a0)
  • cdk-platform: pass {} to @NgModule since passing nothing breaks (#13792) (65dd75d)
  • checkbox: disabled property not being coerced (#13755) (e5fe34c), closes #13739
  • checkbox: no focus indicator in high contrast (#13255) (caf65e5), closes #13227
  • chips: disabled state not matching specs (#13272) (60e0d88)
  • chips: invalid ripple color for selected chips (#13271) (df5d18f)
  • chips: not updating keyboard controls if direction changes (#14080) (1ffa1fc)
  • chips: remove circular dependency between chip-list and chip-input (#13994) (6c741c4)
  • datepicker: don't allow clicks on disabled cells in year and multi-year views (#13448) (c15bad2)
  • datepicker: toggle not forwarding focus to underlying button (#14020) (b1d4b42)
  • datepicker: unable to disable ripple on datepicker toggle (#13997) (31bffb3), closes #13986
  • dialog,bottom-sheet: enter animation blocking child animations (#13888) (235add9), closes #13870
  • drag-drop: avoid disrupting drag sequence if event propagation is stopped (#13841) (8b2dc82)
  • drag-drop: avoid generating elements with duplicate ids (#13489) (68b53f7)
  • drag-drop: avoid interference from native drag&drop (#14054) (26d63ee)
  • drag-drop: drop list not toggling dragging class inside component with OnPush change detection (#13703) (12c15ba), closes #13680
  • drag-drop: enable drag interactions when there is a drag handle (#13780) (4ee6636), closes #13779
  • drag-drop: error if drag item is destroyed zone has stabilized (#13978) (6fe84f3)
  • drag-drop: events fired multiple times for short drag sequences on touch devices (#13135) (dc0b51a), closes #13125
  • drag-drop: ignore enter predicate when returning item to its initial container (#13972) (fa944b7)
  • drag-drop: incorrectly laying out items with different height or margins (#13849) (89701ef), closes #13483
  • drag-drop: multiple parallel drag sequences when dragging nested drag items (#13820) (436809c)
  • drag-drop: not picking up handle that isn't a direct descendant (#13360) (c38ebb6)
  • drag-drop: preserve previous inline transform (#13529) (cae16b0)
  • drag-drop: prevent mouse wheel scrolling while dragging (#13524) (cd6da93), closes #13508
  • drag-drop: use passive event listeners for start events (#13526) (280b0d6)
  • expansion-panel: don't handle enter/space if modifier is pressed (#13790) (04716b1), closes #13783
  • expansion-panel: emitting events twice on some browsers (#13600) (fa6e46d)
  • focus-trap: warn if initial element is not focusable (#13960) (27347b5), closes #13953
  • form-field: native select options blending in with dropdown background on a dark theme (#13201) (3f1e960)
  • form-field: users being able to select the hidden placeholder of disabled input (#13480) (8dc367c), closes #13479
  • grid-list: unable to assign numeric zero as gutter size (#13652) (037a746)
  • icon: account for query params when prefixing external references (#13930) (4ce5ee0), closes #13924
  • list: add ripples to action list items (#13799) (76044e8), closes #13795
  • list: remove disabled selection list hover feedback on mobile (#13850) (0589881)
  • list: selection list moving focus when an option is destroyed (#13531) (b5a0b16)
  • menu: closing parent overlay when pressing escape (#13442) (a7df1d0)
  • menu: proper focus styling when opened by tap on a touch device (#13599) (e51de15)
  • menu: unable to swap menu panel after first open (#13819) (1fb1c55), closes #13812
  • menu: use passive touch listener (#14041) (3842c8c)
  • ng-update: do not fail if @schematics/angular version is outdated (#13929) (ece6b2d)
  • ng-update: do not throw if typescript version is outdated (#13927) (eb59e56)
  • overlay: backdrop exit animation not working (#10145) (3816079)
  • overlay: provide fullscreen overlay container in root (#14091) (c55b78e)
  • portal: use portal's ComponentFactoryResolver in portal outlet directive (#13886) (99d2512), closes #12677 #9712
  • progress-bar: account for query params when prefixing references (#13942) (2290063), closes #13930
  • progress-bar: not taking current path after first initialization (#13628) (88c6548)
  • radio: don't show hover ripples on touch devices (#13701) (f230633), closes #13675
  • radio: improved alignment for native validation messages (#13570) (dd96369)
  • scrolling: leaking subscription if same element is registered multiple times (#13974) (20f8924)
  • select: don't prevent enter and space keys if a modifier is pressed (#14090) (cb56df9)
  • sidenav: opened and closed events emitting twice on IE and Edge (#13649) (beb4739)
  • slide-toggle: don't show hover ripples on touch devices (#13702) (e8f8d07), closes #13675
  • slide-toggle: no focus indication in high-contrast mode (#13287) (264f306)
  • slide-toggle: redirect focus to underlying input element (#13957) (ec4809f), closes #13953
  • slide-toggle: showing focus ripple when clicking disabled control (#14055) (9b05c3c), closes #13957
  • slide-toggle: using incorrect colors when disabled (#13444) (dd9f267)
  • slider: changing value on right click (#14083) (ed857c9)
  • slider: update value on mousedown instead of click (#13020) (861642c)
  • snack-bar: set appropriate role based on passed in politeness (#13864) (50f999b), closes #13493
  • snackbar: override min-width of snackbar on mobile (#13880) (6703605)
  • snackbar: set aria role based on if announcement message is provided (#13993) (69ffd33)
  • stepper: custom icons not centered inside circle (#12947) (87e1742)
  • stepper: don't handle enter/space when modifier key is pressed (#13827) (a9e550e), closes #13790
  • stepper: emitting the animationDone event twice on some browsers (#13608) (3ef933a), closes #13600 #13587
  • stepper: fix text contrast ratio of stepper labels (#14012) (ae5b10f)
  • stepper: incorrect border color in dark theme for header with label position (#13791) (bbeb5ef)
  • stepper: intl provider not being picked up in lazy-loaded modules (#12934) (675aa66)
  • stepper: selector assuming that there will always be a dir attribute (#13751) (d5f0f0f), closes #13741
  • stroked-button: ripples and focus overlay have incorrect radius (#13745) (4cdf5ba), closes #13738
  • table: delimit words when filtering (#13487) (2a3599e)
  • tabs: duplicate animation events on some browsers (#13674) (28e3d36)
  • tabs: mat-align-tabs not working on mat-tab-nav-bar (#13818) (8fad5d1), closes #13798
  • tabs: paginated header offset incorrect on IE (#13223) (d7a8892), closes #13217
  • text-field: autosize textarea not resizing on minRows decrease (#13437) (cfeab79)
  • tooltip: add fallback for touch devices if Hammer isn't loaded (#13580) (5d54920), closes #13536
  • virtual-scroll: not removing view from container if it's outside the template cache (#13916) (8922100), closes #13901

Features

Performance Improvements

7.0.4 "brick-dress" (2018-11-13)

Bug Fixes

  • a11y: aria-live directive announcing the same text multiple times (#13467) (7c2a095)
  • a11y: avoid overlapping or left over timers in live announcer (#13602) (a93d3a5)
  • a11y: key manager preventing arrow key events with modifier keys (#13503) (b7ef6af), closes #11987 #13496
  • bazel: theming bundle not exposed as sass_library (#14071) (71c205e)
  • bidi: preserve user dir attribute (#13859) (86089fe), closes #13855
  • button: ripple color not correct for standard, icon and stroked buttons (#13235) (62c6d55), closes #13232
  • button-toggle: not forwarding focus to underlying control (#14001) (b7be573)
  • button-toggle: svg icon not align inside toggle (#13839) (2814a99), closes #13726
  • checkbox: no focus indicator in high contrast (#13255) (13d9d3a), closes #13227
  • chips: invalid ripple color for selected chips (#13271) (057eee1)
  • datepicker: toggle not forwarding focus to underlying button (#14020) (723d7f5)
  • datepicker: unable to disable ripple on datepicker toggle (#13997) (2fb58ab), closes #13986
  • drag-drop: avoid disrupting drag sequence if event propagation is stopped (#13841) (2902d0b)
  • drag-drop: avoid generating elements with duplicate ids (#13489) (905f0b4)
  • drag-drop: avoid interference from native drag&drop (#14054) (8dcbee2)
  • drag-drop: enable drag interactions when there is a drag handle (#13780) (0d3b74a), closes #13779
  • drag-drop: error if drag item is destroyed zone has stabilized (#13978) (40a63cf)
  • drag-drop: ignore enter predicate when returning item to its initial container (#13972) (3fb5522)
  • drag-drop: prevent mouse wheel scrolling while dragging (#13524) (718d306), closes #13508
  • drag-drop: add directive to connect drop lists automatically (#13754) (e905127), closes #13750
  • focus-trap: warn if initial element is not focusable (#13960) (3026138), closes #13953
  • icon: account for query params when prefixing external references (#13930) (90420d6), closes #13924
  • menu: use passive touch listener (#14041) (f5006d6)
  • progress-bar: account for query params when prefixing references (#13942) (eb82847), closes #13930
  • scrolling: leaking subscription if same element is registered multiple times (#13974) (1a7173d)
  • slide-toggle: redirect focus to underlying input element (#13957) (1d4be69), closes #13953
  • slide-toggle: showing focus ripple when clicking disabled control (#14055) (a2c2caf), closes #13957
  • snackbar: set aria role based on if announcement message is provided (#13993) (199583b)
  • stepper: fix text contrast ratio of stepper labels (#14012) (01605d0)

7.0.3 "lyrium-longboard" (2018-11-06)

Bug Fixes

  • breakpoints: set max-widths for breakpoints to non-integers to handle subpixel queries (#13828) (b88b79d)
  • button: stroked button crops applied badges (#13912) (835dc9e), closes #13909
  • button-toggle: remove hover state on touch devices (#13724) (f9d5fb4)
  • chips: remove circular dependency between chip-list and chip-input (#13994) (3da858d)
  • dialog,bottom-sheet: enter animation blocking child animations (#13888) (e5afa48), closes #13870
  • drag-drop: drop list not toggling dragging class inside component with OnPush change detection (#13703) (4e50d4a), closes #13680
  • drag-drop: incorrectly laying out items with different height or margins (#13849) (c509591), closes #13483
  • drag-drop: multiple parallel drag sequences when dragging nested drag items (#13820) (cdc0c8b)
  • list: add ripples to action list items (#13799) (b293655), closes #13795
  • list: remove disabled selection list hover feedback on mobile (#13850) (e975223)
  • menu: unable to swap menu panel after first open (#13819) (cbb76ec), closes #13812
  • ng-update: do not fail if @schematics/angular version is outdated (#13929) (f10f8b9)
  • ng-update: do not throw if typescript version is outdated (#13927) (d44fcf8)
  • portal: use portal's ComponentFactoryResolver in portal outlet directive (#13886) (d2af80b), closes #12677 #9712
  • snack-bar: set appropriate role based on passed in politeness (#13864) (33d3cb3), closes #13493
  • snackbar: override min-width of snackbar on mobile (#13880) (41cb8aa)
  • stepper: don't handle enter/space when modifier key is pressed (#13827) (0bd3890), closes #13790
  • tabs: duplicate animation events on some browsers (#13674) (7106681)
  • tabs: mat-align-tabs not working on mat-tab-nav-bar (#13818) (2289e43), closes #13798
  • virtual-scroll: not removing view from container if it's outside the template cache (#13916) (7c202ec), closes #13901
  • bazel support for downstream apps (#13836) (61dbd26)

7.0.2 limestone-linguine (2018-10-26)

Bug Fixes

  • build: material not working with ES2015 (#13709) (e9103a6), closes #12760 #13695
  • button-toggle: webkit tap highlight conflicting with ripples (#13721) (abd0278)
  • cdk-platform: pass {} to @NgModule since passing nothing breaks (#13792) (5abb644)
  • checkbox: disabled property not being coerced (#13755) (cee8c65), closes #13739
  • expansion-panel: don't handle enter/space if modifier is pressed (#13790) (3e6cc77), closes #13783
  • radio: don't show hover ripples on touch devices (#13701) (b89c139), closes #13675
  • slide-toggle: don't show hover ripples on touch devices (#13702) (9d495f1), closes #13675
  • stepper: incorrect border color in dark theme for header with label position (#13791) (afa5a28)
  • stepper: selector assuming that there will always be a dir attribute (#13751) (576118e), closes #13741
  • stroked-button: ripples and focus overlay have incorrect radius (#13745) (7877404), closes #13738
  • tooltip: add fallback for touch devices if Hammer isn't loaded (#13580) (9ae6c84), closes #13536

Features

7.0.1 emerald-egret (2018-10-22)

Bug Fixes

  • autocomplete: not propagating same model value when reset while open (#13634) (2006144)
  • button-toggle: content shifting in IE11 (#13492) (7f5cbe3)
  • datepicker: don't allow clicks on disabled cells in year and multi-year views (#13448) (85741e0)
  • drag-drop: not picking up handle that isn't a direct descendant (#13360) (0f05d99)
  • drag-drop: preserve previous inline transform (#13529) (2a8da45)
  • drag-drop: use passive event listeners for start events (#13526) (5d5fba5)
  • expansion-panel: emitting events twice on some browsers (#13600) (85a3ae0)
  • form-field: native select options blending in with dropdown background on a dark theme (#13201) (b8a6294)
  • grid-list: unable to assign numeric zero as gutter size (#13652) (4ffcf74)
  • list: selection list moving focus when an option is destroyed (#13531) (2c4c5ba)
  • menu: closing parent overlay when pressing escape (#13442) (c3ae922)
  • menu: proper focus styling when opened by tap on a touch device (#13599) (c271167)
  • progress-bar: not taking current path after first initialization (#13628) (8e331a7)
  • radio: improved alignment for native validation messages (#13570) (dbf5164)
  • sidenav: opened and closed events emitting twice on IE and Edge (#13649) (5295e2f)
  • slider: update value on mousedown instead of click (#13020) (c995db7)
  • stepper: custom icons not centered inside circle (#12947) (45edf64)
  • stepper: emitting the animationDone event twice on some browsers (#13608) (a11ca21), closes #13600 #13587
  • stepper: intl provider not being picked up in lazy-loaded modules (#12934) (00ce69b)
  • table: delimit words when filtering (#13487) (1d87b4c)
  • text-field: autosize textarea not resizing on minRows decrease (#13437) (8bae5b4)

Performance Improvements

  • focus-monitor: mark event listeners as passive (#13532) (ba0c820)

7.0.0 amethyst-ammonite (2018-10-17)

Highlights

  • Support for Drag and Drop in @angular/cdk/drag-drop.
  • Support for Virtual Scrolling in @angular/cdk/scrolling.
  • Support for native <select> element in <mat-form-field> .
  • Added <mat-action-list>, a list where each item is a <button>.
  • Updated component styles throughout the library matching the 2018 Material Design Spec refresh.
  • Added more schematics, with schematics now available for table, drag and drop, tree, address form and more.
  • Added CLI prompts when using ng add to assist in setting up HammerJS support, application theming and animations.
  • 250+ bug/performance fixes

Upgrading to 7.0

Using the Angular CLI, you can use the ng update command to automatically migrate to the new APIs in for Material and CDK.

ng update @angular/material

NOTE: If you are using only the CDK you can automatically migrate using ng update @angular/cdk instead.

Breaking Changes

  • ripple: deprecated [matRippleSpeedFactor] and baseSpeedFactor for the ripples have been removed. Use the new animation config instead.
  • overlay: The flexibleDiemsions property on CdkConnectedOverlay has been renamed to flexibleDimensions
  • sidenav: the constructor signature of the MatDrawerContent and MatSidenavContent has changed.
  • elevation: Because mat-elevation usages have been moved out of component stylesheets, users who have not invoked a theme mixin will not see any elevation shadows on Material components. However, users that have created a custom theme which lacks the elevation property will still see the default black shadows.

Additionally, users who want to use themed elevations in their custom components can create their own shorthand mixin:

@import '~@angular/material/theming';

$myTheme: ...

@mixin my-elevation($zValue) {
  @include mat-theme-elevation($zValue, $myTheme);
}

and then invoke angular-material-theme with the $myTheme variable.

Marked for Deprecation

A number of items throughout the library have been deprecated and are expected to be removed in v8.

CDK

Collections

  • SelectionModel.onChange has been deprecated, use SelectionModel.changed instead.

Scrolling

  • ScrollDispatchModule has been deprecated, use ScrollingModule instead.

Table

  • CdkTable.setFooterRowDef has been deprecated, use CdkTable.addFooterRowDef and CdkTable.removeFooterRowDef instead.
  • CdkTable.setHeaderRowDef has been deprecated, use CdkTable.addHeaderRowDef and CdkTable.removeHeaderRowDef instead.

Material

Dialog

  • matDialogAnimations.slideDialog has been deprecated, use matDialogAnimations.dialogContainer instead.
  • MatDialogRef.afterOpen has been deprecated, use MatDialogRef.afterOpened instead.
  • MatDialogRef.afterClose has been deprecated, use MatDialogRef.afterClosed instead.
  • MatDialog.afterOpen has been deprecated, use MatDialog.afterOpened instead.

Form Field

  • <mat-placeholder> has been deprecated, use <mat-label> instead.
  • MatPlaceholder has been deprecated, use MatLabel instead.

Paginator

  • $mat-paginator-selector-trigger-min-width has been deprecated, use $mat-paginator-selector-trigger-width instead.

Select

  • matSelectAnimations.fadeInContent has been deprecated and will be removed without replacement.
  • The setter method for MatSelect.focused has been deprecated, MatSelect.focused will become readonly.

Toolbar

  • $mat-toolbar-height-mobile-portrait has been deprecated and will be removed without replacement.
  • $mat-toolbar-height-mobile-landscape has been deprecated and will be removed without replacement.

NOTE: In addition to the specific deprecations listed above, many component constructor methods contain optional parameters which are expected to become required in v8.

Bug Fixes

  • icon: not taking current path after initialization (#13641) (df9ec7)
  • list: action list items clickable area not stretching the full width (#13099) (f3057fa)

7.0.0-rc.2 (2018-10-15)

Bug Fixes

  • drag-drop: enterPredicate being called with wrong drop container (#13578) (60b4a58)
  • drag-drop: rename cdkDrop to cdkDropList (#13619) (160b688)
  • ng-add: do not add theme file if existing theme is set up (#13468) (d1e59a2)
  • schematics: template content exceeds max line length (#13521) (b0a1daf)
  • schematics: tree folder icons do not have enough contrast (#13462) (4a0eb2b)
  • virtual-scroll: fix several small bugs (#13597) (8cfaeea)

Features

  • schematics: prompt for name when generating component (#13518) (9085de7)

7.0.0-rc.1 (2018-10-09)

Bug Fixes

  • a11y: not being able to escape disabled focus trap using arrow keys (#13133) (3c55caa), closes #13132
  • autocomplete: closing parent overlay when pressing escape (Esc) (#13413) (8dfd2ee)
  • bottom-sheet: dismiss bottom sheet on destroy (#13120) (ffa4a06)
  • button-toggle: not setting proper border in vertical mode (#13397) (d58db5d)
  • button-toggle: remove extra focus indication added by firefox (#13367) (3583913)
  • checkbox: ripple not hiding after click/touch (#13295) (afb0352), closes #13291
  • chips: content not centered vertically on IE in some cases (#13260) (4f43f5c)
  • chips: ripple not clipping correctly in safari (#12244) (eb95e61)
  • chips: selectionChange event firing when value has not changed (#13173) (e8a6ea1)
  • datepicker: change overlay position strategy so the calendar is kept on-screen (#11607) (f44d6db)
  • drag-drop: avoid interfering with element clicks (#13152) (38e7dd2)
  • expansion-panel: correct jump in panel sizing during animation (#12509) (a706c8c)
  • form-field: blue box inside focused native select on IE (#13187) (ab44d50)
  • form-field: not updating outline when prefix/suffix is added or removed (#13253) (0060bd7), closes #13251
  • grid-list: incorrectly laying out tiles for nested list (#13086) (3e1cff0), closes #13074
  • icon: handle references for pages with base tag (#12428) (9e5fd91), closes #9276
  • list: selection list not marking options as selected correctly when setting value with duplicates (#13363) (bef9a17)
  • menu: incorrectly styling keyboard focus, if trigger is right clicked before opening (#13136) (730e6a3)
  • ng-add: allow using noop animations (#13429) (15a1ab7)
  • overlay: incorrectly calculating centered position on a scrolled page with pushing (#13185) (f5dd24a), closes #11868
  • overlay: wait for panel to detach before removing panelClass (#13199) (238aef0), closes #13189
  • paginator: icons and labels not centered vertically on IE (#12495) (fe3f37a), closes #12491
  • schematics: @angular/material schematics not working (#13406) (3f8ee74)
  • schematics: name is required when generating the drag-drop schematic (#13452) (4a9bbcb)
  • schematics: proper error if name is not specified (#13379) (4a0b09a)
  • scrolling: viewport ruler resize event running inside the NgZone (#12909) (707a7ee), closes #12883
  • select: allow extra content to be projected after label in mat-optgroup (#13396) (cb5b15e), closes #11489
  • select: handle home and end keys on closed select (#13278) (d6ba25f)
  • tabs: disabled tab link not preventing router navigation (#10358) (bf66d57), closes #10354
  • virtual-scroll: don't set both right and left on the content (#13412) (6ee9149), closes #13231

Features

7.0.0-rc.0 (2018-10-02)

Bug Fixes

  • autocomplete: dividers in list throwing off keyboard navigation (#13224) (0886cef), closes #13200
  • button: fix stroked button border color (#13219) (bfeb540)
  • checkbox: clear tabindex from host element (#13308) (845388c)
  • chips: set aria-invalid on chip input (#13249) (311d786), closes #13205
  • common: account for async hammer loader when checking whether hammer is defined (#12933) (d15431b)
  • drag-drop: emitting incorrect index for horizontal list in rtl (#13274) (f3bb0c7)
  • drag-drop: error on IE when customizing root element (#13279) (e1071f0)
  • drag-drop: unable to return item to initial container within same drag sequence, if not connected to current drag container (#13247) (0ac41a0), closes #13246
  • form-field: always use native input value to determine whether control is empty (#13307) (10e6502), closes #13305
  • form-field: incorrect arrow color for native select (#13046) (10b8353)
  • form-field: native date/time input taller than text input (#13321) (92a5f0e), closes #13317
  • form-field: native select outline not reset on firefox (#12967) (38e492f)
  • grid: fix mat-grid-tile position (#12980) (966cf5f)
  • grid-list: exception thrown when rowHeight is set before first change detection run (#13112) (e7007a2), closes #13102
  • grid-list: throw error if invalid value is assigned for rowHeight (#13254) (210f3f9), closes #13252
  • list: set aria-multiselectable on selection list (#13325) (877ef5d)
  • overlay: connected overlay directive inputs not updating position strategy (#13066) (1d8e9af)
  • paginator: getNumberOfPages off by one (#10724) (016ba5c), closes #10720 #10699
  • radio: clear tabindex from host element (#13323) (5c0a061), closes #13311 #13308
  • schematics: addressForm: fix bad Validators definition and TSLint (#13285) (267dd65)
  • schematics: dashboard schematic fails parsing declaration in spec (#13269) (543cb9f)
  • schematics: fix typo in table's datasource (#13283) (0ccdfc8)
  • schematics: nav schematic generates TSLint errors (#13268) (8d25fd1)
  • schematics: remove unnecessary semicolon in tree component (#13284) (8558878)
  • schematics: sidenav toolbar should use default background (#13282) (c454f7b)
  • schematics: table schematic not expanding full width (#13234) (884762f)
  • schematics: toolbar in nav w/o z-index causes issues with dashboard (#13270) (d74e38c)
  • select: give native select a bigger clickable area (#13228) (6da7d23)
  • slide-toggle: clear tabindex from host element (#13311) (119fafd), closes #13308
  • snack-bar: button not centered inside snack bar on IE11 (#13062) (4e05745)
  • snackbar: move elevation style to snackbar theme (#13273) (96e670f)
  • stepper: vertical step header labels not centered on IE (#13262) (40fb5cb)
  • tooltip: custom gesture config not set up (#12941) (1852563), closes #12940 #12917
  • tooltip: hiding and reopening for consecutive show calls (#13326) (b5001f6)

Features

Performance Improvements

  • virtual-scroll: use auditTime instead of sampleTime (#13131) (c26dc74)

update

  • ripple: remove deprecated speed factor option (#12258) (a6c91bc)

BREAKING CHANGES

  • ripple: deprecated [matRippleSpeedFactor] and baseSpeedFactor for the ripples have been removed. Use the new animation config instead.

7.0.0-beta.2 (2018-09-20)

Highlights

  • This release includes a number of changes to bring the components more in line with the 2018 Material Design update. If you are overriding the default styles, you may find that you need to tweak them to look right after these changes.

Bug Fixes

Features

BREAKING CHANGES

  • dialog: * The matDialogAnimations.slideDialog symbol has been renamed to matDialogAnimations.dialogContainer.

angular_material_-_google_chrome_2018-08-16_20-43-44 angular_material_-_google_chrome_2018-08-16_21-30-17

  • elevation: Because mat-elevation usages have been moved out of component stylesheets, users who have not invoked a theme mixin will not see any elevation shadows on Material components. However, users that have created a custom theme which lacks the elevation property will still see the default black shadows.

Additionally, users who want to use themed elevations in their custom components can create their own shorthand mixin:

@import '~@angular/material/theming';

$myTheme: ...

@mixin my-elevation($zValue) {
  @include mat-theme-elevation($zValue, $myTheme);
}

and then invoke angular-material-theme with the $myTheme variable.

7.0.0-beta.1 (2018-09-17)

Bug Fixes

  • button-toggle: underlying input not disabled when group is disabled (#11610) (bd21f21), closes #11608
  • chips: default click action on chip being prevented (#12856) (ae3ce4a), closes #9032
  • datepicker: allow calendar cell selection via the space key (#13098) (5c4a334)
  • drag-drop: DOM element not being returned to initial container on drop (#12948) (fb7bf90), closes #12944
  • drag-drop: dragging class not being applied on drop container (#12921) (ec0de52)
  • drag-drop: incorrectly calculating index when sorting horizontally (#13082) (664ef4c), closes #13072
  • drag-drop: incorrectly calculating pointer position inside element, in some cases (#13111) (22cd3ed), closes #13107
  • drag-drop: incorrectly picking up transitions on non-transform properties (#12966) (951add9)
  • drag-drop: not dropping immediately for failed drag after a successful one (#13097) (32a0010), closes #13091
  • drag-drop: text selection not disabled on safari if user drags out of the viewport (#12864) (8ee5fb6)
  • drawer: respect NoopAnimationsModule and @.disabled binding (#12839) (23df492)
  • expansion: disable all animations when using NoopAnimationsModule (#12855) (3e22641), closes #10590
  • form-field: don't set up mutation observer on non-outline appearances (#12976) (cbfbade)
  • form-field: remove chevron from native multi-select (#13009) (b62343a)
  • grid-list: better handling of negative columns (#12939) (cfb83a0)
  • input: do not focus input element twice (#12851) (7d586e4), closes #12849
  • ng-update: do not throw if imports without named bindings are used (#12866) (#12984) (fe64211), closes #11571
  • overlay: correct misspelled flexibleDiemsions property (#12927) (5d1643a), closes #12925
  • overlay: infinite loop when used together with zone-patch-rxjs (#13081) (c2e502c), closes #12686
  • platform: wrap MSStream property detection as string to prevent Closure property renaming (#13117) (aef61eb), closes #12223
  • portal: remove dependency on deprecated parentInjector (#12986) (f39e091)
  • progress-bar: buffer background animation stuttering (#13114) (2f2e116)
  • ripple: ripples not being cleared if touch sequence is canceled (#12936) (948e563)
  • sidenav: not positioning correctly in rtl (#12741) (9d3d95f)
  • snack-bar: dismiss snack bar on destroy (#13042) (50be24b)
  • tabs: pagination state not updated when tab content changes (#12911) (a7de64a), closes #12901
  • tooltip: not showing up on touch devices (#12940) (722dfb3), closes #12917
  • tooltip: text fields not editable if tooltip is applied in safari (#12959) (0389d12), closes #12953
  • tree: theming nested notes (#12938) (e24f24a)
  • typings: update typings to support more strict typings in RxJS 6.3.2 (#12979) (0a25fca)

Features

  • list: add new <mat-action-list> (#12415) (69fa762)
  • menu: align with 2018 material design spec (#12331) (c812268)
  • ng-add: add x-prompts to install schematics (#13058) (a5bc79c)
  • schematics: compatibility with Angular CLI 6.2.0 (#13078) (714c205), closes #11438
  • select: align panel appearance and animation with 2018 material design spec (#12975) (18d0fa8)
  • stepper: Create MAT_STEPPER_GLOBAL_OPTIONS InjectionToken (#11457) (9ab2c90)

BREAKING CHANGES

  • overlay: The flexibleDiemsions property on CdkConnectedOverlay has been renamed to flexibleDimensions

7.0.0-beta.0 (2018-08-30)

Highlights

  • Support for drag and drop in @angular/cdk/drag-drop!
  • Support for virtual scrolling in @angular/cdk/scrolling!
  • You can now use a native <select> element in <mat-form-field>
  • Updated visuals for 2018 Material Design update (in-progress, not all components are done)

Note that schematics for v7 are still in-progress.

You can view a beta version of the docs at https://beta-angular-material-io.firebaseapp.com.

Bug Fixes

  • autocomplete: remove aria-owns attribute while closed (#12333) (f0a0ab1), closes #12332
  • autocomplete: reopening closed autocomplete when coming back to tab (#12372) (c2b488e), closes #12337
  • autofill: avoid firing unnecessary event on initial render of input (#12116) (c2fc3f4)
  • badge: apply view encapsulation attributes on badge element (#12870) (db1d51f)
  • badge: hide badges with no content (#12239) (701a0dd)
  • bidi: default invalid directionality values to ltr (#12396) (e644350)
  • breakpoints: emit only one event for adjacent breakpoint changes. (#11007) (2830a64)
  • button: allow for non-colored flat button (#12550) (8c08bb1)
  • button: allow transition for the button focus overlay for all buttons (#12552) (a080a79)
  • button-toggle: clickable area not stretching when custom width is set (#12642) (ecf8b0d), closes #8432
  • button-toggle: forward tabindex to underlying button (#12538) (7dff5f8)
  • button-toggle: set aria-disabled based on group disabled state (#12828) (5969523)
  • card: images in title-group overlapping content (#12205) (89d16b2), closes #10031
  • card: incorrectly inverting inset divider in rtl (#12285) (fba4a93)
  • cdk-text-field: prevent keyframes from getting stripped by LibSass (#12567) (915590e)
  • checkbox: prevent error when disabling while focused (#12327) (c4cacce), closes #12323
  • chips: chip list removing focus from first chip when adding through the input (#12840) (c3b2d4f)
  • chips: dynamic chip input placeholder changes not being propagated to form field (#12422) (e007c27), closes #11861
  • chips: focus indication not visible in high contrast mode (#12431) (bcf4c9f)
  • chips: focus not being restored correctly on chip removal when inside component with animations (#12416) (5fb338b), closes #12374
  • chips: focus not restored properly if chip has been removed by click (#12788) (3da390e), closes #12416
  • chips: form field not appearing as blurred when used without an input (#12858) (f82a94b)
  • chips: improved image scaling in avatar (#12843) (f6e787a), closes #12660
  • chips: incorrectly handling disabled state (#12659) (65ad6ab), closes #11089
  • chips: losing focus if active chip is deleted (#11910) (e13bfe0)
  • chips: support focusing first/last item using home/end (#11892) (3723191)
  • collections: align SelectionModel to changed naming (#8286) (27e88c3)
  • datepicker: able to open from readonly input using keyboard control (#12880) (548d2b7)
  • datepicker: add minDate and maxDate validation in demo-app (#12531) (2b29c93)
  • datepicker: input not picking up changes if datepicker is assigned after init (#12546) (3299628)
  • datepicker: multiple dialog open if the user holds down enter key (#12238) (8e63656)
  • datepicker: screenreaders report editable grid cells (#12275) (a2dcf21)
  • datepicker-toggle: forward tabindex to underlying button (#12461) (648eb4a), closes #12456
  • expansion: respect parent accordion hideToggle binding (#12725) (9c184ea), closes #6529
  • expansion-panel: elevation transition not working (#12860) (ac8ed31)
  • expansion-panel: focus lost if focused element is inside closing panel (#12692) (baf6419)
  • expansion-panel: implement keyboard controls (#12427) (32e5d72)
  • form-field: allow for measuring outline gap when label is not in dom (#12782) (21095f5)
  • form-field: legacy ripple underline jumps in edge (#12648) (70d1be8), closes #6351
  • form-field: outline gap not calculated when appearance is provided through DI (#12767) (8e49388), closes #12765
  • form-field: remove outline gap for empty labels (#12637) (3d4fc82)
  • form-field: reset inputs not being reset on safari (#12413) (4884dac), closes #12408
  • form-field: unable to distinguish disabled form field in high contrast mode (#12445) (df2b371)
  • form-field: update label gap for outline style (#12555) (03527c6)
  • grid-list: not picking up indirect descendants (#12823) (c04d2ae), closes #12809
  • input: only monitor focus origin on browser platform (#11604) (625f792)
  • list: disable hover styling on touch devices (#12520) (795c956)
  • list: improved image scaling in avatar (#12660) (9a59c2a), closes #8131
  • live-announcer: avoid triggering a reflow when reading directive content (#12638) (040f9db)
  • live-announcer: duplicate live element when coming in from the server (#12378) (a10bfa4), closes #11940
  • menu: changed after checked error when toggling quickly between triggers for same submenu (#12209) (b53b66a)
  • menu: collapse empty menu panel (#12211) (b23cecd)
  • menu: focus indication not visible in high contrast mode (#12201) (56bce47)
  • menu: menu content data being cleared when lazy-loaded content is reused between nested triggers (#12476) (1e1751f), closes #12467
  • menu: showing scrollbars on first open in Edge if item width is set (#12141) (275de51)
  • menu: throw better error when trying to open undefined menu (#12688) (c90dcfb), closes #12649
  • moment-date-adapter: not returning utc date when parsing (#12029) (d431566)
  • ng-add: do not incorrectly insert custom-theme into CSS files (#12711) (51da6a6)
  • ng-add: inserted dependencies should be sorted (#12847) (0760dad)
  • ng-add: material version could not be determined (#12751) (a027ae5)
  • ng-update: do not throw if imports without named bindings are used (#12866) (cef2e1e), closes #11571
  • ng-update: form-field css name incorrectly updated (#12768) (4830be8)
  • ng-update: support parenthesized directive metadata (#12314) (c5b87da)
  • overlay: avoid same overlay being added to the keyboard event stack multiple times (#12222) (45d6ae4)
  • overlay: flexible overlay with push not handling scroll offset and position locking (#11628) (f8b70cd)
  • overlay: flexible overlay with push not handling scroll offset and position locking (#12624) (e765d8e), closes #11365
  • paginator: inconsistently disabling tooltips between browsers (#12539) (73a3d4a)
  • progress-bar: avoid error on SSR if pathname is undefined (#12807) (f3af763)
  • progress-bar: generate correct url on server (#12813) (787f31a)
  • progress-bar: incorrectly handling current path when using hash location strategy (#12713) (5727eac), closes #12710
  • progress-bar: query animation not working inside routes with named outlets (#12350) (b9c0d85), closes #12014 #12338
  • progress-bar: query state animation not working (#11459) (b40967f), closes #11453
  • ripple: don't hide directive host in high contrast (#12168) (944caf9)
  • ripple: don't launch ripple for fake mouse events (#11997) (4639a87)
  • schematics: do not allow specifying native view encapsulation (#12632) (0a823dd)
  • schematics: fix object iteration error in dashboard (#12216) (b589828)
  • schematics: generated spec files not working (#12842) (c09da0b), closes #12778
  • schematics: properly detect tsconfig files (#12434) (08e6653)
  • schematics: properly indent inline files (#12317) (ed4e082)
  • schematics: tree schematic not working (#12281) (ba134f4)
  • select: arrow position/animation for appearance="standard" (#12045) (58f3c54)
  • select: pointing to non-existent element via aria-labelledby (#12411) (3b7f0f1), closes #12405
  • select: skip disabled options when using ctrl + a (#12553) (559b95e), closes #12543
  • select,autocomplete: unable to set custom id on mat-option (#11573) (29d5173), closes #11572
  • selection-list: do not allow toggling disabled options (#12617) (4cfdb20), closes #12608
  • selection-list: proper styling not being applied when using mat-list-icon (#12879) (7bc8670)
  • sidenav: content jumping in rtl and blurry text on IE (#12726) (4050002), closes #10026
  • sidenav: scrollable instance not exposed when explicitly specifying content element (#11706) (441c98e), closes #11517 #10884
  • slide-toggle: blended ripples do not match spec (#12735) (e148414)
  • slide-toggle: fix font sizing for slide toggle to match other input methods (#10688) (58c1c95)
  • slide-toggle: invert the thumb and slide gesture in rtl (#12284) (9a191b3)
  • slide-toggle: prevent error when disabling while focused (#12325) (e273a7a), closes #12323
  • slide-toggle: remove webkit tap highlight (#12708) (ba55d04)
  • slide-toggle: respect primary palette of theme (#12698) (dad0ed0), closes #11854
  • slider: thumb label blending in with background in high contrast mode (#12606) (f1b65b6)
  • snack-bar: prevent content from overriding configured aria-live message (#12294) (0958cbb)
  • snackbar: wrap simple snackbar text in span (#12599) (ef0b84b)
  • stepper: focus lost if focus is inside stepper while changing step (#12761) (8a7ca7f)
  • stepper: handle removing a step before the current one (#11813) (82b35d0), closes #11791
  • stepper: improved alignment for step icons (#12703) (37a7056), closes #12696
  • tab-group: focus change event not firing for keyboard navigation (#12192) (1b7b8ab)
  • table: error if row definition is on an ng-container (#12462) (ef57919), closes #12460
  • table: errors when rendering table with sticky elements on the server (#12095) (7e67fe9), closes #12094
  • table: extra elements throwing off table alignment (#12645) (3b70d20), closes #11165
  • table: unable to sort large numbers in strings (#12052) (adda21f)
  • tabs: animation running after initialization (#12549) (4c2f619)
  • tabs: changed after checked error when using isActive in view (#12206) (499458c), closes #12197
  • tabs: content animation in RTL not working (chrome) (#12215) (c6c68a6)
  • tabs: disable focus overlay for touch focus (#12249) (1b19b93), closes #12247
  • tabs: enable keyboard wrapping and mark disabled tabs (#12218) (7f8fd9f)
  • tabs: only target direct descendants with mat-stretch-tabs (#12198) (592af48), closes #12196
  • tabs: reposition tab body on direction change (#12229) (49ec9ca)
  • tabs: ripple overflow in internet explorer (#12036) (f35a314)
  • tabs: selectedIndex being overwritten if tabs are being added / removed (#12245) (569c221)
  • tooltip: interfering with native drag&drop (#12200) (19f64ad)
  • tooltip: opening after click on android (#12250) (2a49532), closes #12223
  • tree: include constructors on MatTree classes to allow es6 builds (#12556) (5623c5b)
  • ensure components work with ES2015 in jit mode. (#12759) (2adced1), closes /github.com/angular/angular/pull/22356#issuecomment-387756794 #9329
  • explictly declare types for mixin base classes (#12876) (515912b)

Features

  • autocomplete: add updatePosition() method to MatAutocompleteTrigger (#11495) (3ce5b1f)
  • autocomplete: align with 2018 material design (#12570) (b9651df)
  • bottom-sheet: align with 2018 material design spec (#12625) (ceb2051)
  • bottom-sheet: allow autofocusing to be disabled (#12193) (d6ca3ec)
  • breakpoint-observer: Emit matching state of each query provided (#12506) (5a560b2)
  • cdk-scrollable: add methods to normalize scrolling in RTL (#12607) (028746a)
  • chips: allow set in separatorKeyCodes (#12477) (170665a)
  • datepicker: align with 2018 material design spec (#12693) (32456e3)
  • dialog: allow focus restoration to be disabled (#12519) (d5c5f31)
  • drag-drop: new feature! Too many commits to list.
  • expansion: add animation events for expansion panels (#12412) (f6b1002)
  • expansion-panel: align with 2018 material design spec (#12670) (ccbae0b)
  • focus-monitor: support monitoring ElementRef (#12712) (932211e)
  • form-field: support native select element (#12707) (4e41985)
  • ng-add: respect project default inlineStyle, inlineTemplate and spec option value (#12888) (8831a7a), closes #11874
  • ng-add: respect project default style extension (#12618) (5144aa7)
  • ng-add: set up gestures in CLI projects (#12734) (b919a48)
  • overlay: add the ability to set a panelClass based on the current connected position (#12631) (765990e)
  • overlay: support setting panelClass on cdkConnectedOverlay (#12380) (d7c734c)
  • paginator: allow form field color to be customized (#12834) (e18a99f)
  • portal: allow for custom ComponentFactoryResolver to be associated with portal (#12677) (136f5dd), closes #9712
  • progress-bar: add transitionend output for value animation (#12409) (6a1a707)
  • progress-bar: align with 2018 material design spec (#12394) (b2247f8)
  • radio: align with 2018 material design spec (#12299) (dda8122)
  • ripple: no longer require additional setup when using MatRipple directive (#11913) (d796776)
  • ripple: support multi-touch (#12643) (8fdc2cf)
  • schematics: new tree schematic (#11739) (1540e2f)
  • select: allow for option sorting logic to be customized (#11890) (d54a75a)
  • sidenav: align with 2018 material design spec (#12569) (1f88bd7)
  • slide-toggle: align with 2018 material design spec (#12419) (5f2e077)
  • snack-bar: align with 2018 material design spec (#12634) (1e754a0)
  • tooltip: align with 2018 material design spec (#12310) (4e358c3)
  • virtual-scroll: new feature! Too many commits to list.

Performance Improvements

BREAKING CHANGES

  • sidenav: the constructor signature of the MatDrawerContent and MatSidenavContent has changed.

Changes Prior to 7.0.0

To view changes that occurred prior to 7.0.0, see CHANGELOG_ARCHIVE.md.