Skip to content

2023-07-26

Choose a tag to compare

@github-actions github-actions released this 26 Jul 18:37
· 134 commits to main since this release

Annotation: v1.7.0-alpha03

July 26, 2023

androidx.annotation:annotation-*:1.7.0-alpha03 is released. Version 1.7.0-alpha03 contains these commits.

Bug Fixes

  • Maven POM publication now includes default JVM-targeted multiplatform artifact as dependency

Appcompat: v1.7.0-alpha03

July 26, 2023

androidx.appcompat:appcompat:1.7.0-alpha03 and androidx.appcompat:appcompat-resources:1.7.0-alpha03 are released. Version 1.7.0-alpha03 contains these commits.

New Features

  • Support for getting per-app locales in non-Activity contexts (I58e753). Four new APIs have been added for this feature:

    • LocaleManagerCompat.getApplicationLocales(): for developers to get per-app locales out of activity scope.

    • ContextCompat.getString(): return localized strings based on per-app locales.

    • ContextCompat.getContextForLanguage(): the context returned by this method will respect the per-app locales.

    • ConfigurationCompat.setLocales(): for above APIs, to set the configuration's locale.

Other API Changes

  • Added setLineHeight(unit, lineHeight) to TextView compat classes (Ia9fa9)
  • Added setLineHeight(unit, lineHeight) to TextView compat classes (Ib2ee1)
  • Added setLineHeight(unit, lineHeight) to TextView compat classes (I15716)

Bug Fixes

  • AppCompatDialog now correctly sets the LifecycleOwner, SavedStateRegistryOwner, and OnBackPressedDispatcherOwner on the dialog's decor view via the ViewTree APIs, fixing issues when hosting a ComposeView within an AppCompatDialog. AppCompat now depends on Activity 1.7.0. (Ib28ab, b/261314581)
  • Significantly improve the performance of SupportMenuInflater (I0b087)

Browser: v1.6.0-rc01

July 26, 2023

androidx.browser:browser:1.6.0-rc01 is released with no changes since 1.6.0-beta01. Version 1.6.0-rc01 contains these commits.

CameraX: v1.3.0-beta02

July 26, 2023

androidx.camera:camera-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.

Bug Fixes

  • Use torch as flash for Pixel 4 and 5 variants to improve capture quality in low light (I56ff5, b/280221967)
  • Fixed large captured JPEG image issue on Samsung A5 (2017) series devices. The captured JPEG images contain redundant 0's padding data in the JFIF compressed data segment. It causes the captured images to have about 32 MB file size. Those redundant 0's padding data will be removed to make the captured images have normal image file sizes. (I29837, b/288828159)
  • Fixed retry not triggering properly in case of capture failure in problematic devices mentioned in CaptureFailedRetryQuirk. (I7b589)

Car App: v1.4.0-alpha02

July 26, 2023

androidx.car.app:app-*:1.4.0-alpha02 is released. Version 1.4.0-alpha02 contains these commits.

  • Release of Alpha02 is intended to be a preparation for an upcoming release of beta01.

New Features

  • Map rendering on Instrument Cluster support for navigation apps
  • Added Tabs for apps to improve layout experience
  • Added List / Grid template rendering options
  • Added new categories for Weather and Comms
  • Move several API’s to the next CarApi 7 release

API Changes

  • Add multimedia fields to CarMessage (I5aaf6)
  • Adds custom actions to ConversationItem in Car App Library (Ie5ed6)
  • Add extras to indicate a media item is played with an immersive audio format and showcase its content format logo (Icb5bb)
  • Add new Action type, ActionsConstraints API to support compose button. (I31661)
  • Made set/getTemplate as set/get ContentTemplate (Ica036)
  • Template parameter would now be @NonNull. Updated MapWithContentTemplate API documentation (I0f8ed)
  • Removes @ExperimentalCarApi tag for Actions in ListTemplate for launch in CAL 1.4 (I2cfcb)
  • Removes @ExperimentalCarApi tag for TabTemplate (Ifcb82)
  • Remove @ExperimentalCarApi annotations from Row secondary actions and decorations (I8487e)
  • Adds active tab content ID to TabTemplate and deprecates active state on Tabs (I96932)
  • Add ItemImageShape property to GridTemplate (Ibf431)
  • Add ItemSize property to GridTemplate, which controls grid item sizing according to relative small, medium, large buckets. (Icdb3b)
  • Open up the API access for developers to gain a copy of the current screen stack. (I48107)
  • Adds category for weather apps to Car App Library (I2be44)
  • Adds category for calling apps to Car App Library (Icab33)
  • Replaced GridItem.Builder#setBadge() with overloaded setImage() methods (Id2000)
  • Add icon property to Badge (I629b2)
  • Add method to set dot badge background color (I6411c)
  • Add Badge property to GridItem, allowing a badge to be displayed on top of a GridItem image. (I95de7)
  • Added an experimental Badge object that will represent a badge to be displayed over an image. (I9878d)

Compose Animation: v1.5.0-rc01

