<a name“1.0.1”>

1.0.1 (2015-12-17)

Bug Fixes

  • select: Position incorrect if selection scrolled. (de5237f1, closes #6190, #6354)
  • tabs: workaround for ngAnimate issue with ngClass (19c11fdd)

<a name“1.0.0”>

1.0.0 (2015-12-14)

This is a landmark release - announcing public availability of version 1.0.0!

Bug Fixes

  • demos: CodePen launches fixed (86ec22ad, closes #6297)
  • dialog: guard against missing focus traps upon removal. (8d7ec062)
  • input:
    • Fix input errors CSS to properly display. (0eb7d8a6, closes #5837, #6298)
    • guard against null access on parentForm (Angular 1.3). (1d71928e)
    • Remove unneccessary CSS error margin. (5ca31706, closes #6235)
  • layout: ‘flex’ change per recommended workarounds and added flex=nogrow (f3761781, closes #6205)
  • layouts: do not replace invalid attribute values (16486dbf)
  • menu-bar: fix embeded menus closing immediately (62af9387, closes #6184, #5866)
  • select:
  • showHide: Don't set up $md-resize $broadcasting $watcher until recieving $md-resize-enable (2f18bb4e, closes #5760, #6170)
  • speedDial: Fix intially open bug. (cfdd7cf1, closes #6111)
  • tabs: tabs will not try to animate height if the new height matches the current height (a4ea9dea)
  • test: improve test of $interpolate for ng v1.5.x (43e01a7f)
  • toast: wrap toast content with .md-toast-content (ea60dd3b)
  • tooltip: Firefox scroll event was triggered cause the usage of translate3d (c33819e8, closes #6206)
  • virtualRepeat: Resolve bizarre missing $scope.$root issue (#6129) (190d304f, closes #6171)

<a name“1.0.0-rc7”>

1.0.0-rc7 (2015-12-08)

The Getting Started and the Layout documentation have been improved with more CodePen samples. RTL support has been improved for the Input components.

Features

Bug Fixes

  • autocomplete:
    • gets rid of uncompiled content flicker. Works around issues cased by the scope d (88ba1fdd, closes #5637)
    • always set tabindex to allow receiving focus. (d3c0acb2, closes #6101, #5665, #6135)
  • cards: applying zero margin only on first and last p elements (aa6a0588, closes #6060)
  • dialog: update code example from content to textContent. Fixes (19389455)
  • input:
  • layout: hide and show directives with breakpoint suffixes now work properly (a2ec6607)
  • list: don't turn list-items with ngIf into a button. (ef05ea36)
  • menu: fix menus inside toolbars and dialogs (378248a5, closes #6131, #6109, #6049, #6073, #6089, #6116)
  • menubar:
    • fix broken menubar accessability with checkbox and radio menuitems (eb1695a0, closes #6151)
    • fix keyboard controls (0fa917d5)
    • fix menus overflow hiding behind menubar (b339baa9)
  • ripple: calculate relative coordinates from ripple target. (36b03f2f, closes #5917, #6092)
  • select: fix bugs introduced by keeping md-select-menu in DOM. Fix tests (7edda118, closes #6071)
  • toast: Hide scrollbars during animation. (cae51a65, closes #2936, #6029)
  • toolbar: solves NgUpgrade interop issue. (c668ba40, closes #6069, #6081)
  • tooltip:
    • always append to body and disappear on scroll (9d726593, closes #6140)
    • guard against missing offsetParent. (d0b7bacf)
  • virtualRepeat:
    • sets initial size for virtual repeat when the first results require shrinking (6acd1c3a, closes #5826, #6139)
    • Broken demos relating to size computation (10134231, closes #6167)
    • fix sizer not shrinking when items reduce in number. (1771b29f, closes #4435)
    • update deps to include showHide.. (b4ef3024, closes #4435)

<a name“1.0.0-rc6”>

1.0.0-rc6 (2015-12-02)

Added accessibility support to select, menu, and toast. Added a tips documents section for layout issues and added some layout warnings for IE. Detect ng-touch usages and provide integration warnings regarding interference of ng-touch with $mdGestures

Breaking Changes

  • Added breakpoints: xs, gt-xs, xl per Material Design spec. Breakpoints sm and gt-sm have changed.

Bug Fixes

  • core: detect incompatible ngTouch usages
  • chips: Fix readonly padding issue. (5d34eff3, closes #2829)
  • datepicker:
    • fix not closing on body-click on iOS Safari. Fixes (5a56a881)
    • improve error state updating. (d5b72dfe, closes #5315)
  • dialog: trap focus within dialog.. (fbb1192a, closes #4105)
  • input:
    • fixes alignment between datepicker and other input elements (08b5af5b, closes #5936)
    • has-icon overwriting should have higher css priority as normal label without an (6cac7daa, closes #6005, #6013)
  • layout: allow layout-align without cross-axis or main-axis value (6b1d7586, closes #5996, #6003)
  • layouts: register Layout directives for xs, gt-xs, xl (2a1de83b, closes #5995, #5983, #6037)
  • list:
  • menu: improve aria compliance (097b799d, closes #4415)
  • radioButton: fixes focus color for md-primary and md-warn (16934336, closes #4487)
  • select:
  • tabs: shift+tab will now work properly when focus is on tabs (86edea49, closes #4696)
  • toast:

<a name“1.0.0-rc5”>

1.0.0-rc5 (2015-11-25)

Features

Breaking Changes

  • default for layout-align is start stretch (for main and cross-axis respectively)
  • no longer removes Layout attributes from DOM elements
  • md-toast now uses textContent instead of content - content is deprecated

Bug Fixes

  • autocomplete:
    • fixes autocomplete height when near the bottom of the page (c667b549, closes #5209)
    • fixes height issue on md-not-found message (f1dcaf96, closes #5305)
    • should now properly support ng-disabled (2ab1d2d9, closes #4999)
  • datepicker:
    • prevent calendar pane being in wrong position after body scrolling is disabled. (a899c5b4, closes #5201, #5918)
    • correctly position datepicker inside dialogs. Fixes (d423a656)
  • dialog: removed no dialog actions warning (75a565e8, closes #5767, #5774)
  • input:
  • layouts:
    • support layout-align start and stretch (d24cf25b, closes #5509, #5249)
    • do NOT remove layout attributes after className generation (7cb035d9)
  • list:
  • mdUtil: disableBodyScroll no longer scrolls page to top in IE (badc1ef1, closes #4640, #5334, #3627)
  • progressCircular:
  • radio: no longer prevents events from nested elements (7a87ddad, closes #2960)
  • select:
    • reduce overly agressive truncation (8051e980)
    • fix select label not updating on option model changes (4f3c5d91, closes #3052, #3909)
    • select no longer overflows window, resizes from small to big correctly (ee4ab189, closes #5291)
    • fix IE 11 select not growing (4306331c)
  • tabs:
  • toast: switch content to textContent to unify w/ dialog. Deprecate content (1eeafee4)
  • toolbar: add support in scrollshrink to ngshow/hide (eb94d640, closes #5706, #5863)
  • tooltip: tooltip sometimes not hidden after element is disabled. (7920dba1, closes #5912)
  • util: added toUpperCase to nodeName (6260a769, closes #5609, #5771)

<a name“1.0.0-rc4”>

1.0.0-rc4 (2015-11-13)

Features

Breaking Changes

  • Dialog presets for alert and confirm no longer have a content option. There is now textContent and htmlContent. In order to use htmlContent you must load the ngSanitize module. HTML will not be compiled as an Angular template to prevent XSS attack vectors.

Bug Fixes

  • autocomplete: adjusts dropdown position for standard input style (44d1636b, closes #5558, #5680)
  • datepicker: icon jumping upon open/close. (e73c560b, closes #4570, #5703)
  • dialog: break content into textContent and htmlContent to help keep users from acc (6a564508)
  • input:
  • mdMenu: fix attempting to close non-existant nested menus (6bf98aa6)
  • menu:
    • all menus no longer self destruct when one is destroyed (667a05ff, closes #5395)
    • fix divider disappearing on scrolling menu (3ab6aa35, closes #5081)
    • menu items are not aligned in Microsoft Edge (818652d4, closes #3987, #5487)
  • ripple: Fix failing spec. (fe84405d)
  • select:
    • disabled option no longer reacting to hover and closing on click (ab0ffc4d, closes #4967, #5619)
    • fix floating label not rendering until focus (a3a0f48c, closes #5566)
    • fix auto-complete element not being removed from form (2760f67e, closes #5575)
  • toast: added position relative to toast parent (617ab2c8, closes #4542, #5660)

<a name“1.0.0-rc3”>

1.0.0-rc3 (2015-11-06)

Features

  • datepicker: predicate function to allow fine-grained control over pickable dates (9522148b, closes #4538, #5475)
  • ripple: ink-ripple is now getting an interpolated value (fbcc3acc, closes #5438, #5580)

Breaking Changes

  • Buttons with undefined type will have type=“button” assigned, so forms may not submit as previously expected.

Before:

<button class="md-button" ng-transclude>

will become

<button type="button" class="md-button" ng-transclude>

Fixes #3127. Closes #5468.

(747ef826)

  • md-on-append has been renamed/deprecated in favor of md-transform-chip or the simple notifier md-on-add.

We expect to remove this completely in 1.0, so please update your code to use one of the new methods.

Fixes #4666. Fixes #4193. Fixes #4412. Fixes #4863. Closes #5497. Closes #3816.

(d69d6d0b)

  • adding actions to md-card is now done through <md-card-actions> rather than <div class=”md-actions”>
  • adding actions to md-dialog is now done through <md-dialog-actions> rather than <div class=”md-actions”>

Bug Fixes

  • autocomplete:
  • button: set color of disabled button to highest css priority. (ce2f28d0, closes #5569, #5574)
  • card: now md-card-actions (f8c003c3)
  • components: fix issue with removeClass removing previous classes (bd65bf74, closes #5538)
  • datepicker:
    • apply ngMessages errors when using text input. Fixes (3c9ba380)
    • throw error if model is not a Date. For #5266 (71976be8)
    • throw error if inside md-input-container. For #5055 (5004a2a6)
    • properly set ngModel validity. (b4d77330, closes #4926)
  • dialog: now md-dialog-actions (bf08e179)
  • fab: Remove transition for fabs on ng-hide. (e778cdd4, closes #5235)
  • input:
    • ngMessages will no longer cause layout to change on animation (faa8b5b7)
    • fixes input height in IE11 (ee98b70f)
  • layouts: removeAttr RTE on comment nodes (6879c6f4)
  • lists: Fix alignment of secondary icons/controls. (3b835ca6, closes #3699, #5533)
  • mdUtil: fix disable scroll adding extra scroll-bars on IE (d59bd5e7, closes #5300)
  • menu-bar: fix sibling nested opening and closing incorrectly (ead4d022, closes #5119)
  • menubar: fix RTE with close dialogs invoked from menubar (5c129be4, closes #5476)
  • progressLinear: Remove extra semi-colon from SCSS. (06c60af4, closes #5260)
  • ripple:
  • select:
    • fix escape closing dialogs when used inside select (f31d2552)
    • fix ng-change over firing when using trackBy (41671e2d, closes #4118)
    • ngModel.$touched trigger after menu close (0917523d, closes #5256)
    • allow circular references (cba5fa72, closes #5330)
  • sidenav: Notify other close events like datepicker-close too (2a76887c, closes #5522, #5528)
  • subheader: Remove 16px right margin. (bb839317, closes #4389, #708, #4419)
  • tabs:
    • fix positioning absolute/fixed elements inside md-tab-content (65e15bf4, closes #4613)
    • icons in tab labels should match the text color (fcd199ea, closes #5465)
  • toolbar button: Fix color of raised buttons. (0690e1b6, closes #4845, #5562)
  • virtual-repeat: Prevent nested calls to virtualRepeatUpdate_ (821d1a34, closes #4950, #5009)
  • virtualRepeat: Add ability for container to resize after creation (d6d7b084, closes #5561)

<a name“1.0.0-rc2”>

1.0.0-rc2 (2015-10-29)

Breaking Changes

  • layout:
    • flex=34 and flex=67 are no longer supported; use flex=33 and flex=66 for 1/3 and 2/3 sizing respectively
    • layout-margin and layout-padding styles will apply to all children of layout=row and layout=column
  • backdrop: when backdrop parent is the body, backdrop will use position: fixed
  • input: form elements will now have an external display value of inline-block

Bug Fixes

  • autocomplete: clicking on the scrollbar will no longer close dropdown (309cef5d, closes #4785, #4625)
  • backdrop: use fixed position for global backdrops. (a8537e63, closes #2831)
  • dialog: make sure dialog only destroys itself. (e8cfce2e, closes #5157)
  • layout:
    • layout-margin and layout-padding fixes for child containers (4649b93b, closes #5425)
    • fix wrapping and filling layouts to 100% using flex-33 or flex-66 (a4a4a45b, closes #5346, #5348)
  • md-chips: appendChip disallows identical objects (03db13d8, closes #4466, #4479)
  • mdChips: Autocomplete styling is incorrect. (3bf6eb38, closes #4600, #4621)
  • speedDial:
  • tabs: will no longer jump to top when changing tabs with md-dynamic-height (4205be7d, closes #4281)

<a name“1.0.0-rc1”>

1.0.0-rc1 (2015-10-21)

This is the first release candidate for our 1.0 beta. We believe that the API is complete and are working towards closing out remaining bugs.

Features

Bug Fixes

  • autocomplete:
    • adjusts vertical offset of dropdown to account for ngMessages in floating label (ae00a7fd)
    • fixed integration with dialog (1df38df7, closes #3979, #5154)
  • datepicker: fix theme not being applied. (f20a6354, closes #5141)
  • dialog: Provide option to not autowrap templates. (87d62300, closes #4898, #5237)
  • divider: Fix stlying for md-divider inside md-list-item. (5218c18b, closes #3021, #5058)
  • layout:
    • Prevent class overriding when lastClass is null (9025f4de, closes #5257)
    • standalone layout css flex-grow and flex-shrink updated (7b8acac1)
    • provide missing SCSS variables for standalone Layout css (f966d0f9)
    • fix flew-grow and flex-shrink values for flex-xx=‘xx’ markup (9f704302)
  • list:
    • restore ui-sref and href support on md-list-item (f8a8b3c5, closes #2131)
    • adds support for data-ng-click in place of ng-click for buttons (2ecbb8f7, closes #3374)
  • md-slider: set step property relative to min (441cbf11, closes #4403, #4385)
  • mdCard: Content padding not showing in IE 10. (57bd0c64, closes #2974, #5120)
  • select: do not let empty arrays satisfy required on multiple select (9f561a56, closes #4604)
  • tabs: fix tab paging and sizing on IE11 when tabs are in a dialog (5034a044, closes #3953, #5096)
  • tooltip: corrected md-tooltip positioning when scrolled (f62f6934, closes #2406, #5161)

<a name“0.11.4”>

0.11.4 (2015-10-13)

Bug Fixes

  • input: fix border-bottom transparency (5da3c456, closes #5128)
  • list: ng-click changes item width in IE (9b918cbc, closes #3708)
  • mdCard: Fix card image height in IE. (f54275ad, closes #761)
  • theming: no longer apply md-default-theme class to unnested themable elements (5eb94a55, closes #4846)

Breaking Changes

  • theming no longer apply md-default-theme class to unnested themable elements

<a name“0.11.3”>

0.11.3 (2015-10-12)

Features

Breaking Changes

  • Material Layout attribute offset should now be flex-offset.

    Change your code from this:

    <md-content flex offset-gt-sm="33" > ... </div>
    

    To this:

    <md-content flex flex-offset-gt-sm="33" > ... </div>
    

(ad1b78bf)

Bug Fixes

<a name“0.11.2”>

0.11.2 (2015-10-01)

Bug Fixes

  • checkbox: prevent ng-click firing on didabled checkboxes. Fixes (1cae87c2)
  • datepicker: stop calendar going off-screen if body is scrollable.. (3c876c1b, closes #4781)
  • layout:
    • add border-box style to to all .flex variants (b1974bb0)
    • resolve minify bug with flex css (b1fb32c7)
    • conflict with [flex=‘initial’] (f636bcc8)
    • improve logic for layout > flex specificities (77c050ae)
    • improved css specificity for layout (381a0baf)
  • select:
  • sidenav: resolve jQuery conflict with handler (1a61e2ea, closes #4876)

<a name“0.11.1”>

0.11.1 (2015-09-25)

This release resolves many issues and include the following notable changes:

  • Fixes to support browser navigation (or $location changes)
    • properly close Menu, Select, Dialog, Bottomsheet, and Toast components in open states.
  • Dialog components enhanced
    • support adding dialog custom CSS
    • dialog resizing as the browser window resize
    • auto closes during navigation changes
  • Layout (flexbox) features have been improved with
    • a smaller CSS footprint,
    • better support for media triggers,
    • improved specificity for hide- and show- flags
    • Fixes media trigger .layout-<xxx>-row and .layout-<xxx>-column layouts
    • Add support for to observe and interpolate Layout Attribute values
    • Allow flex-order to be negative
    • apply flexbox workarounds per Flexbox Workarounds: use flex longhand notations with workarounds
      • add support for flex=“1”, flex=“auto”, and flex
      • add references to online specs/resources
      • fix flex-33 and flex-67 max-width and max-heights
      • fix layout-align to use max-width
  • A consistent API is now provided for flushing animation states during testing.
  • CI testing now performs sandbox testing for Angular 1.3.x, 1.4.x, and 1.5.x.

Developers are requested to always test with the latest versions. And any CodePens provided in issue reports should use:

Features

  • datepicker:
  • dialog: allow specifying parent by string selector. support to add dialog custom CSS and dialog resizing as the browser window resize. (5551699c)
  • layout: support to disable attribute translation to class notations. restore max-width for layouts (bf77109c)
  • input: Add support for both labels and placeholders. (b5dd1507, closes #4462, #4258, #4623)

Bug Fixes

  • autocomplete: re-adds support for custom item names in autocomplete templates (8849213c, closes #4667)
  • codepen: improve use of external css (cdcf31d6)
  • dateLocale: guard for setting midnight to null. (65abc82c, closes #4780)
  • datepicker:
    • prevent calendar clipping on small screens. For #4558 (64fb8037)
    • ngModel updates for empty input. (416dc4c0, closes #4643, #4648)
    • make dark theme picker not terrible. (e80c6214, closes #4614)
    • handle DST incocnsistency encountered in some timezones.. (562e41a6, closes #4215)
  • dialog:
    • resolves issue where dialog templates were displaying HTML as text (ea9890f1)
    • resize top and height on window resize (3e34e021, closes #4513)
    • incorrect dialog placement if page is scrolled (1fc76229, closes #4115)
  • fabSpeedDial: remove keyboard handlers on scope destroy (3516a85b, closes #4681)
  • general: common disabled behavior for switch/slider/select. (86d876bf, closes #3797, #4654)
  • gridlist: improve getTileStyle() to use rowCount (0853f2c8, closes #2741)
  • input:
  • interimElement:
  • layout:
    • prevents missing body error in unit tests (c3a2adaa)
    • resolve incorrect and duplicate layout tests (5d9f9607, closes #4740)
    • restrict directives to attributes only (e8b60de9)
    • device size attributes should not set max-width or max-height (8b210c38)
  • list:
  • listItem: fix menu triggering proxy elements (c7ff50ca, closes #4303)
  • menu:
  • ripple: ripple will no longer be triggered on disabled elements (313342cf, closes #5445)
  • select:
    • multiple no longer sets form to $dirty (09bd5a3b, closes #3933)
    • fix undefined class on select container (5ca0b2b6, closes #4184)
    • fix options not closing with explicit md-select-label (3c0d21ef, closes #4387)
  • sidenav: binds remove function to prevent errors (5346de47)
  • switch: inverted logic in md-switch dragging (316b4c82, closes #4549, #4560)
  • tabs: addresses potential $digest already in progress error (4a16038b, closes #4743)
  • theme: input placeholder color style fixed for Chrome (85dceef4, closes #4162)
  • tooltip:
  • util: improve parse logic in supplant() (81b633c1, closes #4511)
  • utils: extractElementByName() and findFocusTarget() logic improved (a5d84c37, closes #4532, #4497)
  • virtualRepeat: prevents digest if digest is already in progress (acbf293d)
  • whiteframe: working with dp insted of z-index (b37ac3ad, closes #4706)

<a name“0.11.0-rc2”>

0.11.0 (2015-09-08)

This release includes all changes from RC1 and RC2.

<a name“0.11.0-rc2”>

0.11.0-rc2 (2015-09-03)

This release is comprised of 1 major effort:

  • Performance and API improvements for ProgressLinear and ProgressCircular

Features

  • progressCircular: css reduction with js animations (b1f7dc41)
  • progressLinear, progressCircular sync logic, fix linear animations, performance upgrades (d74f93a84)
    • synchronize progressLinear with similar logic used in progressCircular.
    • improve animation performances
    • watch md-mode for changes
    • refactor animation SCSS
    • enable hiding and no-animations with undefined/empty md-mode attributes
    • for both indicators, use display:block;
    • update demos with enable switch
    • fix query mode
    • update Select to use enhanced progressCircular component
    • fix autocomplete styling of progress-linear.md-mode-indeterminate
    • auto-inject md-mode attribute if missing
    • use ‘determinate’ if value attribute is defined
    • otherwise use ‘indeterminate’
    • $log.debug() notify user (via $log.debug) of injection
    • add API doc details regarding md-mode auto-injection
    • fix tests Fixes #4421. Fixes #4409. Fixes #2540. Fixes #2364. Fixes #1926. Fixes #3802. Closes #4454.

Breaking Changes

  • progressLinear and progressCircular indicators explicitly set display and position styles

Before:

md-progress-linear {
  display: block;
}
md-progress-circular {
   // display not set
   // position not set
}
md-progress-linear {
  display: block;
  position: relative;
}
md-progress-circular {
  display: block;
  position: relative;
}

Bug Fixes

  • dialog:
    • allow Confirm dialogs to have empty/undefined content (ffbcff39, closes #4429)
  • gesture: fix overzealous preventDefault on label+input clicks. (912bcefd, closes #4110, #4110, #4223)
  • mdSubheader: Non top-level md-content causes incorrect position. (391479b0, closes #4420, #4439)
  • mdToolbar:
  • ripple:
    • fixes ripple when jQuery is loaded (4e048ff8, closes #4375)
    • fixes js error on button click for date picker (be4311ac)

<a name“0.11.0-rc1”>

0.11.0-rc1 (2015-09-01)

This release is comprised of three major efforts:

  • Release of new components: DatePicker and MenuBar
  • Performance improvements to Layout and use of Flexbox
  • Performance improvements to Ripple

Features

  • calendar:
    • Add date completion detection (d6457e27)
    • more fine-tuned a11y (c3bf8400)
    • cleanup and i18n (0e8be31e)
    • Add metaKey keyboard shortcuts (733431b4)
    • change coors to be in terms of the theme (78f8eea0)
    • improve datepicker css (56df8d51)
    • add clickable arrow button and placeholder (c9a23242)
    • add calendar icon and associated styles (24ae0fa3)
    • implement virtual scrolling in calendar (34eb48cf)
    • fix up $$mdDateLocaleProvider and use in calendar. (36eae116)
    • starting work for date-picker. (b158d15b)
    • fix up $$mdDateLocaleProvider and use in calendar. (b789eef8)
    • starting work for date-picker. (7b70d74e)
    • fix up $$mdDateLocaleProvider and use in calendar. (f3457b86)
    • starting work for date-picker. (9b0b861e)
  • chips: Add md-on-remove attribute. (7037b394, closes #3190)
  • contactChips: Add md-highlight-flags support. (00474c39, closes #3182, #4278)
  • datepicker:
    • Add min/max dates in datepicker (cecba236, closes #4158, #4306)
    • Add theme color and border width on focused datepicker (1fcd0179)
    • Debounce datepicker input element event (5d088d3a)
    • Add invalid class for datepicker (40c7a8f5)
    • add docs with usage for $mdDateLocale (bd4dc668)
    • add documentation for datepicker (4211d212)
    • a11y experimentation (1400d25e)
    • fixes for a11y (6480d710)
    • opening animation and better shadow (a1844f71)
    • change colors to theme (26dbbf8b)
    • floating calendar panel for date picker. (e6b1d239)
    • binding for the date-picker (cc10fa94)
    • floating calendar panel for date picker. (a324e66c)
    • floating calendar panel for date picker. (b1f6e1a0)
    • binding for the date-picker (8a8824a1)
  • mdChips: Add md-on-select expression support. (333984f2, closes #4088)
  • mdToolbar: Vary height depending upon device width/orientation. (b6e10989, closes #2047, #4161)
  • menuBar: add menu bar component (d9ba0e13, closes #78)
  • theming: add hue-specific contrast support (c4f9f504)
  • virtualRepeat: Infinite scroll and deferred data loading (d68b4f6f, closes #4002)

Breaking Changes

  • Layout (flex, layout, etc) use Class selectors instead of Attribute selectors

  • Backdrop animates opacity instead of background-color

  • Menu button ripples inherit border-radius.

  • ProgressCircular uses class selectors instead of attribute selectors

  • Ripples are completely rewritten

  • modify scope of box-sizing: border-box to be specific to only to elements owned by ngMaterial.

Before:

*,*:before,*:after {
  box-sizing: border-box;
}

.md-container { }

After

.md-container {
   box-sizing: border-box;
}

Refs #3516. Closes #4222

(fbb6b28c)

  • dialog content text is now injected into div.md-dialog-content-body

Before the template used was:

<md-dialog-content>
   <h2></h2>
   <p></p>
</md-dialog-content>

Now uses:

<md-dialog-content>
   <h2></h2>
   <div class="md-dialog-content-body">
     <p></p>
    </div>
</md-dialog-content>

Fixes #1495.

(81e94b4f)

Bug Fixes

  • autocomplete: not found message no longer gets stuck (f2e6b162, closes #4309)
  • build:
    • lock CI tests to use Angular 1.4.4 (8157dece)
    • correct detection and generation ngMaterial module definition (d85e14af)
    • parse module definitions for material only or general (e4ca61f0)
    • buildNgMaterialDefinition RegExp updated (391cff58, closes #4305)
  • calendar:
    • ensure all instances are removed from DOM after tests. (e314072e)
    • Update ngModel instead of ctrl.date on input change (36d355a9)
    • fix broken unit tests (b60bd35c)
    • fix incorrect angular.bind use (70467da3)
    • remove non-working VoiceOver fix hack (a22b002b)
    • clean-up code after a11y experiments (0777cd98)
    • fix voiceover scrolling already-scrolled calendar. (db3d06e9)
    • fix broken unit tests for component rename and focus changes. (a3786ce7)
    • fix focus behavior on open (fa7b3830)
    • add remaining missing tests for dateUtil (8443fd5a)
    • Make calendar directive IDs unique (406ffe6a)
    • Make calendar directive IDs unique (cde67d61)
    • add remaining missing tests for dateUtil (7fe79319)
  • chips:
  • css: remove styles that could apply to user-controlled elements. (fbb6b28c, closes #4222)
  • datepicker:
    • fix bad valid date check and resize-on-open. (1fb8ab5a, closes #4270)
    • update input size and invalid class on calendar click (18458b74, closes #4262)
    • fix error w/ null date model value. (bafbacb3, closes #4232)
    • add missing type=“button” and check for pane being in the DOM before removing. a (314a05df, closes #4214)
    • fix oblong open button. (db815dba)
    • fix ngDisabled not working with jQuery. (51436568)
    • prevent scrolling while calendar pane is open. (e6053736)
    • fix pane position when pinch-zoomed (1e28d521)
  • dialog:
    • improve support for template and templateUrl options (22c34bad, closes #3191, #4206)
    • enable support for html content for alert and confirm dialogs (81e94b4f, closes #1495)
  • docs: Build on Windows results in broken docs site (35ce9b8f, closes #4226, #4227)
  • fabSpeedDial: support all ng-repeat variants, fix CSS height (17676e6f, closes #3632, #3370, #3796, #4006)
  • fabToolbar:
  • font: use Roboto font instead of RobotoDraft (aa7f83aa, closes #4063, #4064)
  • gesture: fix overzealous preventDefault on label+input clicks. (912bcefd, closes #4110, #4110, #4223)
  • icon:
    • Log network errors without throwing exceptions. (e2a8f292, closes #2530, #3718)
    • don't guard adding icon class on presence of class attr. (1daa8bce)
  • input: fix bad label initialization when using static value. Fixes (f98e8514)
  • layout: corrections to material.core.layout module and tests (46b5500c)
  • md-month: fix overwriting offset for initial months. (3598e6d9)
  • mdBottomSheet: Enable touch interaction on mobile devices (1a90a727, closes #4327)
  • mdChips:
  • mdSelect:
  • mdToolbar: Allow md-scroll-shrink usage with ng-if. (9b861fdb, closes #2751, #4394)
  • progressCircular: css reduction with js animations (b1f7dc41)
  • ripple:
    • fixes ripple when jQuery is loaded (4e048ff8, closes #4375)
    • fixes js error on button click for date picker (be4311ac)
  • select:
  • sidenav: add valid transition to close animations (e26a2754, closes #3576)
  • slider: Update CSS to better conform to spec. (7fd8b098, closes #2427)
  • sticky: improve onScroll logic (40e5469d)
  • subheader:
  • tabs: Fix 0-height animation on iOS devices. (9ac7496e, closes #4339, #4341)
  • tooltip: Fix md-tooltip showing when window receives focus (954cab5e, closes #3035, #4191)
  • virtualRepeat: Virtual repeat starting off empty #3807 (38f2c35d, closes #4112, #3807)

<a name“0.10.1”>

0.10.1 (2015-08-11)

Features

  • autocomplete:
    • adds md-input-id to allow the user to provide a custom ID for autocomplete inp (9931e2a8, closes #3481)
    • adds a new attribute option md-select-on-match (d16d2b66, closes #3324, #3825)
    • Add promise support to md-item-text (7430e687)
  • menu: do not propagate event in mdOpenMenu (b8045df5, closes #3296, #3332)
  • select:
  • tabs: setting md-selected to -1 will allow md-tabs to function without forcing a (27783df9, closes #3172)
  • virtualRepeat:
    • Add md-auto-shrink and md-auto-shrink-min (79dcbf73, closes #3536)
    • add md-start-index attribute. (9a045fb7)
    • allow for scrolling areas larger than the browser's maximum element size. (98e91ae2)

Breaking Changes

  • input: change min-height for textarea to one row (and remove extra padding space); set rows=1 since it defaults to 2

(2132cd29)

  • css: media queries for sm, lg, and md have modified max-width values

(51dbd402)

  • button: md-button class now uses display: inline-block instead of display: flex; removes associated flexbox styles

(fd331c87)

  • dialog: changes classes transition-in and transition-out to md-transition-in and md-transition-out

(4210ade7)

  • md-select-label has been removed. Users must use md-input-container and label going forward.

(712bc721)

Bug Fixes

  • ** sidenav:** corrected use of internal $toggleOpen() (6f72befb)
  • $mdConstant: fix overlapping in media-queries (61a0e539, closes #3423, #3451)
  • autocomplete:
    • hitting escape once again clears the search text (99e8e2c2, closes #3847)
    • re-adds preventDefault calls to keydown event (d52e9c29)
    • keyboard input used by autocomplete will now call $event.stopPropagation() to (2781eac5, closes #2931)
    • promises that resolve immediately will work properly (b316bba9, closes #3117)
    • changing windows while typing (with no results) no longer breaks scrolling (c0659cc8, closes #3546)
    • addresses bug with AngularJS 1.4.1 (a52c943a, closes #3637)
    • fixes z-index issues with autocomplete menu (d75b5924)
    • tests wait for promises to complete now (9990e618, closes #2462, #2710)
    • fixes infinite digest issue in IE11 (f5959cc2, closes #3101)
    • selecting an item while loading will now hide the progress bar (7314e12d, closes #3478)
    • ngMessages should once again work with mdAutocomplete (2ccbc9da, closes #3401)
    • fixes issue in Firefox/Linux where textChange is not a function (1be46cb9)
  • backdrop:
    • use absolute positioning and anchors (87bdf36a)
    • set css position: fixed to md-backdrop (4011df9c)
  • build: reset to using Angular v1.3.15 until animation issues resolve (17490baf)
  • button:
    • fixes button styles for components that override their default styles (b1046bc0)
    • fixes button styles so that and examples look identical (b1a144db)
    • fab buttons will no longer distort when used with flexbox (8de8f7ae, closes #2797)
  • chips:
    • prevents unnecessary ellipsis in chips (7fed14eb, closes #2688)
    • prevents styling issues caused by extremely long text (e9b4de54, closes #3523)
    • makes sure that input is cleared when selecting a chip (ee1fed19, closes #3575)
  • compiler:
  • css:
    • global page style improvements for min-height and text (76cfd706)
    • stop using @extend for rules in a different module. (fb7b9b39, closes #3400)
  • demo: button needs layout-wrap attribute (0d6e5acb, closes #3687)
  • dialog:
    • adds logic to account for image load delays that could impact content height (3aab9e4e)
    • set css position: fixed to .md-dialog-container (01859080)
    • autoclose fixed and close animation shrinks to originating element poisition. (94341209, closes #3555, #3541, #2479)
    • switch dialog to use disableScroll, fix focus trap (862444a8, closes #2443)
  • disableScroll:
    • fix z-index getting set too large (44fda3d7, closes #3501)
    • fix disable scroll breaking layout for fixed page layouts (ddfe5230)
    • fix disable scroll creating scrollbar when none existed (7fe482cf)
    • fix scroll mask z-index blocking backdrops (b4eac137, closes #3283, #3269, #3245)
  • docs: style tables w/ css class instead of element. (605cd94a)
  • fabActions: corrected use of postLink (f91a3845)
  • fabSpeedDial:
  • fabToolbar: fail gracefully if no icon used in trigger (5d2bcbf9, closes #3223, #3601)
  • highlightText: changes to the template data will update the generated HTML (eda47822, closes #3550)
  • icon: when specified, the defaultFontSet class should be used. (f5a9101a)
  • icons: improve use of material-icons style (dab30b34, closes #3333)
  • input: textarea with rows provided will no longer throw an error (e38a2c82)
  • interimElement:
  • layout: explicitly adds webkit prefix for safari (778af934)
  • mdTooltip: fix regression that broke tooltips on Firefox (6fc9212c, closes #3047, #3250, #3430, #3467)
  • mdUtil: fix double scrollbar (7ed0af6b, closes #3382)
  • menu:
    • ensure menu button is type=button (d203d722, closes #3821)
    • fix memory leak on component destroy (1a9a5300, closes #3775)
    • cleanup click listeners on close (9b57c2ec)
    • fix menu positioning when using display:none items (8609318f, closes #3444)
    • fix scrolling menu always showing scrollbar (86e9bf0d)
    • make menu close with ui-sref and ng-href (dc011491, closes #3397)
    • menu not closing with clicks that disable element (c7c7180a, closes #3288)
    • fix potential scoping issues on mdMenu (4a6cd566)
    • fix error on clicking on menu container element (f94820e6, closes #3252, #3369)
    • fix options with x-ng-click and data-ng-click not working (17f38b0b, closes #3258)
    • prevents scrollbar from unnecessarily showing up on the body (5c08d5c9, closes #3266)
  • ripple: fixes typo in ripple code (c93ba5c9)
  • select:
    • interimElement will resolve its promise even when transition end event is not fi (d6a938e9, closes #3704, #3780, #3800, #3794)
    • restore ngModel functionality (86a4ca99, closes #3767)
    • fix slight pixel miss-alignment on select open (2b423587, closes #3594)
    • fix positioning when using option groups (d8d3e4ca)
    • remove correct controller from formCtrl w/ name (ed6b45c7, closes #3062, #3671)
    • fix select value not filling parent (14786283)
    • fix duplicate keydown listeners after select shown (3e3eb9ef, closes #2616)
    • fix cycle option focus after keyboard search (cc8850b3)
    • fix select-menu width being incorrectly computed (18d8ae03)
    • fix select-value label not filling select width (ba60122e)
    • fix empty attribute for selected not selecting options (4f7af228, closes #2114)
    • mdInputContainer not realizing select had value (1a8acd02)
    • fix double label issue using placeholder in md-input-container (cbbb4b98)
    • fix menu positioning inside fixed elements (044dbdc3)
    • fix md-select with no placeholder outside of md-input-container (4be344bb, closes #3483)
    • refresh optionNodes reference (05119a71, closes #2109)
    • IE down arrow key error resolved (c183e9b4, closes #2109)
    • make select popup inherit theming (691dd2fa, closes #2483)
  • slider:
    • check for invalid discrete step value (273fff4c, closes #3590)
    • render issues with ticks that occur when parent elements are resized (5b0c256a, closes #1996, #2764)
  • tabs:
    • fixes size logic for centered tabs (5722449b)
    • removes scope disconnect logic from tab templates (2976add7, closes #3692)
    • theme palettes will no longer be inherited from parent elements (0667380d, closes #3150)
    • fixes errors thrown when user-defined click events triggered their own digest cy (1b984ed6)
    • internal scope will now be the same as external scope (c5c148df, closes #3300)
    • prevents error when navigating away from tabs section while using Angular 1.4.x (31bb1210)
    • focused item will once again scroll into view properly on focus (5616f48f)
    • fixes md-swipe-content support (0982c76a, closes #3225)
    • md-center-tabs should work now (aa1e47d3)
    • limits the width of tabs to the width of md-tab-canvas (46ffa9eb, closes #3577)
    • reduces the number of watchers by using bind-once syntax for non-changing items (6f63d708)
    • properly sets initial styles for inkbar when using centered tabs (8ccf67e5)
    • fixes md-stretch-tabs with one-way binding (cd3e8a1c, closes #3547)
    • fixes md-center-tabs support with recent changes (4867e318, closes #3549)
    • prevents an error from being thrown if an empty attribute md-selected is added (f5cd5a07, closes #3537)
    • improves performance by reducing the number of digests caused by tabs (556be5fb)
    • prevents error on empty tab list (3e7ff23c, closes #3264)
  • tests:
  • textarea: Start at a height of one line (52ca5e5a, closes #2953, #2154)
  • theming: make theme inheritance not depend on DOM order (73b1df4b)
  • toast:
    • differentiate between hide action clicks and hide timeouts (285ac72d, closes #3745)
    • replace cancel with hide on hideDelay (2b687133, closes #3558)
  • util: fix timeouts in transitionEndPromise() (602f4904)
  • utils: update for Angular 1.4.1 compatibility (7ca139af, closes #3315, #3325)

<a name“0.10.0”>

0.10.0 (2015-06-15)

Features

  • fabSpeedDial: adds fabSpeedDial component (e813dcdb)
  • fabToolbar: adds fabToolbar component (30a53c30)
  • menu: add a basic dropdown menu component (3f6b4af4, closes #3173)
  • select: add mdOnClose expression eval event (d7bfc86f, closes #3217)
  • tabs:
    • replaces unnecessary watches with getter/setter syntax for improved performance (c806e8be)
    • adds support for md-autoselect (8285e2d0)

Breaking Changes

  • The API has changed for md-icon - iconSize has been changed to viewBoxSize

(f93e117a)

Bug Fixes

  • autocomplete:
    • prevents an error when passing null instead of an array (afa213df)
    • waits for screen to reposition on focus before locking scrolling (6bfc31ea, closes #2973)
    • fixes typo in autocomplete mouseup method (67817713)
    • locks scrolling while autocomplete menu is visible (deae957b, closes #2973)
    • fixes issue where setting a min-length of 0 was not working (d3f65195)
  • button: fixes style inconsistencies between md-buttons using a and button under th (cc07e63d, closes #2440)
  • checkbox: adds ability to click links within checkbox (999e0da2, closes #852)
  • icon: Change iconSize param to viewBoxSize. (f93e117a, closes #1679, #3123)
  • icons: support for ngDirectives using compile phase (9521a1e0)
  • mdMenu:
  • radioButton: fixes potential theming bug due to CSS specificity (e8ec2b5e)
  • select:
  • tabs:
    • programmatically changing tabs will now adjust pagination to show the selected t (6d45f104, closes #3139)
    • calls on-select for the initially selected item (cc1d9d2b, closes #3169)
    • fixes CSS to respect non-truthy values for md-dynamic-height (60197180, closes #3184)
    • fixes centered tabs for Safari (25526864, closes #3198)
    • nested tabs should now work properly when using md-tab-label and md-tab-body (e3e52c2c, closes #3206)
    • fixes infinite digests bug in Firefox (781929d7)
    • fixes issue with tab pagination in Angular 1.4 (4273f52b)
  • theming: fixes bugs with progress circular and select theming (3ac50acc)

0.9.8 (2015-06-08)

Bug Fixes

  • tabs:
    • prevents tabs from shrinking when used with flexbox (dd041927, closes #3011)
    • prevents select/deselect events from firing on destroy (1ba0686e)

0.9.8-rc1 (2015-06-05)

Features

  • autocomplete: custom template demo (7d2deb7e, closes #2505)
  • docs:
  • icons: api changes for font-icons (498048dc)
  • tabs:
    • adds an opt-out option for disconnecting tab scopes (4c1bf4b6)
    • makes swipe gestures on the content area opt-in (03d01e96, closes #2331)
  • theming: reduce specificity of default-theme selectors (8468c600)

Breaking Changes

  • Tabs will now require the md-swipe-content attribute in order to enable swipe gestures to change tabs in the content area.

(03d01e96)

Bug Fixes

  • add missing alt attribute to logo in docs (19ad66d1)
  • autocomplete:
    • selecting an item will hide the menu in IE11 (0c073d10, closes #2188, #3008)
    • removes flicker of ‘not found’ message with async results (08532b40)
    • adds cleanup step when autocomplete is destroyed (e3a82c92, closes #2624)
    • fixes positioning of progress bar (85a75909, closes #3115)
    • updates docs, removes clear button when using a floating label (86b4afab, closes #2727)
    • selecting a value will now flag the form/input as $dirty (217cae1f, closes #2753)
  • list: support empty list-item(s) (e9ad5491, closes #2649)
  • slider:
    • fix for attributes being ignored (07295879)
    • increment the value properly when step is a decimal number (476d068c, closes #2015)
  • styles: fixes theming specificy regarding border colors (264f043e)
  • tabs: fixes continuous $digest bug in Firefox when using md-stretch-tabs (5372710a, closes #3101)
  • tooltip:
    • moves tooltip to the $rootElement rather than body or md-content (32b0facc)
    • tooltip will attach to the body rather than $rootElement (24ca2966)

0.9.7 (2015-06-01)

Features

  • autocomplete: adds support for validation/ng-messages (1f0a8450, closes #2808, #2664)
  • icons: add support for font-icons with ligatures and Material-Icon demos (a1074907, closes #3059)

Breaking Changes

  • autocomplete: name attribute has been changed to input-name to more clearly show its purpose

Bug Fixes

  • autocomplete:
    • only 2 messages will be displayed at any given time for autocomplete (6b4e95ce, closes #2785)
    • prevents text from going under the clear button (73e03a70, closes #2193, #2578)
    • prevents error on keydown when menu is hidden (a7dcfb6d, closes #2774)
    • autocomplete will no longer show the dropdown on value changes when not focused (c3ec08d8, closes #2756)
  • input: update disabled underline styles (8f2b2c68, closes #2870)
  • progressLinear: rewrites animation for progress linear (1d478ebd, closes #2762)
  • tabs:
    • adds ui-sref/ng-href support to tabs (6c53d112, closes #2344)
    • updating dynamic tab labels will now be reflected (8ac4fa1b)
    • select/deselect events will now fire when a tab is removed but the index does no (5e47b52b, closes #2837)
    • initial state will now scroll to selected tab (120c271b, closes #2838)
  • toolbar: add h1 to toolbar tools headings (c100ef10)
  • tooltip:
    • pointer-events ‘none’ used properly with activate events (667e4c24)
    • hide tooltip after mouseleave if focus is achieved through mousedown (e73d290c)

0.9.6 (2015-05-28)

Bug Fixes

  • build: fixes bug where versions in 0.9.5 comments were wrong. (7a1ad41f)
  • closure: fixes issue in core.js where multiple goog.provide lines were included

0.9.5 (2015-05-28)

Features

  • accessibility: additional Windows high-contrast styles (37bc5b6f)
  • button: md-icon-button to use round ripple (ab1e9e05)
  • listItem: allow use of own md-buttons (0ef4b79f)

Breaking Changes

  • Removed attach(button|tab|checkbox|list)Behavior in favor of composing an injectable ripple service specific to your target. $mdInkRipple was too aware of how to configure components. You now have access to $mdButtonInkRipple, $mdTabInkRipple, $mdListInkRipple, $mdCheckboxInkRipple.

    Change your code from this:

        function MyService($mdInkRipple) {
          //... Included for brevity
          $mdInkRipple.attachButtonBehavior(scope, element, options);
        }
    

    To this:

        function MyService($mdButtonInkRipple) {
          //... Included for brevity
          $mdButtonInkRipple.attach(scope, element, options);
        }
    
  • icons: Default size for md-icon has been changed from 28px to 24px

  • tabs: Replaces pagination transition with transform rather than left for performance

(3b0f12e3)

Bug Fixes

  • autocomplete:
    • uses $attr to support data- prefixed attributes (1dc56a6c, closes #2798)
    • resolves xss bug with autocomplete text highlighter (1538ebe9, closes #2901)
    • pulls in text content as HTML to prevent it from being un-escaped (33ac259d)
  • build:
    • build will now update CHANGELOG in master (859ceb18)
    • fixes issue where release tag doesn't match release branch (5f7b1e91)
  • button: makes icon-buttons round for ripple and focus state (98025aaf)
  • chips: removes box-shadow from inline autocomplete (bc407590)
  • demo: use relative path to img src (175fd54d, closes #2916)
  • docs:
  • list: correctly proxy ng-disabled attrs (a25bc0ea)
  • listItem: fix ng-enter having animation (41953d5a)
  • md-icon: change icon size back to 24px (3b305a3d, closes #2992)
  • minify: tabsDirective template function works when minified (c7ea4a78)
  • select:
    • respect id attributes if assigned (fc90fd31)
    • label not updating after objects resolved via promise (74259976)
  • subheader: theme is applied to sticky clone (e92686f0, closes #2779)
  • tabs:
    • re-adds disconnected scopes for tab content (e6f19d48)
    • uses ng-if to remove inactive tabs once their animation is complete (8dcaea8a)
    • replaces pagination transition with transform rather than left for performan (a8ff2ad1)
    • fix missing dependency (0b35c9b4, closes #2460)
  • theming: remove bogus hue value from grey palette (0c28cee2)
  • tooltip: use label instead of aria-describedby (198199c1)

0.9.4 (2015-05-15)

This interim release fixes an incorrect deployment of angular-material.js; which added the Closure Library Namespace features using goog.provide(). Only source in /modules/closure/**.js should use this namespacing.

Features

Bug Fixes

  • build: fixes issue where JS files were being generated with Closure code (ca940384), closes #2852)

0.9.3 (2015-05-14)

This release is also using enhanced scripting to automate the build and release processes. Releases will now also deploy versioned docs to http://github.com/angular/code.material.angularjs.org.

Bug Fixes

  • update rems to pixels (08b89921)
  • autocomplete: prevents not found message from displaying while results are loading (3d5bd948)
  • build: enable build of component modules. (8a886d79)
  • codepen:
  • dialog:
  • gesture: fix conflicts with Ionic (05788d24, closes #1528, #1528)
  • list:
  • tabs:
    • corrects css bug with tab-data positioning (a8fd0f4d)
    • reordering tabs should now work (5bc3f232)
  • tests: performance improvements and fixes to jasmine testing (786b0ed3, closes #2800)
  • toolbar: align last icon button to spec (f988255d, closes #2497)
  • tooltip: update to spec, remove max-width (8c60d9c7, closes #656)

Features

0.9.0 (2015-05-04)

Features

  • autocomplete: adds support for messages to be displayed when no results are found (e057e271, closes #2574, #1525)

Breaking Changes

  • styles: removes global line-height and font-size from html and body (666e3311)
  • icons: namespaces built-in icons (539ec5e3)
  • gridlist: md-grid-tiles must be direct children of md-grid-list (5d9142ea)

Bug Fixes

  • autocomplete:
    • improves logic behind scrolling items into view on keyboard navigation (211a31ea, closes #2615)
    • addresses issue where dropdown shows if there is an initial value (85846922, closes #2517)
    • fixes positioning issue with clear button (1fcb79a6, closes #2593)
  • button: disable warn and accent buttons (973c4d75, closes #2586)
  • compiler: make bindToController vars available to instantiation fn (e414091a)
  • dialog: makes sure that body is not more than 100% height when dialog is showing (6806f554)
  • gridlist: noops layoutDelegate (2b6dd4dc, closes #2613)
  • icons: namespaces built-in icons (539ec5e3)
  • input:
  • list: Do not ignore spaces in descendant textareas. (f737fb04)
  • select:
  • slider: adds box-sizing to fix slider ripple positioning (e982547b)
  • styles: fixes rem syntax for negative values (2fef6cad)
  • tabs:
  • toolbar:
    • prevents transition lag on ng-if/ng-hide/ng-show (544cb270, closes #2663)
    • adds shadow when content moves under ‘scroll shrink’ toolbar (92ed4657)
    • sets icon color to primary contrast color within toolbars (8ea0dc1d, closes #2622)

0.9.0-rc3 (2015-04-28)

Features

  • autocomplete: allows tab or enter to select an item (59015b09)
  • button: support angular-new-router ng-link (4b9dcab5, closes #2478)
  • tooltip: Support hide-* show-* and user defined css using “display: none;” (08132848, closes #2386)

Breaking Changes

  • content containers for md-dialog now require md-dialog-content to be more flexible with child content containers. This is more consistent with md-card, which uses md-card-content. (9dc62403)
  • md-input-containers no longer allow both label and placeholder to be used simultaneously. Now the placeholder value (if present) is transcluded as a label or ignored. When the placeholder value is ignored, a warning will be logged. (d931c0d2)

Bug Fixes

  • autocomplete:
    • adds support for the new $animate.pin() in ng-animate@1.4.0-rc.1 (790ccca6)
    • adds watcher for ngDisabled rather than 2-way binding (973a2fca, closes #2160)
    • allow undefined searchText and selectedItem (8fb60c34, closes #2515)
    • fixes issue where autocomplete suggestions were not hiding (da0a4f06)
    • fixes bug that prevented autocomplete results from displaying on focus if min-le (5e72bb3d)
  • bottomsheet: fix button styles (7bd97acc)
  • build:
    • adds missing quotes for closure build (041ffe94)
    • adds method that was missing from previous update (77420942)
  • button:
  • card: md-action-bar renamed to .md-actions (5610dc98, closes #2472)
  • chips:
    • fix $apply already in progress (daf680f0, closes #2458)
    • removes flicker when switching selected chip (55fa76a0)
  • demo: fix list demo secondary action. (7e5d5e34, closes #2471)
  • dialog:
  • docs: fix doc app toolbar breadcrumb when using back button (58f2c481, closes #2464)
  • gridlist: Tile ordering improved (5d9142ea, closes #2553, #NaN)
  • highlight: adds missing characters to sanitize method (ef0dce07, closes #2292)
  • icon: rem sizes, line-height for font icons (860d1f67, closes #2597)
  • input: improve layout when md-input-container has nested md-icon. (2dbe6a97, closes #2452)
  • interimElement: fix default parent grabbing svg body (952d5f50)
  • list:
    • prevents error when there are no child elements (f66e4718)
    • fixes line-height issues with list items and checkboxes/icons/switches (4b045b58)
    • fixes checkbox styles for list items (6a0b7015)
  • mdUtil:
    • move comment nodes as well when reenabling scroll (6a5a6a77, closes #2592)
    • move comment nodes as well when disabling scroll (160df4cf, closes #2456)
  • select:
    • add support for non-scrolling md-content (88612d65)
    • fix window resize listeners breaking after select shown (7c74050f)
    • fix error when removing node on route change (9d761878)
  • tabs:
    • select/deselect methods will now be called in the proper scope (02a4af56, closes #2489)
    • removes top border radius when tabs immediately follows md-toolbar (6372111c, closes #2394)
    • fixes styles for Firefox (6996edd3, closes #2543)
  • tests: support for Angular 1.4 and improved use of angular-mocks. (48ee9867)

0.9.0-rc2 (2015-04-20)

This RC2 release contains more polish and bug fixes to stabilize performance, layout, and improve the UX for Chips, List, Select, and Tabs.

Features

  • chips:
    • allows user to require a matched item - used with autocomplete (736cbdb0)
    • adds keyboard shortcuts to chips component (c62d4dfd)
  • list:
  • mdUtil: add md-overflow-wrapper-shown class to DOM (5a028092)

Breaking Changes

  • List
    • md-item has been renamed to md-list-item
    • md-item-content element is now a .md-list-item-text class
    • List styles of .md-tile-left changed to .md-avatar for avatar-like images
    • md-list-item uses .md-no-proxy and .md-no-style
  • Tabs
    • When using md-tab-label, the content of your tab must be wrapped in md-tab-body
  • Typography changes have significantly impacted the <h1>...<h4> types.

(f1db7534)

Bug Fixes

  • autocomplete: fixes positioning logic to fire at the correct time (8946322b, closes #2298)
  • button:
  • card: action bar spacing, remove order attrs (50ce4e8b, closes #2403)
  • checkbox: style checkbox without visual label (ab264807, closes #2175)
  • chips:
    • adds better focus handling for chips (def6d3a4)
    • fixes issue where arrow keys switch active chip while editing input field (1f261440)
    • fixes issue with deletion logic (6d4ecbee)
    • fixes shift+tab interaction with md-chips (314aae1c)
    • adds aria-hidden to remove buttons (79b07399, closes #2345)
    • adds slightly better support for input types other than text (d885d638)
    • prevents item deletion when text is selected (b65236b7, closes #2322)
  • dialog: action spacing matches spec (d7b23763, closes #2389)
  • input: expect input container to use placeholder for label fallback (8410c0d6, closes #2397)
  • inputContainer: style ng-messages as both element and attr (a5d09af5)
  • interimElement: add fallback to document.body if root node removed (3b3d0205)
  • list:
    • check child element length before detecting proxies (c964609e)
    • add ripple, inherit from .md-button (25cc5e8a, closes #2395)
    • fix key hijacking (e1ca13fd)
  • mdList: remove focus state on blur (588e58cf, closes #2339)
  • select:
    • fix scrollbars not respecting parent overflow hidden (b9ee6121)
    • fix select backdrop closing when parent is destroyed (2d66368c)
    • fix infinite loop condition (6e3b43cc)
    • fix 1px error to match md-input-container style (bd566a52)
    • add tabindex, aria-disabled support (40924003, closes #2308)
    • fix restore focus on select close (f55eeba0)
    • remove broken ARIA attributes (aaa6e5aa)
    • improve keyboard filtering (f3c113c9)
    • improve disable scroll layout (68395a25)
  • tabs:
    • tabs will no longer assume that all tabs have no content if the first one doesn't (1b789fed, closes #2398)
    • adds a queue for delayed function calls (0e2ccd23, closes #2402)
    • resolves issue where md-tabs is used within ui-view by removing hard require (43508032, closes #2414)
    • apply ARIA only to dummy tabs (5ad44728)
    • cleans up label/template fetch logic (17aecd2d)
    • id's should no longer cause issues when used within tab labels or contents (ea185eab, closes #2326)
  • tests: mock .flush() added for Angular 1.4.x (1e3f1a59)
  • textfield: removed unstable, deprecated textfield component Replaced with md-input-container (b5c4390b)

0.9.0-rc1 (2015-04-14)

The release of 0.9 is primarily focused on bug fixes and polish efforts. Also included in this upcoming release will be added support for List items and controls, Chips, re-architected Tabs, and improvements to Gesture support and documentation.

Features

Breaking Changes

Generated HTML and style improvements:

CSS
  • CSS Focus outlines not prevented by default
  • Box-sizing removed from body, applied to components
  • textRendering: optimizeLegibility removed from body, applied to a subset of elements
  • Font sizes, margins, padding in rem units
  • Roboto webfont included in SCSS
  • Typography: classes introduced for headings and body copy
  • High-contrast mode supported on Windows
HTML
  • Docs: Pinch and zoom re-enabled in viewport

Bugs fixed:

(f34eb800)

Bug Fixes

  • include Roboto as non-blocking (5936f7a0, closes #2247, #NaN)
  • switch focus on keyboard, use .md-focused (0e916bfc, closes #1336)
  • limit global list styles (fde08cc1)
  • refactor global CSS styles (6af1546d, closes #1442, #NaN)
  • autocomplete:
    • fixes menu flicker (9b2dc2c4)
    • updates the z-index to account for use within sidenav or dialog (3cc914d7, closes #2202)
    • hitting enter with an item selected no longer resets the selected item (7e666ab4, closes #2183)
    • dropdown will shift if there is not enough space (0b15c976, closes #2004)
    • moves autocomplete dropdown to nearest content container (7f355f6d, closes #2013, #1961, #1670)
    • md-min-length now supports 0 as a value and will show dropdown on focus (dcf92682)
    • md-search-text-change now fires when content is deleted from text (f308779a, closes #2061)
    • item templates now handle child bindings in the correct scope (2e157d2b, closes #2065)
    • adds a minimum width (66fe5757, closes #1853)
    • hides cancel button when field is disabled (936b8816, closes #1710)
    • adds support for md-autofocus (c6374d9b, closes #1764)
    • accepts pre-selected values (c3fcd0d8, closes #1779)
    • will no longer query when item is selected (5f141269, closes #1835, #1732)
    • disables browser autocomplete (1a8b5658, closes #1849)
    • autocomplete now selects the first item by default and no longer hides results w (4c2b086a, closes #1858)
    • adds support for $http promises (de423ae4, closes #1798)
  • bottomSheet: make bottom sheet work with new md-list (bc32eb4c)
  • bower: fixes bower warning (c4979d68, closes #2165)
  • build:
    • do not bower install in github hook script (859ecb56)
    • remove bower dependency, update npm to install angular, update Jasmine 2 (9398a7a9, closes #1962)
  • button:
  • card: add correct themed background color (9af45d37)
  • checkbox:
  • chips:
    • sets md-autoselect for contact chips (eb9f5646, closes #2294)
    • fixes issue when removing chips via button (59d359ce, closes #74)
    • when adding items, duplicates will now be skipped (1ba926bc)
    • only add chip item if it is truthy. fixes #2116 (d154a8e4, closes #2120)
  • dialog:
  • divider: make divider work with new md-list (ebcd7f04)
  • docs: use node_modules/angularytics (b8cc062a)
  • gesture: don't stop hijacking clicks on ios & android when jquery is loaded (81bcf7fd, closes #1869, #1842)
  • gestures:
    • attach event listeners once when multiple ng-apps are running (6d566762, closes #2173)
    • disable click hijack on mobile if jQuery is present (2c57a828, closes #1915)
    • gestures initialize only on use instead of load (63c87096, closes #2074)
  • gridlist:
  • icon:
    • remove invalid danger style (360e2b60)
    • Fix issue with resizing SVGs when jQuery included. (c4e8c1c4, closes #1803)
  • icons:
    • disable pointer events on SVG(s). (a7d9fa32, closes #2048)
    • fix default icon color to match spec (6fc26fab)
  • input:
    • float labels support dir=rtl (b88b744f, closes #964)
    • Only make invalid input label red when it's floating (6d368505, closes #1928)
    • delegate clicks in IE10 (d0b427d6, closes #1394)
    • improve textarea appearance on firefox and IE (a693dabd, closes #1157)
    • input validation and visual error indicators fixed (c818da75, closes #1606)
  • list:
    • add missing interpolation character (07e82015)
    • focus covers whole row, IE11 layout fix (b47a8787, closes #2222)
    • adds role attributes in compile rather than link for performance improvements (38f04230)
  • md-select: Track disabled state (dc93bffe)
  • mdButton: focus styles only on keyboard (dfb4d1ab, closes #1423)
  • progressCircular: fixes animation in IE11 (d5b77bdc, closes #387)
  • radioButton: fix googly eyed radio-buttons (bffa15ab)
  • ripple:
  • select:
    • greatly improve scroll disable compatability (614630d7)
    • fix invalid css (2f9eef70)
    • make select focus states match ui-spec (42db19dd)
    • bug using select attr with inferred value (e20b1906)
    • fix scrollbar margin of select parent (f3cd5b9c)
    • make select positioning factor in scroll bar width (e18450fb)
    • reposition select on resize events (0fe35cc8)
    • fix md-on-show not hiding spinner for non-async (13b9c697)
    • make constrained select fit to top/left first (f6f2187c)
    • BREAKING: make select more inline with md-input-container styles (a67a6a2e)
    • fix alignment of select dropdown arrow (5c853e66)
    • fix firefox select positioning, page moving on open (a15347cd)
  • sidenav: improve API usage for $animate enter/leave (4245bcf7, closes #2261)
  • subheader: fix width styling while scrolling (2f335732)
  • tabs:
    • resets offset if the user resizes causing pagination to no longer be necessary (bd1c973a)
    • fixes styles for md-align-tabs="bottom" (0dabfc5c)
    • fixes Safari issue regarding dynamic tabs transitions (4ac7dc03)
    • fixes flicker issue with dynamic height (48eeb627)
    • fixes styles for md-border-bottom and md-align-tabs (9affd121, closes #2119)
    • adds support for height changes in between tab switches (64c4585b, closes #2088, #2177)
    • resolves issue where code was attempting to fire after the tabs array had been r (f15fd050)
    • re-added md-on-select and md-on-deselect events to md-tab directive (c84899df)
    • applies correct styles for tabs living inside md-toolbar (4c59c5c5, closes #2067)
    • updates CSS so that tabs support scrolling when necessary (9f0d428c, closes #2088)
  • theming:
    • fix theming in safari (1ebc42ec)
    • add support for background hues (0df4b16e)
    • change default background palette, document theming (57deba10)
  • toast: style tweaks for desktop rendering, fix opacity (860a55ec)
  • toolbar: md-button style cleanup (1c19272a, closes #2267, #2146)
  • tooltip:
    • fixes positioning bug in Safari (f62fd480, closes #1883)
    • tooltip will no longer be pushed up if there is room for it within its `offsetPa (6e576c02)
    • fixes tooltip position when body has a margin (00f4cc6d, closes #1883)

0.8.3 (2015-03-03)

Features

Bug Fixes

  • autocomplete: clicking on the scrollbar in the dropdown will no longer cause the list to hide (2731f107, closes #1739)
  • gestures: resolves jQuery conflict with $mdGesture (79505888)
  • select:
    • support rtl direction (59e30a39)
    • make md-option work with ng-selected (425a76a3)
    • make select work with ng-disabled (60514054)
    • fix select not setting initial value (6dc46d52)
    • fix closing select a second time on firefox (e49a20e8)
    • fix positioning / sizing on firefox (67618dc8)
    • fix resetting value for selects without placeholder (2a0ea163)
    • fix empty select breaking page (6e7b36cf)
    • make select consistent with md-input (6aa1c8a7)
    • positioning when to close to bottom or right (cf78ba9f)

0.8.2 (2015-02-27)

Features

  • autocomplete: adds support for md-delay to wait until the user stops typing to poll for resu (70a884a1)

Bug Fixes

  • autocomplete:
    • cleans up watchers when elements are removed (7fc0d02c, closes #1692)
    • prevents aria message on selection (e2148f13)
    • addresses accessibility issues (0bd7afb8, closes #1473)
    • change events will no longer be called on load (c58d930e)
  • button: allow attribute syntax for md-button. (fc223b0c, closes #1661)
  • core: Remove redeclared variable declaration. (3454db3c, closes #1697)
  • input:
  • select:
    • when nothing selected, focus first option (50b5d923)
    • make space not scroll select (b8da17a0)
    • make sure arrow keys always focus next/prev option (e441abaf)
    • render label on external model updates (6baed64c)
    • fix updating of values on change and init (0e21b3bc)
    • change placeholder computation to be handled internally (b4c0a86e)
    • fix duplicate options when using ng-repeat (9e0ca443)
    • fix chrome double scroll bars (4d722ecf)
  • tooltip: fixes md-direction attribute functionality (93080cae, closes #1673)

0.8.1 (2015-02-24)

Features

  • select:

Bug Fixes

  • select:
    • keyboard controls in IE (69053a30)
    • fix overflow scroll on IE (c5c5f860)
    • prevent select from closing a dialog on click away (c573c8cd)
    • stop position from going past bottom of screen (805ed1b4)
    • fix select with 0 options positioning (5a82426e)
    • support custom interpolate symbols (20b66111)
    • remove placeholder for falsey, but defined values (9497f063)
    • close md-select-menu if md-select is removed (5e02ad94)

0.8.0 (2015-02-23)

Features

  • select:
  • autocomplete: added initial files for autocomplete (0bd8cf1c, closes #1418)
  • dialog: add ability to specify theme on alert and confirm presets (c97f48b7)
  • gridlist: Initial gridList implementation (ef4aff00)
  • icon: implemented md-icon for font-faces and svgs (b7d09d7e, closes #1438)
  • input: adds no-float class to disable floating label animations (33f677e5, closes #201, #1392)
  • tabs: changes default state of tabs to be transparent. (732cbc9c, closes #1250, #1393)
  • toast:
    • add ability to specify theme for simple preset (2fef2207)
    • proper toast queing behavior (74fe8706)
    • update toast content dynamicly using $mdToast.updateContent (0e161cb7)
  • tooltip: adds md-direction so that users can specify tooltip direction (9c69c5cd, closes #1220, #1410)

Bug Fixes

  • autocomplete:
    • hitting Enter will now trigger the submit method on parent form tags (da084fc5, closes #1530)
    • fixes issue with click events not firing (e088f6ac, closes #1513)
  • dialog: correct opening position for showing a dialog (150efe62)
  • docs: toolbar button overlap on mobile (7391cad4)
  • gridlist:
    • Tile removal now supports ngAnimate (1d8e7832, closes #1559, #1560)
    • add ngInject annotation support for GridLayoutFactory - $mdGridLayout (c045f542)
    • Throws error on invalid or missing colCount to avoid infinite loops (39f4f26a)
    • Adds grid height calculation (0196014d)
    • Prevents media from being unwatched immediately (a4104215)
  • icon:
    • improve error recovery and item caching (603e5d68, closes #1477)
    • add support for themes with md-primary, etc. (cdea9a2d)
  • input:
  • layout: fix responsive breakpoint dead-zones (ecf6edef)
  • mdButton: add default color, update docs (a80804b5, closes #1486)
  • select: fixes scrollbar and padding issues (5d7b63b0)
  • tooltip: content text was semi-opaque (42cff135, closes #1480, #1492)
  • autocomplete: selected item now properly updates (1307b945, closes #1468)
  • button: remove underline on href button hover (c19cd433)
  • card: fixes selector to be more specific (2f840b2a)
  • gesture: fix gesture event dispatching with jQuery (88813b78, closes #1367)
  • input: check invalid model immediately and setInvalid() if needed (e0f53ddd, closes #372)
  • mdIcon:
  • mdInput: css cascades from disabled fieldset (66fa1e3e, closes #895)
  • mdMedia: fix media listeners not firing on non-chrome browsers (0dfcaf55)
  • mdTabs: use md-icon for pagination arrows (517623e7, closes #1464, #1466)
  • sidenav: properly sets width of sidenav (0318ca44, closes #957)
  • slider:
  • subheader: fix subheaders within dialogs (55084143)
  • theming: fix typo in warning message (8a6eb7e8)
  • toast: fix minified toast controller injections (5c5106e4)
  • tooltip: now works inside elements without pointer events (3d010cd8)

0.7.1 (2015-01-30)

Features

  • bottomSheet: disable scroll on parent when bottom sheet is shown (8273126c)
  • button: adds attribute override for ripple size (b7c43a10, closes #1088)
  • gestures: add built in gesture system, remove HammerJS (8364fb57)
  • input: make input placeholder attr work (f1d7f830, closes #1279)
  • mdInputContainer: add mdIsError expr, defaults to $touched && $invalid (c3cad666, closes #1267)
  • sidenav:
    • make it thinner on <360px wide screens (6ee3346e)
    • expose isLockedOpen for sidenav instances (ba71a598)
  • theming:
    • add warnings when using unregistered themes (f6f56c98)
    • warn for same palette as primary and accent (1c973330)
    • fix strong light colors vs normal light colors, as per spec (dd5b9549)
    • rename palette methods, change default palettes (0e0846fe, closes #1252)
    • change default color of components that should be accent (f2996b73)
  • toolbar: add shadow to toolbar (4e47a174)

Breaking Changes

  • As per the spec this commit changes the default color palette of FABs, checkboxes, radio buttons, sliders and switches to the accent palette.

closes #1255

(f2996b73)

Bug Fixes

  • card: fixes selector to be more specific (2f840b2a)
  • gesture:
    • make sure clicks properly support keys (c6d24eb2)
    • fix firefox keyboard events (79196c3d)
    • only hijack click events on mobile devices (ade65b60)
  • theming:
    • fix warning for changeTheme being wrong (f44bf604)
  • checkbox:
    • make mdAria check linked element (3346532c)
  • build:
    • add annotations to rAfDecorator, remove unused args (c4927f9e)
    • add annotation to swipe.js (22040c77)
  • button:
    • change default style of fab to white instead of transparent (04feeb83)
    • default background-color on fab buttons on toolbar (08ebff44)
  • card:
  • dialog: fix overlay not covering, dialog position in overlay (1d5ef95d)
  • input:
  • layout: fix IE11 layout (74fe3eb1, closes #1227)
  • mdSwitch: add missing styles to switch (54338d7d, closes #912)
  • ripple: fixes size issue with ripple on switches (c435409b)
  • slider:
    • don't run touchend listener if disabled (5bbd23d6, closes #1308)
    • make modelValue be set on pressdown (7028a750, closes #1296)
    • fix thumb positioning so that it works when not visible (41c2d65d, closes #1210)
  • styles: fix subheader z-index, button md-mini class, md-no-bar. (dde9ab79, closes #1182, #1034, #1173, #1194)
  • switch: set tabindex to -1 while disabled (19f47b5d)
  • tabs:
    • adds fix for css transition on theme change (312dcc6c, closes #1033)
    • remove bad opacity on focus state (72ced4b5)
    • prevents multiple pagination clicks during animation (299e1556, closes #1207)
  • toast:
    • fix highlighting of action buttons (53cffe29)
    • fix excess padding on md-action (0f40a843)

0.7.0 (2015-01-24)

Bug Fixes

  • input:
    • fix bug regarding md-maxlength value changes (b432277d)

0.7.0-rc3 (2015-01-14)

Bug Fixes

  • allow user selection when swipe listener is enabled (520faa72, closes #838)
  • button:
  • dialog:
  • input: fix label inputs with specified types (747c6acb)
  • layout: make sure hide-gt-* and show-gt-* work together properly (d149f36b, closes #772)
  • radioGroup: fix render call happing before radioGroup init (68e350d1)
  • subheader: make content clickable (7178b6d6, closes #554)
  • tabs:
    • fix overflow leaking out tab-content (dec2ac42)
    • factors me-active attribute into selection logic to prevent unnecessary `md-on (6a087a01, closes #868)
    • adds a delayed call to update the ink bar after a tab is removed (1a1095b0, closes #573)
  • theming: make switch, checkbox, radio button default to primary color for consistency (8cbfeadf)

Features

  • input: add error states, md-maxlength (a2bc3c68)
  • layout: add flex-order-{sm,gt-sm,md,gt-md,lg,gt-lg} attributes (3e453078)
  • tooltip: add configurable md-delay attr, default 400ms. (e4ed530d, closes #713)

0.7.0-rc2 (2015-01-08)

Bug Fixes

  • $mdUtil: fix bugs in iterator's next()/previous() methods Refactor for DRY-ness `next (124466e7)
  • $mdComponentRegistry: gracefully recover if no md-component-id is specified (bf2266f1)
  • demos: tab dynamic demo removes use of on-select expressions (4db16c17)
  • mdDialog:
    • fix dialog border radius visual overflow glitch (9b162202, closes #1015)
    • prevent null-pointer error with popInTarget (b36282a5, closes #1061)
  • input: fix height on IE11 (dc31ee53)
  • layout:
    • fix ‘layout-padding’ rule not having comma (b35be936, closes #952)
    • layout-fill in firefox (31d3c123)
    • layout-wrap fixed and documented (8f937bd2)
  • mdButton:
  • mdCard: add an md-card-content container inside md-card for content (28a4f8ff, closes #265)
  • mdMedia: avoid unnecessary digest and make changes apply quicker (98247bcf, closes #978)
  • mdRadioButton: Loosen equality check (ca3e4c30, closes #1112)
  • mdToolbar: Toolbar flow on medium screens (bfc947f6)
  • mdUtil:
    • fix throttle() delay check (fdb923e4, closes #977)
    • remove/delete cacheFactory keys when clearing/destroying cache (8736c7cc)
  • mdRadioButton: arrowkey navigation with disabled buttons (f520d507, closes #1040)
  • mdSidenav: Fix tests and typo (c0e2b0fb)
  • mdTabs:
    • make md-tab-label visible on IE11 (b85ad629, closes #1057)
    • pagination only call watcher() when it's a function (e952ab41, closes #1073)
    • delays disconnect until after the digest is finished (78ba497e, closes #1048)
  • theming:
    • switch accent palette to use accent hues (002d8bfd)
    • allow hex values with uppercase letters (9b45af50, closes #1014)

Features

  • mdDialog: disable scrolling on parent while showing dialog (993fa2bc)
  • input:
  • textarea: make textarea autogrow with size of content (1c653696, closes #565)
  • layout: add layout-align-{sm,gt-sm,md,gt-md,lg,gt-lg} attrs (8550bd6c, closes #631)
  • mdRadioGroup: Radio submits on keydown/enter (03c75927, closes #577)
  • mdSlider: make discrete track ticks themable (91bc598f, closes #621)
  • mdSwitch: add grab/grabbing cursor during drag (c60640bf, closes #983)
  • mdTabs: adds default transitions for tab content (3ee83a64, closes #1044, #717, #811)
  • $mdToast: add mdToast#showSimple shortcut method (dd960c6f)

Breaking Changes

  • md-text-float has been deprecated due to flaws (explanation in #547).

To create an input, you now must use the native <input> and <textarea> elements, with a <md-input-container> parent around each <input> or <textarea>.

Change your code from this:

<md-text-float label="First Name" ng-model="firstName"></md-text-float>

To this:

<md-input-container>
  <label>First Name</label>
  <input ng-model="firstName">
</md-input-container>
  • md-card now requires a separate md-card-content element containing the card's content. This was done to fix padding problems with the content.

Change your code from this:

<md-card>
  <img src="img/washedout.png" alt="Washed Out">
  <h2>Paracosm</h2>
  <p>
    The titles of Washed Out's breakthrough song and the first single from Paracosm share the
    two most important words in Ernest Greene's musical language: feel it.
  </p>
</md-card>

To this:

<md-card>
  <img src="img/washedout.png" alt="Washed Out">
  <md-card-content>
    <h2>Paracosm</h2>
    <p>
      The titles of Washed Out's breakthrough song and the first single from Paracosm share the
      two most important words in Ernest Greene's musical language: feel it.
    </p>
  </md-card-content>
</md-card>

(28a4f8ff)

0.7.0-rc1 (2014-12-19)

Bug Fixes

  • $$interimElement: make templates work with custom interpolation symbols (d5aa68d1)
  • build: correct in buildConfig.js (6caccf75, closes #981)
  • button: fix hover on flat buttons (de587772)
  • checkbox:
    • only add focus border if label is not empty (74973487, closes #944)
    • added css support for disabled states (d1920839)
  • demo: Update slider demo to work in IE11 (39559808, closes #653)
  • filenames: updated component .scss names to match conventions (629b753f)
  • layout: flex="n" attrs set height for column layout, width for row (d3577798, closes #937)
  • mdToast: Puts index above dialog (4ae4e072, closes #903)
  • switch: only add focus border if label is not empty (9c24cc93, closes #944)
  • tooltip: fix bugs in Safari & Firefox, as well as scrolling bugs (0d265292, closes #593)

Features

  • theming: use $mdThemingProvider (47f0d09e)

Breaking Changes

  • Themes are no longer defined by linked CSS files.

Themes are now defined through Javascript only. A ‘theme template’ is bundled into angular-material.js, and then Javascript is used to generate theme css for every theme the user defines.

The default theme is still shipped with angular-material.

If you used another theme (for example, the purple theme), change your code from this:

<link rel="stylesheet" href="/themes/purple-theme.css">
<div md-theme="purple">
  <md-button class="md-primary">Purple</md-button>
</div>

To this:

var app = angular.module('myApp', ['ngMaterial']);
app.config(function($mdThemingProvider) {
  //will use the colors from default theme for any color not defined.
  $mdThemingProvider.theme('purple')
    .primaryColor('purple');
});
<div md-theme="purple">
  <md-button class="md-primary">Purple</md-button>
</div>

For more information, read the updated Theme documentation - (47f0d09e)

0.6.1 (2014-12-08)

Bug Fixes

  • checkbox:
    • fixes issue where double-clicking checkboxes causes text selection (5d2e7d47, closes #588)
    • expands the checkbox click radius (9cd24e2e, closes #379)
  • compiler: trim whitespace from templates (effects toast, bottomSheet, etc) (3be3a527)
  • dialog: transition in and out properly to/from click element (1f5029d0, closes #568)
  • layout: make [hide] attr work properly with all device sizes (c0bbad20)
  • mdMedia: support all prefixes: sm,gt-sm,md,gt-md,lg,gt-lg (c1cb9951)
  • ripple: fixes an error caused when clicking on disabled checkboxes (8a1718d7)
  • slider:
    • update the thumb text when the model is updated (2ca21f8b, closes #791)
    • reposition when min or max is updated (bd6478b9, closes #799)
  • tabs:
    • do not focus until pagination transition is done (bb9bc82c, closes #781)
    • dont use focusin event on firefox (5559ac63, closes #781)
  • toolbar: use accent color for buttons inside (12d458e3)
  • tooltip: make it appear above dialogs (a3ce7d84, closes #735)

Features

  • layout: add both layout-margin and layout-padding attributes (5caa22b2, closes #830)
  • toast: simple with content string: '$mdToast.simple(‘my-content’)` (554beff3, closes #833)

0.6.0-rc3 (2014-11-26)

Bug Fixes

  • dialog: correct the opening position when opening from a button (22865394, closes #757)
  • hide: make hide-gt-* attrs work properly with larger show attrs (7fc6b423)
  • ripple: prevent null error while using ripple (6d81ded1)

0.6.0-rc2 (2014-11-24)

This version introduces more breaking layout changes, ripple improvements, aria improvements, bug fixes, and documentation enhancements.

Bug Fixes

  • button: add override for transitions on ng-hide (8fa652cf, closes #678)
  • layout: add [flex-{sm,md,etc}] attr for 100% flex on screen size (7acca432, closes #706)
  • ripple:
    • fix ripple bug with checkboxes in lists (7d99f701, closes #679)
    • fix bug with vertical ripple alignment (5cdcf29a, closes #725)
  • sidenav: use flex display when opened (ae1c1528, closes #737)

Features

  • mdAria: checks child nodes for aria-label (d515a6c2, closes #567)
  • mdBottomSheet: add escape to close functionality (d4b4480e)
  • tabs: ink ripple color syncs with ink bar (9c56383b)

Breaking Changes

  • The -phone, -tablet, -pc, and -tablet-landscape attribute suffixes have been removed and replaced with -sm, -md, and -lg attributes.

  • hide-sm means hide only on small devices (phones).

  • hide-md means hide only on medium devices (tablets)

  • hide-lg means hide only on large devices (rotated tablets).

Additionally, three new attribute suffixes have been provided for more flexibility:

  • hide-gt-sm means hide on devices with size greater than small (bigger than phones).
  • hide-gt-md means hide on devices with size greater than medium (bigger than tablets)
  • hide-gt-lg means hide on devices with size greater than large (bigger than rotated tablets).

See the layout options section of the website for up-to-date information.

(a659c543)

0.6.0-rc1 (2014-11-18)

v0.6.0-rc1 releases the following changes:

  • improvements to the ink Ripple effects
  • namespace prefixing Material attributes
  • revised the Layout system to be more intuitive and responsive
  • added enhancements for modular builds and distrbution for each component
  • improved minification and SHA tags for each deployed .js and .css file
  • numerous bug fixes to improve stability, adds responsive features, and enhances API documentation.

Bug Fixes

  • button: fix css for md-fab icon position when href is present (a7763fde, closes #591)
  • card: make md-card themeable (55cdb5b7, closes #619)
  • demos: dialog, bottomsheet, and toast now display within properly within the bounding d (5909f0a5)
  • docs:
  • layout: updates layout attributes in index template (669d0048)
  • md-button: improve a11y: make title, aria-label work (ff576289, closes #512)
  • ripple: fix ripple sometimes appearing when the element is disabled (58eaef49)
  • sidenav:
    • make backdrop invisible when sidenav is locked-open (4a75d599)
    • clean registry when element is destroyed (e7a3bd8d, closes #473)
  • slider: update discrete slider thumb text while dragging (2877585e, closes #622)
  • themes: bring blue, red, and green colors up to latest spec (de3ff4b8)

Features

  • layout:
    • add new layout system (d51a44c5)
    • add layout-wrap attribute to set flex-wrap to wrap (4f755eab, closes #634)
  • styles: add ‘swift’ css transitions to all components according to spec (15bb142c, closes #611)
  • mdThemingProvider: add alwaysWatchTheme options, fix docs (0a404088)
  • radioGroup: add up/down arrow navigation (367e47db, closes #538)
  • tabs: add accessibility links between tabs and content (5d3bab56)
  • bottomSheet: focus the first available button on open (768cc098, closes #571)
  • interimElement: allow options.parent to be a selector (342051e0, closes #640)
  • mdDialog: enhance show API with confirm() and alert() builder functions. (12b8cbc06.
    See Demos JavaScript source
$mdDialog.show(
      $mdDialog.alert()
        .title('This is an alert title')
        .content('You can specify some description text in here.')
        .ariaLabel('Password notification')
        .ok('Got it!')
        .targetEvent(ev)
    );

Breaking Changes

  • To provide improved clarity and easier usages, the Layout system has been revised (d51a44c5).
    See the updated Layout sections for details. We associate labels with specific breakpoints:
LabelSize (dp)Attribute
Phone0 <= size <= 600layout-sm
Tablet600 > size <= 960layout-md
Tablet-Landscape960 >= size <= 1200layout-lg
PC> 1200layout-gt-lg

Example 1: To use a horizontal layout and responsively change to vertical for screen sizes < 600 dp:

  • For performance, the disabled attribute is no longer supported; instead the ng-disabled attribute is now read to check if a component is disabled. (2ece8cd7)

If you use the disabled attribute on a component to set whether it is disabled, change it to an ng-disabled expression. Change your code from this:

<md-checkbox disabled></md-checkbox>

To this:

<md-checkbox ng-disabled="true"></md-checkbox>
  • All material component attributes and are now namespaced with the md- prefix; these changes do not affect ng- prefixes or standard html5 prefixes (eb2f2f8a). Affected attributes:

    • <md-button md-no-ink="" >
    • <md-content> (92b76435)
      • md-scroll-x
      • md-scroll-y
      • md-scroll-xy
    • <md-divider md-inset="" >
    • <md-linear-progress md-buffer-value=“someValue” md-mode=“query” >
    • <md-circular-rogress md-mode=“query” md-diameter=“60” >
    • <md-sidenav>
      • md-is-open=“isOpen”
      • md-is-locked-open=“isLockedOpen”
      • md-component-id=“my-sidenav”
    • <md-tabs>
      • md-selected=“selectedIndex”
      • md-on-select=“doSomething()”
      • md-on-deselect=“doSomething()”
      • md-active=“tabIsActive”
    • <md-text-float md-fid=“someId”>
  • When using the <md-button> directive, the compiled element will now be a normal <a> or <button> element with the class=“md-button” attribute. (d835f9ee)

Any css referencing the md-button element selector should now reference the .md-button class selector. Change your CSS overrides from this:

md-button {
 color: red;
}

To this:

.md-button {
 color: red;
}

0.5.1 (2014-10-31)

Version 0.5.0 introduces theming support, improves stability, adds responsive features, and enhances API documentation.

Features

Bug Fixes

  • mdAria: add better warnings (3368c931, closes #366)
  • md-input-group: disable with ARIA (72bad32a)
  • slider: slider default value in ng-repeat corrected (b652d863, closes #479)
  • css:
    • add autoprefixer support for firefox and ie (a1bea485)
    • fix invalid flex properties (c1d9b5a2)
    • remove deprecated css properties (c7e3a83c)
  • textFloat:
    • improved logic to determine if md-input has a value (5c407b5f)
    • improve ARIA pairing links between label and input (457b3750, closes #483)
    • added support for label/hint expressions (3674a514, closes #462)
    • fix keyboard tabbing support (27f43751, closes #458)

Breaking Changes

  • colors:
    • The md-theme-* classes have all been removed, in favor of themes.
    • Instead, use md-primary and md-warn classes on an element when a theme is set.
  • bottomSheet:
    • list class has been renamed to md-list
    • grid class has been renamed to md-grid
    • has-header class has been renamed to md-has-header
    • grid-text class has been renamed to md-grid-text.
  • button:
    • md-button-colored class has been changed to md-primary and md-warn color classes.
    • All classes that start with md-button-fab now start with md-fab.
      • md-button-fab to md-fab.
      • md-button-fab-top-left to md-fab-top-left
      • md-button-fab-top-right to md-fab-top-right
      • md-button-fab-bottom-left to md-fab-bottom-left
      • md-button-fab-bottom-right to md-fab-bottom-right
    • md-button-cornered class has been changed to md-cornered
    • md-button-icon class has been changed to md-icon
    • md-button-raised class has been changed to md-raised
  • content: md-content-padding class has been renamed to md-padding.
  • dialog:
    • dialog-content class has been removed. Use an md-content element instead.
    • dialog-actions has been renamed to md-actions
  • subheader: md-subheader-colored is now md-primary.
  • textFloat:
    • use of <md-input-group> is deprecated, <md-text-float> markup can be used for most cases
  • toast: toast-action has been renamed to md-action
  • toolbar:
    • md-toolbar-tall class has been renamed to md-tall
    • md-toolbar-medium-tall class has been renamed to md-medium-tall
  • whiteframe: md-whiteframe-z* classes no longer set z-index, only shadow

0.4.2 (2014-10-16)

This release adds support for the official Angular 1.3 release and includes improvements to both the document generator and component demos.

Note that <md-input-group> and <md-input> are deprecated in favor on <md-text-float>. While both directives are still available for more granular control, developers are encouraged to use the <md-text-float> directive whenever possible.

Features

  • text-float: Add floating label text field (25cf6f1)

Bug Fixes

  • Focus management for docs views (9afe28a8)
  • bottomSheet: use position:fixed so it does not move (bfaf96d8)
  • ripple: use contentParent scroll offset (4c0c50e4, closes #416)
  • slider:
    • disabled sliders still usable w/ keys (f78f1b34)
    • disabled discrete sliders still usable (1f5ce090)
  • subheader: sort items correctly in browsers that dont support true/false (d8e5079e, closes #438)
  • tabs: remove tabs all at once on controller destroy (7237767d, closes #437)

0.4.1 (2014-10-15)

Version 0.4.1 changes the prefix for all services and directives from ‘material’ to ‘md’.

To migrate your code, replace all instances of ‘material’ in your project with ‘md’:

sed -i '' 's/material/md/g' $(echo my-material-project/app/**/*.{js,html,css})

Additionally, material-linear-progress has been renamed to md-progress-linear and material-circular-progress has been renamed to md-progress-circular.

angular-aria is now a dependency. Be sure to include angular-aria.js before angular-material. See https://github.com/angular/bower-material#usage.

0.4.0 (2014-10-06)

Version 0.4 incorporates four (4) new components: circular progress, subheader, tooltip and bottom sheet. A new API has also been introduced for $materialDialog and $materialToast. Additionally, many small component functionality and performance issues have been resolved.

v0.4 is tested on desktop Chrome, Safari and Firefox, as well as Android 4.4+ and iOS7.

Breaking Changes

The services $materialDialog and $materialToast have changed API(s). See section at bottom for Change Details.

Bug Fixes

  • button:
    • no underline when button has a href (948aef0d)
    • disabled raised and fab buttons don't hover on focus (6d0ca8fb, closes #358)
  • checkbox: resolve TypeError for inputDirective.link (4da56732)
  • dialog: cancel instead of hiding when user escapes/clicks out (0cc21d47)
  • interimElement: make cancel and hide not fail when no element is shown (6162156d)
  • progress-linear: Add aria, tests and better animations (3b386276, closes #297)
  • radio: Radio button a11y (05ed42de, closes #310)
  • toolbar: Demo correct heading levels (fd7697d6)
  • ripple:
    • make detach method work properly (c3d858a2)
    • ripple container self-removal NPE fixed. (664ab996)
  • sidenav:
    • add display: none; while closed (8f104012, closes #300)
    • always leave >=56px of room, no matter the screensize (13a26670, closes #346)
  • slider: discrete mode supports live dragging and snap-to (b231f1c0, closes #331)
  • textfield:
    • ng-model bindings now working and demo rendering fixed. (e8f456fc)
    • match float-label (light theme) specifications (63eeb47f)

Features

  • progress-circular: Add circular progress component (07d56533, closes #365)
  • subheader: add subheader component with sticky scroll (7787c9cc, closes #216)
  • tooltip: add tooltip component (9f9b0897, closes #354)
  • bottomSheet add bottomSheet component (3be359c)

1) $materialDialog:

Change your code from this:

var hideDialog = $materialDialog(options);
hideDialog();

To this:

$materialDialog
  .show(options)
  .then(
	function success(response) {},
	function cancelled(reason) {}
   );

// Hides the dialog last shown with `show()`
// and resolves the show() promise with `response`

$materialDialog.hide(response);

// Hides the dialog last shown and rejects the `show()`
// promise with the `reason`

$materialDialog.cancel(reason);

Note: If you previously provided a controller option to $materialDialog, that controller would be injected with a $hideDialog function. This feature no longer exists; use $materialDialog.hide().

2) $materialToast:

Change your code from this:

var hideToast = $materialToast(options);
hideToast();

To this:

$materialToast
  .show(options)
  .then(
	function success(response) {},
	function cancelled(reason) {}
  );


// Hides the dialog last shown with `show()`
// and resolves the show() promise with `response`

$materialToast.hide(response);

// Hides the dialog last shown and rejects the `show()`
// promise with the `reason`

$materialToast.cancel(reason);

v0.0.3 (2014-09-19)

v0.0.3 includes many bug fixes, performance, and usability improvements to existing components, as well as introducing the slider, switch, divider, and linear progress components.

Additionally, accessibility support is added to material-button, material-checkbox, material-radio-button, material-slider, material-dialog and material-list. With added ARIA support including roles, states and properties, Angular Material directives now also communicate to users of assistive technologies. Additionally, tabIndex and focus management are handled dynamically where appropriate.

0.0.3 is tested on desktop Chrome, Safari and Firefox, as well as Android 4.4+ and iOS 7+. Also tested with VoiceOver on OSX and iOS7, ChromeVox, JAWS, NVDA and ZoomText.

Bug Fixes

  • button: don't use angular transclusion at all, manual only (6b322729)
  • card: make it use up proper width with margin (f33185ff, closes #247)
  • demo: tab demos improved layout and accessibility (8915c324)
  • dialog: use position:fixed instead of absolute (6ba874d8, closes #249)
  • iterator: update add()/remove() logic (6a596b32)
  • material-dialog: Focus mgmt, ARIA attributes (fe054ae6)
  • material-list: Add semantics (6e48cd35)
  • material-slider: Adds missing ARIA role (903cbc06)
  • ripple:
    • fix bug with ripple and many clicks (c2105c05)
    • make checkbox only scale up to 1.0, looks good on ios (ed65da9b)
    • use css animations for performance (96014e08)
  • slider: watch ngDisabled expr on non-isolate parent scope (5f1923d5, closes #272)
  • switch: correctly adjust when label will not fit on one line (e912a838, closes #80)
  • tabs:
    • make the ink ripple use the color of the ink bar. (c5ca159a, closes #280)
    • don't paginate on initial load when width is 0 (5f5435d1, closes #271)
    • use position: absolute container to fix ios bugs (7d0a282f, closes #220)
    • Tab pagination/selection now works properly on iOS (3410650d, closes #220, #231)
    • Tab pagination/selection now works properly on iOS (c77c0e26, closes #220, #231)
    • remove window resize listener on $destroy (4b887f1e, closes #254)
  • toolbar:
    • make scrollShrink work with transforms, better performance (cf1ab59f, closes #295)
    • typo onScroll -> onContentScroll (cf31b1a5)

Features

  • add hammerjs dependency (e383e4f4)
  • $materialToast: add swipe-to-close functionality (22285dc4)
  • divider: add implementation of the divider component (e3aceeae, closes #194)
  • docs: added support for the doc app to show its associated Git SHA id/link (02d2e5d2)
  • progressLinear: Add linear progress indicator (f87d0452, closes #187)
  • material-dialog: on open focus .dialog-close or the last button (8f756fc6, closes #222)
  • material-switch: add switch component (4975c743, closes #80)
  • slider: add full-featured slider component (5ea4dbc2, closes #260, #31)
  • switch: add focus styles (8878ca7a)
  • tabs: improvements to pagination, disabled tabs, and tab navigation. (b4244bf3)