2024-12-11
Activity: v1.10.0-rc01
December 11, 2024
androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01, and androidx.activity:activity-ktx:1.10.0-rc01 are released. Version 1.10.0-rc01 contains these commits.
Bug Fixes
- Fixed an issue where changing the enabled state while the
PredictiveBackHandleris currently active would short circuit the callback immediately. It will now finish the current callback regardless of the enabled status changes. (Ib8719)
AppSearch: v1.1.0-alpha07
December 11, 2024
androidx.appsearch:appsearch-*:1.1.0-alpha07 is released. Version 1.1.0-alpha07 contains these commits.
New Features
- Add
ExperimentalAppSearchApiannotation to new API surfaces that have not yet stabilized. (Ib09f4) - Support for efficiently storing and sharing binary blob data via
AppSearchSession#openBlobForWriteAsyncand related methods - Support for filtering query results by scoring expression via the
matchScoreExpressionfunction (Id525a) - Support for propagating deletion from parent document to child documents. (Ia032d)
- Support for embedding quantization API to increase embedding performance with slight quality loss. (Id8a07)
- Support for restricting searches to certain documents using the
addFilterDocumentIdsAPI inSearchSpec. (I7c6f1)
API Changes
- Move parent type information from
GenericDocumenttoSearchResult. (I34a1d) - Support for new action types in the
TakenActionAPI, includingDismissActionandImpressionAction. (I0c6c7) - Added new AppSearch builtin schema
WebPage. (I28127)
Benchmark: v1.4.0-alpha06
December 11, 2024
androidx.benchmark:benchmark-*:1.4.0-alpha06 is released. Version 1.4.0-alpha06 contains these commits.
API Changes
- Removed usage of
@Language("sql")inPerfettoTraceProcessor.Session.query(), as Studio highlighting/parsing is broken. (Idc2fa, b/377733398)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode(I46810, b/326456246) - Corrected
ArtMetricto report class load (not init), and improved docs to clarify runtime behavior. (I9915c) - On Android Multiuser, execute commands as root only on rooted devices. (I88b44)
Camera: v1.4.1
December 11, 2024
androidx.camera:camera-*:1.4.1 is released. Version 1.4.1 contains these commits.
Bug Fixes
- Fixed an issue on Pixel Android 15 devices where NIGHT mode in Extensions failed to capture still images until the camera focused on a nearby object. (I228d4)
- Fixed the
ImageCapture#takePicturemalfunction issue when extensions are enabled andVideoCaptureis bound together. (I5c745)
Camera: v1.5.0-alpha04
December 11, 2024
androidx.camera:camera-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.
API Changes
- Exposed
ImageCapture.Builder#setOutputFormatandImageCaptureCapabilities#getSupportedOutputFormatsas stable APIs (Ieb04a) - Add
VideoCapture.getResolutionInfo()to get the resolution information when aVideoCaptureis bound to a Lifecycle. (Icb478) - Exposed
PreviewView.getScreenFlashandPreviewView.setScreenFlashOverlayColoras stable APIs. (I74fee)
Bug Fixes
- Fixed capture failure issue on Vivo 1610 device while taking picture with flash in the dark. (I366f4)
- Fixed torch unexpectedly turning off after image capture in Redmi Note 6 Pro. (I2e0e8, b/377144569)
- Fixed an issue on Pixel Android 15 devices where NIGHT mode in Extensions failed to capture still images until the camera focused on a nearby object. (I228d4)
- Fixed the still image capture malfunction issue when extensions are enabled and
VideoCaptureis bound together. (I5c745) - Enabled
UltraHDRstill image capture support for Extensions if the device can support it. (I48300) - Fixed flash timing issue for flash capture with
CameraEffecttargeting image captures on TCL devices. (I7698c)
camera media3: v1.0.0-alpha01
December 11, 2024
androidx.camera.media3:media3-effect:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
- An adapter library for using Media3 effects with CameraX. It's for adding Media3 effects into the camera pipeline with CameraX's
CameraEffect/SurfaceProcessorAPI.
camera viewfinder: v1.4.0-alpha11
December 11, 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11, and androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 are released. Version 1.4.0-alpha11 contains these commits.
API Changes
viewfinder-coreclasses have been moved into packages that are consistent with the library they belong to. (I431c6)CameraViewfinder.ScaleTypehas been moved toviewfinder-coreso it can be reused with compose (I87ef1)- Deprecated
CameraViewfinderclasses are removed. Please use the new APIs which provide equivalent functionality. (I6e59a)
Collection: v1.5.0-beta01
December 11, 2024
androidx.collection:collection-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.
API Changes
- Adds support for
watchosDeviceArm64KMP target and target kotlin 1.9 (Icf15d, b/364652024)
Compose Animation: v1.7.6
December 11, 2024
androidx.compose.animation:animation-*:1.7.6 is released. Version 1.7.6 contains these commits.
Compose Animation: v1.8.0-alpha07
December 11, 2024
androidx.compose.animation:animation-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits.
New Features
- Supports lookahead in Pager, by differentiating the lookahead pass from approach pass for retaining items and consuming scrolling. (b/371802474)
Bug Fixes
- Fixes a rare crash where a shared element is composed but never measured/placed, by requiring the shared element to render in place at least once before rendering it in overlay. (b/371802474)
Compose Foundation: v1.7.6
December 11, 2024
androidx.compose.foundation:foundation-*:1.7.6 is released. Version 1.7.6 contains these commits.
Bug Fixes
- Fixed text inline content not being visible to accessibility services.
- Fixed an issue where
AndroidEmbeddedExternalSurfacewould not reset properly and be stuck when reusing in a lazy list.
Compose Foundation: v1.8.0-alpha07
December 11, 2024
androidx.compose.foundation:foundation-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits.
API Changes
- Deleted
ComposeFoundationFlags.RemoveBasicTextGraphicsLayerEnabledflag that helped revert the removal of internalgraphicsLayerfromBasicText. If you were using this flag please let us know of the reasons by filing a bug. Also you can just pass inModifier.graphicsLayer()to yourBasicTextcalls to achieve the same behavior as before. (Id9f90) - Added default implementation for new
stickyHeaderDSL. (I68986) - Has
LocalAutofillHighlightColorcomposition local use a Color type. (I0e05b) - Renamed
OverscrollEffect#withoutDrawingtoOverscrollEffect#withoutVisualEffect. (I1a154)
Bug Fixes
- Follow-up fix for an issue in
AnchoredDraggable's target calculation where it could settle at the wrong anchor for specific swipes. (I23b87, b/367660226)
External Contribution
- Add
BringIntoViewResponderModifierNodeto UI, which provides a new way to implement Bring Into View functionality as well as allows implementing in on a platform level (Ia6dd8) - We are ever slightly changing the way the cursor is drawn. You can use
LocalCursorBlinkEnabledto disable the cursor drawing in tests. (I4c697)
Compose Material: v1.7.6
December 11, 2024
androidx.compose.material:material-*:1.7.6 is released. Version 1.7.6 contains these commits.
Compose Material: v1.8.0-alpha07
December 11, 2024
androidx.compose.material:material-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits.
Bug Fixes
- Fix text field size modifiers sometimes not being followed. (I90d4c, b/356905963)
Compose Runtime: v1.7.6
December 11, 2024
androidx.compose.runtime:runtime-*:1.7.6 is released. Version 1.7.6 contains these commits.
Compose Runtime: v1.8.0-alpha07
December 11, 2024
androidx.compose.runtime:runtime-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits.
API Changes
- Added tooling API that helps the layout inspector to correlate subcompositions to the parent composition in cases where a node is not used to bridge the compositions together. (I4ce3d)
- Made the arithmetic and special constants for
SnapshotIdinternal instead of public. Arithmetic can be performed on aSnasphotId, if necessary, by converting it to aIntorLongby usingtoInt()ortoLong()respectively. (Ic3a57)
External Contribution
- Optimize storage for
movableContentOfparameters. (ed87177)
Compose UI: v1.7.6
December 11, 2024
androidx.compose.ui:ui-*:1.7.6 is released. Version 1.7.6 contains these commits.
Bug Fixes
- We previously used to throw an error whenever we encountered a key event when we encountered a key event when the focus system had pending invalidations. We now log an error instead (I7ea0, b/346370327).
- Removed experimental annotation from
SemanticsPropertyReceiver.invisibleToUser(). This will be deprecated in 1.8 to be replaced withSemanticsPropertyReceiver.hideFromAccessibility(). (I448f0, b/376479686) - Fixed an issue that prevented
TextFieldfrom functioning correctly when using the POBox Japanese Keyboard on certain older Sony devices. (I94e0e, b/373743376) - Fixed an accessibility issue where
BasicText’s inlineContent was not announced byTalkBack. (I67bcb, b/376479686)
Compose UI: v1.8.0-alpha07
December 11, 2024
androidx.compose.ui:ui-*:1.8.0-alpha07 is released. Version 1.8.0-alpha07 contains these commits.
API Changes
- Exposed owner from
LayoutNodefor tools. (I26f7f) - Has
LocalAutofillHighlightColorcomposition local use a Color type. (I0e05b) - Keep deprecated
UrlAnnotationand its methods marked as experimental. (Ic0021)
Bug Fixes
- Fixed
IndexOutOfBoundsExceptioncrash when usingLinkAnnotationinside theBasicTextor Text composable (be7605, b/374115892) - Fixed issue where filled text fields with custom shape didn't clip the indicator line. (I4f87f, b/380704151)
- Fixed missing backgrounds with long screenshots. (I4d57a)
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(Idfef8, b/326456246) - Update Compose support for wide gamut and HDR colors when running on Android Q+. (Icd8be, b/379135036)
- Resource fonts that fail to load will now silently fall back to the default font, instead of the prior behavior of throwing an exception in measure. (Ib6a49)
- Fix focus lost when
AndroidViewis detached and attached. (I53446) - Accept
requestFocus()from beyond bound layout action. (Ia8461)
External Contribution
- Add
BringIntoViewResponderModifierNodeto UI, which provides a new way to implement Bring Into View functionality as well as allows implementing in on a platform level. (Ia6dd8)
Concurrent: v1.3.0-alpha01
December 11, 2024
androidx.concurrent:concurrent-futures:1.3.0-alpha01 and androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(I0faf4, b/326456246)
Core and Core-ktx: v1.16.0-alpha01
December 11, 2024
androidx.core:core:1.16.0-alpha01, androidx.core:core-ktx:1.16.0-alpha01, and androidx.core:core-testing:1.16.0-alpha01 are released. Version 1.16.0-alpha01 contains these commits.
API Changes
- Added
setLaunchDisplayIdtoActivityOptionsCompat. (I39e77, b/379669743) - Added compat API for
SYSTEM_OVERLAYS. (Ibd1fd, b/287470173) - Added
OutcomeReceiverCompat, a version of Android'sOutcomeReceiveravailable on all API levels. (Ib8265, b/380060342) - Added compat class for
android.view.ScrollFeedbackProvider. (Icaa92) - Added
ViewCompat.addViewOverlay(View)as an alternative toView.getOverlay().add(View). TheViewCompatvariant fixes an issue where owners like theLifecycleOwnerandViewModelStoreOwnercould not be resolved between the view being overlaid and the overlay owner. (I81413) - Introduces the concept of a
Viewbeing able to have a disjoint parent. A disjoint parent of a view is a different view that effectively parents the other view, but is not set via theView.parentproperty. See the documentation for more information. (Ib2950) - Added a new API
ViewGroupCompat#installCompatInsetsDispatchfor developers to fix an insets dispatching issue present prior to API 30. (I11159) - Added
FontsContractCompat.TypefaceStyleIntDef for annotatingTypefacestyles inFontsContractCompat. (Ib3e5b)
External Contribution
- Deprecated
BuildCompat.isAtLeastV. Callers should checkSDK_INTagainst 35 directly instead. Thanks to Jake Wharton! (I294d1) - Added a mutability flag to
TaskStackBuilder. Thanks to Kamal Faraj! (Ife0ec, b/371534781)
Core-telecom: v1.0.0-beta01
December 11, 2024
androidx.core:core-telecom:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
New Features
Beta release for the following new features:
- Fetching available audio endpoints before a call is added. App developers can now display all the available endpoints before initiating a call which allows users to seamlessly select their preferred audio endpoint and optimize their setup. This eliminates the need for in-call adjustments at the start of the call, providing a smoother experience.
- Experimental API support for VOIP application call extensions. Call extensions allow an application to provide more details about an ongoing call, such as the list of participants in a group call or meeting. Supported remote surfaces such as Android Auto can then show this information to the user and allow them to interact with the supported extensions. The new experimental extensions added in this release are:
- Support for showing the participants in a group call or meeting and describing which participant is active. Support for the following optional actions on participants:
- Raising and lowering the hands of participants.
- Kicking participants.
- Support for call silence, which allows remote surfaces to silence a VOIP call without also globally muting the mic.
- Support for showing the participants in a group call or meeting and describing which participant is active. Support for the following optional actions on participants:
API Changes
- Rename
addLocalSilenceExtensiontoaddLocalCallsilenceExtension(If4a9c) - Change
preferredStartingCallEndpointfromvartoval. (Iab6b7) - Add local call silence APIs (I29dd0)
- Implement the
compareTofunction for theCallEndpointCompatclass (Ia06b7) - Adds experimental app actions API. (Ifb796)
- Add new
CallsManagerAPIgetAvailableStartingCallEndpoints(Ia8bcf) - Update
ExperimentalAppActionsannotation to ensure that it is accurately tracking all usages of the experimental feature. (Id5ea5)
Bug Fixes
- Add global mute state receiver for Android API level 28 through 33. (I75e66)
- Fixes an issue where only the latest connected
InCallServicewould be able to send action events (I39599) - Implements ICS Extensions API for voip app actions. (I1274c)
- Rejecting a call before API level 34 will now correctly destroy the call in Telecom. (I635b7)
addCallnow properly throws Exceptions through the API instead of the parent coroutine (I83334)- Add a placeholder value to extras bundle (Iebf7f)
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (Ieb9ae, b/345472586)
- Adds experimental support for extensions to
CallsManager#addCall. (I24d92) - Core-Telecom will now throw a
CallExceptionif the platform failed to add the call due to an exception, reaching max call count, etc. (I41f27)
Core-Viewtree: v1.0.0-alpha01
December 11, 2024
androidx.core:core-viewtree:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
Initial release of
core-viewtree, transitively exposed by androidx core.This initial release introduces the concept of a View being able to have a disjoint parent. A disjoint parent of a view is a separate
Viewobject that acts as the view’s parent, but is not set via theView.parentproperty. Examples of Views with disjoint parents areViewOverlays, popups, and dialogs, which all appear outside of the main view hierarchy. A View can only have a disjoint parent if it does not have a direct parent via the platform’sView.parentproperty. Currently, androidx only sets the disjoint parent forViewOverlayscreated by transition. You can also specify your own disjoint parents for views. See the documentation for more information.
API Changes
- Adds
ViewParent.getParentOrViewTreeDisjointParent()andViewParent.setViewTreeDisjointParent(View, ViewParent?)methods (Ib2950)
Core Ultra Wideband (UWB): v1.0.0-alpha10
December 11, 2024
androidx.core.uwb:uwb:1.0.0-alpha10 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha10 are released. Version 1.0.0-alpha10 contains these commits.
API Changes
- Adds reason code
STATE_CHANGE_REASON_UNKNOWN,STATE_CHANGE_REASON_SYSTEM_POLICYandSTATE_CHANGE_REASON_COUNTRY_CODE_ERRORfor UWB state change. (I43e36) - Add new API
RangingResult#RangingResultInitializedto send event when a ranging session is initialized. (I386bb) - Add new APIs
subscribeToUwbAvailability(observer: UwbAvailabilityCallback)andunsubscribeFromUwbAvailability()to listener to the UWB state change event. Add new interfaceUwbAvailabilityCallbackfor user to define callback function when a UWB state change event is observed. (I37191).
Graphics: v1.1.0-alpha01
December 11, 2024
androidx.graphics:graphics-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
New Features
- Reworked the main demo into a generic Shape Editor. This allows you to import shapes from a svg path, manually edit the detected features in case of misses in the automatic process, and export the result into code that can be used in production code. (I1ac13)
- Replace angle measurements for shape outline progress with curve length measurements, this allows more complex shapes to be used for morphing. (I75478) , I390dd
- Improved the feature mapping algorithm, so more morphs should look more natural. (I83287)
API Changes
- Add SVG path import and feature serializer. The usual flow is:
- Use the new
SvgPathParser.parseFeatures()to convert a svg path (the value of thedattribute on thepathelement of a svg) into aList<Feature>. - That can be modified, then serialized into a string with
FeatureSerializer.serialize(). - The resulted string can be used in production code, importing it with
FeatureSerializer.parse() - Note that the steps 1 & 2 are done once, and can be done with the new app. Production code should only need to do step 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Use the new
- Expose polygon features and feature types. More generic
RoundedPolygonscan now be created with the base constructor that takes aList<Features>. Features are mainly a list of Cubic bezier curves, but they are tagged to help the Morph algorithm match between the start and end shapes (convex corners are mapped to convex corners and concave corners are mapped to concave corners). (I61e76), (I1fc5c) - Adds support for
watchosDeviceArm64KMP target and target kotlin 1.9. (Icf15d, b/364652024)
Bug Fixes
- Fixed edge case when the last feature was empty. (I390dd)
- Make
RoundedPolygoncreation more robust. (Ib862c, b/360888486) - Fix a bug on
RoundedPolygoninitialization. (I83ddb) - Fix an error in the algorithm to estimate the center of the polygon. (Ida147)
Health Services Client: v1.1.0-alpha05
December 11, 2024
androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05, and androidx.health:health-services-client-proto:1.1.0-alpha05 are released. Version 1.1.0-alpha05 contains these commits.
New Features
- Now includes proguard rules to avoid necessary classes from being stripped out. (65d0c3f)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(Iaf73a, b/326456246)
ink: v1.0.0-alpha02
December 11, 2024
androidx.ink:ink-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.
API Changes
- Assorted bug fixes. (I05dd8)
External Contribution
- Deprecate
BuildCompat.isAtLeastV. Callers should check SDK_INT against 35 directly instead. (I294d1)
Lifecycle: v2.9.0-alpha08
December 11, 2024
androidx.lifecycle:lifecycle-*:2.9.0-alpha08 is released. Version 2.9.0-alpha08 contains these commits.
New Features
- Add
ViewModelScenario.recreateto simulate a System Process Death recreating theViewModelunder test and all associated components. (Id6a69, b/381063087) LifecycleOwnerandViewModelStoreOwnerinstances retrieved via their respectivefindViewTreeAPIs can now be resolved through disjoint parents of a view, such as aViewOverlay. See the release notes of core or the documentation inViewTree.setViewTreeDisjointParentfor more information on disjoint view parents. (I800f4)
API Changes
- Make the namings and package organization more consistent with
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(Ie4340, b/326456246) - Document
ViewModel.onClearedclearing sequence. (I586c7, b/363984116)
lint: v1.0.0-alpha03
December 11, 2024
androidx.lint:lint-gradle:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
New Features
- Catch calls to
Provider<>.toStringas it is nearly always a bug to do that. - Catch calls of Kotlin collection extension functions on
TaskContaineras these cause eagerTaskcreation. - Catch calls to
ConfigurableFileCollection.frompassing in aConfigurationas that causes eager resolution of the configuration suggesting to useproject.files(configuration)orconfiguration.incoming.artifactView {}.files. - Catch usages of
Property<File>suggesting to useRegularFilePropertyorDirectoryPropertyas it is enforcing the use directory vs file.
Mediarouter: v1.8.0-alpha01
December 11, 2024
androidx.mediarouter:mediarouter:1.8.0-alpha01 and androidx.mediarouter:mediarouter-testing:1.8.0-alpha01 are released. Version 1.8.0-alpha01 contains these commits.
API Changes
- Add new API to support connecting (and disconnecting) to routes without affecting the route selection. (I64a8e).
- Add new API that allows providers to take parameters when creating a controller. (I703b9).
- Add new API for listening for changes in the list of bound
MediaRouteProviderServiceclients. (I69996)
Bug Fixes
- Mitigate issue causing playback to be incorrectly routed to the built-in speakers while a Bluetooth device is connected.
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (If6b4c, b/345472586)
- Fix Output Switcher invocation in certain
WearOsscenarios (Iab44a). - Fix some translations for the
MediaRouteChooserDialog. (26da14).
Navigation: v2.9.0-alpha04
December 11, 2024
androidx.navigation:navigation-*:2.9.0-alpha04 is released. Version 2.9.0-alpha04 contains these commits.
New Features
- The type safe APIs that were previously only accessible via
reifiedmethods i.e.,composable<YourScreen>now have non-reified versions that directly take aKClassinstance.(Ia7eed, Id2879, Ibf244, I17d79, Id09d2, I54696, Ia47be, I93281, Ic1bf0, Iba4ee, If56a5, Icf969, I67644, I6f788, b/382094941, b/366291612, b/381938808)
The table below provides the reified and KClass APIs.
| reified | KClass |
|---|---|
composable<TestClass> { } |
composable(TestClass::class) { } |
navigation<NestedGraph>(startDestination = TestClass::class) |
navigation(route = NestedGraph::class, startDestination = TestClass::class) |
dialog<TestClass> {} |
dialog(TestClass::class) {} |
navDeepLink<TestClass>(baseUri) |
navDeepLink(TestClass::class, baseUri) |
NavDeepLink.Builder.setUriPattern<TestClass>(baseUri) |
NavDeepLink.Builder.setUriPattern(TestClass::class, baseUri) |
NavDestinationBuilder.deepLink<TestDeepLink>(baseUri) { } |
NavDestinationBuilder.deepLink(TestDeepLink::class, baseUri) { } |
navController.getBackStackEntry<TestClass>() |
navController.getBackStackEntry(TestClass::class) |
navController.popBackStack<TestClass>(true) |
navController.popBackStack(TestClass::class, true) |
navController.clearBackStack<TestClass>() |
navController.clearBackStack(TestClass::class) |
NavOptions.setPopUpTo<TestClass>() |
NavOptions.setPopUpTo(TestClass::class) |
navOptions { popUpTo<TestClass> {...} } |
navOptions { popUpTo(TestClass::class) {...} } |
NavGraph.setStartDestination<TestClass>() |
NavGraph.setStartDestination(TestClass::class) |
NavGraph.findNode<TestClass>() |
NavGraph.findNode(TestClass::class) |
backStackEntry.toRoute<TestClass>() |
backStackEntry.toRoute(TestClass::class) |
savedStateHandle.toRoute<TestClass>() |
savedStateHandle.toRoute(TestClass::class) |
API Changes
- The kotlin-specific
NavGraph.setStartDestinationoverload for type safety is hidden from Java sources. (Ic640c, b/364634035)
Bug Fixes
- From Navigation
2.8.5: Fixed an issue whereNavHostcould throw an exception inside of thePredictiveBackHandlerif the back stack is popped down to 1 entry and a system back are triggered in the same frame. (I1a429, b/375343407) - From Navigation
2.8.5: FixedNavDestinationNullPointerExceptionwhen updating a graph'sstartDestination. (I99421, b/361560785)
Navigation: v2.8.5
December 11, 2024
androidx.navigation:navigation-*:2.8.5 is released. Version 2.8.5 contains these commits.
Bug Fixes
- Fixed an issue where
NavHostcould throw an exception inside of thePredictiveBackHandlerif the back stack is popped down to 1 entry and a system back are triggered in the same frame. (I1a429, b/375343407) - Fixed
NavDestinationNullPointerExceptionwhen updating a graph'sstartDestination. (I99421, b/361560785) - Fixed an issue that caused an unexpected scale animation when using Navigation Compose and calling navigate in the same frame that the current animation is ending. (I26cb1, b/353294030)
- Fixed a
ConcurrentModificationExceptionthat could occur when aLifecycleObserverattached to aNavBackStackEntrytriggers a change to the back stack when the hostLifecycleOwnersuch as the containing Activity or Fragment changes its lifecycle state. (Ia9494)
Paging: v3.3.5
December 11, 2024
androidx.paging:paging-*:3.3.5 is released. Version 3.3.5 contains these commits.
Bug Fixes
- Fixed bug where
RecyclerViewthrowsIndexOutOfBoundsExceptionwhen user scrolls while updatingRecyclerView. (Id1f16, b/381024738)
pdf: v1.0.0-alpha05
December 11, 2024
androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05, and androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(I38301, b/326456246) - Fixed previously opened page being displayed after rotation in Android 13. (Ib03dd)
- Fixed Toolbox disappearing on Rotation. (01148f)
privacysandbox sdkruntime: v1.0.0-alpha16
December 11, 2024
androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha16, androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha16, and androidx.privacysandbox.sdkruntime:sdkruntime-provider:1.0.0-alpha16 are released. Version 1.0.0-alpha16 contains these commits.
API Changes
- Introduce
SdkSandboxClientImportanceListenerCompatfor SDKs to getting notifications about changes in client's app importance (foreground status)
Bug Fixes
- Fixed a bug prevented client app with proguard from loading SDK in backcompat mode.
privacysandbox ui: v1.0.0-alpha12
December 11, 2024
androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12, and androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12 are released. Version 1.0.0-alpha12 contains these commits.
New Features
- Replaced
StateChangedListenerwithSandboxedSdkViewEventListener. This event listener can be used to listen to UI displayed, session closed and session error events.
API Changes
- Adds
SandboxedSdkViewEventListenerfor listening to UI events insideSandboxedSdkView. This version also removesStateChangedListener. (Id71ea)
Bug Fixes
- Removed clipping bounds logic from
SandboxedSdkView. This will cause UX issues ifSandboxedSdkViewis placed in a scrollable container andorderProviderUiAboveClientUi(false)has not been called (until the underlying framework bug is fixed). (Id420d) - Fixed
RemoteExceptionthat could occur if the remote process dies while usingDelegatingSandboxedUiAdapter.
Room: v2.7.0-alpha12
December 11, 2024
androidx.room:room-*:2.7.0-alpha12 is released. Version 2.7.0-alpha12 contains these commits.
API Changes
- Add the experimental API
RoomDatabase.Builder.setInMemoryTrackingMode()to configure whether Room will use an in-memory table or not for invalidation tracking. (I2a9b2, b/185414040)
Bug Fixes - Destructive migrations now drop views to ensure they are recreated, aligning behavior when allowDestructiveMigrationForAllTables is ON (KMP default) with the existing behavior when it's OFF. (0a3e83, b/381518941)
Savedstate: v1.3.0-alpha06
December 11, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits.
New Features
SavedStateKMP now supports:IBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>and Serializable (Android). (I1ba94, b/334076622)- Add
KSerializerinstances that can be used to encode/decode Java and Android types supported by Bundle by marking the relevant field in your class with@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) SavedStateRegistryOwnerinstances retrieved viafindViewTreeSavedStateRegistryOwnercan now be resolved through disjoint parents of a view, such as aViewOverlay. See the release notes of core or the documentation inViewTree.setViewTreeDisjointParentfor more information on disjoint view parents. (Iccb33)
API Changes
- Make the namings and package organization more consistent with
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Sqlite: v2.5.0-alpha12
December 11, 2024
androidx.sqlite:sqlite-*:2.5.0-alpha12 is released. Version 2.5.0-alpha12 contains these commits.
Transition: v1.6.0-alpha01
December 11, 2024
androidx.transition:transition:1.6.0-alpha01 and androidx.transition:transition-ktx:1.6.0-alpha01 are released. Version 1.6.0-alpha01 contains these commits.
New Features
- Transition now sets the disjoint parent for
ViewOverlaysused to animate its transitions. This allows for the resolution of owners through the disjoint parent, which means you can now correctly resolveViewModels, lifecycles, etc. during a transition. (I10a16, b/340894487, b/287484338)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(I1f54e, b/326456246) - Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (Ia60e0, b/345472586)
Viewpager: v1.1.0
December 11, 2024
androidx.viewpager:viewpager:1.1.0 is released. Version 1.1.0 contains these commits.
Important changes since 1.0.0
- Added support for Android 12 stretch over scroll edge effect.
- Added nullability annotations in
ViewPager.
Wear Ongoing & Interactions: v1.1.0-alpha05
December 11, 2024
androidx.wear:wear-phone-interactions:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits.
Bug Fixes
- Fix a crash bug when running on Wear OS 5.1 (API Version 34), and targeting later versions of the sdk. Apps should update to this version of the library before updating their
targetSdkVersionto 35 or greater.
Wear: v1.1.0
December 11, 2024
androidx.wear:wear-remote-interactions:1.1.0 is released. Version 1.1.0 contains these commits.
Important changes since 1.0.0
- We have added
RemoteActivityHelper.isRemoteActivityHelperAvailablewhich helps check whether the functionality of launching a remote activity is available. (I107a9)
Wear Compose: v1.5.0-alpha07
December 11, 2024
androidx.wear.compose:compose-*:1.5.0-alpha07 is released. Version 1.5.0-alpha07 contains these commits.
API Changes
TransformingLazyColumnStatenow provides a way to observe the current scroll progress based on anchor item indices. (I72b01)- We have added animations to
TransformingLazyColumnwhen adding, removing and moving items, if they have the newModifier.animateItem. (Iecb9c) TransformingLazyColumnnow exposes values forbeforeContentPaddingandafterContentPadding. (Iccd5f)TransformingLazyColumnnow provides the composition localLocalTransformingLazyColumnItemScopewhich components (such asCards andButtons in Material3) can use to automatically morph when placed inside aTransformingLazyColumn. Callers can disable automatic morphing using the newTransformExclusionwrapper. (I1652f)
Bug Fixes
- We have updated min and max fling velocities for rotary on devices targeting U onwards. (I33559)
- We have fixed a crash that occurred if an item in
TransformingLazyColumndid not contain any composables (Idb99d) - We have added
ScrollFeedbackProvidersupport for rotary haptics on Android Vanilla ice cream. (Ibc553) - We have applied an increased touch slop when using
SwipeToRevealin order to reduce the chances of accidentally triggering a swipe when vertically scrolling. (Ic0672) - We have updated
SwipeDismissableNavHostto usePredictiveBackHandlerwhen available with API 35 onwards. In that case, new animations will be applied. (I08c11)
Wear Compose Material3: v1.0.0-alpha30
December 11, 2024
androidx.wear.compose:compose-material3:1.0.0-alpha30 is released. Version 1.0.0-alpha30 contains these commits.
API Changes
- The
scrollTransformmodifier forTransformingLazyColumnwas refactored which triggered an API change. (I0c6dc) - We have updated
IconToggleButtonShapesandTextToggleButtonShapesto have two different shape parametersuncheckedPressedandcheckedPressed(I85dbd) - Invalid month/day options are now visible in the
DatePicker, with a newinvalidPickerContentColor, when usingminDateormaxDate. (If4541) - We have updated the
StepperAPI to provideincreaseIconanddecreaseIconslots - the content for these can be built as usual from the Icon composable. (Id35da) - We have updated
dynamicColorSchemeby removing the optionaldefaultColorSchemeparameter and now returning nullableColorScheme. This means that the caller must explicitly handle the fallback case when a dynamic color scheme is not provided. (I6d62e) - We have updated the icon sizes in
ButtonDefaultsfor use withCompactButton. ACompactButtoncontaining only an icon should useButtonDefaults.SmallIconSize = 24.dp, whereas aCompactButtoncontaining both icon and text should useButtonDefaults.ExtraSmallIconSize = 20.dp. It is recommended thatCompactButtonwrap its content (rather than filling the max width) and samples have been updated to show that. (I0582c) - We have added
EdgeButtonDefaultswith recommended icon sizes for the 4 differentEdgeButtonSizes. Also, updated theEdgeButtonlayout so that it has slightly larger bottom padding than top padding, which improves appearance for both Icon and Text content. (Id772a) - We have added motion to
LinearProgressIndicatorand exposedLinearProgressIndicatorContentwhich provides the visual content without animations. (Idee99) - We have added a new
CircularProgressIndicatorContentcomposable to display the visual content ofCircularProgressIndicatorwithout animations. (Ie33d4) TransformingLazyColumnnewly provides the composition localLocalTransformingLazyColumnItemScopewhichCards,Buttons andListHeaders now use to automatically morph when placed inside aTransformingLazyColumn. Callers can disable automatic morphing using the newTransformExclusionwrapper. (I1652f)- We have updated the type of
ButtonDefaults.shapetoRoundedCornerShape(Iccdf2)
Bug Fixes
- We have fixed a bug to respect existing alpha on background for
TimeText(I1eb60) - We have set
TextMotiontoAnimatedby default in our typography, to avoid text jitter due to snapping letter glyphs to pixel boundaries during scaling operations. (I626fa) - We have updated the appearance of the
ScrollIndicatorby increasing width and gap size, to improve visibility. (Ied7cb) - We have fixed a bug on
Modifier.scrollTransformwhen adding/removing/moving items. (I6830f) - We have fixed a round button animation issue for short taps (previously, the minimum animation duration was not always observed). (I757a7)
- We have updated the sweep angle for
LevelIndicatorto 20% (i.e. 72 degrees). (Idde5c) - We have fixed
ScrollIndicatorpositioning whenScalingLazyColumnwas used withAutoCenteringParams. (I387dd) - We have updated the colors and typography for
ListHeaderandListSubHeader. Also the colors for the toggle controls onCheckboxButtonandSwitchButton. (I39817) - We have fixed
ScrollIndicatorpositioning inLazyColumnandScalingLazyColumnwithContentPadding. (I2bc51) - We have fixed a bug seen in
OpenOnPhoneDialogprogress animation by using the newCircularProgressIndicatorContent. (I3e443) - We have updated the
HorizontalPagerScaffoldandVerticalPagerScaffoldto disable animations when reduce motion is enabled (Iaaf68) - We have implemented a separate animation for circular progress indicators when progress reaches over 100%. (I47135)
- We have fixed a bug where
EdgeButtoncould be drawn with an incorrect shape in Pager components (I91db9)
wear protolayout: v1.3.0-alpha05
December 11, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.
New Features
- Added
LayoutStringto support bindable layout string fields. (Ida650) - Added
ProtoLayout Material3card container component. (Ic985a)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(Id1f9b, b/326456246)
Wear Tiles: v1.5.0-alpha05
December 11, 2024
androidx.wear.tiles:tiles-*:1.5.0-alpha05 is released. Version 1.5.0-alpha05 contains these commits.
New Features
- Add api for
TileServiceto process interaction events in batches. (I04d1b)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(I390e9, b/326456246) - Fixed the bug where requesting tile updates on API 34 when the app
targetSdkis higher than 34 would cause aSecurityException(If62a1) - Fixed a dependency to
WearSdkin Robolectric tests. (I37796)
Webkit: v1.13.0-alpha02
December 11, 2024
androidx.webkit:webkit:1.13.0-alpha02 is released. Version 1.13.0-alpha02 contains these commits.
New Features
- Add socket tagging API to
WebViewfor accounting ofWebView's network traffic usingNetworkStatsManager/TrafficStats. This feature will only be available fromWebViewM133. (Ica441, b/374932688)
API Changes
- Update Prefetch API by renaming
PrefetchParametertoSpeculativeLoadingParamaters, introducing newPrefetchNetworkException, replacingPrefetchOperationCallbackwithOutcomeReceiverCompatand update the javadoc. (If5072) - Get diagnostic information from WebView async startup API.
- Provide an option for apps to only trigger init that doesn't block the UI thread. (I9bf2b)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler arguments to enforce correct usage:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode(I0e4c5, b/326456246)