July 26, 2023

androidx.compose.animation:animation-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Bug Fixes

  • Fixed an issue where calling .value on a primitive state type (like MutableIntState) would report a lint warning with an invalid fix. The inspection will now recommend migrating to the correct property. (Iba953, b/287279257)

  • An optional inspection to recommend migrating mutableStateOf() calls to their corresponding specialized types for primitives is available. Its lint ID is AutoboxingStateCreation. Previously, this inspection was enabled by default for all projects. To see this warning in Android Studio's editor and your project's lint outputs, change its severity from informational to warning (or higher) by declaring warning "AutoboxingStateCreation" inside your module's build.gradle or build.gradle.kts configuration as shown (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Compose Animation: v1.6.0-alpha02

July 26, 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

API Changes

  • New ExitTransition.Hold to display outgoing content in AnimatedContent until both enter & exit transition are finished. (I5984f)
  • Additional annotations to specify allowed inputs to composables (I51109)

Compose Compiler: v1.5.1

July 26, 2023

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1, and androidx.compose.compiler:compiler-hosted:1.5.1 are released. Version 1.5.1 contains these commits.

Bug Fixes

  • Fixed composition trace event markers in @ReadOnlyComposable functions with early returns which caused trace corruption.

Compose Foundation: v1.5.0-rc01

July 26, 2023

androidx.compose.foundation:foundation-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Bug Fixes

  • An optional inspection to recommend migrating mutableStateOf() calls to their corresponding specialized types for primitives is available. Its lint ID is AutoboxingStateCreation. Previously, this inspection was enabled by default for all projects. To see this warning in Android Studio's editor and your project's lint outputs, change its severity from informational to warning (or higher) by declaring warning "AutoboxingStateCreation" inside your module's build.gradle or build.gradle.kts configuration as shown (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Compose Foundation: v1.6.0-alpha02

July 26, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

API Changes

  • Introduced PagerLayoutInfo with information collected after a measure pass in Pager. Also introduced PageInfo, the information about a single measured Page in Pager. (Iad003, b/283098900)
  • Additional annotations to specify allowed inputs to composables (I51109)
  • Added SemanticsNodeInteraction.requestFocus as a more convenient and discoverable way to request focus in tests. (Ie8722)
  • Completely redesigned PlatformTextInput* API. (I6c93a, b/274661182, b/267235947, b/277380808)
  • SoftwareKeyboardController and LocalSoftwareKeyboardController are no longer experimental. LocalSoftwareKeyboardController is also now a proper CompositionLocal. (I4c364)
  • Modifier.transformable now provides pan delta in canPan parameter to help determine the direction of the pan to allow or disallow it. (I692aa, b/266829800)
  • Updates the modifier consumeWindowInsets to extend the superclass AbstractComposeView (Iacd74, b/269479941)

Compose Material: v1.5.0-rc01

July 26, 2023

androidx.compose.material:material-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Compose Material: v1.6.0-alpha02

July 26, 2023

androidx.compose.material:material-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

API Changes

  • We are moving the density dependency to the component level. This applies to the following components: SwipeToDismiss and Sheet based components. Please use the new overload provided where density is a parameter. (I1846e)
  • Additional annotations to specify allowed inputs to composables (I51109)
  • Updated API files to annotate compatibility suppression (I8e87a, b/287516207)
  • Added new Start alignment for FabPosition (Ib7aea, b/170592777)
  • TextFieldColorsWithIcons in Material 2 has been deprecated in favor of TextFieldColors. When overriding leadingIconColor or trailingIconColor, also override the overload with interactionSource. (Id57ed, b/199377790)

Compose Material 3: v1.2.0-alpha04

July 26, 2023

androidx.compose.material3:material3-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.

New Features

  • Experimental Segmented Button API (Ifc8fb)
  • Dividers now have a parameter to control orientation to support vertical dividers. (I4c899, b/288438593)

API Changes

  • We are moving the density dependency to the component level. This applies to the following components: SwipeToDismiss and Sheet based components. Please use the new overload provided where density is a parameter. (I1846e)
  • Additional annotations to specify allowed inputs to composables (Ief234)
  • Add an icon parameter to segmented button, split semantics so that segmented buttons can be selectable to implement single-select, and toggleable to implement multi-select, with SelectableSegmentedButtonRow and ToggelableSegmentedButtonRow respectively. (I38740)
  • Divider has been renamed to HorizontalDivider. Added VerticalDivider functionality. (I5975c)
  • Change the use of ClosedFloatingPointRange for the lighter weight FloatRange in experimental Material3 APIs to minimize autoboxing. (I4aab5)
  • Added new Start alignment for FabPosition (Ib7aea, b/170592777)

Bug Fixes

Compose Runtime: v1.5.0-rc01

July 26, 2023

