Skip to content

Releases: material-components/material-components-android

1.14.0-alpha09

27 Jan 22:31

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • The minSdkVersion was updated to 23.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

None

Library Updates

  • Catalog
    • Make SearchView in Catalog full-screen (9b413fc)
    • Update List docs and demo to be more clear on the primary action triggered corresponding with the growing element in the list swipe for a11y (5cb1500)
    • Fix initial content description of the navigation drawer toggle in demos (67bd159)
    • Fix MultiSectionListDemoFragment to correctly read view type (4dba971)
    • Add tooltips to FABs and expand/collapse button (dd70ef9)
  • CollapsingToolbarLayout
    • Fix jumping when multiline title changes while collapsed (d227870)
  • Divider
    • Hide search view divider for M3E (81373b7)
  • FloatingActionButton
    • Override setContentDescription to also set the tooltip text on API 26+ (f1193e3)
  • Lists
    • Update state colors for label styles and update demos so ListItemCardView children will duplicate and pass on its parent state (845a0e3)
    • Support start/end reveal gravity in ListItemLayout (504300d)
  • MaterialButton
  • MaterialDatePicker
    • Add tooltips to icon buttons (1fd35bc)
  • SideSheet
    • Prevent NullPointerException when viewRef was nullified and only then accessed by runAfterLayout lambda (88717fc)
  • TextInputLayout
    • Announce helper text on focus (85c910f)
  • TimePicker
    • Fix ClockFaceView cropping in split-screen (71d88f5)
  • Tokens
    • Update token version to 31.0.0 (57f3cdb)
  • TopAppBar
    • Make letter spacing dependent on text size in CollapsingTextHelper (58ad14e)
  • Other
    • Update MDC library version to 1.14.0-alpha09 (eeb036e)
    • Update translation strings (40d1be5)
    • Update string translations (00e5eda)
    • Update minSdkVersion to 23 (cd3f114)

Full list of changes

1.14.0-alpha08...1.14.0-alpha09

1.14.0-alpha08

17 Dec 18:41

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

None

Library Updates

  • Catalog
    • Update button demos so all buttons are using the updated styles (fb64362)
    • Address list a11y issues (6310274)
  • FloatingActionButton
    • Allow collapsed size to be set (0153138)
  • Lists
    • Support skipping the open swipe state so clients can go straight to the primary action (d5934ee)
    • Add getSwipeState method and demo, and refactored to set necessary swipe elements before drag so they are available for programmatic swipes (75f0a4e)
    • Updates to styles (50bca32)
    • Create expandable demo (c24017b)
    • Make SwipeableListItem and RevealableListItem public and add swipe state callback (1dbfdd7)
    • Add styles and theme overlays for material icon buttons inside lists (93ae730)
  • MaterialButton
    • Defer icon changes during width animation in MaterialButton (f86cedd)
  • MaterialDatePicker
    • Cache isFullscreen state in MaterialCalendar (dcd9898)
  • Slider
    • Adjust thumb-track gap only for the pressed thumb (0b669da)
    • Fix D-Pad focus trap on horizontal sliders (7fc1c4f)
  • Snackbar
    • Added optional close icon (71f014f)

Full list of changes

1.14.0-alpha07...1.14.0-alpha08

1.14.0-alpha07

19 Nov 20:11

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

None

Library Updates

  • BottomAppBar
    • Remove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a)
  • Catalog
    • Use wrap overflowMode for button groups in theme picker (861ec3f)
  • Lists
    • Add attr for min child width (32e9fb2)
    • Support RTL swiping (176e92d)
    • Added onSwipeStateChanged callback, drawable swiped state for ListCardView, and alpha changes to swiped view as it reaches the swipe-to-action state (3e5a7fd)
    • Add styles for control elements in lists (3c1a61c)
    • Re-measure intrinsic width when measure specs change (69e9676)
    • Add more optional styles and update demos to show more variety of sample list content (692bd11)
    • Add swipe for action state (07a3be5)
  • MaterialButton
    • Fixed width morph with contents change. (dc98ca0)
  • MaterialDatePicker
    • Fix TAB keyboard trap and add DPAD month navigation. (757f9f3)
    • Add MonthAdapter helpers for finding enabled days (a207114)
  • MaterialShapeDrawable
    • Updated isRoundRectCornerMorph and pathDirty logic in MaterialShapeDrawable (9a8272d)
    • Always skip corner morph animation on bounds change in MaterialShapeDrawable. (ea9d250)
  • NavigationView
    • Set navigation menu item's a11y role description so it doesn't default to 'radio button' due to being checkable (0e17248)
  • Search
    • Make SearchView root unfocusable (f307771)
  • Slider
    • Fix ACTION_CANCEL motion touch event handling so that the slider resets its state if a cancel happens. Also don't let slider update incorrectly when a touch event may be overlapping with back gesture inset areas, as the back event takes precedence. (c4d19f6)
  • TimePicker
    • Use ViewCompat.performHapticFeedback (6c4db77)
  • TopAppBar
    • Updated ripple color on actions in M3 toolbar. (3b971c9)

