Compose Material 3
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| October 22, 2025 | 1.4.0 | - | - | 1.5.0-alpha07 |
Structure
Compose is combination of seven Maven Group IDs within androidx. Each Group
contains a targeted subset of functionality, each with its own set of release
notes.
This table explains the groups and links to each set of release notes.
| Group | Description |
|---|---|
| compose.animation | Build animations in their Jetpack Compose applications to enrich the user experience. |
| compose.compiler | Transform @Composable functions and enable optimizations with a Kotlin compiler plugin. |
| compose.foundation | Write Jetpack Compose applications with ready to use building blocks and extend foundation to build your own design system pieces. |
| compose.material | Build Jetpack Compose UIs with ready to use Material Design Components. This is the higher level entry point of Compose, designed to provide components that match those described at www.material.io. |
| compose.material3 | Build Jetpack Compose UIs with Material Design 3 Components, the next evolution of Material Design. Material 3 includes updated theming and components and Material You personalization features like dynamic color, and is designed to be cohesive with the new Android 12 visual style and system UI. |
| compose.runtime | Fundamental building blocks of Compose's programming model and state management, and core runtime for the Compose Compiler Plugin to target. |
| compose.ui | Fundamental components of compose UI needed to interact with the device, including layout, drawing, and input. |
Declaring dependencies
To add a dependency on Compose, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for
your app or module:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.4.0" implementation "androidx.compose.material3:material3-window-size-class:1.4.0" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.5.0-alpha07" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.4.0") implementation("androidx.compose.material3:material3-window-size-class:1.4.0") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.5.0-alpha07") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Compose Material3 Common Version 1.0
Version 1.0.0-alpha01
April 17, 2024
androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01, and androidx.compose.material3:material3-common-desktop:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
New Features
Themeless components that can be used to build Material Design components:
- Tonal Palette
- Icon
- Touch target size
Compose Material3 Adaptive Navigation Suite Version 1.0
Version 1.0.0-alpha07
May 1, 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.
API Changes
- Make navigation suite APIs non-experimental (If62af)
Bug Fixes
- Consume insets for content by default (50266df)
Version 1.0.0-alpha06
April 17, 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.
API Changes
- Add
containerColorandcontentColortoNavigationSuiteScaffoldDefaults. (I64e3a, b/331993720) - Adding
itemColorsfunction toNavigationSuiteDefaults. (Idf719, b/328480012) - Make
NavigationSuiteScopesealed. (Iefa57)
Version 1.0.0-alpha05
March 6, 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.
API Changes
- Make
NavigationSuiteItemColorsconstructor public. (Ica83a, b/324886877)
Version 1.0.0-alpha04
February 21, 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.
Dependency Updates
- Update Material3 adaptive dependencies to the new module paths. (Ibc421)
- Migrate to use Window Manager version of window size classes. (I3794d)
Version 1.0.0-alpha03
February 7, 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.
API Changes
- Update package name to navigationsuite from navigation-suite (I7eff7)
- Material3 components exposing a
MutableInteractionSourcein their API have been updated to now expose a nullableMutableInteractionSourcethat defaults to null. There are no semantic changes here: passing null means that you do not wish to hoist theMutableInteractionSource, and it will be created inside the component if needed. Changing to null allows for some components to never allocate aMutableInteractionSource, and allows for other components to only lazily create an instance when they need to, which improves performance across these components. If you are not using theMutableInteractionSourceyou pass to these components, it is recommended that you pass null instead. It is also recommended that you make similar changes in your own components. (I41abb, b/298048146)
Version 1.0.0-alpha02
December 13, 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
New Features
- Add a 'None'
NavigationSuiteType(If8cb1, b/313688598)
Bug Fixes
- Fix navigation component filling entire screen when root surface has
modifier.fillMaxSize. (c9cf250, b/312664933)
Version 1.0.0-alpha01
November 15, 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
Compose Material3 Adaptive Version 1.0
Version 1.0.0-alpha06
February 7, 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.
New Features
- Added additional behavior options for
ThreePaneScaffoldNavigatorback navigation. (I858aa) - Added optional destination content to navigation history. (Ibd7e6)
Version 1.0.0-alpha05
January 24, 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.
New Features
- Support history-awareness in scaffold navigation and value calc (I71d46)
Version 1.0.0-alpha04
January 10, 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.
New Features
- Added edge-to-edge support in pane scaffolds (I1b462)
API Changes
- Moved hinge bounds properties in Posture to a list of hinge info (I24f90)
Bug Fixes
- Fix
AnimatedPaneis not recomposed (c3f573d)
Version 1.0.0-alpha03
December 13, 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.
API Changes
- Change scaffold roles to aliases of
ThreePaneScaffoldRole. (I65bd1) - Create a base class for scaffold roles (I4784d)
- Remove unnecessary parameter from
AnimatedPane's content (Ibc73b) - Renames
collectWindowSizeAsStateand returns raw values instead (I480f4)
Version 1.0.0-alpha02
November 29, 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
API Changes
Bug Fixes
- Fix panes are not switched when
AnimatedPaneis not used (d88f181)
Version 1.0.0-alpha01
November 15, 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
Material3 adaptive condition APIs:
Material3 adaptive pane scaffold directive APIs:
Material3 adaptive pane scaffold APIs:
- Pane scaffold basic APIs
Compose Material3 Version 1.5
Version 1.5.0-alpha07
October 22, 2025
androidx.compose.material3:material3-*:1.5.0-alpha07 is released. Version 1.5.0-alpha07 contains these commits.
API Changes
- Enhanced
SearchBar.InputFieldwith akeyboardOptionsparameter, allowing for optimized text input by specifying keyboard options andlineLimitsparameter allowing to specify text wrapping scrolling (Id08a4, b/416991049)
Bug Fixes
- Fixed a bug in Slider where press interactions were not emitted on touch down. This change ensures that a
PressInteraction.Pressis emitted immediately onawaitFirstDown, providing instant visual feedback. (If9e25, b/308501482) - Fixed an issue with the
Tooltipcaret not changing directions when scrolling. TheTooltipBoxnow triggers a recomposition whenever the tooltip popup switches sides, ensuring the caret's direction is updated correctly. (I5ad1e, b/438875827)
Version 1.5.0-alpha06
October 08, 2025
androidx.compose.material3:material3-*:1.5.0-alpha06 is released. Version 1.5.0-alpha06 contains these commits.
API Changes
- Added scrolled colors for
AppBarWithSearch. In addition, the container color of a search bar input field is now transparent by default. The default container color of the search bar itself remains unchanged. (I4fe32) - Added a default overflow indicator composable to
FloatingToolbar. (I6a6f8, b/415833723) - Update
isExpandedtoisShowingfor menu APIs in button group. (I86309, b/412419514) - Updated
initialIsExpandedtoinitialIsShowingand added a default overflow indicator composable inButtonGroupDefaults. (I6e67c, b/412419514) - Remove the drag-to-resize feature from the public API surface (Ic85ba, b/437953743, b/442636084)
Bug Fixes
- Fix focus order of keys keyboard navigation, and also fix it for RTL. (Ibba27, b/422220597)
- Fix date picker's year selection grid keyboard navigation. (I02363, b/422425720, b/446814683)
- Fixed keyboard navigation for date selection grid in date pickers. (I594ef, b/422220597, b/422223115)
- Fixed offscreen toolbar receiving keyboard focus. (I01a73, b/422786812)
- Fixed
RangeSliderand Slider keyboard navigation. (Ib6bcf, b/424845268, b/422942624)
Version 1.5.0-alpha04
September 10, 2025
androidx.compose.material3:material3-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.
New Features
- Added
Textcomposable overloads accepting aColorProducerlambda that enables efficient color changes without triggering a full recomposition. (I9ff25, b/407055128)
API Changes
- Rename
Scrim()toLevitatedPaneScrim()and hide properties of Levitated and Reflowed classes. (I090e1, b/427953101) - Hide
calculatePosture()API as internal (Ie7227, b/424442112) - Expose
PaneScaffoldHorizontalOrderas a sealed public API (Ia4ebe) - Mark window size and posture related APIs as experimental. (I4ee96)
Bug Fixes
- Fixed keyboard navigation order so that focus goes from the fab button to the first item at the top. (Icaaa1, b/422762939)
- Improve Navigation Drawer keyboard a11y: drawer is no longer focusable when dismissed, it can be closed via esc key, and its content receives focus when opened. (Idb995, b/422793544, b/422793651, b/422797424)
- Time picker's clock face now responds to keyboard navigation/input. (I9d5d9, b/425710631)
- Use new initial anchor when pane expansion anchor list changes (I91cd1, b/438829477)
Version 1.5.0-alpha03
August 27, 2025
androidx.compose.material3:material3-*:1.5.0-alpha03 is released. Version 1.5.0-alpha03 contains these commits.
Behavior Change
- The size of the checkbox and indicator colors has been adjusted to align with the specification. To minimize UI disruption, the flag
isCheckboxStylingFixEnabledhas been added to help migration. Please enable it manually in your apps. This flag will eventually be removed in a future version. (I5bcd3, b/304300693)
API Changes
- Added
contentPaddingparameter forTopAppBar(Ia5fea) - Add component override for nav suite scaffold (I85312)
Bug Fixes
- The
containerColorparameter inTimePickerDialogis now correctly applied, allowing customization of the dialog's background color. (I47f89, b/403183883) - Modal navigation rail no longer loses focus when collapsing, and now closes in response to the ESC key. (4255257)
Snackbarnow has correct keyboard focus order for action and dismiss buttons, dismiss button also supports displaying a tooltip. (11fa13d)
Version 1.5.0-alpha02
August 13, 2025
androidx.compose.material3:material3-*:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.
API Changes
- In
PullToRefreshDefaults, renamedshapetoindicatorShapeandcontainerColortoindicatorContainerColorand addedindicatorMaxDistancefor indicator use. (Ib6cbe) - Remove deprecation tag from
PullToRefreshDefaults.indicatorColor(Iaaee2) - Added
AppBarWithSearch, replacingTopSearchBarand supporting navigation/action icons. (I213a5)
Bug Fixes
- Fix bug where backpress incorrectly updates drawer offset. (I85624, b/427778135)
SwipeToDismissBoxnow falls back to a settledtargetValueif no other anchors exist.BottomSheetScaffoldnow falls back to an ExpandedtargetValueif no other anchors exist. (I73d5e, b/428856426)- Fixed button padding in
AlertDialogwhen stacked vertically. (Ia2118) - [FAB] Fix bug where FAB is still clickable after
Modifier.animateFloatingActionButtonhides it (I8ea6c, b/430336834) - [Slider] Fixed keyboard navigation for Slider (I3a405)
Version 1.5.0-alpha01
July 30, 2025
androidx.compose.material3:material3-*:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
New Features
- Add more position provider for tooltips so now developers can control if tooltip is placed above, below, left, or right of the anchor. Add an API that takes in a Shape for carets, so more custom shapes can be provided. (Ie513c)
API Changes
TextFieldColorsmethods to calculate component colors based on state are now public. (I03165)- Suspend annotation has been removed from
onDismisscallback. (Ie3166) DatePickerState.getDisplayedMonth(): YearMonth?andDateRangePickerState.getDisplayedMonth(): YearMonth?were updated to return non nullable value. (Ice09c, b/427952972)- Remove
ModalWideNavigationRailDefaults, move its contents toWideNavigationRailDefaultsand rename its shape related names. (Ic5e61) WideNavigationRailItem’s colors and copy deprecated functions should be level Hidden. (Id7e82)- Change level of deprecated
WideNavigationRailapis to Warning and make them experimental. (I89085)
Bug Fixes
- Ensures
DatePickerrespects its own locale for number formatting. Previously, ifDatePickerwas configured for an Arabic locale, it could incorrectly render Latin digits if the device's system locale used a different numbering system. (Iccf76, b/432616196) - Fix a
LinearProgressIndicatorissue that did not render a stop indicator correctly in RTL layouts. (I0734c) PrimaryScrollableTabRowandSecondaryScrollableTabRowdivider now extends to the full screen size, even when tab content does not extend to the end of the screen. (Ic1e9c, b/261741384)
Compose Material3 Version 1.4
Version 1.4.0
September 24, 2025
androidx.compose.material3:material3-*:1.4.0 is released. Version 1.4.0 contains these commits.
Important changes since 1.3.0:
Library change announcements
The androidx.compose.material.icons library is no longer recommended for displaying Material Icons in Compose, as Material Symbols are the new way forward. We have stopped publishing updates to this library and it has been removed from the latest Material 3 library release, you can still manually reference it if you cannot migrate yet.
Instead, we recommend downloading a Vector Drawable XML file from the Android tab of https://fonts.google.com/icons to get access to the latest styled icons: Material Symbols.
Why are we not recommending the library anymore? The icons library ("Material Icons") have been superseded by the newer look of Material Symbols and we've seen that the library can increase the build time of your apps significantly as it includes all the various icons that may not be needed.
For more information: https://developer.android.com/develop/ui/compose/graphics/images/material
Behavior Changes
This library no longer adds a dependency to
material-icons-coreso if your project relied on that, you will have to explicitly add that dependency in your build.gradle[.kts] files. (I735ff, b/349894318)NavigationBarItemandNavigationRailItem's active label color change fromonSurfaceto secondary in order to improve usability, color contrast and improve coherence within the system (Ibc297), to revert to the previous behavior, copy the default colors and change theselectedTextColortoMaterialTheme.colorScheme.onSurface.Material 3 components are now using the new
MotionSchemeto define their motion. (Ie0f93)Indeterminate circular Progress Indicator motion changes (I3c07e)
New Material Design 3 Components
HorizontalCenteredHeroCarouselVerticalDragHandle- Secure text fields for password entry fields
Enhancements to existing Material Design 3 components
- Text now supports
autoSize- Text with string
- Text with annotatedString
- Added Material 3 decorators for
BasicTextField2 - Added an
TimePickerDialogAPI that can be used forTimePicker,TimeInputor to have a switchable version. - New search bar APIs:
- Collapsed search bars and expanded search "views" are now separate composables:
SearchBarrepresents a search bar in the collapsed state.ExpandedFullScreenSearchBarandExpandedDockedSearchBarrepresent the search bar in the expanded state. These open in a new window.SearchBarStateto control the state of the search bar
- Promoted experimental APIs to stable!
- Performance improvements
Version 1.4.0-rc01
September 10, 2025
androidx.compose.material3:material3-*:1.4.0-rc01 is released. Version 1.4.0-rc01 contains these commits.
Version 1.4.0-beta03
August 27, 2025
androidx.compose.material3:material3-*:1.4.0-beta03 is released. Version 1.4.0-beta03 contains these commits.
Version 1.4.0-beta02
August 13, 2025
androidx.compose.material3:material3-*:1.4.0-beta02 is released. Version 1.4.0-beta02 contains these commits.
Dependency Changes
- Remove
graphics-shapesdependency (I219e0, b/436230765)
API Changes
- In
PullToRefreshDefaults, renamedshapetoindicatorShapeandcontainerColortoindicatorContainerColorand addedindicatorMaxDistancefor indicator use. (Ib6cbe) - Remove deprecation tag from
PullToRefreshDefaults.indicatorColor(Iaaee2) BasicAlertDialogOverrideScopewas accidentally promoted to stable and had its experimental annotation removed in aosp/3701846. Marking it as internal. It will stay as public experimental in 1.5.0-alpha (I9182a)
Bug Fixes
- Fix bug where backpress incorrectly updates drawer offset. (I85624, b/427778135)
Version 1.4.0-beta01
July 30, 2025
androidx.compose.material3:material3-*:1.4.0-beta01 is released. Version 1.4.0-beta01 contains these commits.
Breaking changes
- All public APIs tagged with
ExperimentalMaterial3ExpressiveApiorExperimentalMaterial3ComponentOverrideApihave been removed, please switch to1.5.0-alphato continue enjoying these features. (Ie4ae0) - Please expect the following stabilized
pullToRefreshAPIs to be renamed in the next release. (Ib6cbe)
New Features
Tooltipnow supports custom caret shape and custom caret position (above, below, left, or right of the anchor). (Ie513c)
API Changes
- Suspend annotation has been removed from
onDismisscallback. (Ie3166) DatePickerState.getDisplayedMonth(): YearMonth?andDateRangePickerState.getDisplayedMonth(): YearMonth?were updated to return non nullable value. (Ice09c, b/427952972)- Remove
ModalWideNavigationRailDefaults, move its contents toWideNavigationRailDefaultsand rename its shape related names. (Ic5e61)
Bug Fixes
- Ensures
DatePickerrespects its own locale for number formatting. Previously, ifDatePickerwas configured for an Arabic locale, it could incorrectly render Latin digits if the device's system locale used a different numbering system. (Iccf76, b/432616196) - Fix a
LinearProgressIndicatorissue that did not render a stop indicator correctly in RTL layouts. (I0734c) PrimaryScrollableTabRowandSecondaryScrollableTabRowdivider now extends to the full screen size, even when tab content does not extend to the end of the screen. (Ic1e9c, b/261741384)
Version 1.4.0-alpha18
July 16, 2025
androidx.compose.material3:material3-*:1.4.0-alpha18 is released. Version 1.4.0-alpha18 contains these commits.
New Features
ModalBottomSheetPropertiesnow provides the option to disable dismissRequest from a scrim click. (I8e715)- Add
trackCornerSizesupport toRangeSlider's Track. (Iec529)
API Changes
- Made
railExpandeda required param forWideNavigationRailItem, addedmodalContentColorforWideNavigationRailColorsand movedWideNavigationRailDefaults.modalContainerShapetoModalWideNavigationRailDefaults.containerShape. (Id60c5) - Move
WideNavigationRail’s new colors function param to be the last one, and deprecate the old function. (Iac7f7) PullToRefreshis now an stable API (I18537)- Updates to the
DatePickersAPI. We removed the default null end date forDateRangePickerand made it mandatory to pass in. We also clarified the midnight UTC usage of the date representation in the API documentation, and marked the latest getters and setters that use the java.time APIs as experimental for now. (I121b3, b/427952972) - Graduate the Icon with
tint: ColorProducerparam API to non-experimental. (Ia0133) - Removed the experimental annotations from
DatePicker,DateRangePicker, and their supporting states, classes, and types. (I0e4e0, b/391848485) - Changed default focusable value to false to fix a11y focus, and added
hasActionparam toTooltipBox. (I62998) - Graduate experimental
WideNavigationRail,ShortNavigationBarandNavigationItemAPIs. (I3ca3c) - Remove the
@ExperimentalMaterial3Apiannotations from some of the top app bar functions, supporting classes, and objects. (I0a9b7)
Version 1.4.0-alpha17
July 2, 2025
androidx.compose.material3:material3-*:1.4.0-alpha17 is released. Version 1.4.0-alpha17 contains these commits.
New Features
- Update button group's animation to animate to 75% of the animation when clicked instead of pressed. (593942a, b/423596967)
Bug Fixes
- Fixed an issue where a carousel item could, in some cases, exceed the large element size during layout calculations, that cut the whole widget. (I1c3d7, b/397489534)
- Fixed jumping past
beforeContentPaddingwhen scrolling carousels with start and end shift offsets that overlapped. (c3d5f3a, b/420618979) - Update
SwipeToDismiss’ enabled behavior to observe settled state instead of current. Restores existing behavior where anchor behavior is only disabled when the component is settled at a dismissed state. (3844e07, b/425006844) ExposedDropdownMenu’s popup menu can now be opened via keyboard input. Also fix the menu is now reachable via keyboard for the editable variation. (46ead03)
Version 1.4.0-alpha16
June 18, 2025
androidx.compose.material3:material3-*:1.4.0-alpha16 is released. Version 1.4.0-alpha16 contains these commits.
New Features
- Added a center aligned hero carousel component (I6f6d3)
API Changes
- Implement XR overrides vertical toolbar (Ia1604)
- Added programmatic scroll functions to
CarouselState(I12f8e) - Add
ComponentOverrideforModalWideNavigationRail(I4f440) - Add
ComponentOverrideforWideNavigationRail(I6354f) - Create
ComponentOverrideforHorizontalFloatingToolbar(I51116) - Create
ComponentOverrideforShortNavigationBar(I30e24) SwipeToDismissBoxStatereferences toconfirmValueChangehave been marked deprecated. Users should instead leverageSwipeToDismissBoxAPIonDismissedcallback. (Iee780)- Added userScrollEnabled parameter to Carousel composables. (I1d4d2)
- Carousel's
currentItemcan now be observed fromCarouselState. (Ie87e9)
Bug Fixes
- Fix an issue where an arbitrary shape on a FAB that is passed to a
FloatingToolbarthat was not applying its shadow correctly. (Icdcc9, b/423336922) - All Carousels now use the Carousel semantic role by default. (I7af12)
- Fixed incorrect thumb movement when the slider state was updated via
LaunchedEffect(Id9f31, b/302774166)
Version 1.4.0-alpha15
May 20, 2025
androidx.compose.material3:material3-*:1.4.0-alpha15 is released. Version 1.4.0-alpha15 contains these commits.
API Changes
- Added
MotionTheme.LocalMotionScheme, composition local. This allows access to the theme motion scheme fromCompositionLocalConsumerModifierNodes, withcurrentValueOf(MotionTheme.LocalMotionScheme). (I014b1) ColorSchemeconstructor without Fixed color roles is now deprecated. Please migrate to constructor that includes fixed roles. (Iad0ee)- M3 Text component now supports
TextAutoSize. (I7f524) - Add api for constructing split button size variants and add samples. (Ice30b)
Bug Fixes
- Fixed an issue where
SnackbarandFloatingActionButtonwere incorrectly positioned when edge-to-edge was enabled. Scaffold now correctly applies horizontal insets to these components. (Ib7c30, b/244400727) - Fix the
BottomSheetmotion from fully expanded to partially expanded. TheBottomSheetnow uses theMotionScheme's fast-effect when hiding or collapsing, and default-spatial when expanding. (Ifa46f, b/416063171) ColorSchemeconstructor without surface container roles has been marked hidden and no longer recommended for use. (Ia7237)- Removed a
CircularWavyProgressIndicatorSize.minDimension > 0requirement, which used to throw an exception, to allow more flexibility. (Ic9418, b/377531195) - Hyperlinks in
Text(AnnotatedString)now have Material styling by default. (I78288, b/339843816) - Fix an issue where the
toShape()function in theRoundedPolygonis caching a Path and causing an issue when multiplecreateOutlinecalls are made with different sizes. (I4026d)
Version 1.4.0-alpha14
May 7, 2025
androidx.compose.material3:material3-*:1.4.0-alpha14 is released. Version 1.4.0-alpha14 contains these commits.
API Changes
- Added a new
AppBarColumncomposable working in the same fashion asAppBarRowbut for content laid out in a column. (Iaf6bd) - Added max items to
AppBarRow, this is necessary to correctly implement the material spec for top app bars. (I92ce4) - Added a method in
TooltipScopeto obtain thelayoutCoordinatesof the anchor. Deprecating thedrawCaretmethod because developers can use this new method to obtain the anchor boundslayoutCoordinatesand create an appropriate shape that contains a caret. (Ia2e12, b/329470609) - Added
java.timesupport for Date Pickers: IntroducedrememberDatePickerState/rememberDateRangePickerStateoverloads that accept java.time objects (e.g., initialLocalDate,YearMonth). Also added extension functions on the state objects to get/set values using types likeLocalDateandYearMonth. Requires API 26+ or desugaring. (I70f29, b/266202516, b/281859606) - Add
CenteredTrackcomposable allowing using a Slider with a track that starts from the center. (I5b1d6)
Bug Fixes
- Enhanced the performance of Wavy Progress Indicators: Linear types now load ~8.5% faster with ~11% fewer allocations, while Circular types see a substantial ~47% speed boost and ~39% reduced allocations. (I595d8)
Version 1.4.0-alpha13
April 23, 2025
androidx.compose.material3:material3-*:1.4.0-alpha13 is released. Version 1.4.0-alpha13 contains these commits.
API Changes
isAppearanceLightStatusBarsandisAppearanceLightNavigationBarsreintroduced toModalBottomSheetPropertiesas android only params. (Id4bc0)- Add an
AppBarRowcomposable, that handles overflow of items that would fit outside its bounds. (I742bd) - Update the the
DatePickerandDateRangePickerAPI for requesting a focus when switching to a date-input mode. We've replaced therequestFocusboolean parameter with an optionalfocusRequesterparam that takes aFocusRequester. (I14b69) - Remove modifier and interaction source from the default clickable and toggleable items. Have it as an implementation detail instead. (I95ed6)
- Updated
ButtonGroupto overflow into a dropdown menu when there are too many buttons to fit on the screen. (I7b88b)
Bug Fixes
- Bottomsheet now consumes top insets when smaller than current offset. This allows users to provide top insets for expanded behavior.
BottomSheetDefaults.windowInsetsnow includesWindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067) - Enabled enter/exit animations (fade/slide) for Chip leading icons/avatars and trailing icons when they are added or removed. This primarily benefits selectable Chips (Filter, Input) but applies generally. (I9af21)
- Fix the broken RTL Slider behavior caused by
LookaheadScope. (Ieb152, b/408118041) - Fix the Bottom
AppBarcrash related to scrolling with a hidden system UI. (Ic6140, b/405996228)
Version 1.4.0-alpha12
April 9, 2025
androidx.compose.material3:material3-*:1.4.0-alpha12 is released. Version 1.4.0-alpha12 contains these commits.
API Changes
- Removed android specific parameters from
ModalBottomSheetProperties(Iab97f, b/362539765) - Introduce overloading functions for drag handle size defaults (I0ed0d)
- Add new
NavigationSuiteScaffoldandNavigationSuiteScaffoldLayoutfunctions to support new layout types and add support for an optional primary action content. (Ib262a, b/353144478) - Deprecate
Modifier.weightwith fill parameter inButtonGroup. Adding a version without fill. (Id32bb) - Rename
xSmall-andxLarge-IconButton component defaults to spell outextra. (Ib6e0f) - Add new
NavigationSuite,NavigationSuiteItemandNavigationSuiteColorsfunctions to support new layout types. (I203d6) - Add new
NavigationSuiteTypesand add newnavigationSuiteTypefunction that include those layout choices (If68f9)
Bug Fixes
ColorScheme.contentColorFornow mapssurfaceDimtoonSurface. (I8891a)- Updated
DateInputTextFieldimplementation to address an issue where the input field did not reflect programmatically set date. (I6c8d1, b/401143451) - Fixed the talkback focus order for the navigation rail and wide navigation rail (I6cf6f, b/407048224)
Version 1.4.0-alpha11
March 26, 2025
androidx.compose.material3:material3-*:1.4.0-alpha11 is released. Version 1.4.0-alpha11 contains these commits.
API Changes
- Update capitalization for composable properties in default objects for button and toggle button. Add methods in
ToggleButtonDefaultsandButtonDefaultsfor recommended content padding, shapes, icon size, icon spacing, and text style depending on container height. (Iea69e) - Removed deprecated experimental functions and constants from the
FloatingToolbar. (I8f339) - Elevation components now share a common interface and have public constructors and properties. (Ibb172)
- Adding
animateWidthmodifier inButtonGroupScopethat will need to be used with button group's children to correctly animate the children. (Ia3bb6)
Bug Fixes
- Fixed Floating Toolbar padding to ensure visual balance during collapse, and improved flexibility for larger content. (I06c00)
Version 1.4.0-alpha10
March 12, 2025
androidx.compose.material3:material3-*:1.4.0-alpha10 is released. Version 1.4.0-alpha10 contains these commits.
API Changes
TabRowDefaults.tabIndicatorOffsethas been deprecated in favor ofTabIndicatorScope.tabIndicatorOffset. (Ib36b3)- Fix typo for small content padding in button defaults. (I19bfe)
TabRowandScrollableTabRoware deprecated in favor of Primary and Secondary variants of each. Primary and Secondary tab rows are more performant and accurate to spec. (I918e2)- Added
rememberSliderStateandrememberRangeSliderState. (I8e384) - Added
shouldAutoSnaptoSliderStateto control the auto-snapping mechanism, disabling it may be useful for custom animations. (I07745) - Scrollable tab row's minimum tab width is now a parameter. Primary and Secondary tab row variants are no longer experimental. (If6f15, b/226665301)
- Made the class
ExitAlwaysFloatingToolbarScrollBehaviorpublic allowing creation without composition. (Ibf31c)
Version 1.4.0-alpha09
February 26, 2025
androidx.compose.material3:material3-*:1.4.0-alpha09 is released. Version 1.4.0-alpha09 contains these commits.
API Changes
- Rename
DragHandle’s setting fields in the default state; separate pressed and dragged states; make the default sizes be public. (I787b9) - Updates to the
TowRowsTopAppBarAPI. Removed theexpandedlambda parameter and added separate parameters for the expanded and collapsed heights. (Idd677, b/306697446, b/229134133, b/268068946)
Bug Fixes
- The bottom app bars now observe the touch exploration service (e.g.,
TalkBack) and keep them visible whenever the service is on. (I4b34d)
Version 1.4.0-alpha08
February 12, 2025
androidx.compose.material3:material3-*:1.4.0-alpha08 is released. Version 1.4.0-alpha08 contains these commits.
New Features
Added an
TimePickerDialogAPI that can be used forTimePicker,TimeInputor to have a switchable version. (Id2d83)New search bar APIs:
- Collapsed search bars and expanded search "views" are now separate composables.
SearchBarrepresents a search bar in the collapsed state.ExpandedFullScreenSearchBarandExpandedDockedSearchBarrepresent the search bar in the expanded state. These open in a new window.SearchBarStateto control the state of the search barTopSearchBarto add insets handling and scroll behavior- New overload of
InputFieldwhich usesSearchBarState(Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)
API Changes
- Support corner shape morphing of icon buttons on press. (I21843)
- Text field decorator/decoration box APIs are no longer experimental. (I31d95)
- Added samples and defaults for the connected variant for
ButtonGroup. (I5c8ce) - Make state param the last one in
NavigationSuiteScaffoldandNavigationSuiteScaffoldLayout. (I9cc7b)
Bug Fixes
- Added custom accessibility actions to the
FloatingToolbarsso accessibility services can now expand or collapse allFloatingToolbarvariations. The FAB-equipped version applies this to the FAB, while the FAB-less version applies it to the main content. (I26420) - The
FloatingToolbarsnow observe the touch exploration service (e.g., TalkBack) and keep the toolbar expanded and visible whenever the service is on. (I02172) - Fixed a crash at the progress and loading indicators in case a
Float.NaNis passed in as a progress. (I4fa96, b/352364576)
Version 1.4.0-alpha07
January 29, 2025
androidx.compose.material3:material3-*:1.4.0-alpha07 is released. Version 1.4.0-alpha07 contains these commits.
New Features
- Added more flexibility in customizing the appearance of Checkboxes with a new API. This API provides Stroke parameters that allow for greater control over how the checkmark and the checkbox-outline are rendered. (I65a88)
- Added
TwoRowsTopAppBarAPI, a more customizable alternative to Medium and Large app bars for creating two-row top app bars. Developers now have control over the content of titles and subtitles in both collapsed and expanded states, with customizable heights for each state. (I0be3c, b/306697446, b/229134133, b/268068946)
API Changes
- Renamed an experimental
BottomAppBarvariation toFlexibleBottomAppBar, providing more control over content arrangement and height. (Iaa448) - Update naming for properties in Button Group default object to be
CapitalCase. Update the name ofanimateFractionto be more precise to the behavior that it's representing. (I545cd) - Adding overloads for common buttons that allow for animated shapes on press interaction. Added cached button shapes. (I5ec20)
- You can now control how a
FloatingToolbarwith FAB reacts to scrolling by providing aFloatingToolbarScrollBehavior. For toolbars positioned along a center edge (like top or bottom center), we recommend using a scroll behavior to hide the entire component on scroll for a cleaner look. This also prevents the FAB from becoming off-center, which could happen when using theexpandedflag for collapsing. (I33f67) - Updates the experimental
TopAppBarAPIs to useAlignment.Horizontalinstead of a customTopAppBarTitleAlignmentwhen setting the alignment of the title and subtitle. (I70ca2) SliderState#onValueChangeis now public to give more control to the user (I104eb)- Introduce
NavigationSuiteScaffoldStateto allow for animation of the navigation component. Also introduce overloads ofNavigationSuiteScaffoldandNavigationSuiteScaffoldLayoutthat have a state param. (I6a8c9, b/328674235)
Bug Fixes
- Move
IconButtonColorsandIconToggleButtonColorsclasses fromIconButtonDefaults.ktback toIconButton.kt. (I3c233)
External Contribution
SliderState#isDraggingis now public. (I8458a)
Version 1.4.0-alpha06
January 15, 2025
androidx.compose.material3:material3-*:1.4.0-alpha06 is released. Version 1.4.0-alpha06 contains these commits.
Behavior Change
- Added
displayCutoutto the group of insets that Material components take into account by default, to avoid content overlapping with the display cutout. This is a behavior change that will impact how inset-aware components behave around a display cutout. This includes the default value of theWindowInsetsparameter for inset-aware Material 3 components, and theWindowInsetsvalues provided in the component Defaults objects for both Material 2 and Material 3. If this change causes undesirable behavior, manually specify theWindowInsetsparameter on a per-component basis. (I43ee9, b/362508045)
API Changes
- Updates to the
TopAppBarAPI. Rename the medium and large top app bars with a subtitle to*FlexibleTopAppBar. Unified the color variations into a singleTopAppBarDefault.topAppBarColors()function, and added asubtitlecolor parameter to be applied for a provided subtitle Composable (I41b65) - Remove
WideNavigationRailArrangementAPI in favor ofArrangement.Vertical(Id0341) - Add a new
VerticalSlider @Composable. (I2bfba) - Add a new Track
@Composablethat allows specifying custom external track corners and track icons. (I436a4) - Update the floating toolbar APIs to use the
FloatingToolbarColorsobject instead of a single container color. (I9a054) - Add and use new experimental annotation
ExperimentalMaterial3ComponentOverrideApi(Ia1eaf) Modifier.indicatorLinenow takes a shape for the text field to handle clipping. (I8c5f3, b/380704151)- Rename the experimental
FloatingAppBarfunctions toFloatingToolbar(I1dbf8) - Added a new
floatingToolbarVerticalNestedScrollthat can be attached to a scrollable container to update the floating toolbar expansion state based on a scroll motion that crosses a threshold. (I6d65f) - Introducing a new API for creating a floating toolbar with an attached Floating Action Button (FAB). The API provides flexible customization options, allowing you to arrange the toolbar horizontally or vertically and place the FAB at the start or end of the toolbar. (I9e350)
Bug Fixes
- Fix a Snackbar accessibility issue that caused it to announce itself on dismiss when
TalkBackis on. (/I9db53)
External Contribution
- Commonized
BasicTooltipin foundation andBasicTooltip/Tooltipin material3. (Ifc2e6)
Version 1.4.0-alpha05
December 12, 2024
androidx.compose.material3:material3-*:1.4.0-alpha05 is released. Version 1.4.0-alpha05 contains these commits.
API Changes
- Replace type in
WideNavigationRailState.current/targetvalue for an enum for better readability (I2d6ab) SplitButtonchange Shape api from data class to class for binary compatibility. (I53812)- Added a tooltip API that has a
onDismissRequestparameter so makers can decide what happens when a user clicks outside of the tooltip. Deprecated the old API that doesn't contain this new parameter. (I99aef) - Change naming of
opticalCenteringtohorizontalCenterOptically. Making the modifier internal. Replace padding parameter with max start and end offset. (I0b904) - Change
WideNavigationRailStateto have current/target value, remove enums in favor of boolean. (Idfa29, b/356039090) - Add
NavigationBarItemComponentOverride. (I3a06a)
Bug Fixes
- Fix the top and bottom app-bar behaviors to reliably change color when content is scrolled all the way. (Idc4e8, b/293665988)
- Scroll behavior functions for top and bottom app bars now return a remembered behavior to perform better across recompositions. (I0fdbe, b/207957336)
- Modifier pararemeter is now applied after internal modifiers such as dragging behavior and semantics, instead of before. This affects the ordering in which modifiers are applied. (I8d83f)
- Expanded bottom sheet remains expanded on size change. (I2870b, b/324934884)
- Correctly route status and navigation bar flags for windows properties. (Ie674d, b/362539765)
- Move modifier parameter to the scaffolds root, as documented. This aligns implementation with M2. (I0235e, b/372311595)
External Contribution
- Commonized
DatePickerDialogfunction. (I7dced)
Version 1.4.0-alpha04
November 13, 2024
androidx.compose.material3:material3-*:1.4.0-alpha04 is released. Version 1.4.0-alpha04 contains these commits.
Behavior Changes
- Revert color changes introduced in aosp/3212478 to
iconButtonColors,iconToggleButtonColors,outlinedIconButtonColors,outlinedIconToggleButtonColorsandoutlinedIconToggleButtonBorder. Moved the now-reverted behavior into a new set of functions callediconButtonVibrantColorsand so forth to emphasize the high contrast colors being returned. (Iffd8d)
New Features
- Introduce
VerticalDragHandlecomponent (I6c770)
API Changes
- Rename
DismissibleModalWideNavigationRailDefaultstoModalWideNavigationRailDefaults. (I8e877) - Add
NavigationBarComponentOverrides. (I8a3f3) - Add
NavigationRailComponentOverride. (I83e13) - Introduce
WideNavigationRailStateto handle collapsing/expanding of the rail, allowModalWideNavigationRailto be dismissible and deleteDismissibleModalWideNavigationRail. (I88568) - Add xSmall, medium, large, and xLarge size defaults into toggle button defaults. (Ie95d1)
- Add xSmall, medium, large, and xLarge size defaults into button defaults. (If8b6d)
Bug Fixes
- Filter chip trailing icon color has been updated from Primary to
OnSurfaceContainer, per spec. All chip outline colors have been updated from Outline to Outline Variant, per spec. (I68bd4)
Version 1.4.0-alpha03
October 30, 2024
androidx.compose.material3:material3-*:1.4.0-alpha03 is released. Version 1.4.0-alpha03 contains these commits.
API Changes
SheetStateconstructor with density has been deprecated in favor of positional and velocity thresholds. (Ifd16e)- Added
rememberTooltipPositionProviderthat contains an updated positioning logic. DeprecatedrememberPlainTooltipPositionProviderandrememberRichTooltipPositionProvider. (Ie66e2) - Additional
ModalBottomSheetPropertiesallow for customization of status and navigation bar colors. By default, these update based on content color instead of system dark theme status. (Ib874e, b/362539765) - Improved the input experience for date pickers: when in input mode, the date text field will be focused for immediate text entry. The change adds a
requestFocusparameter to theDatePickerand theDateRangePicker. You may prevent a focus by passingfalse. (I12d09, b/286399710, b/340102743) - Caching the shape defaults into the Shape object. Making the shape defaults
@Composablefor toggle button. Collapsing the shapes into one shape default since the variants point to the same token file. (Iaa014)
Bug Fixes
- Optimize Scaffold
contentPaddingbehavior to avoid always recomposing the body content when thecontentPaddingchanges. (I8c8e2, b/373904168) TextFieldLabelScopeprogressrenamed tolabelMinimizedProgressTextFieldLabelPositionDefaultrenamed toAttached. Interface members have been removed. (If75c6)- Fixed an issue with the
DatePickerin input mode where validation errors could cause the component's height to change. (I2e229, b/280462363) - Make the material Slider change its value when control keys are pressed. (I1c442)
Version 1.4.0-alpha02
October 16, 2024
androidx.compose.material3:material3-*:1.4.0-alpha02 is released. Version 1.4.0-alpha02 contains these commits.
API Changes
- Updates to the date pickers to ensure consistent Locale usage throughout the
DatePickerandDateRangePickerwhen setting a Locale directly through aDatePickerStateor aDateRangePickerState. Note that when setting Locales directly to the state, it's up to you to ensure that the title and headline texts are localized accordingly, as their default text will still be applied according to the default platform Locale. (I37073, b/326490763, b/321657276) SheetState.isAnimationRunningis now exposed. (I9a3d7)DatePickerColorsnow correctly take precedence over any conflicting colors defined at the theme's Typography text styles. Also note that this update adjusts thecolorparameter's position in the date picker functions and introduces acontentColorparameter for customizing the header and title text colors. (I30d03, b/347031394)- Rename
SplitButtontoSplitButtonLayoutand removeSplitButtoncolor variants APIs, variants will be achieve by re-using button variants provided bySplitButtonDefaults. (I44c36) ModalBottomSheetnow hassheetGestureEnabledparameter (I856cb, b/288211587)- Renamed the
standardMotionSchemeand theexpressiveMotionSchemeto standard and expressive. Both functions are now accessible through theMotionSchemecompanion object by callingMotionScheme.standard()andMotionScheme.expressive(). (Iceccf) - Adding
maxWidthparameter to plain and rich tooltips. It defaults to the design spec of 200 dp for plain tooltips and 320 dp for rich tooltips. (I30ce9)
Bug Fixes
- The
DatePickerandDateRangePickernow correctly update the displayed month when set via their state'sdisplayedMonthMillis. (If9e47, b/333414302) ModalBottomSheetcontent now moves content away from status bar. (I5114c, b/321877275, b/336962418, b/342093067)- [Bottom Sheet] Change back callback priority to
PRIORITY_DEFAULTto allow IME keyboard to dismiss first. (I447fb) - Fix crashes in the
DatePickerandDateRangePickerwhen the minimum selectable year is set to a future year. (I78656, b/319395747) - Fix a date-picker issue to update the UI when an updated
SelectableDatesinstance is applied. (Iad59a, b/290135807, b/339898760)
Version 1.4.0-alpha01
October 2, 2024
androidx.compose.material3:material3-*:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
Behavior Changes
- Library no longer adds a dependency to
material-icons-coreso if your project relied on that, you will have to explicitly add that dependency in yourbuild.gradle[.kts]files. (I735ff, b/349894318) NavigationBarItemandNavigationRailItem’s active label color change fromonSurfacetosecondaryin order to improve usability, color contrast and improve coherence within the system (Ibc297), to revert to the previous behavior, copy the default colors and change theselectedTextColortoMaterialTheme.colorScheme.onSurface.- Material 3 components are now using the new
MotionSchemeto define their motion. (Ie0f93) - Indeterminate circular Progress Indicator motion changes (I3c07e)
- Update
OutlinedIconButtonColorsandOutlinedIconToggleButtonColorsfor better color contrast. (I2743d) - Updated container and content color for
FilledIconToggleButtonColorsandFilledTonalIconToggleButtonColors. (Ic5d0f) - Updated
OutlinedButtonborder color fromoutlinetooutlineVariant. (057f00)
API Changes
- Added an optional
reverseLayoutparameter to theTopAppBar'senterAlwaysScrollBehaviorfunction to better support content that was set with areverseLayout. (I4e0e5) SegmentedButtonnow supportscontentPaddingargument. (I5ad91, b/358414376)PullToRefreshStatedoes no longer have default implementation forisAnimating(I6a593)- Added new overloads of Material
TextFieldandOutlinedTextFieldthat useTextFieldState. Added decoration box APIs that are compatible withTextFieldDecorator. (If13a1) - Added parameter to control text field's
labelPosition. UsingalwaysMinimizeallows the UI pattern of displaying a label and placeholder in a text field at the same time even when the field is unfocused. (I1ef2c) - Added Material
SecureTextFieldandOutlinedSecureTextFieldfor password entry fields. (I7e22d) - Added a scope to text field labels to query animation progress. (If5ec8)
- Adds support for
MotionEvent.CLASSIFICATION_DEEP_PRESSto tooltips. (I62e6a) TimePickerState’sisAfternoonis now an extension val instead of a var in the interface, renamed toisPm(I89a97)- Updating typography class to support emphasized type scales. (Ifa13c)
- Added
ModalWideNavigationRailAPI and renamedModalExpandedNavigationRailAPIs toDismissibleModalWideNavigationRail. (Ic9118) - Updated
FloatingAppBarScrollBehaviorto auto-calculate thescreenOffsetand not require a@Composable. (Idf349) - Updates to the
LoadingIndicatorAPI to fix the naming at its defaults object. Added aLoadingIndicatorElevationconstant at thePullToRefresh. (I1d72b) - Updates to the
LoadingIndicatorAPI to fix the naming at its defaults object. Added aLoadingIndicatorElevationconstant at thePullToRefresh. (I1d72b) - Added an
amplitudeand awaveSpeedparameters to the indeterminate variations of theLinearWavyProgressIndicatorand theCircularWavyProgressIndicator. (I2a0c5) - Support changing an icon toggle button's shape based on its pressed or checked state. (Ibc781)
- Updating typography class to support emphasized type scales. (Ifa13c)
SplitButtonshape morphs based on default / pressed state. RemovedAnimatedTrailingButtonapi becauseTrailingButtonapi can offer the same customizations (I95066)- Add modifier to animate showing and hiding of FAB, e.g. when content scrolls. (I8338d)
- Adding connected button group shapes and spacing to
ButtonGroupDefaultsto be used in a sample. (I68e30) - Split button add horizontal padding for trailing button and enable optical centering calculated from start and end corner differences (I122e2)
- Introducing a new Material
MotionSchemeto allow setting a scheme for the component's motion. The scheme is set through theMaterialTheme. (Id50c2)
Bug Fixes
- Apply the correct focus traversal index to
Scaffoldchild Composables. The order istopBar,bottomBar, fab, content, snackbar. (I5936b) - Fixed an issue at the
DatePickerandDateRangePickerwhere in certain locales and format-skeletons some of the date elements (e.g. month names) did not start with a capital letter. (I1430f) - Integrate FAB and FAB Menu component tokens (minor visual updates to paddings and text) (Ib57f3)
ModalBottomSheetis now first in semantic traversal order, followed by the scrim. (I436f9, b/358594665)- Fix bottom app bar not disappearing entirely when scrolling under the navigation pill in edge to edge mode (I3ee21)
Compose Material3 Version 1.3
Version 1.3.2
April 9, 2025
androidx.compose.material3:material3-*:1.3.2 is released. Version 1.3.2 contains these commits.
Bug Fixes
ListItemcorrects its intrinsic height calculation, now reserving the appropriate amount of space in Layout.- Remove excess
NavigationBarItemlabel padding, correctly aligning with spec. - Corrects
TabRowLayout in RTL mode.
Version 1.3.1
October 30, 2024
androidx.compose.material3:material3-*:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
- The
DatePickerandDateRangePickernow correctly update the displayed month when set via their state'sdisplayedMonthMillis. (If9e47, b/333414302) - Fix crashes in the
DatePickerandDateRangePickerwhen the minimum selectable year is set to a future year. (I78656, b/319395747) - Fix a date-picker issue to update the UI when an updated
SelectableDatesinstance is applied. (Iad59a, b/290135807, b/339898760) - Change back callback priority used by bottom sheets to
PRIORITY_DEFAULTto allow IME keyboard to dismiss first. (I447fb)
Version 1.3.0
September 4, 2024
androidx.compose.material3:material3-*:1.3.0 is released. Version 1.3.0 contains these commits.
Important changes since 1.2.0
Major features of 1.3.0
New Material Design 3 components
- Carousel
HorizontalMultiBrowseCarouselandHorizontalUncontainedCarouselEnhancements to existing Material Design 3 components.
- [
ModalBottomSheet] now supports Predictive Back on U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar] now supports Predictive Back on U+ (I657f8) - Nav Drawer (
ModalDrawerSheetandDismissibleDrawerSheet) now supports Predictive Back on U+ as opt-in (Ie5b0b) DropdownMenunow supports custom color, shape, elevation, and border. (I8e981,b/289554448, b/301887035, b/283654243)- Updated Slider to improve accessibility by adding a gap and stop indicator. (I3058e)
- Updated
ProgressIndicatorto improve accessibility by adding a gap and stop indicator. (I21451) - Added a default caret for rich tooltip, support custom caret to be drawn given anchor
LayoutCoordinates. (Ifd42c) Breaking Changes - New pull-to-refresh APIs:
- Simplified
PullToRefreshStateto use fractional values instead of Dp units. isRefreshingstate is controlled by the user instead ofPullToRefreshState.- Separated out the nested scroll connection from
PullToRefreshState. It is handled by the newPullToRefreshBoxorModifier.pullToRefresh. - This update is a breaking change to previous experimental APIs. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Visual Breaking Changes
- Simplified
- Update focus state overlay to be 0.1f to ensure sufficient color contrast. (I7ea77)
- Small adjustments to surface and background color defaults in
lightColorSchemeanddarkColorScheme. (I9db52) - Updated Slider and
ProgressIndicatorcolors to follow the new Non-Text Contrast specs. (I26807) SurfaceContainervariants are now used by components. Components which formally calculated color withSurfaceandTonalElevationnow useSurfaceContainerroles by default, which are not affected by tonal elevation. (b/304584161)- Surface and Surface container baseline roles have been slightly adjusted, providing more tint in light and dark themes. (I677a5)
- Promoted experimental APIs to stable!
- Performance improvements
Version 1.3.0-rc01
August 21, 2024
androidx.compose.material3:material3-*:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.
Bug Fixes
ModalBottomSheetis now first in semantic traversal order, followed by the scrim. (I436f9, b/358594665)
Version 1.3.0-beta05
July 24, 2024
androidx.compose.material3:material3-*:1.3.0-beta05 is released. Version 1.3.0-beta05 contains these commits.
- Fixed issue where
BottomSheetcontent is missing or cut off on Android N and O (a10a2d) - Increased slider’s semantics bounds in order for
TalkBackto properly show the focus indicators around the thumbs. (0b5a1d)
Version 1.3.0-beta04
June 26, 2024
androidx.compose.material3:material3-*:1.3.0-beta04 is released. Version 1.3.0-beta04 contains these commits.
Version 1.3.0-beta03
June 12, 2024
androidx.compose.material3:material3-*:1.3.0-beta03 is released. Version 1.3.0-beta03 contains these commits.
External Contribution
- Make
androidx.compose.material3.DropdownMenuavailable from common source set. (If62c0)
Version 1.3.0-beta02
May 29, 2024
androidx.compose.material3:material3-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.
API Changes
Modifier.pullToRefreshIndicatorsupports elevation, update Pull To Refresh APIs to have enabled be a boolean, instead of a lambda. Support content alignment inPullToRefreshBox(I75679)- Making
TooltipScopea sealed interface and creating an internal implementation to use inTooltipBoxand Label. (I3833e) - Added two new modifiers to
CarouselItemScope-maskClipandmaskBorder- to easily add a shape and border to any carousel item (Id67a1) TimePickerStateis now an interface and allows for setting the time (I88546)- Updated API for styling the links: moved the
TextLinkStylesto theTextStyleand removed theTextDefaultsfrom material. (I5477b)
Bug Fixes
ModalBottomSheetstatus and nav bar icons now respond to dark theme status. (Ie1fe7, b/338342149)- Added close sheet semantics to
ModalBottomSheetscrim. (0e61cb,b/328801864)
External Contribution
- Make
androidx.compose.material3.AlertDialogavailable from common source set (Ia33f5) - Make
ModalBottomSheetavailable from common source set (Id7cc7)
Version 1.3.0-beta01
May 14, 2024
androidx.compose.material3:material3-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
API Changes
- Using
DpSizeinstead ofCaretProperties. RemovingCaretProperties. RenameCaretScopetoTooltipScope. (Id9a76) - Updated the API for getting Material themed links in text. Specifically, removed the methods from the
TextDefaultsfor constructing themedLinkAnnotationsand parse HTML with themed links. Instead, added aTextLinkStylesclass that allows to style the links as a parameter to the Text composable. (I31b93)
Version 1.3.0-alpha06
May 1, 2024
androidx.compose.material3:material3-*:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits.
Breaking Changes
New pull-to-refresh APIs:
- Simplified
PullToRefreshStateto use fractional values instead of Dp units. isRefreshingstate is controlled by the user instead ofPullToRefreshState.- Separated out the nested scroll connection from
PullToRefreshState. It is handled by the newPullToRefreshBoxorModifier.pullToRefresh. - This update is a breaking change to previous experimental APIs. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- Simplified
API Changes
RippleConfiguration#isEnabledhas been removed, andLocalRippleConfigurationhas been made nullable. To disable a ripple, instead of providing aRippleConfigurationwithisEnabled = false, providenulltoLocalRippleConfiguration. (I22725)ModalBottomSheetmore accurately draws scrim over status bar when edge to edge is enabled. Modal bottom sheet content can now consume window insets, allowing for visible content above the navigation bar.ModalBottomSheetparameterwindowInsetsrenamed tocontentWindowInsetsto specify where the insets will be applied, these are no longer tied to window logic.contentWindowInsetstype has been changed to a function which returnsWindowInsets, to allow it to be resolved within its new window. (I39630, b/274872542, b/300280229, b/290893168)PrimaryScrollableTabRowandSecondaryScrollableTabRownow use custom layout instead of subcomposition, which should improve performance. (I991e0)- Text links got pressed state styling option in addition to normal styling, hovered and focused.
TextDefaultsmethods each got apressedStyleargument to support that. (Ic473f, b/139312671)
Bug Fixes
- Navigation drawer drag anchors now match the
drawerContent's width. (Ibc72f, b/245355396) OutlinedTextFieldtop padding for label now accounts for system font size. (Idc781)- Fixed package location of
CalendarLocale. (Ifa235) - [Predictive Back] Update predictive back animations to use interpolation curve of (0.1, 0.1, 0, 1) (I2591a)
Version 1.3.0-alpha05
April 17, 2024
androidx.compose.material3:material3-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.
New Features
SearchBarandDockedSearchBarhave new overloads that take a text field parameter. This allows styling the text field separately from the rest of the search bar as well as passing in custom text fields. The text field of the current implementation has been made available asSearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)- the lambda
drawTickhas been added to the public API in order to customize the ticks if needed (I0c048)
API Changes
- Text links got pressed state styling option in addition to normal styling, hovered and focused (I5f864, b/139312671)
- Updated
CarouselItemInfoto expose a mask Rect that the item is being clipped by (I785d8) - Removed
BasicTooltipStatefrom the Material 3 public API. Its functionality is combined withTooltipStateuntil Foundation'sBasicTooltipis stabilized. (Icda29) - Added a
TextDefaultsobject that contains methods to construct aLinkAnnotationand parse HTML-tagged string which applyMaterialThemeto the links (I98532, b/139312671) ExposedDropdownMenuBoxScopeno longer permits subclasses. Exposed dropdown menus now have aMenuAnchorTypewhich should be passed tomenuAnchorto support better a11y. This should be used instead of passingfocusabletoExposedDropdownMenu, which is now deprecated.menuAnchorhas a new parameter to controlenabledstate. (I55ee6, b/257209915, b/308840226)- Fixed the border color of
OutlinedButtonwhen disabled. AddedButtonDefaults.outlinedButtonBorder("enabled")overload that takes the enabled state. (Ie650b, b/318461363) - Added a new
CarouselItemInfoclass to help clients get information about the item sizes. (I9070c) ColorSchemeconstructor without surface containers is now deprecated. Please migrate to the constructor that includes surface containers. (I35c11)- [Outlined]
TextFieldDefaultsContainerBoxrenamed toContainer. (Ie8d3b)
Bug Fixes
BottomSheetScaffoldwill no longer scroll from nested scroll ifsheetSwipeEnabledis false. (I5e1c1, b/306464779)- Removed some
ExperimentalMaterial3ApiOptIn annotation inIconButtonSamples.kt. (I111d1)
Version 1.3.0-alpha04
April 3, 2024
androidx.compose.material3:material3-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits.
New Features
- Added two experimental versions of the Material3 Carousel -
HorizontalMultiBrowseCarouselandHorizontalUncontainedCarousel(I88d64) - Updated Compose M3 Nav Drawer (
ModalDrawerSheetandDismissibleDrawerSheet) to support Predictive Back on U+ as opt-in (Ie5b0b) - Added a new API in Icon to allow passing color tint as lambda to avoid recomposing. (I5b5a2)
- Top app bar APIs now support custom heights for both fixed and collapsible sections. (Ib8b0c, b/323403446)
API Changes
- Top app bar APIs now support custom heights for both fixed and collapsible sections. Fixed an issue that caused single-line top app bars to recompose too many times when scrolling content. Resolved an issue where
MediumTopAppBartruncated titles on devices with large font/display settings. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButtonand associated APIs are now stable (I8a158)SwipeToDismissBox,SwipeToDismissBoxDefaults,SwipeToDismissBoxStateandSwipeToDismissBoxValueare now marked stable. (I5f000)- Removed deprecated
DismissDirectionandDismissValueenums and APIs. (I89ccd) - Added an experimental tag to Carousel's
CarouselStatecompanion object. (I94154) - Deprecate
LocalMinimumInteractiveComponentEnforcementand introducedLocalMinimumInteractiveComponentSizeto replace it. (I7a7ac) SearchBarColorsconstructor is now public. (I769ca)- Added a
gesturesEnabledparameter toSwipeToDismissBox. (Idc59f, b/324170119) - Removed text field APIs that were marked as deprecated and experimental. (I1305f)
Version 1.3.0-alpha03
March 20, 2024
androidx.compose.material3:material3-*:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.
Visual Breaking Changes
- Update focus state overlay to be 0.1f to ensure sufficient color contrast. (I7ea77)
- Small adjustments to surface and background color defaults in
lightColorSchemeanddarkColorScheme. (I9db52)
New Features
- Added parameters to customize
ExposedDropdownMenu. In particular, menus now have afocusableparameter (defaulttrue) that should be set tofalsewhen working with editable text fields. (I4184c, b/323694447, b/278609042)
API Changes
- The
ScaffoldSubcomposeInMeasureFixflag has been removed. (Ie2a4b) NavigationRailItemColorsis now marked as@Immutable. (If6112, b/327660613)NavigationBarItemColorsis now marked as@Immutable. (I42a30, b/298064514)- Reorder params in Slider Track composable. (I9f315)
ExposedDropdownMenuis now implemented usingPopup. The behavior should be the same except focusable menus with editable text fields may be dismissed when typing on the keyboard.
Bug Fixes
- Surface and Surface container baseline roles have been slightly adjusted, providing more tint in light and dark themes. (I677a5)
- Updated Slider and
ProgressIndicatorcolors to follow the new Non-Text Contrast specs. (I26807) - Update focus state overlay to be 0.1f to ensure sufficient color contrast. (I7ea77)
- Small adjustments to surface and background color defaults in
lightColorSchemeanddarkColorScheme. (I9db52)
Version 1.3.0-alpha02
March 6, 2024
androidx.compose.material3:material3-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.
API Changes
- Making the slider states stable again. Making
State.onValueChangeFinisheda val again. WrappingonValueChangeFinishedin arememberUpdatedState. (I82ab2, b/322269951) - The Navigation components now use the new
SurfaceContainerroles.DrawerDefaultsnow provides distinctstandardContainerColorandmodalContainerColorattributes.DrawerDefaults.ModalDrawerElevationis now0.dp. (I7fbac) - Removing
@Stablefrom the states ofSlidersince we're changingstate.onValueChangeFinishedto avar. (Ied34a, b/322269951) ModalBottomSheetandStandardBottomSheetanimation spec is now aTweenSpec, updated from a spring animation. This resolves an issue with a visible overshoot. DeprecatedSheetStateconstructors without density have now been removed. (I7babc, b/285847707)
Bug Fixes
SurfaceContainervariants are now used by components. Components which formally calculated color with Surface andTonalElevationnow useSurfaceContainerroles by default, which are not affected by tonal elevation. (b/304584161)- Fixed bug that caused
ElevatedFilterChip's unselected, disabled container color to be black. (I400e6, b/322407043) - Fix indeterminate progress indicator when the progress is 0 (Id6582)
- Fixed an issue with
SliderandRangeSlideron RTL layout (Iab0e1) - Adding
SliderRangeTolerancefor the slider range calculation since Float rounding can be inaccurate. (Ic918a, b/324934900) - Ensure that the
DatePickerDialogdisplays its buttons when nesting aDateRangePickeror when displaying any type of date picker on small screens with larger fonts. (Ie4758, b/325107799, b/277768544) Menunow leverages theSurfaceContainerrole for container color.MenuDefaults.TonalElevationis now0.dp. (I135b7)TextFieldnow leverages theSurfaceContainerHighestrole for container color. (I4dced)- Elevated chips now leverage the
SurfaceContainerLowrole (I7cd2f) DatePickercontainer color is nowSurfaceContainerHigh.DatePickerDefaults.TonalElevationis now0.dp. (Ida753)- Updates Bottom Sheets container color and drag handle color. (I72a0a)
RichTooltipcontainer color is nowSurfaceContainer. (Ia8b45)SearchBarcontainer color is nowSurfaceContainerHighest.SearchBarDefaults.TonalElevationis now0.dp. (I88604)- Updates switch disabled and unselected tracks/icons to leverage the
SurfaceContainerHighestcolor role. (I7687a) AlertDialogcontainer color is nowSurfaceContainerHigh. (Ie0433)BottomAppBarcontainer color is nowSurfaceContainer.TopAppBaronScrollcolor is nowSurfaceContainer. (I41630)ElevatedCardcontainer color is nowSurfaceContainerLow.FilledCard’s container color ofSurfaceContainerHighest. (I35141)ElevatedButtoncontainer color is nowSurfaceContainerLow.FilledIconButton’s when unselected now have a container color ofSurfaceContainerHighest. (I792c9)- Updates
TimePickercontainer color and clock dial color role toSurfaceContainerHighest. (I43b93)
Version 1.3.0-alpha01
February 21, 2024
androidx.compose.material3:material3-*:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.
New Features
- Update Compose M3
ModalBottomSheetto support Predictive Back on U+ (Iccf32, b/281967264, b/304850357) - Updated Compose M3
SearchBarto support Predictive Back on U+ (I657f8) - Updated Slider to improve accessibility by adding a gap and stop indicator. (I3058e)
- Updated
ProgressIndicatorto improve accessibility by adding a gap and stop indicator. (I21451) - Adding a default caret for rich tooltip, new rich tooltip API now allows for custom caret to be drawn given anchor
LayoutCoordinates. (Ifd42c)
Behavior Changes
- Material components have been migrated to use the new ripple APIs, and no longer query
RippleTheme.
API Changes
- The fun
drawStopIndicatoris now public. (I3f59f) - Mark the
DatePicker'sformatWithSkeletonfunction as internal (Ic65dc) DropdownMenunow supports custom color, shape, elevation, and border. (I8e981, b/289554448, b/301887035, b/283654243)- Material3 components exposing a
MutableInteractionSourcein their API have been updated to now expose a nullableMutableInteractionSourcethat defaults tonull. There are no semantic changes here: passing null means that you do not wish to hoist theMutableInteractionSource, and it will be created inside the component if needed. Changing to null allows for some components to never allocate aMutableInteractionSource, and allows for other components to only lazily create an instance when they need to, which improves performance across these components. If you are not using theMutableInteractionSourceyou pass to these components, it is recommended that you pass null instead. It is also recommended that you make similar changes in your own components. (I41abb, b/298048146) - Adds
RippleConfigurationandLocalRippleConfigurationto allow for per-component / sub-tree customization of ripples using fixed values. For example, to change the color of a component you don't control, or to disable a ripple for a component. In most cases the default values should be used: these APIs are an escape hatch for customization of individual components / limited sub-trees. For wider changes and custom design systems, you should instead build your own ripple usingcreateRippleModifierNode. (I7b5d6, b/298048146) - Adds new ripple API in material3 which replaces the deprecated
rememberRipple. Also adds a temporaryCompositionLocal,LocalUseFallbackRippleImplementation, to revert material3 components to using the deprecatedrememberRipple/RippleThemeAPIs. This will be removed in the next stable release, and is only intended to be a temporary migration aid for cases where you are providing a customRippleTheme. (I34cbc, b/298048146)
Bug Fixes
- Removed subcomposition inside
ModalBottomSheetto improve performance. Fixed an issue whereModalBottomSheetcould crash in specific scenarios in combination withLookaheadScope. (I2a198) - Removed subcomposition inside
BottomSheetScaffoldto improve performance. Fixed an issue whereBottomSheetScaffoldwould crash in specific scenarios in combination withLookaheadScope. (Ie6401) - The badge alignment is adjusted to be closer to the center of the anchor content in respect to the top-right corner. (I18a28)
- Fix an a11y issue with the
DateRangePickerwhere the Month-Year text title was conveyed as actionable to the screen reader, Switch access, and Voice access users. (I2ac55) - Fixed
mediumTopAppBarColorsparam order bug. (Ibe64a)
Version 1.2
Version 1.2.1
March 6, 2024
androidx.compose.material3:material3-*:1.2.1 is released. Version 1.2.1 contains these commits.
Bug Fixes
- Make the Slider states stable again. Making
State.onValueChangeFinisheda val again. WrappingonValueChangeFinishedin arememberUpdatedState. (Ie8fd0, b/322269951) - Removing
@Stablefrom the states ofSlidersince we're changingstate.onValueChangeFinishedto avar. (I82ba1, b/322269951) - Fix
NavigationBarcustom colors to copy from defaults. (80a779, b/326894020) - Fix regression in
ExposedDropdownMenuto make it focusable again (3fcec1, b/323694447) - Fix button color caching issue (3e5bbcb/327371655)
Version 1.2.0
February 7, 2024
androidx.compose.material3:material3-*:1.2.0 is released. Version 1.2.0 contains these commits.
Known Issue
- A View-Compose interop rendering bug was introduced in
PrimaryTabRowas part of a performance improvement change. The workaround is to useTabRowwithTabRowDefaults.PrimaryIndicator
Important changes since 1.1.0
New Material Design 3 Components
- Pull to refresh
- Segmented Button
Enhancements to existing Material Design 3 components.
- Bottom app bar (RTL alignment, auto-hide on scroll)
- Tabs visual update
- Badge (alignment update)
Promoted experimental APIs to stable!
Performance improvements
- Please see this blog post for more details!
Version 1.2.0-rc01
January 24, 2024
androidx.compose.material3:material3-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.
Bug Fixes
- Fixed
mediumTopAppBarColorsparam order bug. (Ibe64a) - Fixed a bug introduced in
1.2.0-beta02inCardDefaults.cardColorsthat did not updatecontentColorbased on thecontainerColorparam value. (Iee041, b/319671246) - Fixed a bug in
disabledContentColorintroduced in1.2.0-beta02and added small optimization. (I6dda1, b/318428829)
Version 1.2.0-beta02
January 10, 2024
androidx.compose.material3:material3-*:1.2.0-beta02 is released. Version 1.2.0-beta02 contains these commits.
Known Bug
- A bug in
IconButtonColorswill by default assigndisabledContentColorto an alpha (0.38f) ofLocalContentColorinstead of the user specifiedcontentColor. The workaround is to explicitly set thedisabledContentColor. This will be fixed in the next release.
API Changes
- Adding the capability to enable tooltip carets for Plain
TooltipAPIs. (Ibf767) SwipeToDismissState,rememberSwipeToDismissandSwipeToDismissValueare all renamed to have_SwipeToDismissBox_. (I68d6d)
Bug Fixes
- Fixed
ListItemend padding value to align with spec. (Ibd68b, b/305342674) - Outline color for outlined card is now correctly mapped to
OutlineVariant. (I75480, b/310979715) - Dynamic color now pulls from system defined color roles. This improves contrast for accessible content, and more closely aligns dynamic color to the Material spec. (I1de96)
- Fixed
ModalBottomSheetback handling on Android T/13+ whenandroid:enableOnBackInvokedCallback="true". (I728dc, b/306196110)
Version 1.2.0-beta01
December 13, 2023
androidx.compose.material3:material3-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.
API Changes
- Mark
TabIndicatorScopeas experimental. (I45c88) - Removing deprecated experimental APIs for tooltip. (I438cb)
- Change new
TabRowoverloads to not use subcompositions. This results in a different way to build theTabRowindicators with custom modifiers provided. (Ife741) - Deprecate
DismissDirectionandDismissValueAPI's. These have been merged toSwipeToDismissValue, whose values indicate both position and direction ofSwipeToDismissBox.DismissState.progressis now marked as aFloatRangebetween0.0and1.0.DismissStatedeprecated Saver and Constructor have now been removed.SwipeToDismisscomponent, state and defaults object have been remarked as experimental. (Ib54f2)
Bug Fixes
- The default indicator for
PullToRefreshis now an open arrowhead instead of a solid triangle. (I67be3)
Version 1.2.0-alpha12
November 29, 2023
androidx.compose.material3:material3-*:1.2.0-alpha12 is released. Version 1.2.0-alpha12 contains these commits.
API Changes
RangeSlidernow takes a Kotlin range (e.g.,0f..1f) instead of a customFloatRangevalue class.SnapFlingBehavior.ktnow also uses a Kotlin range. (I025cb)- Mark Modifier factory functions as
@Stable. (Ib109f)
Version 1.2.0-alpha11
November 15, 2023
androidx.compose.material3:material3-*:1.2.0-alpha11 is released. Version 1.2.0-alpha11 contains these commits.
New Features
- Implements
PullToRefreshContainerandPullToRefreshState, which together provide a pull to refresh implementation in Material3. (I16456, b/261760718)
API Changes
- Mark the
SwipeToDismissBoxDismissDirectionandDismissValueas experimental. (I517b0) - Rename
SwipeToDismisstoSwipeToDismissBox. RenamebackgroundtobackgroundContentanddismissContentto trailingcontentlambda. (I7f4d3) - Make the constructor for
ChipElevationandSelectableChipElevationpublic. (Ie0c48, b/308432421) - Adding
ModalBottomSheetProperties. MovingsecurePolicyintoModalBottomSheetProperties. AddingisFocusableandshouldDismissOnBackPresstoModalBottomSheetProperties. These new booleans help determine how modal bottom sheet should handle IME events. (Iea56f, b/278216859) - Updated
RangeSliderandSliderstates to removeinitialOnValueChange, the initial prefixes, and appropriate kdocs. (I57d30) - Deprecate
ChipBorderclass and its associated function calls, recommend usingBorderStrokedirectly instead. (I89cc2) - Foundation Tooltip APIs are now
@ExperimentalFoundationApi. (I30b0b) TabRowandScrollableTabRoware no longer deprecated. The new Primary and Secondary variants are marked as experimental. (I0def6)- Filter and input chips now use
BorderStrokedirectly. (I07a8d) SegmentedButtonnow usesBorderStrokedirectly. (I89b9b)- Renamed the generic
AlertDialogfunction toBasicAlertDialog, and deprecate the previous function. (Idbe52) - Rename
SwipeToDismissAPIs toSwipeDismiss, and promote the newSwipeDismissAPIs to stable. (I14cbe) - Adding
tonalElevationandshadowElevationto tooltip APIs. Additionally, movingTooltipBox,PlainTooltip, andRichTooltipAPIs back to experimental since they were accidentally released as stable. (If0f66, b/293939035) - Promote experimental chip APIs to stable. (Iea2c3)
- Removed the
@ExperimentalMaterial3Apiannotation from the Material3 clickable Cards. (I88dbf)
Bug Fixes
- Fixed an issue where
SwipeToDismisswould crash in certain scenarios with nested Lookahead and Lazy layouts. (Ica8d1, b/297226562)
Version 1.2.0-alpha10
October 18, 2023
androidx.compose.material3:material3-*:1.2.0-alpha10 is released. Version 1.2.0-alpha10 contains these commits.
API Changes
- Promoting
BadgeandBadgedBoxto stable. (I67f16, b/261565132) - Adding
securePolicyas a parameter toModalBottomSheet, so users can define the behavior forWindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262) - Added new overloads of
LinearProgressIndicatorandCircularProgressIndicatorthat takeprogressas a lambda. These should be more performant than the previous versions. (I824e6, b/295616656) - Renames
StandardSizeClassestoAllSizeClasses. (I8cb07) - Combine calculation functions of window size classes. (Iad935)
Bug Fixes
- Fix a
DatePickercrash when quickly clicking the navigation arrow buttons when the displayed month is at the edge of the allowed range of years. (I46f36, b/290954897, b/297002119) - [Nav rail/bar] Support transparent color for indicator. (Ie0a9b, b/267289987)
Version 1.2.0-alpha09
October 4, 2023
androidx.compose.material3:material3-*:1.2.0-alpha09 is released. Version 1.2.0-alpha09 contains these commits.
API Changes
- Migrated
ModalNavigationDrawerandDismissibleNavigationDrawerto use newAnchoredDraggableAPIs.DrawerState'sanimateTohas been replaced by the open and close methods, and the offset is now exposed as a float instead of a state object. You can access the offset directly throughcurrentOffset. (I0a72c) - Non-Composable functions have been added for creating a
DatePickerStateandDateRangePickerStatedirectly. These functions can be used as an alternative to the ComposablerememberDatePickerStateandrememberDateRangePickerStatefunctions when needed. (I70326, b/291524052) - Fixed and Scrollable
TabRowsnow have Primary and Secondary variants. These correctly map to the color and indicator behavior as defined in Material3. PrimaryScrollableTabRowandSecondaryScrollableTabRownow expose scroll state. (Iec8f5, b/260572337)- Adding a new
sheetMaxWidthparameter that developers can set to specify a maximum width that the sheet will span. Dp.Unspecified can be passed in for the parameter if a sheet that spans the entire screen width is desired. (Ifb7c9, b/266697696) - Adding back
PlainTooltipBoxandRichTooltipBoxAPIs as deprecated methods. (I246fa)
Bug Fixes
- Fix a crash when the
DatePickeris initialized with aDatePickerFormatterthat has certain date skeletons that stay the same when converted to date patterns (such as YY). (I01f29)
Version 1.2.0-alpha08
September 20, 2023
androidx.compose.material3:material3-*:1.2.0-alpha08 is released. Version 1.2.0-alpha08 contains these commits.
Behavior Breaking Change
ColorSchemeis now Immutable, making individual color updates less efficient, but making more common usage of colors more efficient. The reasoning behind this change is that the majority of apps wouldn't have updating individual colors as a main use case. This is still possible but it will recompose more than before, in turn we significantly decrease the amount of state subscriptions through all of Material code and will impact initialization and runtime cost of more standard use cases. (Ic447d, b/297212873)- Tonal Elevation no longer animates in different interaction states to match spec. (Icdd12)
API Changes
- Added a new
BottomAppBarthat takes as parameter aBottomAppBarScrollBehaviorin order to auto-hide it when content is scrolled. Also addedFabPosition.EndOverlayallowing the FAB to overlay the bottom app bar in the scaffold instead of being anchored above it. (Iecb47) - Added a simple Label component that builds on top of
BasicTooltipBoxthat won't dismiss when tapping outside of the bounds of the label. (I821f9)
Bug Fixes
- Removed the use of
rememberSaveablefor tooltips. (Icc131, b/299500338) - Introduced a temporary flag to control whether Scaffold should measure its children during measurement or during placement. By default, this will measure in measurement. If you are facing issues with the new behavior, please file an issue. (I0b354)
- Fixed horizontal Edge to Edge in
BottomSheetby using the correct measurement for device screen width. (I1df0c, b/299058752) - Fixed a bug where
ModalBottomSheetwas not callingonDismissedRequestwhen dismissing it by swiping down on the sheet. (Idfdd8)
Version 1.2.0-alpha07
September 6, 2023
androidx.compose.material3:material3-*:1.2.0-alpha07 is released. Version 1.2.0-alpha07 contains these commits.
New Features
- Auto-mirror icons support has been added in
compose material 1.6.0-alpha05, please see the release notes for details on auto-mirror icons.
API Changes
SliderStateimplementsDraggableState(I9b116)- Change shape to be a required param. Rename
positiontoindexin shape helper function. (I34941) - Updates the
DatePickerformatWithSkeletonto include a map that is used as a cache for performance improvements. (I3195f) - Added
BasicTooltipBoxtocompose.foundationand updatedPlainTooltipBoxandRichTooltipBoxto useTooltipBoxwith newPlainTooltipandRichTooltipcomposables. (I79e1d)
Bug Fixes
dynamicLightColorSchemeanddynamicDarkColorSchemenow return higher chroma colors for surface andsurfaceContainerroles. (I5e901)- Fixed an issue where some components using Subcomposition (e.g.
BottomSheetScaffold) inside a Scaffold inside aLookaheadScopewere attempting to read their size too early. (I297b4, I871f1, b/295536718)
Version 1.2.0-alpha06
August 23, 2023
androidx.compose.material3:material3-*:1.2.0-alpha06 is released. Version 1.2.0-alpha06 contains these commits.
Bug Fixes
- Fixed
DropdownMenu'soffsetcalculation so x offsets depend solely on the local layout direction, and y offsets will no longer be reversed when the menu is near the bottom of the screen. (Iccc74, b/294103942) - Fixed
DropdownMenu'soffsetcalculation so x offsets depend solely on the local layout direction, and y offsets will no longer be reversed when the menu is near the bottom of the screen. (Ib87a2, b/294103942)
Version 1.2.0-alpha05
August 9, 2023
androidx.compose.material3:material3-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.
API Changes
- Updates to the Checkbox and
TriStateCheckboxcolors. TheCheckboxDefaults.colors()disabledUncheckedColornow only affects the border of the checkbox. Special cases that require you to set the internal box color when disabled and unchecked requires a custom constructed instance of aCheckboxColorswith the desired color values. (I77d17, b/291943198)
Version 1.2.0-alpha04
July 26, 2023
androidx.compose.material3:material3-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.
New Features
- Experimental Segmented Button API (Ifc8fb)
- Dividers now have a parameter to control orientation to support vertical dividers. (I4c899, b/288438593)
API Changes
- We are moving the density dependency to the component level. This applies to the following components:
SwipeToDismissand Sheet based components. Please use the new overload provided where density is a parameter. (I1846e) - Additional annotations to specify allowed inputs to composables (Ief234)
- Add an icon parameter to segmented button, split semantics so that segmented buttons can be selectable to implement single-select, and toggleable to implement multi-select, with
SelectableSegmentedButtonRowandToggelableSegmentedButtonRowrespectively. (I38740) - Divider has been renamed to
HorizontalDivider. AddedVerticalDividerfunctionality. (I5975c) - Change the use of
ClosedFloatingPointRangefor the lighter weightFloatRangein experimental Material3 APIs to minimize autoboxing. (I4aab5) - Added new Start alignment for
FabPosition(Ib7aea, b/170592777)
Bug Fixes
ModalBottomSheetrespects local layout direction. (Ib4f44, b/285628622)
Version 1.2.0-alpha03
June 21, 2023
androidx.compose.material3:material3-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.
Behavior Changes
includeFontPaddingis nowfalseby default in Material 3 typography. The default line height style has also been changed toTrim.NoneandAlignment.Center, and explicitlineHeight(in sp) have been added to theTextStyles ofTypography. Consult the API docs if you want to customize these values, and see the blog post for an in-depth explainer of these changes. (I6266f, Icabc3)
New Features
- Added an overload for
RangeSliderthat is a stateful version of the component. CreatedRangeSliderStatethat holds all of the information for the current active track, the measurements of the components of theRangeSlider, and the drag and gesture logic. (I8c270) - Search bar now supports shadows via the newly added
shadowElevationparameter. (Ia5369, b/271040353) ColorSchemenow supports newSurfaceContainerroles.- Surface tonal elevation overlay can now be disabled with the
LocalTonalElevationEnabledcomposition local. (Ic203c, b/277774590)
API Changes
- Open the component colors constructors. (I8c4a6)
- Adding focusable parameter to both tooltip APIs, so that developers can have the tooltip consume touch events or not. Be cautious that this might break accessibility focus automatic traversal. (Ie32d8)
- Optimized accessibility for performance and memory allocations. (Iede48)
- Expose
DefaultSizeClassesand createStandardSizeClassesforWindowSizeClasses(I91838) - change
WindowWidth/HeightSizeClassto float value classes (Ie686e)
Bug Fixes
- Scaffold's
contentWindowInsetsparameter now respects consumed window insets. Note that the behavior of content padding based ontopBarandbottomBarremains unchanged when these parameters are provided. (I08b73, b/264601542) - Fix the alignment of the center top app bar to ensure that a long title doesn't render over the action icons or the navigation icon. (I4369f, b/236994621)
- Tab positions now enforce a minimum content width of 24.dp. This provides an accessible touch target for tab indicators. (Id8861)
- Dynamic color palettes from
dynamicLightColorSchemeanddynamicDarkColorSchemenow support new surface roles. (I1252e) - Updating the badge notification alignment to not clip when colliding with great grandparent. (Idf75a)
Version 1.2.0-alpha02
May 24, 2023
androidx.compose.material3:material3-*:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits.
API Changes
- Add window insets parameter to
ModalBottomSheet.- Scrim for
ModalBottomSheetmay now be drawn behind status bar withwindowInsetsset to zero - Updated default
ModalBottomSheetfunctionality to stay outside of system bars including navigation - Status bar inset handling is provided by drag handle in edge-to-edge mode.
BottomSheetDefaultsincludes window insets forBottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Scrim for
- Deprecate
Indicatorand addPrimary/SecondaryIndicatorto match the M3 specs.PrimaryIndicatormatches the width of the tab's content whereasSecondaryIndicatorspans the full available width.SecondaryIndicatoris equivalent to the now deprecatedIndicatorand can be a direct replacement. (I27604) - Added an option to pass in a
ScrollStatewhen constructing aDropdownMenuor anExposedDropdownMenufor controlling the vertical scroll state of the displayed menu items. (Ia0734, b/185304441) - Added an overload for
Sliderthat is a stateful version of the component. CreatedSliderStatethat holds all of the information for the current active track, the measurements of the components of theSlider, and the drag and gesture logic. (I124a5) - Renaming the Semantics property
isContainertoisTraversalGroup(I121f6) - Added optimized
TextStyle.merge(...)with full parameter list. (Iad234, b/246961787) - Made
TooltipState,RichTooltipState, andPlainTooltipStatepublic interfaces. AddedRichTooltipStateImplandPlainTooltipStateImplfor default states. Addedremember*Statefunctions to obtain these implemented states. RemovedTooltipSyncin favor of anTooltipDefault.GlobalMutatorMutex. (I7813d) - Updated the
DatePickerColorsto include additional customization options for the date picker divider, navigation, and text input fields colors. (I1a685, b/274626815) DatePickerStateand theDateRangePickerStateare now public interfaces with default implementations that can be retrieved by therememberDatePickerStateandrememberDateRangePickerState. (I71c52)- Removed the
dateValidatorfromDatePickerandDateRangePickerand introduced aSelectableDatesinterface that can be set on the state to control which dates or years are selectable in the UI. (Ic2fc6) TimePickerremoved from stable API, further changes are expected in the state API (I3f39a)ModalBottomSheetmoved to android only.ModalBottomSheetis not recommended for desktop use, and the functionality is not actively maintained. (Ib3778)
Bug Fixes
- Fixed the
AlertDialogdismiss action to appear below the confirm action when the actions stacked over each other to fit into the dialog's width. This fix aligns the implementation with the Material Design spec. (I029de, b/235454277) - Fixed bug in
ListItemusing incorrect padding for three-line items. (I6e235) ModalBottomSheetnow can display IME keyboard (Idc508, b/262140644, b/268380384, b/272483584)
Version 1.2.0-alpha01
May 10, 2023
androidx.compose.material3:material3:1.2.0-alpha01 and androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 are released. Version 1.2.0-alpha01 contains these commits.
Version 1.1
Version 1.1.2
September 20, 2023
androidx.compose.material3:material3:1.1.2 and androidx.compose.material3:material3-window-size-class:1.1.2 are released. Version 1.1.2 contains these commits.
Bug Fixes
- Fixed modifier incorrectly being passed to two composables. (b/282761472)
- Fixed
TimePickerStatereturns incorrect hours when initialized with 23 hours. (b/278242122) - Fixed initial toggle state for noon and minute validation. (b/269768197, b/282790635)
- Fixed
state.hourreturning incorrect value for 11pm. (b/282761472, b/278242122)
Version 1.1.1
June 21, 2023
androidx.compose.material3:material3:1.1.1 and androidx.compose.material3:material3-window-size-class:1.1.1 are released. Version 1.1.1 contains these commits.
Bug Fixes
- Adds call for
ModalBottomSheetwithoutwindowInsetparam for binary compatibility. (Ib7959) - Add window insets parameter to
ModalBottomSheet.- Scrim for
ModalBottomSheetmay now be drawn behind status bar withwindowInsetsset to zero - Updated default
ModalBottomSheetfunctionality to stay outside of system bars including navigation - Status bar inset handling is provided by drag handle in edge-to-edge mode.
BottomSheetDefaultsincludes window insets forBottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Scrim for
Version 1.1.0
May 10, 2023
androidx.compose.material3:material3:1.1.0 and androidx.compose.material3:material3-window-size-class:1.1.0 are released. Version 1.1.0 contains these commits.
Major features of 1.1.0
New Material Design 3 components
Enhancements to existing Material Design 3 components.
Promoted experimental APIs to stable!
Please see this blog post for more details!
Version 1.1.0-rc01
April 19, 2023
androidx.compose.material3:material3:1.1.0-rc01 and androidx.compose.material3:material3-window-size-class:1.1.0-rc01 are released. Version 1.1.0-rc01 contains these commits.
API Changes
TimePickerremoved from stable API, further changes are expected in the state API (I3f39a)ModalBottomSheetmoved to android only.ModalBottomSheetis not recommended for desktop use, and the functionality is not actively maintained. (Ib3778)
Version 1.1.0-beta02
April 5, 2023
androidx.compose.material3:material3:1.1.0-beta02 and androidx.compose.material3:material3-window-size-class:1.1.0-beta02 are released. Version 1.1.0-beta02 contains these commits.
API Changes
SheetStatenow has optionalskipHiddenStateparameterrememberStandardBottomSheetStatenow has optionalskipHiddenStateparameterBottomSheetScaffoldnow has a defined Hidden anchor, though it is disabled by defaultSheetState.requireOffsetdocumentation has been updatedBottomSheetDefaults.MinimizedShapehas been renamed asBottomSheetDefaults.HiddenShape(I839f4, b/273870234)
Bug Fixes
- Do not switch the dial face from hour to minute when touch exploration is enabled. (I717d0)
ModalBottomSheetandBottomSheetScaffolddrag handle semantics are now merged. (I05afb)BottomSheetScaffoldmodifier,containerColorandcontentColorparameters now only affect content. (I992cb)BottomSheetScaffold nestedScrollfor sheet content now implements flings. (I992cb)
Version 1.1.0-beta01
March 22, 2023
androidx.compose.material3:material3:1.1.0-beta01 and androidx.compose.material3:material3-window-size-class:1.1.0-beta01 are released. Version 1.1.0-beta01 contains these commits.
API Changes
- Add layout type param to
TimePickercomposable. It allows to use different layouts, depending on the screen configuration (Ia0e16) SearchBarDefaultshas been marked as experimental. (I65561)- Added shadow elevation to
BottomSheetScaffold(I94e0f) - Added support for displaying the date pickers without the header part. API changes to allow passing a null headline when creating a date picker. You can now pass null headline, title, and
showToggleMode = falsein order to display a headless picker. (Id3f3a, b/266132421, b/267194809)
Bug Fixes
- Search bars now automatically clear focus when made inactive. (I22a7c, b/261444487)
- Updated the
DateRangePickerto allow selecting a range with the same date for its start and end. (I16529, b/272882497) - Text fields now properly position their text elements when font size is smaller than expected. This may result in a few pixels change in your apps based on font settings and script. (I8b8d0)
- Bottom sheet semantic actions now have labels. (I277b0)
Version 1.1.0-alpha08
March 8, 2023
androidx.compose.material3:material3:1.1.0-alpha08 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 are released. Version 1.1.0-alpha08 contains these commits.
New Features
- Added support for
BottomSheetScaffoldandBottomSheetScaffoldState. (I063d4)
API Changes
- Added functionality to the
DatePickerStateand theDateRangePickerStateto allow setting dates after the initial creation of the state, as well as resetting selections by setting null timestamps. Setting dates manually should be made with caution, and the newsetSelectionfunction will throw an exception in case a provided date fails a precondition (see documentation). (Ifa645, b/268609314, b/270427389) - Rename Collapsed
SheetValuetoPartiallyExpandedto more accurately and flexibly depict behavior in this state. (Ia1491) - Updated
ListItemparameter names to _content instead of _text. Default getters are nowReadOnlyComposableswhere relevant. (I69a25) - Graduate interactive Surface APIs from experimental. (I90d59, b/261561812)
Bug Fixes
- Fixed an issue where
ModalBottomSheet'sHalfExpandedstate was calculated incorrectly and the sheet would appear to be floating. (I45e84, b/268411386) - Add
confirmValueChangecheck to scrim tap forModalBottomSheet. (I2311a, b/270425759) - Move semantic
BottomSheetactions to drag handle. (I158ba) ModalBottomSheetnow commands focus on launch, handles back button. (I4d2ab)ModalBottomSheet onDismissRequestis now also handled during nested scroll flings. (I655c5, b/268433166)
Version 1.1.0-alpha07
February 22, 2023
androidx.compose.material3:material3:1.1.0-alpha07 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 are released. Version 1.1.0-alpha07 contains these commits.
New Features
- Add a Time Input composable that works with
rememberTimePickerState(), it follows the M3 spec for time input (Ia4fab) - Added a Material 3
DateRangePickerAPI for selecting a range of dates. (I7a6c3, b/267194809) - Added a Material 3 input mode support for selecting date ranges via the
DateRangePickerAPI. (Ifdbc4) - Text field colors now allow customizing:
- The input field and placeholder text colors based on focus and error state. The
textColorparameter has been renamed tounfocusedTextColor, andplaceholderColorhas been renamed tounfocusedPlaceholderColor. - The container color for filled text fields based on error state with the new
errorContainerColorparam.
- The input field and placeholder text colors based on focus and error state. The
- Exposed dropdown menu text field colors have been updated with parameters to support the new prefix and suffix API. (I9c8b4, b/254284181, b/264766350)
API Changes
- Reverting some Slider API versions and removing redundant Slider overloads that are covered by the new experimental Slider with custom thumb and track. Promoting
RangeSliderto be stable. (Ie8fbd) - Renamed
defaultElevationtoelevationin chip's elevation functions. (I0f872) - The following Material 3 text field APIs are no longer experimental:
TextField,OutlinedTextField,textFieldWithLabelPadding,textFieldWithoutLabelPadding,outlinedTextFieldPadding. (Ieb5c0, b/261561819) TimePickersis24Houruses system setting (I18856)- Removed experimental annotation from scaffold apis. (Ibb51e, b/261565765, b/261436953)
Bug Fixes
ModalBottomSheetdefault shape is now alwaysSheetDefaults.ExpandedShape. (I0dfca)- Accessibility improvements for Material 3
DatePickerandDateRangePicker. (I5087e) - Fix bug where max height constraint is propagated and may crash. (I30d8c)
- Removed semantic roles from clickable and selectable surfaces, updated components that used them to set roles using modifier.semantics (I793d9)
Version 1.1.0-alpha06
February 8, 2023
androidx.compose.material3:material3:1.1.0-alpha06 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 are released. Version 1.1.0-alpha06 contains these commits.
New Features
- Text fields now support prefix and suffix text (Ia8578, b/179884561)
- Added a
TimePickerfunction to show a time picker following the Material 3 spec, used in conjunction withTimePickerStateand convenience methodrememberTimePickerState(I71910) - A date input is now a display mode at the
DatePicker. Added support for switching between date picker and date input modes. (Ieeff7) - Added API for
RichTextTooltips. (I58ef3) - Modal bottom sheet implementation for Material 3, including
ModalBottomSheetandModalBottomSheetDefaults. Also introducesSheetStateandrememberSheetStatewhich can be used for future sheet components. (I0853a, b/244189383)
API Changes
- Stablize the API
showSnackbar(I195c2, b/261424370) - Stablize the APIs for assist chip and suggestion chip (Ibb67b, b/261424370)
- Promotes
ListItem,ListItemDefaultsandListItemColorsAPI to non-experimental (I7e7fa, b/261438882) - Promoting
SliderPositions,SliderDefaults.Thumb, andSliderDefaults.Trackto stable and adding non-experimentalSliderandRangeSliderAPIs that contain custom thumbs and track. Also deprecating the previousSliderandRangeSliderAPIs. (Ie5ea6, b/261566890) - Made
Modifier.tooltipAnchor()public, so devs can pass it to the anchor to indicate a tooltip should be displayed on long press. UpdatedPlainTooltipBoxAPI to no longer makeTooltipStatenullable and now has a default. (Ie2fb7) ProgressIndicatorDefaults.circularTrackColorhas been marked@Composablefor consistency. (Id29cc)- Restored property getter
LocalMinimuTouchTargetEnforcementand mark it as deprecated and redirect toLocalMinimumInteractiveComponentEnforcement. (I60dd5)
Version 1.1.0-alpha05
January 26, 2023
androidx.compose.material3:material3:1.1.0-alpha05 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 are released. Version 1.1.0-alpha05 contains these commits.
New Features
DatePickerDialogand accessibility support- Added Custom thumb and track to
RangeSlider.
Dependency Updates
Compose UIandCompose Materialnow depend on Lifecycle 2.6.0.
Version 1.1.0-alpha04
January 11, 2023
androidx.compose.material3:material3:1.1.0-alpha04 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 are released. Version 1.1.0-alpha04 contains these commits.
New Features
- Initial
DatePickerAPI for picking a single date via a calendar UI. This API is still undergoing changes. (I722b9) - Added support for plain tooltips via
PlainTooltipBox. (I0cdfb) - Search bar (Iad128)
SwipeToDismiss(I458a8, b/242889540)
API Changes
- Added in
IsContainersemantics property on Surfaces. This property will be used in a later change that determines traversal order based on the semantic meaning of elements such as surfaces. (I63379) - Mark navigation drawer related APIs as stable. (Iab01e, b/261439597)
- Added a track color parameter for circular progress indicators, and a stroke cap parameter for both circular and linear progress indicators. (Ie668c, b/216325962, b/222964817)
- More return type nullability of deprecated-hidden functions (Ibf7b0)
- Add
Modifier.minimumInteractiveComponentSize. It can be used to reserve at least 48.dp in size to disambiguate touch interactions if the element would measure smaller. (I33f58, b/258495559) - Added experimental API for
AlertDialogcomposable that has a content slot. (Iec4a2)
Bug Fixes
- Progress for progress indicators is now properly bounded to its expected range. (I8a7eb, b/262262727)
Known Issue
- When updating from
androidx.compose.foundation:1.4.0-alpha03toandroidx.compose.foundation:1.4.0-alpha04, you might experience ajava.lang.NoSuchFieldErrorerror. Here is where the issue was orginially reported. A fix has been submitted, and will be available on the next Compose update. As a work around, update yourandroidx.compose.materialandandroidx.compose.material3libraries to the latest version(1.1.0-alpha04) or downgrade yourandroidx.compose.foundationto 1.4.0-alpha03.
Version 1.1.0-alpha03
December 7, 2022
androidx.compose.material3:material3:1.1.0-alpha03 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 are released. Version 1.1.0-alpha03 contains these commits.
API Changes
- Renamed
consumedWindowInsets()toconsumeWindowInsets()andwithConsumedWindowInsets()toonConsumedWindowInsetsChanged()and made the Modifiers public. (Ie44e1) - Add new default content padding for text button with icon to use. (I8f662)
- Added disabled colors for navigation bar and rail. (Ia7892, b/258867034)
- Added an Modifier API to query ancestors scroll info. (I2ba9d, b/203141462)
- Used in
Clickableto correctly delay press interactions, when gestures could become scroll events. - Fixed
Clickablesnot correctly delaying ripples, when used inside anScrollable ViewGroup. - Updated Drawers and Sheets to correctly delay presses in case gestures can become scroll events.
Dependency Updates
Compose UIandCompose Materialnow depend on Lifecycle 2.5.1. (I05ab0, b/258038814)
Version 1.1.0-alpha02
November 9, 2022
androidx.compose.material3:material3:1.1.0-alpha02 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 are released. Version 1.1.0-alpha02 contains these commits.
API Changes
awaitFirstDownandwaitForUpOrCancellationnow accept aPointerEventPassfor greater flexibility (also fixesExposedDropdownMenuBoxshowing a menu while scrolling).(I7579a, b/212091796)- Added
minLinesparameter into material and material3 Text,TextFieldandOutlinedTextFieldwhich allows setting the minimum height of the component in terms of number of lines (I4af1d) - Deprecate the
TopAppBarDefaults smallTopAppBarColorsfunction in favor of a newtopAppBarColorsfunction that should be used when creating aTopAppBar. (Ie6cb9) - Added
minLinesparameter to theBasicTextandBasicTextField. It allows to set the minimum height of these composables in terms of number of lines (I24294, b/122476634)
Bug Fixes
- Clip the content of a Material3
IconButtonandIconToggleBottonto the component's state-layer shape (e.g. circular shape). (I9da8f) - Updates Material3 Medium and Large top app bars to apply the same background color across their entire surface, and to allow setting overriding the default colors with transparent color values. (I67659, b/249688556, b/250838918)
Version 1.1.0-alpha01
October 24, 2022
androidx.compose.material3:material3:1.1.0-alpha01 and androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 are released. Version 1.1.0-alpha01 contains these commits.
Bug Fixes
- Fixes to the top app bar when title is applied with a TextStyle and a Brush. (If667e)
Version 1.0
Version 1.0.1
November 9, 2022
androidx.compose.material3:material3:1.0.1 and androidx.compose.material3:material3-window-size-class:1.0.1 are released. Version 1.0.1 contains these commits.
Bug Fixes
- Updates Material3 Medium and Large top app bars to apply the same background color across their entire surface, and to allow setting overriding the default colors with transparent color values. (I67659, b/249688556, b/250838918)
Version 1.0.0
October 24, 2022
androidx.compose.material3:material3:1.0.0 and androidx.compose.material3:material3-window-size-class:1.0.0 are released. Version 1.0.0 contains these commits.
Major features of 1.0.0
This is the first stable release of Compose Material 3!
Material Design 3 theming and Material You dynamic color
Material Design 3 components
- Badge
- Bottom App Bar
- Buttons
- FAB and extended FAB
- Cards
- Checkbox
- Chips
- Dialogs
- Divider
- Dropdown Menu
- List
- Navigation bar
- Navigation drawer
- Navigation rail
- Progress Indicator
- Radio Button
- Slider
- Switch
- Tabs
- Text Fields
- Top app bar
- Icon
- Text
- Surface
- Layout
- Content color
Window Size Class
material3-window-size-classis a new library that provides support for window size classes: a set of opinionated viewport breakpoints for you to design, develop, and test resizable application layouts against. You can usecalculateWindowSizeClassto retrieve a window size class instance, which you can use to determine how your UI should appear, such as showing a navigation rail instead of bottom navigation for larger window sizes. For more information and sample usage see the API reference documentation forWindowSizeClass.Please see this blog post for more details!
Version 1.0.0-rc01
October 5, 2022
androidx.compose.material3:material3:1.0.0-rc01 and androidx.compose.material3:material3-window-size-class:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.
API Changes
- Added slot param for supporting text to text field API (Iaac0d, b/227146125)
Version 1.0.0-beta03
September 21, 2022
androidx.compose.material3:material3:1.0.0-beta03 and androidx.compose.material3:material3-window-size-class:1.0.0-beta03 are released. Version 1.0.0-beta03 contains these commits.
API Changes
ExposedDropdownMenuDefaultsnow exposes a padding value for menu items. (I34ee1)ExposedDropdownMenuBoxScopenow has aModifier.menuAnchor()modifier that should be passed to the text field for proper a11y behavior. (I27fa3)- Adding two overloaded methods for the current Slider API to allow users to pass in a thumb or track to populate the slider. (I21c00)
Bug Fixes
- Updated dark theme color mapping for On Error Container to tone 90 (Ic5612)
- Fix to allow setting a transparent background for small Material 3 top app bars. (I645e2, b/245575782)
Version 1.0.0-beta02
September 7, 2022
androidx.compose.material3:material3:1.0.0-beta02 and androidx.compose.material3:material3-window-size-class:1.0.0-beta02 are released. Version 1.0.0-beta02 contains these commits.
API Changes
- Default components insets introduced in m3 components in beta01 version no longer account for IME insets.
- Material3 Scaffold component now has a
contentWindowInsetsparameter, allowing to specify the amount of insets to handle for the content slot. (Icf11a, b/243713323) - Deprecates the experimental Material 3
SmallTopAppBarfunction and introduces an equivalentTopAppBarfunction. Please migrate your usage to the new one. (I74404, b/226918634) - Adds control over the top app bar fling and snap behaviors. (I15c81)
- Removes startIndent from Divider, moves color to last parameter. (If7be2)
Bug Fixes
- Have Dialogs identify themselves to talkback users by announcing the word Dialog when they are displayed. (I857ef)
Version 1.0.0-beta01
August 24, 2022
androidx.compose.material3:material3:1.0.0-beta01 and androidx.compose.material3:material3-window-size-class:1.0.0-beta01 are released. Version 1.0.0-beta01 contains these commits.
API Reference
To see latest theming, component and other composables available check out the Compose Material 3 API reference overview.
API Changes
- Updated the Material 3 top app bar to snap into a fully collapsed to a fully extended state. Also, updated the
TopAppBarDefaultsbehavior function to be Composables and provide default values for their top app bar state and animation spec. (I642b3) - Updated FAB component signatures to match surface API (I3afaa)
- Added insets Build-in support for Top app bars, drawers, navigation bar and rail. These components, when used separately or with Scaffold will automatically handle insets for developers. Note: This change doesn't add automatic handling of status bar icons and transparency of the status and navigation bars. Please, continue to do it manually to ensure the best edge-to-edge experience. (I7e4e6, b/183161866)
- Updated component defaults to reduce API surface for future flexibility and performance improvements. (I31820)
- Reordered chip and navigation drawer sheet parameters to maintain consistency within the API (I45d0b)
- Removed
startIndentfrom Divider and moved color to be the last parameter.(If7be2)
Version 1.0.0-alpha16
August 10, 2022
androidx.compose.material3:material3:1.0.0-alpha16 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 are released. Version 1.0.0-alpha16 contains these commits.
New Features
- Support specifying a custom width on a navigation drawer. (Ia7f10)
API Changes
- Reorder Tab and Leading icon tab parameters to maintain consistency within the API (Ie2637)
- Marked
BadgeDefaultsas experimental. (I98ef3) - Remove deprecated navigation drawer function. (I4f2db)
- Reorder Slider parameters in Material 3 to maintain consistency within the API (I0aee7)
- Reorder
NavigationBarandNavigationRailparameters to maintain consistency within the API (I51cda) - Reorder parameters in Material 3 to maintain consistency across the API. (If4ae1)
- Reorder Slider parameters in Material 3 to maintain consistency within the API (I62673)
- Renamed icons parameter to actions to be consistent with top app bar (Id75be)
- Mark
BadgeandBadgedBoxas experimental because the anchor alignment is still influx. (I1712e, b/236524516) - Change
@ExperimentalMaterial3Apiannotations on icon button variants to@OptIn(I070b5) - Separated a navigation drawer's content to its own composable to support specifying a custom width on it. (Ia7f10)
- Removes
DividerfromMenuDefaultsandTabDefaults(I4e33c)
Version 1.0.0-alpha15
July 27, 2022
androidx.compose.material3:material3:1.0.0-alpha15 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 are released. Version 1.0.0-alpha15 contains these commits.
New Features
- Allow dragging the top app bar from the bar itself. (I65c00, b/205873416)
API Changes
- Updates to the
FilterChipandElevatedFilterChipAPIs to remove theselectedIconslot and promote reusing theleadingIconfor displaying a selected state. (Ie5dc2) - Add scrim and outline variant color roles. (Id6d54)
- Fix naming conventions for composable defaults. (I62b27)
- Mark
ListItemDefaultsandListItemColorsas experimental. (I1f3ec) - Changes to the top app bar API to better reflect the meaning of its state properties. Also, mark the top app bar API as experimental. (Ic0ad8)
- Text selection colors have now been added to
TextFieldColorsfor better discoverability. (Iba1b8) - Adding
ButtonDefault.ButtonWithIconContentPaddingto be used with buttons that contain an icon. (I2bf9c) - Text fields have been marked as experimental to allow for more flexibility in future API changes. (I127b5)
- Removed the
@ExperimentalMaterial3Apiannotation from theCheckboxfunction. (I5eefc) - Removed the
@ExperimentalMaterial3Apiannotation from theRadioButtonfunction. (I17e2a) - Removed the
@ExperimentalMaterial3Apiannotation from the non-interactive Cards. (I9bd49) - Updates various component defaults objects to include colors, shapes etc. (I96e11)
Bug Fixes
- Removed non-functioning trailing icons from input chip samples to avoid user confusion in the catalog app. (I9846a)
Version 1.0.0-alpha14
June 29, 2022
androidx.compose.material3:material3:1.0.0-alpha14 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 are released. Version 1.0.0-alpha14 contains these commits.
New Features
- Added M3 list implementation, see the documentation for sample usage (Id7a20)
API Changes
- Change parameter name from values to value in
RangeSlider(I3b79a) - API changes to the
InputChipimplementation to support a selectable state per the Material Design spec. Additional support at theFilterChipcolors for selected disabled state. (I55244, b/235792432) - Add
BottomAppBardefault FAB (Ida4c8) ColorScheme.surfaceColorAtElevationwas added (Id41af)- Interfaces in compose libraries are now built using jdk8 default interface methods (I5bcf1)
WindowWidthSizeClassandWindowHeightSizeClassnow implement Comparable, so they can be compared using operators (<, <=, >=, >) and other APIs. (I747d0)
Bug Fixes
- Update badge sample to provide more meaningful content description. (I10b9d)
- Adds option to use the system font size to the Material 3 catalog's theme picker. (I10605)
- Adds sample code for Badge and indeterminate progress indicators. (I8fbe0)
Version 1.0.0-alpha13
June 1, 2022
androidx.compose.material3:material3:1.0.0-alpha13 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 are released. Version 1.0.0-alpha13 contains these commits.
API Changes
- Supports maintaining the top app bar position on configuration change. (I10459, b/216160958)
Version 1.0.0-alpha12
May 18, 2022
androidx.compose.material3:material3:1.0.0-alpha12 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 are released. Version 1.0.0-alpha12 contains these commits.
Bug Fixes
- Slider parent can now have 0 width. (b/231707291)
Version 1.0.0-alpha11
May 11, 2022
androidx.compose.material3:material3:1.0.0-alpha11 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 are released. Version 1.0.0-alpha11 contains these commits.
New Features
- Added
RangeSliderto Material 3 (I18e38) - Adds Material3
AssistChipandInputChipsupport (I0d25a) - Adds Material3
FilterChipandSuggestionChipsupport (I9fdf3)
API Changes
- Renamed
TextFieldDefaults.BorderStrokecomposable that draws a border stroke inOutlinedTextFieldtoTextFieldDefaults.BorderBox. (I5f295) - Switch m3 visual changes (Iab30e)
- Allow passing colors to the standard icon buttons. (Ia2445)
Bug Fixes
- Add lint check to material3/Scaffold to ensure that the inner padding is used (I72293, b/226951418)
Version 1.0.0-alpha10
April 20, 2022
androidx.compose.material3:material3:1.0.0-alpha10 and androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 are released. Version 1.0.0-alpha10 contains these commits.
New Features
material3-window-size-classis a new library that provides support for window size classes: a set of opinionated viewport breakpoints for you to design, develop, and test resizable application layouts against. You can usecalculateWindowSizeClassto retrieve a window size class instance, which you can use to determine how your UI should appear, such as showing a navigation rail instead of bottom navigation for larger window sizes. For more information and sample usage see the API reference documentation forWindowSizeClass. For more information on window size class definitions, see the public guidance on supporting different screen sizes.
API Changes
- Adds default FAB elevation for
BottomAppBar, removes trailing lambda fromBottomAppBarwith FAB. (I92c47) - Adds Material3
FilledIconButton,FilledTonalIconButton, andOutlinedIconButton. (Ib2bda) - Updates Material 3 Snackbar API to accept color values for the optional action and dismiss-action. (Ibe4b4)
- Partial consumption (down OR position) has been deprecated in
PointerInputChange. You can useconsume()to consume the change completely. You can useisConsumedto determine whether or not someone else has previously consumed the change. PointerInputChange::copy()now always makes a shallow copy. It means that copies ofPointerInputChangewill be consumed once one of the copies is consumed. If you want to create an unboundPointerInputChange, use constructor instead. (Ie6be4, b/225669674)- Changes to the Cards API to receive the container and content colors via a
CardColorsinterface, and to support a disabled state for clickable cards. (I927df) - The parameter
backgroundColorhas been renamedcontainerColorin Material 3 text fields for improved consistency with other components. (I6fbd9)
Bug Fixes
- Updates to the standard
IconButtonto align it with the Material3 spec. (I09eab) - Move the top bar height of material3 Scaffold into the padding passed to content, allowing the content to render underneath the top app bar. If the
PaddingValuesare ignored, then the content might be obscured by the top bar. (I83cbc, b/217776202)
Version 1.0.0-alpha09
April 6, 2022
androidx.compose.material3:material3:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.
New Features
- Added Material 3 Switch API (I2c3ad)
API Changes
- Added support for dropdown menus with text fields (aka 'exposed dropdown menus' or 'combo boxes'.) (I1b832)
- Added shape parameter to MaterialTheme and Shape sub system. (I37426)
- Added an expanded parameter to
ExtendedFloatingActionButtonto control whether the FAB is expanded or collapsed, with animations between each state. Added Extended FAB overload for extended FABs with trailing text for ExtendedFABs without icon. (Iba7f1)
Version 1.0.0-alpha08
March 23, 2022
androidx.compose.material3:material3:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.
New Features
- Added support for Material 3 text fields. (I795cc, b/199377790)
API Changes
- Add default divider for menu (I01374)
- Added
surfaceTintcolor parameter toColorSchemeclass. (I2f558)
Bug Fixes
- Fix at the Material3 Button to read its default text style value from the MaterialTheme. (Ie62fc)
Version 1.0.0-alpha07
March 9, 2022
androidx.compose.material3:material3:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.
API Changes
- Updates to Material 3 Surface API that brings back the overloaded functions for clickable Surfaces, as well as adding a function to support selectable and toggleable Surfaces. (I4bf18)
LazyVerticalGridandLazyHorizontalGridare now stable. (I307c0)LazyVerticalGrid/LazyHorizontalGridand all related apis were moved into .grid subpackage. Please update your imports from androidx.compose.foundation.lazy to androidx.compose.foundation.lazy.grid. (I2d446)- Reverted previous change of relying solely on a View for
WindowInsetsControllerCompat, and again require a Window which is required for managing some window flags. DeprecatedViewCompat.getWindowInsetsControllerin favor ofWindowCompat.getInsetsControllerto ensure that the correct Window is used (such as if the View is in a dialog). (I660ae, b/219572936) - Added a new
LazyVerticalGridAPI to define cross axis sizes (I17723)
Bug Fixes
- Updates to the Card API to follow changes at the Surface API (I3c8b9)
Version 1.0.0-alpha06
February 23, 2022
androidx.compose.material3:material3:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.
API Changes
NavigationDrawerItemis added that represents a single destination within the drawers (Ic396f, b/218286829)PermanentNavigationDrawerandDismissibleNavigationDrawerhave been added as experimental APIs. Those are the drawers suitable well for large screen devices. (I5f8ab, b/218286829)- Adds Material 3 bottom app bar support (Ic432a)
NavigationDrawerhas been renamed toModalNavigationDrawer(I1807d, b/218286829)- Added Material 3 Slider class and tokens (I1ccee)
- Added Tab implementation, see the documentation for sample usage (Ie0146)
Bug Fixes
- Fixed an issue where the
TalkBackscreen reader linear navigation selected an empty top app bar title. (Id4690) - Added
IconSizetoFloatingActionButtonDefaults. (Ia71cf) - Bug fix for hidden
AlertDialogbuttons when a long text is added with aLazyColumn. (Ib2cc9, b/216663029)
Version 1.0.0-alpha05
February 9, 2022
androidx.compose.material3:material3:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.
New Features
Added Material Design 3 components
- Dropdown menu
- Cards
API Changes
- Deprecated
Surfacefunction that takes an onClick callback. Clickable surfaces should be created with anInteractionSourceand aModifier.clickable(). (I211c6) - Added pressed and focused elevation support for FAB. (Ibb584)
- Changed the
SurfaceAPI to receive an InteractionSource which allows controlling its appearance in different states. (Iafbc8)
Bug Fixes
- Added missing tertiary colors in dynamic color schemes (I456c4, b/214588434)
Version 1.0.0-alpha04
January 26, 2022
androidx.compose.material3:material3:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.
API Changes
- Added
NonRestartableComposableto methods that are overloads of existing methods without complex logic. This reduces compiler generated memoization checks (equals) for all parameters which are repeated in the inner function that is called. (I90490) - Added Material 3 divider. (Ica5fc)
- Mark the Checkbox and RadioButton with an experimental API annotation. (Ie44bb)
- Added support for Material 3 progress indicators. (Iff232, b/205023841)
Bug Fixes
- Update a disabled
TextButton'scontainer color to be transparent (I6b248, b/213339737)
Version 1.0.0-alpha03
January 12, 2022
androidx.compose.material3:material3:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
Bug Fixes
- Add
LocalIndicationto Material 3'sMaterialTheme. (I7ce4e) - Fix the corner radius that is applied for Checkboxes (I38b03, b/175198975, b/202309440)
Dependency Updates
- Now depends on Kotlin
1.6.10.
Version 1.0.0-alpha02
December 1, 2021
androidx.compose.material3:material3:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.
New Features
- Add support for checkbox and radiobutton.
- Updated to be compatible with Kotlin
1.6.0
API Changes
- Remove drawer from Material 3's scaffold. (I04f51)
- Adds Material 3
Checkboxsupport. (Id5542) - Adds Material 3
RadioButtonsupport. (I20334)
Bug Fixes
- Reduce
IconButtonripple radius from 40dp to 20dp. (I68bbe, b/206674345) - Port string fast path for
Textchanges fromcompose.material(I30b03) - Fixed but that hardcoded button to always be enabled. (Iea832, b/205335456)
Version 1.0.0-alpha01
October 27, 2021
androidx.compose.material3:material3:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
Material Design 3 theming and Material You dynamic color
Material Design 3 components
- Buttons
- FAB and extended FAB
- Dialogs
- Navigation bar
- Navigation drawer
- Navigation rail
- Top app bar
- Badge
- Icon
- Text
- Surface
- Layout
- Content color
For more information, check out the Material Design 3 and Material You section in the Material Theming in Compose guide.