androidx.compose.runtime:runtime-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Bug Fixes

  • Defer re-reading derived states until changes are recorded (f38099)

  • An optional inspection to recommend migrating mutableStateOf() calls to their corresponding specialized types for primitives is available. Its lint ID is AutoboxingStateCreation. Previously, this inspection was enabled by default for all projects. To see this warning in Android Studio's editor and your project's lint outputs, change its severity from informational to warning (or higher) by declaring warning "AutoboxingStateCreation" inside your module's build.gradle or build.gradle.kts configuration as shown (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Compose Runtime: v1.6.0-alpha02

July 26, 2023

androidx.compose.runtime:runtime-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

New Features & Performance Enhancements

  • Optimize rememberSaveable (f01d79)
  • Defer re-reading derived states until changes are recorded (f38099)
  • Improve providing composition local values (a337ea)
  • SideEffect is marked as @ExplicitGroupsComposable to avoid generating a group. (I74815)
  • Avoid comparing composition local maps on reuse (782071)

API Changes

  • Added a special case overload for CompositionLocalProviders that avoids overhead used to make providing multiple values faster but is overhead when providing a single value. (I6d640, b/288169379)

Bug Fixes

  • Fix slot table memory leak (73fcfe)
  • Fix how we restore rememberSaveable when stateSaver returns null (90748c)

Compose UI: v1.5.0-rc01

July 26, 2023

androidx.compose.ui:ui-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Bug Fixes

  • Fixed crash happening when SubcomposeLayout is used inside movableContentOf().

Compose UI: v1.6.0-alpha02

July 26, 2023

androidx.compose.ui:ui-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

API Changes

  • Added a service locator interface that can be implemented by implementors of Composition that allows an implementation of Composition that delegates to another composition delegate service lookups to the original Composition. This should not be called directy and is used to enable creating experimental APIs in the runtime that can be found from wrapped versions of the composer such as the UI module does. (I296b9)
  • Completely redesigned PlatformTextInput* API. (I6c93a, b/274661182, b/267235947, b/277380808)
  • SoftwareKeyboardController and LocalSoftwareKeyboardController are no longer experimental. LocalSoftwareKeyboardController is also now a proper CompositionLocal. (I4c364)
  • LookaheadLayout and LookaheadLayoutScope have been deprecated for a few releases and are now removed. The replacement APIs are LookaheadScope that can work with any Layout. (I12ac3)
  • Added SemanticsNodeInteraction.requestFocus as a more convenient and discoverable way to request focus in tests. (Ie8722)
  • Add experimental APIs for registering global assertions, for use by testing frameworks in the future. (I12d77)

Bug Fixes

  • AndroidView's update callback's first invocation will now be defered until the view is attached, instead of running when the composition that introduces the AndroidView is applied. This fixes a bug where the update callback wouldn't be invalidated if a state it read was changed immediately by an effect. (Ie9438, b/291094055)

Constraintlayout: v2.2.0-alpha11

July 26, 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha11 is released. Version 2.2.0-alpha11 contains these commits.

API Changes

  • Add a setter method to allow developers to programmatically set the value for mInfiniteCarousel (I0a8ca)

ConstraintLayout-compose, and ConstraintLayout-Core 1.1: v1.1.0-alpha11

July 26, 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11, and androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 are released. Version 1.1.0-alpha11 contains these commits.

New Features

  • You may now provide an InvalidationStrategy to optimize invalidations in MotionLayout. Which will typically be the source of reduced performance. (Iada0c)
  • You may now use animateChanges = true when using ConstraintLayout with the inline Modifier DSL (Modifier.constrainAs), whenever a change on the constraints DSL is done ConstraintLayout will automatically animate to that new state. (I9abf1)
  • Enabled functionality for limitBoundsTo on OnSwipe. (I56522)

API Changes

  • Renamed TransitionScope.staggered to TransitionScope.maxStaggerDelay. (I0fd2d)

Bug Fixes

  • Fixed dragScale parameter from OnSwipe not working. (8bef26)
  • Fixed customColor in MotionScene not working properly with transparent colors. (81b2ac)
  • Fixed OnSwipe not announcing properly when it has stopped, also fixed initial velocity calculation for touchUp. (Ia5f6f)
  • Updated KDoc for ConstraintLayout Composable and Constraintset. (3bfe63)

Core-Animation and Core-Animation-Testing 1.0.0: v1.0.0-rc01

July 26, 2023

androidx.core:core-animation:1.0.0-rc01, androidx.core:core-animation-testing:1.0.0-rc01, and androidx.core:core-remoteviews:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.

New Features

  • RemoteViews moves moved to rc01 after stabilizing in beta.

Core and Core-ktx: v1.12.0-beta01

July 26, 2023

androidx.core:core:1.12.0-beta01, androidx.core:core-ktx:1.12.0-beta01, and androidx.core:core-testing:1.12.0-beta01 are released. Version 1.12.0-beta01 contains these commits.