Full list of changes

1.14.0-alpha06...1.14.0-alpha07

1.14.0-alpha06

22 Oct 18:54

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

Dependency Previous version New version
androidx.customview None 1.2.0

Library Updates

  • BottomSheet
    • Added support for Nested Scrolling with multiple nested scroll children. (4e4e8f3)
  • Catalog
    • Make sure focus stays trapped within the menu while the FAB menu is open. (20f381d)
    • Added snackbar catalog demo (d24edd1)
  • Chip
    • Fixed chip group forcing importantForAccessibility=yes (1867bb0)
  • Documentation
    • Updated images in Chip, Button, and Extended FAB. (1390517)
  • Lists
    • Added dependency to androidx.customview for ViewDragHelper and added swiped states + settling (1e6a8b7)
    • Fixed issue where the first drag may have not clamped to the end properly since originalContentLeft is 0 (a5be0f7)
    • Added ListItemRevealLayout, ListItemCardView, and relevant interfaces to introduce swiping in ListItemLayout (400d695)
    • Added ViewDragHelper (3236292)
  • MaterialCardView
    • Updated card swipe dismiss string to clarify key names on the demo screen (5c0e8dd)
    • Added keyboard and accessibility dismiss support to CardSwipeDismissFragment (fbb3320)
  • MaterialShapeDrawable
    • Fixed MaterialShapeDrawable#isRoundRect to use state-aware shape appearance. (3482899)
    • Optimized path calculation in MaterialShapeDrawable. (bbd1292)
  • Search
    • Allowed keyboard navigation between searchbar and other components (d06eed1)
    • Blocked keyboard focus on other views when SearchView is open (9366a84)
  • Slider
    • Changed thumb width when it's keyboard focused. (1bf522f)
    • Fixed slider D-Pad keys to modify value instead of focus (aa623f0)
    • Updated: only one value label should be shown at a time for the range slider (except for the mode where the labels are always visible). (ce092fa)
    • Used arrow keys for value adjustment and TAB for navigation (3d8d23d)
  • TimePicker
    • Fixed accessibility announces stale data in TimePicker input (4050857)
    • Updated error colors (00a64e2)
  • TopAppBar
    • Removed special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adb)
  • Release
    • Updated library version to 1.14.0-alpha06. (cc2218e)

Full list of changes

1.14.0-alpha05...1.14.0-alpha06

1.14.0-alpha05

25 Sep 17:39

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

None

