2024-01-25
Activity: v1.9.0-alpha02
January 24, 2024
androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02, and androidx.activity:activity-ktx:1.9.0-alpha02 are released. Version 1.9.0-alpha02 contains these commits.
Kotlin Conversions
ActivityResultRegistryhas been rewritten in Kotlin. This ensures that the nullability of the generics on the contract passed toregisterwill correctly be passed through to theActivityResultLauncherreturned to you. (I121f0)ActivityResulthas been rewritten in Kotlin. TheActivityResultKotlin extensions that support destructuring into theresultCodeanddatafields have been moved fromactivity-ktxtoactivity. (I0565a)- The Kotlin extensions of
by viewModels()forComponentActivityandtrackPipAnimationHintViewhave been moved fromactivity-ktxtoactivity. Theactivity-ktxartifact is now completely empty. (I0a444)
Bug Fixes
- The
enableEdgeToEdgeAPI now draws around any display cutouts. (a3644b, b/311173461) - From Activity
1.8.2: Fixed the extra passed to the Photo Picker Activity Contract'sACTION_SYSTEM_FALLBACK_PICK_IMAGESto correctly pass it theEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXkey, rather than using the extra with the key"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. (I96a00)
Annotation-Experimental: v1.4.0
January 24, 2024
androidx.annotation:annotation-experimental:1.4.0 is released. Version 1.4.0 contains these commits.
Important changes since 1.3.0
- Add support for Kotlin multi-platform
- Fix compatibility with Kotlin 2.0
- Show warnings for Java usages of experimentally-annotated Kotlin properties (I8bd43)
- Fix placement of autofix annotation on Kotlin methods (Id7a41)
Benchmark: v1.2.3
January 24, 2024
androidx.benchmark:benchmark-*:1.2.3 is released. Version 1.2.3 contains these commits.
Bug Fixes
- Removed exception from Baseline Profile Gradle Plugin when AGP version is 8.3.0 or higher.
- Fix for including library baseline profiles in AAR prior to AGP 8.3.0-alpha15.
CameraX: v1.4.0-alpha04
January 24, 2024
androidx.camera:camera-*:1.4.0-alpha04 is released. Version 1.4.0-alpha04 contains these commits.
New Features
- New artifact: camera-effects: A library for applying real time effects to CameraX output, including
Preview,VideoCaptureand/orImageCapture. This artifact contains OpenGL implementations of theCameraEffectAPI that manipulates the camera output efficiently. OverlayEffect: for drawing overlays with Android’s Canvas API. This allows the app to apply a watermark or highlight detected objects on camera outputs.DynamicRangeAPIs for the Preview Use Case: The dynamic range can now be set on the Preview Use Case, independently of the Video Use Case. This allows HDR dynamic ranges such as HLG10 for Preview alone. New APIs are also available inCameraInfoto query which dynamic ranges each camera supports.
API Changes
- Renamed
ScreenFlashUiCompletertoScreenFlashListenerand movedScreenFlashUiCompleter#getExpirationTimeMillistoexpirationTimeMillisparameter ofScreenFlash#apply. (I13944) - New APIs added to allow dynamic range to be set on Preview use case, and to query dynamic ranges supported by each camera. This allows HDR dynamic ranges, such as HLG10, to be used with the Preview use case alone, no longer requiring a
VideoCaptureto be bound at the same time. (If25e3) - Renamed
getMirroring()toisMirroring()(I47063) - Added Realtime still capture latency estimate support in CameraX. Camera extensions enable applications to use an API that provides an estimate of how long a capture will take. The estimate takes into account the current environment conditions, the camera state and includes the time spent processing multi-frame capture requests along with any additional time for encoding processed buffers if necessary. (I05c3a)
- Renamed
ScreenFlashUiControltoScreenFlash,ScreenFlashUiControl#applyScreenFlashUitoScreenFlash#apply,ScreenFlashUiControl#clearScreenFlashUitoScreenFlash#clear, and addedgetScreenFlashUiApplyTimeoutSecondsmethod instead of exposingSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSdirectly. (Iccdd0)
Bug Fixes
- Fixed a memory leakage that results in activities or fragments not being released when Extensions are enabled (I14215)
- Fixed the issue where
getZoomRatioincorrectly returned a decreased value when applying an increasing zoom ratio. (I4aa0d, b/317543616) ImageCapture#ScreenFlash#clearevent is invoked immediately whenImageCaptureis unbound or camera is closed, also fixes some bugs where it is never invoked due to captures in these scenarios not completing properly. (If99f9)- Fixed the crash that happens when lifecycle is stopped before
takePicturerequest is completed (Idf017, b/306202751) - Fixed the issue where camera preview becomes black when Extensions are enabled on some devices (I1ffd0)
- Fixed incorrect duration of video recording on devices using the Snapdragon 778G SoC. (If6aa7, b/316057919)
Collection: v1.4.0
January 24, 2024
androidx.collection:collection-*:1.4.0 is released. Version 1.4.0 contains these commits.
Important changes since 1.3.0
New high-efficiency collections for storing primitives without boxing have been added:
MutableScatterMap&ScatterMap- Classes withMutableMap& Map-like APIMutableScatterSet&ScatterSet- Classes withMutableSet& Set-like APIMutableObjectList&ObjectList- Classes withMutableList& List-like API
For example, a map with an integer key and a reference type value is an IntObjectMap<T>. A map with a long key and a float value is a LongFloatMap. There is no version with the name ObjectObjectMap because that is covered by ScatterMap/MutableScatterMap.
Compose Animation: v1.6.0
January 24, 2024
androidx.compose.animation:animation-*:1.6.0 is released. Version 1.6.0 contains these commits.
Compose Animation: v1.7.0-alpha01
January 24, 2024
androidx.compose.animation:animation-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
Compose Foundation: v1.6.0
January 24, 2024
androidx.compose.foundation:foundation-*:1.6.0 is released. Version 1.6.0 contains these commits.
Important changes since 1.5.0
- New Modifier
Modifier.anchoredDraggablethat unlocks the ability to drag and animate between predefined set of anchors. This modifier is intended to be a replacement forModifier.swipeable. Learn how to use it and migrate fromModifier.swipeablein the migration guide. - Drag and drop functionality between apps and components has been added. Refer to
DragAndDropTarget,Modifier.dragAndDropSourceand other APIs to get started Modifier.draggable2Dis the new modifier that allows for easy 2d dragging support. See Sample.AndroidExternalSurfaceandAndroidEmbeddedExternalSurfacehave been added to make it easier to add surface-driven components in compose- Various API changes and improvements in
PagerandsnapFlingBehaviour - Various focus, text and insets APIs have been promoted to stable APIs
Compose Foundation: v1.7.0-alpha01
January 24, 2024
androidx.compose.foundation:foundation-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
New Features
- Added a new
Indication API,IndicationNodeFactory. This leads to more performantIndicationimplementations compared to the previous (now deprecated)rememberUpdatedInstanceAPI. For migration information, see developer.android.com. clickable / combinedClickable / selectable / toggleablenow accepts a nullableMutableInteractionSourceparameter. If null, and the providedIndicationis anIndicationNodeFactory, theIndicationcan be lazily created only when needed, which improves performance. If you are not hoisting and using theMutableInteractionSource, it is recommended to pass null.
API Changes
BasicTextField2is available for experimental use. It should be roughly at feature parity withBasicTextField, and behavior should be production-ready. However, the API remains experimental for now. Before stabilizing, it will be renamed toBasicTextFieldand moved into the same package.- Introduced the first draft of the
OutputTransformationAPI forBasicTextField2. This API replaces most of the use cases ofVisualTransformationin the oldBasicTextField. However it is not complete yet, and some things won't work correctly, but we'd appreciate any feedback on the API usability for your use cases. (aosp/2708848) - Introduced
LinkAnnotationthat allows to add links and clickables into text. Links feature is not complete yet and more API changes are coming. - Introduced
receiveContentmodifier that provides developers with a way to receive rich content in Jetpack Compose. receiveContentintegrates withBasicTextField2to accept rich content provided by the software keyboard, or via paste from Clipboard.KeyboardOptions.shouldShowKeyboardOnFocusallows you to disable the default behavior ofBasicTextFieldof requesting a software keyboard on focus.TextInputServiceandLocalTextInputServiceare now deprecated. UsePlatformTextInputModifierNodeto integrate directly with platform IME APIs instead. (aosp/2862698)Indication#rememberUpdatedInstancehas been deprecated. It has a high unavoidable performance penalty, and prevents other optimizations. Instead, you should use the newIndicationNodeFactoryAPI.
Bug Fixes
BasicTextFieldwill now pre-validate a small selection of offset mappings whenVisualTransformationis passed. This helps catch common coding errors that lead to unrecoverable exceptions in later measure or draw passes. By throwing during composition, it is more likely developers will see these errors during development helping avoid production crashes. (I0fd42)VisualTransformationwill not throw if you return an invalid index for an invalid index (b/316401857 )
Compose Material: v1.6.0
January 24, 2024
androidx.compose.material:material-*:1.6.0 is released. Version 1.6.0 contains these commits.
Compose Material: v1.7.0-alpha01
January 24, 2024
androidx.compose.material:material-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
Behavior Changes
- Material components have been migrated to use the new ripple APIs, and no longer query
RippleTheme.
API Changes
rememberRippleandRippleThemehave been deprecated from material-ripple, with new ripple andRippleConfigurationAPIs added to material and other design system libraries.Material components that previously accepted a
MutableInteractionSourceand defaulted to remember{ MutableInteractionSource() }now accept a nullableMutableInteractionSourceand default to null instead. If you are not hoisting and using theMutableInteractionSource, you should pass null. This allows for some components to lazily create an instance only when needed, improving performance. It is also recommended that you make similar changes in your own components.
Compose Material 3: v1.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)
Compose Material3 Adaptive: v1.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)
Compose Runtime: v1.6.0
January 24, 2024
androidx.compose.runtime:runtime-*:1.6.0 is released. Version 1.6.0 contains these commits.
Important changes since 1.5.0
New Features
- Re-throw exceptions that are swallowed during recomposition loop (4dff9a)
Performance Optimizations
- Optimize recording modifications of snapshot states (28c3fe)
- Optimize
rememberSaveable(f01d79) - Defer re-reading derived states until changes are recorded (f38099)
- Improve providing composition local values (a337ea)
Bug Fixes
- Fix slot table memory leak (73fcfe)
- Skip recomposition of subcompositions that will be removed. (Ieeb99, b/254645321)
- Only trigger
RememberObserverlifecycles when it is stored in remember calculation. (f6b4dc) - Restrict
$dirtycapture to inline lambdas. (acfca0) - Fix moveable content sometimes receiving the wrong composition locals. (035cd6)
Compose Runtime: v1.7.0-alpha01
January 24, 2024
androidx.compose.runtime:runtime-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
Performance Optimizations
- Add the ability to create slots after a child group has been added (b5960c)
- Optimize recording modifications of snapshot states (28c3fe)
- Enable strong skipping mode (ed1766)
Bug Fixes
- Account for default parameter meta in intrinsic remember (096665)
- Make
currentCompoundHashKeyunique in more cases (d4a872) - Realize groups when exiting inline function call (2a90fc)
Compose UI: v1.6.0
January 24, 2024
androidx.compose.ui:ui-*:1.6.0 is released. Version 1.6.0 contains these commits.
Compose UI: v1.7.0-alpha01
January 24, 2024
androidx.compose.ui:ui-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
API Changes
- Expanded
ClipboardManagerby addingClipEntryandClipMetadatato support arbitrary content such as images.
Core and Core-ktx: v1.13.0-alpha04
January 24, 2024
androidx.core:core:1.13.0-alpha04, androidx.core:core-ktx:1.13.0-alpha04, and androidx.core:core-testing:1.13.0-alpha04 are released. Version 1.13.0-alpha04 contains these commits.
New Features
- Added
AlarmManagerCompat.canScheduleExactAlarmsAPI (I62e95, b/315440583)
Kotlin Conversions
- The
androidx.core.util.Consumerclass has been rewritten in Kotlin and now enforce that the generic typeTnow matches the nullability of what theaccept()method receives. (Ie21e0) androidx.core.util.Supplierhas been converted to Kotlin, ensuring that the nullability of the type returned byget()matches the nullability of the generic type. (I21e9c)androidx.core.util.Functionhas been rewritten in Kotlin, ensuring that the nullability of the input and outputs of the function match the generic types used. (I09dd7)
External Contribution
- Thanks to Kamal Faraj for adding the
AlarmManagerCompat.canScheduleExactAlarmsAPI (I62e95, b/315440583)
Core Ultra Wideband (UWB): v1.0.0-alpha08
January 24, 2024
androidx.core.uwb:uwb:1.0.0-alpha08 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.
API Changes
- Adds new capabilities and parameters to allow 3p app to set ranging interval, slot duration and enable/disable AoA. Adds new API to support reconfiguration of ranging interval and range data notification. (Iebd18)
Fragment: v1.7.0-alpha09
January 24, 2024
androidx.fragment:fragment-*:1.7.0-alpha09 is released. Version 1.7.0-alpha09 contains these commits.
Fragment Compose Artifact
A new fragment-compose artifact has been created that focuses on supporting apps that are in the process of moving from a Fragment based architecture to a fully Compose based architecture.
The first feature available in this new artifact is a content extension method on Fragment that seeks to make it easier to use Compose for the UI of an individual Fragment by creating a ComposeView for you and setting the correct ViewCompositionStrategy. (561cb7, b/258046948)
class ExampleFragment : Fragment() {override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ) = content { // Write your @Composable content here val viewModel: ExampleViewModel = viewModel() // or extract it into a separate, testable method ExampleComposable(viewModel) }
}
New Features
FragmentManager.OnBackStackChangedListener()now provides theonBackStackChangeProgressed()andonBackStackChangeCancelled()for receiving predictive back progress and canceled events respectively. (214b87)
Known Issue
- When using Fragment's Predictive Back support for
Animatoror AndroidX Transition, Fragments will throw aNullPointerExceptionfromhandleOnBackProgressedif noFragmentManager.OnBackStackChangedListenerhas ever been added viaaddOnBackStackChangedListener. Manually adding a listener will work around the crash. A fix will be available for this in the next release of Fragments.
Hilt: v1.2.0-beta01
January 24, 2024
androidx.hilt:hilt-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.
Lifecycle: v2.8.0-alpha01
January 24, 2024
androidx.lifecycle:lifecycle-*:2.8.0-alpha01 is released. Version 2.8.0-alpha01 contains these commits.
New Features
ViewModelnow supports addingCloseableobjects with akeythat allows retrieving them viagetCloseable(). (I3cf63)
Navigation: v2.8.0-alpha01
January 24, 2024
androidx.navigation:navigation-*:2.8.0-alpha01 is released. Version 2.8.0-alpha01 contains these commits.
Bug Fixes
- Fixed
BackStackStateleak where multiplesaveStatecalls on a destination would result in multiple states to be saved, but only the first one could be restored. (I598b0, b/309559751)
Dependency Update
- Navigation Compose now depends on Compose
1.7.0-alpha01fixing an issue that could cause an unexpected scale animation. (b/297258205)
privacysandbox ads: v1.1.0-beta04
January 24, 2024
androidx.privacysandbox.ads:ads-adservices:1.1.0-beta04 and androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta04 are released. Version 1.1.0-beta04 contains these commits.
New Features
- New API to support post-auction user event reporting
- Added support for Frequency cap filtering for remarketing ads
- Supporting Join Custom Audience delegation
- Waterfall mediation chain truncation support
- Support for Protected Auctions on Bidding and Auction Servers
API Changes
- Introduce
AdSelectionManager::selectAds(AdSelectionFromOutcomesConfig)experimental API (I86cd2) - Introduce
ReportEventRequest::inputEventexperimental API (Ib94f3) - Make
ReportImpressionRequest::adSelectionConfigoptional (Ief280) - Introduce
AdSelectionManager::getAdSelectionDataandAdSelectionManager::persistAdSelectionResultUnifiedexperimental APIs (Ie4d0e) - Introduce
CustomAudienceManager::fetchAndJoinCustomAudienceexperimental API (I09152) - Introduce
AdSelectionManager::reportEventexperimental API (I0d7dc) - Introduced
AdSelectionManager::updateAdCounterHistogramexperimental API and alteredAdDatato indicate a series ofAdFilters(I87b83)
Bug Fixes
- Input URIs are now matched on a shared site/origin instead of requiring an exact host name match.
- Fix test failing due to missing HTTPS scheme (d573058)
- Fix missing HTTPS scheme from web URLs (cecdcb8)
- Add throws annotation to the measurement APIs (2dba359)
privacysandbox sdkruntime: v1.0.0-alpha12
January 24, 2024
androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha12, androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha12, and androidx.privacysandbox.sdkruntime:sdkruntime-provider:1.0.0-alpha12 are released. Version 1.0.0-alpha12 contains these commits.
New Features
- Introduce
SdkSandboxControllerCompat#loadSdkfor loading SDKs by other SDKs in sandbox (currently supported on API 34 Extension 10 only)
API Changes
- Remove sandbox support on API 33 devices - backcompat (in app) mode should be used before API 34.
Wear Compose: v1.4.0-alpha01
January 24, 2024
androidx.wear.compose:compose-*:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
New Features
- We have added entry animation to
SwipeDismissableNavHostfor in-app transitions.(cfeb79a) PositionIndicatoris now shown by default when a screen is first displayed. This change was introduced in order to help meet Wear Quality guidelines. Unfortunately, it means that screenshot tests will need to be updated on screens that includePositionIndicator, as thePositionIndicatorwould not previously have been displayed. (419cef7)
API Changes
- We have added a new ripple API in
wear:compose-materialandwear:compose-material3libraries which replaces the deprecatedrememberRipple. Also adds a temporaryCompositionLocal,LocalUseFallbackRippleImplementation, to revert Material 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. See developer.android.com for migration information and more background information behind this change. (af92b21) - We have updated
ColorSchemeto be 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 the material code and will impact initialization and runtime cost of more standard use cases. (f5c48b7) - Wear material and Wear 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. (f8fa920) - We have updated
rememberExpandableStateto save expandable state. This ensures that data is stored when navigating to another screen and restored when coming back to the original screen. (5c80095)
Bug Fixes
- We have updated the
ReduceMotionsetting to use a lifecycle aware listener. (7c6b122) - We have updated
TouchExplorationStateProvider’s Listener to be lifecycle aware (be28b01) - We have removed the materialcore layer for
CompactButtonto improve performance (25db8e9) - We have made
BasicSwipeToDismissBoxmore robust to NaN offsets to avoid exceptions (b983739) - We have updated
BasicSwipeToDismissBoxto ensure alpha values are within the range 0,1 - We have fixed a bug in the
ToggleButton,SplitToggleButton,Checkbox,SwitchandRadioButtonso that accessibility announcements are not repeated (previously, semantic roles were duplicated) (d11eeb7)
Wear Compose Material3: v1.0.0-alpha16
January 24, 2024
androidx.wear.compose:compose-material3:1.0.0-alpha16 is released. Version 1.0.0-alpha16 contains these commits.
New Features
- We have added
CompactButton, which can use the same filled, filled tonal and outlined colors as Button.(I05df0)
API Changes
- We have added
RadioButton/SplitRadioButtonas containers for selection controls, such as the Radio control. This differs from the existingToggleButtonin thatRadioButtonis selectable (and operates within a selection group) whereasToggleButtonis toggleable (and is independent). (I61275) - We are removing
LocalContentAlphafrom the Wear Compose Material3 library for consistency with the Compose Material3 library. (I49a0a) - Wear material and wear 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. (Ib90fc, b/298048146) - Adds new ripple API in
wear:compose-materialandwear:compose-material3libraries which replaces the deprecatedrememberRipple. Also adds a temporaryCompositionLocal,LocalUseFallbackRippleImplementation, to revert Material 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. See developer.android.com for migration information and more background information behind this change. (af92b21) - We have made minor improvements to the
HorizontalPageIndicatorapi and its documentation. (I60efc) - We have updated
ColorSchemeto be 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. (Ibc2d6) - Updated
ToggleButtonandSplitToggleButtonAPIs to allow disabled colors to be customized. In addition, Material Design tokens are now used for color and typography values. (If087c) - Updated Button image background colors to use Material Design tokens. (Iba215)
- We have changed the
Checkbox,SwitchandRadioButtoncomponents to be display-only, by removing the click handling. These components are expected to be used in(Split)ToggleButtonwhich handles the click, so the components are now more clearly indicated as display-only (and are not intended for standalone use on Wear). (I2322e)
Bug Fixes
- We have added tokens for motion values of durations and easings in Wear Compose Material 3. (I437cd)
- We have fixed a bug in the
ToggleButton,SplitToggleButton,Checkbox,SwitchandRadioButtonso that accessibility announcements are not repeated (previously, semantic roles were duplicated). (Ica281) - We have removed the materialcore layer for
CompactButtonto improve performance. (7902858)
Wear Compose: v1.3.0
January 24, 2024
androidx.wear.compose:compose-*:1.3.0 is released. Version 1.3.0 contains these commits.
Important changes since 1.2.0
- The
SwipeToDismissBoxStateclass,SwipeToDismissValueenumeration, andModifier.edgeSwipeToDismissextension function are now each part of theandroidx.wear.compose.foundationpackage, instead of theandroidx.wear.compose.materialpackage. This updated architecture allows you to implement gesture handling independently from other design considerations. Material Design workflows, such as applying colors from a configured theme, are handled separately. - The
SwipeToRevealCardandSwipeToRevealChipclasses help you implement therecommended swipe-to-reveal guidance. TheSwipeToRevealSampleclass demonstrates how to use these components. Our 1.3.0-alpha02 release introduced a change that causes
ChipandToggleChipobjects to grow in height to better support user-selected font scaling. This can cause some clipping to occur. To fix this issue, thelargeshape forMaterialThemenow uses a larger corner radius (26 dp instead of 24 dp).ChipandToggleChipobjects use this new corner radius to avoid clipping content on the corners of Chip andToggleChip.- Most
ChipsandToggleChipsare unchanged, given their default 52 dp height. However,ChipandToggleChipobjects that contain multiple lines of primary or secondary label text, or for which the height has been overridden, could cause screenshot tests to break.
- Most
Additional changes
For a more complete set of the changes introduced in version 1.3.0, see the beta01 release notes.
Recommendations for implementation
- If your app allows users to pan around the screen's content, such as in a map-based app, turn off swipe handling by setting
userSwipeEnabledtofalsein theSwipeDismissableNavHostcomposable, and include a button that allows users to go to the previous screen. - To turn off animations for a position indicator during fade-in and position-change animations within a scrolling list, use a
SnapSpecobject. - While waiting for a media app to load content for playback, show a blank
Placeholdercomposable. - To create a collection of expandable items on demand, consider using the experimental
ExpandableStateMappingclass.
wear protolayout: v1.1.0-rc01
January 24, 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.
Bug Fixes
PlatformTimeUpdateNotifierImplticks immediately after enabling update. (I77145)CircularProgressIndicatorhas been fixed for RTL layouts. From now on, it will go clockwise in all cases. (I95ee3)- Add a workaround for a skia arc drawing issue. (I08f09)
Wear Tiles: v1.3.0-rc01
January 24, 2024
androidx.wear.tiles:tiles-*:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.
API Changes
- Renamed
TileService#getActiveTilesSnapshotAsynctogetActiveTilesAsync. (If6b87)
Wear Watchface: v1.2.1
January 24, 2024
androidx.wear.watchface:watchface-*:1.2.1 is released. Version 1.2.1 contains these commits.
Bug Fixes
- Fixed a crash on Samsung Galaxy Watch 4, 5 & 6. (43f0b0)
Webkit: v1.10.0
January 24, 2024
androidx.webkit:webkit:1.10.0 is released. Version 1.10.0 contains these commits.
Important changes since 1.9.0
- Added a new API to WebSettingsCompat to control the experimental Android WebView Media Integrity API behavior by either disabling the API entirely, or restrict sharing the application identity in the API response. This can be toggled for all origins and on a per origin basis.
WorkManager: v2.10.0-alpha01
January 24, 2024
androidx.work:work-*:2.10.0-alpha01 is released. Version 2.10.0-alpha01 contains these commits.
New Features
- Developers can specify
NetworkRequestas a constraint for a worker via theConstraints.setRequiredNetworkRequestmethod. This enables more granular control over which network this worker should run.
API Changes
- Adding an ability to specify
NetworkRequestas the constraint. (Id98a1, b/280634452)