API Changes

  • Added setLineHeight(unit, lineHeight) to TextViewcompat classes (Ia9fa9)
  • Added TypedValueCompat.getUnitFromComplexDimension() from Android 14 (I958e8)
  • Added setLineHeight(unit, lineHeight) to TextView compat classes (Ib2ee1)
  • Backport miscellaneous Accessibility APIs (Ic65ba)
  • Backport API 34 AccessibilityNodeInfo methods (I44182)
  • Graduate stable SDK checks out of experimental (Ia9b35)
  • Backport AccessiiblityWindowInfo 34 APIs (I96a5d)
  • Deprecated BuildCompat.isAtLeastU(). Use SDK_INT >= 34 instead. (I4f8e7, b/289269026)
  • Removed usages of experimental isAtLeastU() API (Ie9117, b/289269026)
  • Migrated BuildCompat to Kotlin for enhanced Deprecated tag (I56775, b/289269026)
  • Added setLineHeight(unit, lineHeight) to TextView compat classes (I15716)
  • New accessibilityDataSensitive compat property. (I0c6e0)
  • PendingIntentCompat.getActivity and getService may return null when FLAG_NO_CREATE is specified. (Iffdf0, b/289696515)
  • Updated API files to annotate compatibility suppression (I8e87a, b/287516207)
  • Added PendingIntentCompat.send() (Iaf707)
  • Adds compat versions of Location.removeVerticalAccuracy(), Location.removeSpeedAccuracy(), and Location.removeBearingAccuracy(). (I5b640)

Bug Fixes

  • Made a view important for accessibility if the view has an accessibility delegate. (If2b54)

Core Google Shortcuts: v1.2.0-alpha01

July 26, 2023

androidx.core:core-google-shortcuts:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.

API Changes

Core-i18n Core-location-altitude: v1.0.0-alpha01

July 26, 2023

androidx.core:core-i18n:1.0.0-alpha01 and androidx.core:core-location-altitude:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

New Features

  • Added AltitudeConverterCompat class with a single static method addMslAltitudeToLocation(Context, Location) (I11168).

Core Ultra Wideband (UWB): v1.0.0-alpha06

July 26, 2023

androidx.core.uwb:uwb:1.0.0-alpha06 and androidx.core.uwb:uwb-rxjava3:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

New Features

  • Add support for Provisioned STS. Now the users can choose Provisioned STS for UWB ranging if the device is capable of Provisioned STS. (I19812)

API Changes

  • Add subSessionId and subSessionKeyInfo to rangingParameters. Add new config ids to support Provisioned STS. (I19812)
  • Merged public and experimental API files for a,b,c-paths (I8cfee, b/278769092)
  • N/A, API file changes are just reordering methods (I5fa95)
  • Migrated androidx.core group to use merged public API files (Ifdef4, b/278769092)
  • Add minRangingInterval, supportedChannels and supportedConfigIds to rangingCapabilities as new fields. (I2a204)

Bug Fixes

  • Fix the issue that the UWB client cannot be created in non-gms area.

credentials: v1.2.0-beta01

July 26, 2023

androidx.credentials:credentials:1.2.0-beta01 and androidx.credentials:credentials-play-services-auth:1.2.0-beta01 are released. Version 1.2.0-beta01 contains these commits.

API Changes

  • Expose an API that determines whether the origin is populated or not (Ia91f4)
  • Makes custom exceptions semantically correct (Ibf6f4)
  • add test api (I61c1d)
  • add test api (Iaeb6f)
  • Removed usages of experimental isAtLeastU() API (Ie9117, b/289269026)
  • Expose a custom origin getter that takes in allowlist (I0c1b4)
  • Added VisibleForTest annotation (I5467a)
  • Added VisibleForTest annotation (Idf57a)
  • Remove test only apis (Idcc05)
  • Expose provider entry classes to lower API levels (I2e00a)
  • Add test apis (Id6b9e)

Bug Fixes

  • Add test APIs (I0d243)
  • Add new testing APIs (I6fa12)
  • Expose autoselect for Create requests (I84eee)
  • Make JSON encoding errors more detailed (I7a865)
  • Gracefully report a developer error upon a non-activity context parameter (/I20dd7, b/288288940)
  • Corrected Exception Parsing for Exceptions returned from Providers (Iaa2af,I0d243,I55151)
  • Improved documentation for toSlice

Emoji2: v1.4.0-rc01

July 26, 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 is released. Version 1.4.0-rc01 contains these commits.

API Changes

  • Introduce registerSource list (Iae92f)
  • API Council feedback: renamed TransitionManager.seekTo() to createSeekController(). Please adjust previous comment about adding TransitionManager.seekTo() to TransitionManager.createSeekController(). (Idbeb1)
  • Added ExerciseRouteResult, which is not the superclass for Data, NoData and ConsentRequiredStates. Added ExerciseRoute as a standalone class, which holds location data for the route. (I22eed)
  • Introduced PagerLayoutInfo with information collected after a measure pass in Pager. Also introduced PageInfo, the information about a single measured Page in Pager. (Iad003, b/283098900)