Library Updates

  • Catalog
    • Update nav drawer demo to use dispatchKeyEvent instead of onKeyDown since onKeyDown can sometimes be consumed by a view with focus (fe1c0d6)
  • Chip
    • Fixed fontVariationSettings from TextAppearance being overwritten in ChipDrawable. (de5730e)
    • Added support for variable font axes (fb7ae01)
  • Documentation
    • rename buttongroup-overflow-menu.png to buttongroup-overflow-wrap.png (add buttongroup-overflow-menu.png) (14cb33b)
    • Removed the default style and updated the theme attribute code for non-default (9e1c68d)
    • Updated documentation with Expressive code/info for: (fca1418)
    • Updated documentation with additional code/info and updated the nomenclature of images in the following docs: (cc2390f)
    • Updated docs with Expressive code/info. (2b29a26)
  • Lists
    • Add selector for optional leading icon (14a6267)
  • MaterialButton
    • Added the "wrap" overflow mode. (7c66a2e)
  • MaterialCardView
    • Adds keyboard drag and drop support to the card demo fragment (11fafd9)
    • Add drawable states that MaterialCardView should still respect, even if duplicating its parent state (c99cba6)
  • Menu
    • Fix context menu keyboard controls in Menu demo (fb26da6)
    • Update Menu Catalog Demo to use Ctrl + Enter for Context Menu (4852ebc)
    • Make context menu TextView focusable on Menu demo screen (8dd5a81)
  • ProgressIndicator
    • Added an API to automatically hide the indicator after it reaches max progress. (4c74b80)
    • Updated SpringAnimation's minimum visible change and added APIs to customize spring force in DeterminateDrawable. (659e3bc)
  • SideSheet
    • Improve keyboard navigation in SideSheet catalog demos (59f0fc5)
  • TimePicker
    • Accessibility focus on error (9d8506a)
    • Fix error beep sound (5f7634f)
    • Error handling update (d241d48)
    • Error handling update (d2cce65)
    • Add tooltip to MaterialTimePicker mode toggle button (e69709f)
  • TopAppBar
    • Improve keyboard navigation in TopAppBar catalog demos (98a73a6)

Full list of changes

1.14.0-alpha04...1.14.0-alpha05

1.13.0

03 Sep 22:51

Choose a tag to compare

New in 1.13.0!

Important

  • Required minSdkVersion is now 21 or higher, for Material and AndroidX.
  • Now built with compileSdkVersion 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and android.nonTransitiveRClass=true.
  • Material 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version 1.14.0-alpha04 and use the Material3Expressive themes/styles in conjunction with new components mentioned above.

Dependency Updates

Dependency Previous version New version
androidx.appcompat:appcompat 1.6.1 1.7.0
androidx.constraintlayout:constraintlayout 2.0.1 2.1.0
androidx.dynamicanimation:dynamicanimation 1.0.0 1.1.0
androidx.graphics:graphics-shapes N/A 1.0.1
com.android.tools.build:gradle 7.4.2 8.7.3

