Skip to content

2024-12-11

Choose a tag to compare

@github-actions github-actions released this 11 Dec 18:48
· 53 commits to main since this release

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 PredictiveBackHandler is 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 ExperimentalAppSearchApi annotation to new API surfaces that have not yet stabilized. (Ib09f4)
  • Support for efficiently storing and sharing binary blob data via AppSearchSession#openBlobForWriteAsync and related methods
  • Support for filtering query results by scoring expression via the matchScoreExpression function (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 addFilterDocumentIds API in SearchSpec. (I7c6f1)

API Changes

  • Move parent type information from GenericDocument to SearchResult. (I34a1d)
  • Support for new action types in the TakenAction API, including DismissAction and ImpressionAction. (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") in PerfettoTraceProcessor.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 ArtMetric to 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#takePicture malfunction issue when extensions are enabled and VideoCapture is 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#setOutputFormat and ImageCaptureCapabilities#getSupportedOutputFormats as stable APIs (Ieb04a)
  • Add VideoCapture.getResolutionInfo() to get the resolution information when a VideoCapture is bound to a Lifecycle. (Icb478)
  • Exposed PreviewView.getScreenFlash and PreviewView.setScreenFlashOverlayColor as 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 VideoCapture is bound together. (I5c745)
  • Enabled UltraHDR still image capture support for Extensions if the device can support it. (I48300)
  • Fixed flash timing issue for flash capture with CameraEffect targeting 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/SurfaceProcessor API.

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-core classes have been moved into packages that are consistent with the library they belong to. (I431c6)
  • CameraViewfinder.ScaleType has been moved to viewfinder-core so it can be reused with compose (I87ef1)
  • Deprecated CameraViewfinder classes 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 watchosDeviceArm64 KMP 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 AndroidEmbeddedExternalSurface would 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.RemoveBasicTextGraphicsLayerEnabled flag that helped revert the removal of internal graphicsLayer from BasicText. If you were using this flag please let us know of the reasons by filing a bug. Also you can just pass in Modifier.graphicsLayer() to your BasicText calls to achieve the same behavior as before. (Id9f90)
  • Added default implementation for new stickyHeader DSL. (I68986)
  • Has LocalAutofillHighlightColor composition local use a Color type. (I0e05b)
  • Renamed OverscrollEffect#withoutDrawing to OverscrollEffect#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 BringIntoViewResponderModifierNode to 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 LocalCursorBlinkEnabled to 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

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 SnapshotId internal instead of public. Arithmetic can be performed on a SnasphotId, if necessary, by converting it to a Int or Long by using toInt() or toLong() respectively. (Ic3a57)

External Contribution

  • Optimize storage for movableContentOf parameters. (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 with SemanticsPropertyReceiver.hideFromAccessibility(). (I448f0, b/376479686)
  • Fixed an issue that prevented TextField from 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 by TalkBack. (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 LayoutNode for tools. (I26f7f)
  • Has LocalAutofillHighlightColor composition local use a Color type. (I0e05b)
  • Keep deprecated UrlAnnotation and its methods marked as experimental. (Ic0021)

Bug Fixes

  • Fixed IndexOutOfBoundsException crash when using LinkAnnotation inside the BasicText or 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 AndroidView is detached and attached. (I53446)
  • Accept requestFocus() from beyond bound layout action. (Ia8461)

External Contribution

  • Add BringIntoViewResponderModifierNode to 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 setLaunchDisplayId to ActivityOptionsCompat. (I39e77, b/379669743)
  • Added compat API for SYSTEM_OVERLAYS. (Ibd1fd, b/287470173)
  • Added OutcomeReceiverCompat, a version of Android's OutcomeReceiver available on all API levels. (Ib8265, b/380060342)
  • Added compat class for android.view.ScrollFeedbackProvider. (Icaa92)
  • Added ViewCompat.addViewOverlay(View) as an alternative to View.getOverlay().add(View). The ViewCompat variant fixes an issue where owners like the LifecycleOwner and ViewModelStoreOwner could not be resolved between the view being overlaid and the overlay owner. (I81413)
  • Introduces the concept of a View being 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 the View.parent property. See the documentation for more information. (Ib2950)
  • Added a new API ViewGroupCompat#installCompatInsetsDispatch for developers to fix an insets dispatching issue present prior to API 30. (I11159)
  • Added FontsContractCompat.TypefaceStyle IntDef for annotating Typeface styles in FontsContractCompat. (Ib3e5b)

External Contribution

  • Deprecated BuildCompat.isAtLeastV. Callers should check SDK_INT against 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.

API Changes

  • Rename addLocalSilenceExtension to addLocalCallsilenceExtension (If4a9c)
  • Change preferredStartingCallEndpointfrom var to val. (Iab6b7)
  • Add local call silence APIs (I29dd0)
  • Implement the compareTo function for the CallEndpointCompat class (Ia06b7)
  • Adds experimental app actions API. (Ifb796)
  • Add new CallsManager API getAvailableStartingCallEndpoints (Ia8bcf)
  • Update ExperimentalAppActions annotation 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 InCallService would 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)
  • addCall now 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 CallException if 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 View object that acts as the view’s parent, but is not set via the View.parent property. Examples of Views with disjoint parents are ViewOverlays, 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’s View.parent property. Currently, androidx only sets the disjoint parent for ViewOverlays created by transition. You can also specify your own disjoint parents for views. See the documentation for more information.

API Changes

  • Adds ViewParent.getParentOrViewTreeDisjointParent() and ViewParent.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_POLICY and STATE_CHANGE_REASON_COUNTRY_CODE_ERROR for UWB state change. (I43e36)
  • Add new API RangingResult#RangingResultInitialized to send event when a ranging session is initialized. (I386bb)
  • Add new APIs subscribeToUwbAvailability(observer: UwbAvailabilityCallback) and unsubscribeFromUwbAvailability() to listener to the UWB state change event. Add new interface UwbAvailabilityCallback for 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 the d attribute on the path element of a svg) into a List<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)
  • Expose polygon features and feature types. More generic RoundedPolygons can now be created with the base constructor that takes a List<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 watchosDeviceArm64 KMP target and target kotlin 1.9. (Icf15d, b/364652024)

Bug Fixes

  • Fixed edge case when the last feature was empty. (I390dd)
  • Make RoundedPolygon creation more robust. (Ib862c, b/360888486)
  • Fix a bug on RoundedPolygon initialization. (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.recreate to simulate a System Process Death recreating the ViewModel under test and all associated components. (Id6a69, b/381063087)
  • LifecycleOwner and ViewModelStoreOwner instances retrieved via their respective findViewTree APIs can now be resolved through disjoint parents of a view, such as a ViewOverlay. See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for 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.onCleared clearing 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<>.toString as it is nearly always a bug to do that.
  • Catch calls of Kotlin collection extension functions on TaskContainer as these cause eager Task creation.
  • Catch calls to ConfigurableFileCollection.from passing in a Configuration as that causes eager resolution of the configuration suggesting to use project.files(configuration) or configuration.incoming.artifactView {}.files.
  • Catch usages of Property<File> suggesting to use RegularFileProperty or DirectoryProperty as 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 MediaRouteProviderService clients. (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 WearOs scenarios (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 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.setStartDestination overload for type safety is hidden from Java sources. (Ic640c, b/364634035)

Bug Fixes

  • From Navigation 2.8.5: Fixed an issue where NavHost could throw an exception inside of the PredictiveBackHandler if 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: Fixed NavDestination NullPointerException when updating a graph's startDestination. (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 NavHost could throw an exception inside of the PredictiveBackHandler if the back stack is popped down to 1 entry and a system back are triggered in the same frame. (I1a429, b/375343407)
  • Fixed NavDestination NullPointerException when updating a graph's startDestination. (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 ConcurrentModificationException that could occur when a LifecycleObserver attached to a NavBackStackEntry triggers a change to the back stack when the host LifecycleOwner such 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 RecyclerView throws IndexOutOfBoundsException when user scrolls while updating RecyclerView. (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 SdkSandboxClientImportanceListenerCompat for 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 StateChangedListener with SandboxedSdkViewEventListener. This event listener can be used to listen to UI displayed, session closed and session error events.

API Changes

  • Adds SandboxedSdkViewEventListener for listening to UI events inside SandboxedSdkView. This version also removes StateChangedListener. (Id71ea)

Bug Fixes

  • Removed clipping bounds logic from SandboxedSdkView. This will cause UX issues if SandboxedSdkView is placed in a scrollable container and orderProviderUiAboveClientUi(false) has not been called (until the underlying framework bug is fixed). (Id420d)
  • Fixed RemoteException that could occur if the remote process dies while using DelegatingSandboxedUiAdapter.

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

  • SavedState KMP now supports: IBinder, Size, SizeF, Array<Parcelable>, SparseArray<Parcelable> and Serializable (Android). (I1ba94, b/334076622)
  • Add KSerializer instances 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)
  • SavedStateRegistryOwner instances retrieved via findViewTreeSavedStateRegistryOwner can now be resolved through disjoint parents of a view, such as a ViewOverlay. See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for 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 ViewOverlays used to animate its transitions. This allows for the resolution of owners through the disjoint parent, which means you can now correctly resolve ViewModels, 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 targetSdkVersion to 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.isRemoteActivityHelperAvailable which 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

  • TransformingLazyColumnState now provides a way to observe the current scroll progress based on anchor item indices. (I72b01)
  • We have added animations to TransformingLazyColumn when adding, removing and moving items, if they have the new Modifier.animateItem. (Iecb9c)
  • TransformingLazyColumn now exposes values for beforeContentPadding and afterContentPadding. (Iccd5f)
  • TransformingLazyColumn now provides the composition local LocalTransformingLazyColumnItemScope which components (such as Cards and Buttons in Material3) can use to automatically morph when placed inside a TransformingLazyColumn. Callers can disable automatic morphing using the new TransformExclusion wrapper. (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 TransformingLazyColumn did not contain any composables (Idb99d)
  • We have added ScrollFeedbackProvider support for rotary haptics on Android Vanilla ice cream. (Ibc553)
  • We have applied an increased touch slop when using SwipeToReveal in order to reduce the chances of accidentally triggering a swipe when vertically scrolling. (Ic0672)
  • We have updated SwipeDismissableNavHost to use PredictiveBackHandler when 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 scrollTransform modifier for TransformingLazyColumn was refactored which triggered an API change. (I0c6dc)
  • We have updated IconToggleButtonShapes and TextToggleButtonShapes to have two different shape parameters uncheckedPressed and checkedPressed (I85dbd)
  • Invalid month/day options are now visible in the DatePicker, with a new invalidPickerContentColor, when using minDate or maxDate. (If4541)
  • We have updated the Stepper API to provide increaseIcon and decreaseIcon slots - the content for these can be built as usual from the Icon composable. (Id35da)
  • We have updated dynamicColorScheme by removing the optional defaultColorScheme parameter and now returning nullable ColorScheme. 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 ButtonDefaults for use with CompactButton. A CompactButton containing only an icon should use ButtonDefaults.SmallIconSize = 24.dp, whereas a CompactButton containing both icon and text should use ButtonDefaults.ExtraSmallIconSize = 20.dp. It is recommended that CompactButton wrap its content (rather than filling the max width) and samples have been updated to show that. (I0582c)
  • We have added EdgeButtonDefaults with recommended icon sizes for the 4 different EdgeButtonSizes. Also, updated the EdgeButton layout 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 LinearProgressIndicator and exposed LinearProgressIndicatorContent which provides the visual content without animations. (Idee99)
  • We have added a new CircularProgressIndicatorContent composable to display the visual content of CircularProgressIndicator without animations. (Ie33d4)
  • TransformingLazyColumn newly provides the composition local LocalTransformingLazyColumnItemScope which Cards, Buttons and ListHeaders now use to automatically morph when placed inside a TransformingLazyColumn. Callers can disable automatic morphing using the new TransformExclusion wrapper. (I1652f)
  • We have updated the type of ButtonDefaults.shape to RoundedCornerShape (Iccdf2)

Bug Fixes

  • We have fixed a bug to respect existing alpha on background for TimeText (I1eb60)
  • We have set TextMotion to Animated by 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 ScrollIndicator by increasing width and gap size, to improve visibility. (Ied7cb)
  • We have fixed a bug on Modifier.scrollTransform when 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 LevelIndicator to 20% (i.e. 72 degrees). (Idde5c)
  • We have fixed ScrollIndicator positioning when ScalingLazyColumn was used with AutoCenteringParams. (I387dd)
  • We have updated the colors and typography for ListHeader and ListSubHeader. Also the colors for the toggle controls on CheckboxButton and SwitchButton. (I39817)
  • We have fixed ScrollIndicator positioning in LazyColumn and ScalingLazyColumn with ContentPadding. (I2bc51)
  • We have fixed a bug seen in OpenOnPhoneDialog progress animation by using the new CircularProgressIndicatorContent. (I3e443)
  • We have updated the HorizontalPagerScaffold and VerticalPagerScaffold to 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 EdgeButton could 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 LayoutString to support bindable layout string fields. (Ida650)
  • Added ProtoLayout Material3 card 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 TileService to 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 targetSdk is higher than 34 would cause a SecurityException (If62a1)
  • Fixed a dependency to WearSdk in 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 WebView for accounting of WebView's network traffic using NetworkStatsManager/TrafficStats. This feature will only be available from WebView M133. (Ica441, b/374932688)

API Changes

  • Update Prefetch API by renaming PrefetchParameter to SpeculativeLoadingParamaters, introducing new PrefetchNetworkException, replacing PrefetchOperationCallback with OutcomeReceiverCompat and 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)