Bug Fixes

  • We have updated the colors for Button, IconButton and TextButton in line with Material3 design. The semantic role for Button, IconButton and TextButton can now be overridden using Modifier.semantics. (Ib2495)
  • Fixed EmojiPickerView’s tab selection and indicator updates one click behind. (I4db04)
  • FileNotFoundException on showing the emoji picker (I353e4)
  • Catch the WindowManager.BadTokenException when using EmojiPickerView (I0a144)

Fragment: v1.6.1

July 26, 2023

androidx.fragment:fragment-*:1.6.1 is released. Version 1.6.1 contains these commits.

Bug Fixes

  • Fixed an issue where the saved state stored when the activity was stopped but not destroyed would be incorrectly cached even after the fragment instance was moved back to the RESUMED state. This would cause that cached state to be reused if that fragment instance was on the back stack when using the multiple back stacks API to save and restore that fragment. (I71288, b/246289075)

Dependency Update

  • Fragment now depends on Activity 1.7.2. This fixes an issue where Kotlin users could not extend ComponentDialog without an explicit dependency on Activity. (b/287509323)

Games-Memory-Advice version 2.1 Games-Activity: v2.1.0-alpha01

July 26, 2023 androidx.games:games-memory-advice:2.1.0-alpha01 is released. Version 2.1.0-alpha01 contains these commits.

API Changes

  • AddGetAvailableMemory function

Bug Fixes

  • Update Memory Advice model
  • Fix shared memory_advice build target

Games-Memory-Advice version 2.0.0: v2.0.0-rc01

July 26, 2023

androidx.games:games-memory-advice:2.0.0-rc01 is released. Version 2.0.0-rc01 contains these commits.

New Features

  • Included a new model to better predict remaining memory.

Bug Fixes

  • Fixed Memory Advice not working with a shared STL.

Glance: v1.0.0-rc01

July 26, 2023

androidx.glance:glance-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

Moves Glance to rc01 on the way to stable release for 1.0.0.

New Features

  • Adds key parameters to action lambdas for more stable action invocation.
  • Adds the ability to provide to ActvityOptions to startActivity actions.
  • Adds support for Android 14

API Changes

  • Added an optional key parameter for all elements that accept lambdas. (Id96c1, b/282445798)
  • Add support for setting ActivityOptions bundle for actionStartActivity (I6a08d)
  • Merged public and experimental API files for d,e,f,g-paths (I03646, b/278769092)
  • N/A, API file changes are just reordering methods (I5fa95)
  • Add API for setting CoroutineContext for GlanceAppWidgetReceiver requests (I0a100)
  • Added a new API to provide ActivityOptions for LazyColumn and LazyVerticalGrid that will be used for all actions in the list.(Id8d71)

Bug Fixes

  • N/A, API file changes are just reordering methods (I5fa95)
  • Glance text component style demo (Ie78a4)

Health Services Client: v1.0.0-rc01

July 26, 2023

androidx.health:health-services-client:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

New Features

  • Health Services has moved to 1.0.0-rc01 after stabilizing in beta.

API Changes

  • Merged public and experimental API files for h- thru m-paths. (Ic4630, b/278769092)
  • N/A, API file changes are just reordering methods. (I5fa95)

Health Connect: v1.1.0-alpha03

July 26, 2023

androidx.health.connect:connect-client:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.

New Features

  • API for reading and writing Exercise routes:
    • Added ExerciseRouteResult to ExerciseSessionRecord
    • Added ExerciseRouteRequestContract

API Changes

  • Added ExerciseRouteResult and its subclasses: Data, NoData and ConsentRequiredStates.
  • Added ExerciseRoute as a standalone class, which holds location data for the route. (I22eed)
  • Added PERMISSION_WRITE_EXERCISE_ROUTE. (I92fc4)
  • Added ExerciseRouteRequestContract, added HealthPermissionsRequestContract. (Ief0e5)

Bug Fixes

  • Fixed construction of Energy in kilojoules (Ie8791)

Heifwriter: v1.1.0-alpha02

July 26, 2023

androidx.heifwriter:heifwriter:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.

New Features

  • 10-bit encoding support
  • AVIF encoding support

Bug Fixes

  • Include experimental APIs in current.txt (I1a07e, b/278769092)
  • N/A, API file changes are just reordering methods (I5fa95)
  • API lint check for MissingGetterMatchingBuilder is enabled for androidx (I4bbea, b/138602561)

input: v1.0.0-beta02

July 26, 2023

androidx.input:input-motionprediction:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits.

New Features

  • Add support for Android U system prediction API (I7261f)

API Changes

Bug Fixes

  • Predicted motion events now report the correct down and event time (I40059)

Lifecycle: v2.7.0-alpha01

July 26, 2023

androidx.lifecycle:lifecycle-*:2.7.0-alpha01 is released. Version 2.7.0-alpha01 contains these commits.