Library Updates

  • A11y
    • Include "hour" and "minute" in announcements. For example: "Not checked, Hour - 11'0 clock. double tap to select Hour". (960bb4c)
    • Move responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476)
    • Prevent hide on scroll when Talkback is on (d560705)
    • Add missing 'button' mention to Talkback output for close icon. (79bd7d7)
  • BottomNavigationView
    • Update catalog demo to demonstrate adaptive bottom navigation bar (76936c4)
    • Fix early return in setItemGravity() (8a4d3c6)
  • BottomSheet
    • Prevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254)
    • Fix keyboard animation on Android 14 (a0b4dfa)
    • Fixed main catalog demo cutting off content when screen size is too small. (005687d)
    • Remove disruptive announcement "Drag handle double tapped"for BottomSheetDragHandleView. (95025c6)
  • Carousel
    • Recyclerview children do not inherit layout direction (ca0b870)
    • Update keyline state if necessary if item size changes (52228c1)
    • Update multi-browse strategy to always have at least 1 medium item (916e908)
    • Recalculate keyline state if it doesn't match the current container size (d0f5d72)
  • Checkbox
  • Chip
    • Get default minTouchTargetSize from material attributes (436437a)
    • Add a show all Chip for a11y (8e33421)
    • Updated flow layout to correctly layout padding when in RTL. (1eaf483)
    • Fix close icon focus ripple (a7ff8c9)
  • CollapsingToolbarLayout
    • Added multiple subtitle support. (57297ae)
    • Fixed incorrect title and subtitle positioning. (8598aa6)
  • Color
    • Updated to only draw surface color under the button's stroke when the buttons are actually overlapped. (7ae12b5)
    • ColorResourcesTableCreator: Fix length encoding for utf8 strings (7c62429)
    • ColorResourcesTableCreator: Fix resource entry names (443eaa5)
    • Added M3 colors in M3 ThemeOverlay. (ede0713)
  • Dialog
    • Add m3 styles for floating toolbar and docked toolbar for dialog (1b58f5f)
    • Fixed issue with child views overflowing from the alert dialog. (1ee9a86)
  • DockedToolbar
    • Include IME in insets (834ce09)
    • Fix typo in DockedToolbar doc (0c83f50)
    • Add new demo to show fewer items (68a79d7)
    • Add docs (08a8893)
    • Adding inset padding attributes (1fd228b)
    • Create DockedToolbarLayout (51873bb)
  • FloatingActionButton
    • Fix the width calculation in the wrap_content extend strategy (1e06f7c)
    • Added medium FAB and s/m/l extended FABs to Material3. (870ace3)
    • Restored public jumpDrawablesToCurrentState method (6f41625)
    • Fixed wrong elevation per state. (f513914)
    • Improved readability. (949b057)
    • Fixed wrong elevation per state. (db7fe20)
    • Merged FABImpl and FABImplLollipop classes, since no pre-lollipop is supported. (da442be)
    • Integrated new token sets. (4a841f5)
    • Integrated to new token sets. (7e63ca1)
  • FloatingToolbar
    • Added m3 styles for buttons and theme overlays (4b9df08)
    • Integrate tokens and add m3 styles (f223b26)
    • Fix for insets handling adding insets on every onApplyWindowInsets call (3938284)
    • Floating toolbar should not enforce disappear on scroll behaviour within CoordinatorLayouts (85c4e0f)
    • Add inset handling (05f8c52)
    • Removed floating toolbar-specific icon button styles from theme overlay (7f88784)
    • Update styles to consolidate horizontal/vertical styles to a single style (b07e48b)
  • LoadingIndicator
    • Added a default static drawable, which is displayed when the animation is disabled. (f89b8af)
    • Fixed the animation no constant rotation. (1886cf0)
    • Fix handling of negative morphFraction (e169ffc)
  • MaterialButton
    • Updated the shapes of buttons when the orientation is changed. (e722464)
    • Fixed connected button groups to not morph button size. (df9074c)
    • Fixed width morph in vertical button groups. (fb81974)
    • Fixed a bug that checked state in XML was not respected. (0c5b17a)
    • Test improve memory usage when materialSizeOverlay is used. (571a196)
    • Update split button styles to lessen maker specification requirements and support consistency. (2aadbd1)
    • Add a demo to programmatically add/remove buttons in a button group. (4f55422)
    • Added a click action and toggleable control in button group demo. (8e52e94)
    • Fixed minor issues in button group demo and toggle group demo. (5161e71)
    • Added adaptation section in dev doc. (f61cea5)
    • Fixed the bug of size morp...
Read more

1.14.0-alpha04

20 Aug 19:53

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.
  • Library is now built with AGP 8.11.1 and Gradle 8.13.

Dependency Updates

Dependency Previous version New version
androidx.constraintlayout:constraintlayout 2.1.0 2.2.1
com.android.tools.build:gradle 8.7.3 8.11.1

Library Updates

  • BottomNavigationView
    • Fix navigation item layout in non-compact windows (7818901)
  • BottomSheet
    • Delete duplicate "Handling insets and fullscreen" section (5e7e823)
  • ExposedDropdownMenu
    • Add keyboard support for dropdown menus (d8cc690)
  • Lists
    • Updating List catalog demo to spec (c388920)
    • Added segmented list style, public attrs, and catalog demos (ab86a01)
    • Introduce ListItemLayout and ListItemViewHolder with catalog demo (3c332f9)
    • Added Multi section ListItemViewHolder bind method and demo (babc9fc)
  • LoadingIndicator
    • Added showDelay and minHideDelay attribute. (ac82767)
    • Update documentation to align with Material 3 spec. (f30f5d8)
  • MaterialCardView
    • Support StateListShapeAppearance in MaterialCardView (2f0935a)
  • MaterialDatePicker
    • Fix header layout overlapping in landscape (223bf15)
  • ProgressIndicator
    • Moved showDelay and minHideDelay attrs to resources module. (90a1f22)
  • SideSheet
    • Added tooltip to close buttons (414a1a6)
  • TextInputLayout
    • Add tooltip support to TextInputLayout icons (c7fa5dc)
  • Theming
    • Added missing Shape Attributes to Dialog themes (7fe9ef9)
  • TimePicker
    • Add keyboard support to clock input mode (089372f)
  • TopAppBar
    • Add support for navigation button with circle background (015e053)
  • Gradle
    • Update AGP version to 8.11.1 and Gradle version to 8.13 (9a29c12)
    • Bump Gradle to 8.14.3 (39c27cd)
  • Other
    • Update library version to 1.14.0-alpha04 (c30c2d8)
    • Update library string translations (ab33339)

