Compose Material 3
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| May 24, 2023 | 1.1.0 | - | - | 1.2.0-alpha02 |
Structure
Compose is combination of 7 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.1.0"
implementation "androidx.compose.material3:material3-window-size-class:1.1.0"
}
android {
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.1.1"
}
kotlinOptions {
jvmTarget = "1.8"
}
}
Kotlin
dependencies {
implementation("androidx.compose.material3:material3:1.1.0")
implementation("androidx.compose.material3:material3-window-size-class:1.1.0")
}
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.
Version 1.2
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.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.