API Changes

  • Lifecycle.State is now Compose-observable via Lifecycle.currentStateFlow, which returns a StateFlow where the value is the current Lifecycle.State. (Ib212d, b/209684871)
  • Lifecycle.Events can now able to be observed as a Flow with Lifecycle.asFlow(). (If2c0f, b/176311030)
  • LifecycleResumeEffect API has been added to run Compose SideEffects based on both Lifecycle.Event.ON_RESUME and Lifecycle.Event.ON_PAUSE event callbacks. (I60386, b/235529345)
  • LifecycleStartEffect API has been added to run Compose SideEffects based on Lifecycle.Event.ON_START and Lifecycle.Event.ON_STOP event callbacks. (I5a8d1, b/235529345)
  • LifecycleEventEffect API has been added to run Compose SideEffects based on Lifecycle.Event. (Ic9794, b/235529345)
  • Lifecycle.collectAsState() extension has been added to directly expose Lifecycle.State as Compose State. This is equivalent (and a shorter alternative) to lifecycle.currentStateFlow.collectAsState(). (I11015, b/235529345)

Bug Fixes

  • The LiveData.distinctUntilChanged() extension now sets the value of the returned LiveData if the previous LiveData has had a value set on it. This does not change the observation behavior - updated values from the source LiveData will still only apply once you start observing the LiveData returned from distinctUntilChanged(). (Ib482f)
  • The proguard keep rules associated with LifecycleObserver have been removed. This means that proguarded code that wishes to use APIs via reflection will need to provide their own keep rules for their specific use case. (Ia12fd)

Navigation: v2.7.0-rc01

July 26, 2023

androidx.navigation:navigation-*:2.7.0-rc01 is released. Version 2.7.0-rc01 contains these commits.

Bug Fixes

  • Fixed an issue where the EnterTransition and ExitTransition lambdas created as part of the NavHost could potentially remain in memory even after the NavHost is removed from composition. (I893d0)

Known Issues

  • There is an issue from Navigation 2.6.x that when navigating with popUpTo it is possible to cause an IllegalArgumentException. It is possible that this exception can be avoided by restructuring your graph, similar to the advice suggested here. (b/287133013)

Paging: v3.2.0

July 26, 2023

androidx.paging:paging-*:3.2.0 is released. Version 3.2.0 contains these commits.

Important changes since 3.1.0

  • Paging Compose reached API stability and has been merged back into the rest of Paging where its version now matches all the other Paging artfacts. Changes since 3.1.0 include:
    • Support for previewing a list of fake data by creating a PagingData.from(fakeData) and wrapping that PagingData in a MutableStateFlow (e.g. MutableStateFlow(PagingData.from(listOf(1, 2, 3)))). Pass this flow into @Preview composables as receiver for collectAsLazyPagingItems() to preview.
    • Support for all lazy layouts such as LazyVerticalGrid and HorizontalPager as well as custom lazy components from Wear and TV libraries. This was achieved through new lower level LazyPagingItems extension methods itemKey and itemContentType, which helps you implement the key and contentType parameters to the standard items APIs that already exist for LazyColumn, LazyVerticalGrid as well as their equivalents in APIs like HorizontalPager.
    • items(lazyPagingItems) and itemsIndexed(lazyPagingItems) which only supports LazyListScope were deprecated.
  • New paging-testing artifact which provides APIs designed around unit testing each layer of your app and its integration with Paging in isolation. For example, it includes
    • TestPager class that allows you to validate the behavior of your own custom PagingSource implementation independently from the Pager and real UI.
    • ​​asPagingSourceFactory APIs to transform either a Flow<List<Value>> or a static List<Value> into a PagingSourceFactory that can be passed to a Pager in tests
    • asSnapshot Kotlin extension on Flow<PagingData<Value>>, which translates the Flow<PagingData<Value>> into a direct List<Value>. The asSnapshot lambda allows you to mimic the UI of your app via APIs such as scrollTo or appendScrollWhile so that you can verify the snapshot of data is correct at any point in your set of paged data.
  • Added default logs to expose Paging debugging information in two levels: VERBOSE and DEBUG. The logs can be enabled via the command adb shell setprop log.tag.Paging [DEBUG|VERBOSE]. This applies to both Paging with views or Paging with Compose.
  • Added constructors for PagingDataAdapter and AsyncPagingDataDiffer which accept CoroutineContext instead of CoroutineDispatcher.
  • Added a new PagingSourceFactory functional interface that provides a more explicit API surface than the previous () -> PagingSource lambdas. This factory can be used to instantiate a Pager.

Preference: v1.2.1

July 26, 2023

androidx.preference:preference:1.2.1 is released. Version 1.2.1 contains these commits.

Bug Fixes

  • PreferenceHeaderFragmentCompat now correctly handles the system back button when used within a ComponentDialog or when using libraries like Hilt's @AndroidEntryPoint that wrap the Fragment's Context.
  • Preference now depends on Activity 1.5.1. (Ie5d22)
  • PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment now propagates header.extras as the Fragment arguments.

privacysandbox sdkruntime: v1.0.0-alpha07

July 26, 2023

androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha07 and androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.

New Features

  • Per-SDK SharedPreferences support for SDKs loaded locally (in Application process). SandboxedSdkProviderCompat#context customized to provide Per-SDK SharedPreferences support for SDKs in backcompat mode.