Full list of changes

1.14.0-alpha03...1.14.0-alpha04

1.13.0-rc01

30 Jul 19:38

Choose a tag to compare

Important

Expressive is moving to 1.14.0 starting with 1.14.0-alpha01, which is currently available. (#4803) (27226d6)

Dependency Updates

None

Library Updates

  • LoadingIndicator
    • Added a default static drawable, which is displayed when the animation is disabled. (f89b8af)
  • ProgressIndicator
    • Updated to not throw exceptions for calling setIndeterminateDrawable and setDeterminateDrawable during the initialization. (64867cf)

Full list of changes

1.13.0-beta01...1.13.0-rc01

1.14.0-alpha03

21 Jul 16:25

Choose a tag to compare

Important

  • The compileSdkVersion was updated to 35.

Dependency Updates

None

Library Updates

  • BottomSheet
    • Make handle respond to keyboard input (1ee0768)
  • Catalog
    • Deleted BottomWindowInsetsView and replaced with setOnApplyWindowInsetsListener (3042829)
    • Add tooltip to overflow button in Overflow Layout and update docked toolbar + floating toolbar demos to have tooltips (ef6e07d)
    • Fix Navigation Drawer demo to undo keyboard navigation clusters in AppBarLayout/Toolbar (26ced72)
    • Update demos to close drawers on esc key press and add guidance in docs (1f10e0b)
    • Set container content to non-focusable to avoid the container getting focus (ac47c7f)
  • Chip
  • Documentation
    • Updated getting started page for new change in R files starting in 1.14.0. (88f76e3)
  • FloatingActionButton
    • Use the current labelOpacity as the initial animation value (1b08336)
  • LoadingIndicator
    • Added a default static drawable, which is displayed when the animation is disabled. (2ca567d)
    • Fixed the animation no constant rotation. (f300ba0)
  • MaterialButton
    • Update corner radius behavior to override StateListShapeAppearance if set (85e2fd0)
  • MaterialCardView
    • Allow selection using keyboard (e889bc2)
  • MaterialDatePicker
    • Enable autosizing for day of week labels (3e5c1a8)
    • Fix Talkback issues with the hint text by adding a TtsSpan.TYPE_VERBATIM so that the hints are read as verbatim text by screen readers. (7c162ef)
  • MaterialShapeDrawable
    • Introduce ShapeAppearance interface to reduce branching between ShapeAppearanceModel and StateListShapeAppearanceModel (4db1900)
  • ProgressIndicator
    • Updated to not throw exceptions for calling setIndeterminateDrawable and setDeterminateDrawable during the initialization. (e39f765)
    • Added APIs for customizing wave amplitude ramping. (24cddab)
  • Search
    • Set touchscreenBlocksFocus to false to enable keyboard navigation between searchview (ef95e93)
  • TimePicker
    • Default to text input mode in landscape (dcfe2ee)
    • Add toggle button, split button, and time picker AM/PM sound effects. (3625174)
  • Other
    • Update library version to 1.14.0-alpha03 (66a52b1)
    • Ignore bottom gesture inset if anchor view is specified to avoid infinite loop flicker (5853d72)
    • [Internal] Restore binary compatibility (ViewOverlay) (a17e208)

Full list of changes

1.14.0-alpha02...1.14.0-alpha03

1.13.0-beta01

09 Jul 20:06

Choose a tag to compare

Important

Expressive is moving to 1.14.0 starting with 1.14.0-alpha01, which is currently available. (#4803) (27226d6)

Dependency Updates

None

Library Updates

  • LoadingIndicator
    • Fixed the animation no constant rotation. (1886cf0)
  • MaterialButton
    • Updated the shapes of buttons when the orientation is changed. (e722464)
    • Fixed connected button groups to not morph button size. (df9074c)
    • Fixed width morph in vertical button groups. (fb81974)
  • Other
    • Restore binary compatibility of ViewOverlay (61c5a6d)

Full list of changes

1.13.0-alpha14...1.13.0-beta01