Recyclerview: v1.3.1

July 26, 2023

androidx.recyclerview:recyclerview:1.3.1 is released, with no changes since 1.3.1-rc01. Version 1.3.1 contains these commits.

For release notes of previous release, refer to our Release Notes page

Test Uiautomator: v2.3.0-alpha04

July 26, 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha04 is released. Version 2.3.0-alpha04 contains these commits.

API Changes

  • Added By.hasParent and By.hasAncestor to support finding objects according to their parents (I93c36).
  • Added UiObject2#getHint to retrieve an object's hint text, and By.hint methods to select objects according to their hint text (Idd345).
  • Added By.displayId to support selecting objects according to the display they are on (I1825b).
  • Added UiDevice#getDisplayHeight(int) and UiDevice#getDisplayWidth(int) methods to find the dimensions of a display by its ID (Ie6544).
  • Re-added wait(SearchCondition, long) and wait(UiObject2Condition, long) methods for backwards compatibility (Iebfda).
  • Changed UiDevice#executeShellCommand to public but discouraged instead of hidden (Ic48a1).

Bug Fixes

  • Updated MotionEvent injection to reduce flakiness by prioritizing gesture accuracy over speed (678ca3).
  • Added tracing to resource heavy methods to identify performance bottlenecks (d17de3).
  • Added a retry mechanism when initiating a UiAutomation connection (048caf).
  • Fixed a possible NPE from null nodes in UiDevice#dumpWindowHierarchy (b725eb).
  • Fixed unexpected errors from querying or operating on private displays (985db6, 7053d4).

tv: v1.0.0-alpha08

July 26, 2023

androidx.tv:tv-foundation:1.0.0-alpha08 and androidx.tv:tv-material:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.

New Features

  • Introduce Chip components for Compose for TV material. (I86da4)
  • Add ListItem component to TV Compose Material. (I3f0b3)
  • Add DenseListItemcomponent to TV Compose Material. (I536bf)

API Changes

  • Marked public tv-material APIs as Experimental. (I632e7)
  • Introduced TabRowScope to share state from TabRow composable with Tab composable and renamed TabColors properties. (Ief587)

Wear Compose: v1.3.0-alpha02

July 26, 2023

androidx.wear.compose:compose-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

API Changes

  • We have provided ExpandableStateMapping, a new way to generate ExpandableStates, for cases in which they need to be created on demand, not necessarily within a @Composable scope (Iff9e0)
  • SwipeToDismissBox has been migrated from androidx.wear.compose.material to androidx.wear.compose.foundation package. (I275fb)
  • Updated API files to annotate compatibility suppression. (I8e87a, b/287516207)
  • We have made the height constants for Chip, CompactChip and ToggleChip public (Idbfde)
  • We have made the horizontal and vertical paddings for Chip and CompactChip public. (Ieeaf7)
  • Added functionality to turn off swipe handling in SwipeDismissableNavHost via the new userSwipeEnabled parameter. (Id2a0b, b/230865655)
  • We have updated the Wear Compose Navigation library to use the new SwipeToDismissBox from Wear Compose Foundation. (I4ff8e)

Bug Fixes

  • We have fixed a z-order bug where expandedItem did not show the correct content after clicking a button's behavior when they have buttons. (I1899d, b/289991514)
  • Improve focus handling of SwipeToDismissBox (and hence SwipeDismissableNavHost) using the HierarchicalFocusCoordinator (I45362, b/277852486)
  • We have made a fix to the gesture handling in SwipeableV2 . (I89737)
  • We have finalized the baseline profiles for our 1.2 release. (Id5740)
  • Following the migration of SwipeToDismissBox to Foundation, the Material SwipeToDismissBox implementation now forwards to Foundation and supplies default color values from its theme.(If8451)
  • We have added heading semantics to ListHeader. (Ic5420)
  • Chip and ToggleChip will now adjust their height to accommodate content that has grown due to large fonts for accessibility, when required. (Iaf302)
  • Fixed a bug in the semantic role of SplitToggleChip’s tappable area, for accessibility. (Ieed3a)
  • The reduce motion setting now turns off the shimmering effect and wipe-off motion on placeholders. (I91046)
  • Stepper and InlineSlider now support repeated clicks on long press so that you can quickly increase/decrease value of Stepper and InlineSlider by holding the + or - buttons. (I27359)

Wear Compose Material3: v1.0.0-alpha08

July 26, 2023

androidx.wear.compose:compose-material3:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

New Features

  • We have added the following selection controls for Material3 - Switch, Checkbox, RadioButton. (Ib918c)
  • We have added IconToggleButton and TextToggleButton to Material3, a circular toggle button with a single slot for icon and text respectively. For different sizes of ToggleButton, we recommend using Modifier.touchTargetAwareSize with the sizes provided in respective toggle buttons. (I9f015)
  • We have added ListHeader and ListSubheader to our Material3 components. (Ibaefe)
  • We have added Material3 SwipeToDismissBox, which calls the new Foundation SwipeToDismissBox and supplies default color values from its theme. (I275fb)
  • We have added the Material3 InlineSlider to Wear Compose. It allows users to make a selection from a range of values. The range of selections is shown as a bar between the minimum and maximum values of the range, from which users may select a single value. InlineSlider is ideal for adjusting settings such as volume or brightness. (I7085f)

API Changes

  • We have updated the Shapes in Wear Material 3 theme to use RoundedCornerShape based instead of Shape. (Idb133)
  • We have made the height constants for Button public (Idbfde)
  • Updated API files to annotate compatibility suppression (I8e87a, b/287516207)
  • We have updated InlineSliderColors in Wear Compose Material 3 to have public constructor and public properties. (I6b632)
  • We have updated all color classes in Wear Compose Material 3 to have public constructors and public properties. (I17702)
  • We have made Button horizontal and vertical padding constants public. (Ieeaf7)

Bug Fixes

  • Button will now adjust its height to accommodate content that has grown due to large fonts for accessibility, when required (Iaf302)
  • We have updated a number of Button demos to address accessibility issues. (I61ce9)
  • Stepper and InlineSlider now support repeated clicks on long press so that you can quickly increase/decrease value of Stepper and InlineSlider by holding the + or - buttons (I27359)

Wear Compose: v1.2.0-rc01

July 26, 2023

androidx.wear.compose:compose-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

Bug Fixes

  • We have finalized the baseline profiles for our 1.2 release (Id5740)

wear protolayout: v1.0.0-rc01

July 26, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

  • To migrate from Tiles to ProtoLayout, please follow the instructions here.

API Changes

  • We have removed setLayoutConstraintForDynamicAnchorAngleand getLayoutConstraintForDynamicAnchorAngle methods from Arc element. These methods have been added by mistake and they didn't have any effect on the provided layout. (If7d01)
  • We have limited the maximum depth that a ProtoLayout’s layout can have to 30 nested LayoutElements. (I8a74b)

Bug Fixes

  • We have added a check to throw if DynamicColor has been set for a SpanText. (I0e5bc)
  • It is clarified that DAILY_CALORIES data source unit is kcal. (Iaa785)

Wear Tiles: v1.2.0-rc01

July 26, 2023

androidx.wear.tiles:tiles-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

  • With the v1.2 release, Tiles library has been refactored and the majority of the features and APIs are moved into new ProtoLayout library (package androidx.wear.protolayout) with a small subset remaining in Tiles (androidx.wear.tiles):

    • All classes names have stayed the same, there are only additions to the v1.1
    • The majority of the APIs have stayed the same and the only change is package name.
    • Some of the methods in TileService/TileBuilder have been deprecated and now have renamed versions that accept new ProtoLayout types instead of deprecated Tiles one.
  • To make this migration easier, we have put together a small instructions and script that does this renaming, see here.

API Changes

  • We have limited the maximum depth that a layout can have to 30 nested elements in tile. If that depth is exceeded, the tile renderer will show a previously inflated layout. (I8a74b)

Webkit: v1.8.0-beta01

July 26, 2023

androidx.webkit:webkit:1.8.0-beta01 is released with no changes since 1.8.0-alpha01. Version 1.8.0-beta01 contains these commits.

WindowManager: v1.2.0-beta01

July 26, 2023

androidx.window:window-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.

New Features

  • Expose experimental window APIs for accessing the rear screen.
  • Test APIs for creating a FoldingFeature is now stable.
  • Test APIs for setting up fake ActivityEmbedding values are now stable.
  • WindowLayoutInfoPublisherRule now reports the override when obtaining a value from a UiContext.
  • WindowInfoTracker reports folding feature data to UiContext parameters.

API Changes

  • Marks WindowArea API's as experimental to allow API changes to continue for a stable release in 1.3 (I857f5)
  • Updated API files to annotate compatibility suppression (I8e87a, b/287516207)

WorkManager: v2.9.0-alpha02

July 26, 2023

androidx.work:work-*:2.9.0-alpha02 is released. Version 2.9.0-alpha02 contains these commits.

New Features

  • Now WorkManager provides a hint on why a worker was previously stopped. It can be queried from a worker itself via getStopReason() method or from WorkInfo via getStopReason().

API Changes

  • stopReason was added to WorkInfo. It makes available stopReason after the worker ran. It could be helpful in the reporting stopReason in usable way, because once a worker has been stopped, an app itself could be very quickly killed. (I21386)
  • Allow Clock to be set via config and used to drive execution sequencing of Worker tests. (Ic586e)
  • getStopReason() method was added to ListenableWorker that gives a hint why the worker was stopped. (I07060)
  • Added WorkManagerTestInitHelper#closeWorkDatabase() to avoid Closeguard's warning about leaked resources. (Ia8d49)

Bug Fixes

  • Added ability to bypass overrideNextScheduleTime using TestDriver and fixed issues with testability. (Ic2905)