Skip to content

2024-02-07

Choose a tag to compare

@github-actions github-actions released this 07 Feb 18:37
· 101 commits to main since this release

Activity: v1.9.0-alpha03

February 7, 2024

androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03, and androidx.activity:activity-ktx:1.9.0-alpha03 are released. Version 1.9.0-alpha03 contains these commits.

Lint Warning

Bug Fixes

  • If a back event is sent from the system started during an already running Predictive Back Gesture, the currently running Predictive Back Gesture is canceled and the new back event takes over to begin a new Predictive Back Gesture. (I3482e)
  • Fixed a crash when accessing the onBackPressedDispatcher from a ComponentActivity for the first time from a background thread. It is now safe to access the onBackPressedDispatcher on any thread. (I79955)

Browser: v1.8.0-beta02

February 7, 2024

androidx.browser:browser:1.8.0-beta02 is released. Version 1.8.0-beta02 contains these commits.

API Changes

  • Renamed CustomTabsIntent.Builder#setActivitySideSheetEnableMaximization to CustomTabsIntent Builder#setActivitySideSheetMaximizationEnabled and made it a public API. It allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (Ie3564)

Compose Animation: v1.6.1

February 7, 2024

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

Bug Fixes

Compose Animation: v1.7.0-alpha02

February 7, 2024

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

Bug Fixes

  • Compatibility fix for KeyframesSpec. (I2bdf3, b/322214617)
  • Fixed Modifier.animateContentSize not resetting properly when used in LazyList. (I070512, b/322525716)
  • Fixed IllegalStateException on KeyframesSpec when using out of range timestamps. (I341b8, b/322839811)

Compose Compiler: v1.5.9

February 7, 2024

androidx.compose.compiler:compiler:1.5.9 and androidx.compose.compiler:compiler-hosted:1.5.9 are released. Version 1.5.9 contains these commits.

Bug Fixes

  • Fix composable calls in anonymous object initializer. (b/320261458, 96315c)
  • Count recursive local declarations as captures. (b/318745941, e7b4b0)
  • Fix Intrinsic remember changes behavior related to Java method refs by forceing .changed for function types with intrinsic remember. (b/319810819, 77128e)
  • Added an experimental optimization that will remove the groups around functions that are not skippable such as explicitly marked as @NonSkippableComposable and functions that are implicitly not skippable such inline functions and functions that return a non-Unit value such as remember.
  • This optimization can be enabled by passing plugin option, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true to the Kotlin compiler. (I1688f)

Compose Foundation: v1.6.1

February 7, 2024

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

Bug Fixes

  • Fix staggered grid measure when scrolled over limit. (bffc39)
  • Add check for layout with large dimensions. (e74af5)
  • Fix placement of 0-sized items at the start of the staggered grid. (785f94)
  • Call onRelease callback in the same order as onForgotten. (31ce3b)

Compose Foundation: v1.7.0-alpha02

February 7, 2024

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

API Changes

  • HorizontalPager, VerticalPager and PagerState are promoted to stable. (I67660, b/316966909)
  • Added LocalTextLinkStyle composition local that allows to change the style of the links in Text across the app. If you're using your own theme in the app, you should be setting this composition local according to your theming. When using Material theme the color of the link by default will be set to Material's primary color. (I7eb10)
  • Introduced receiveContent modifier that provides developers with a way to receive rich content in Jetpack Compose.
  • receiveContent integrates with BasicTextField2 to accept rich content provided by the software keyboard, or via Clipboard paste action. (I81b72)
  • In this change we're replacing SnapFlingBehavior with TargetedFlingBehavior in pager to unlock other use cases and provide greater flexibility. (I762ea)
  • In this change we're making Snapping APIs Stable. We're also cleaning up some of the testing code and adding more samples to Snapping. (Id8da9)
  • Introduce TargetedFlingBehavior, a FlingBehavior that allows propagating information about the state of the ongoing animation and it's target scroll offset. (I6a207)

Bug Fixes

  • BasicTextField2 now keeps the cursor in view while typing when it has been scrolled out of view or would move out of view due to input. (Ieb856, b/237190748)

External Contribution

  • Adds an experimental API for configuring prefetch behavior of LazyLists. (I022a4)

Compose Material: v1.6.1

February 7, 2024

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

Compose Material: v1.7.0-alpha02

February 7, 2024

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

Compose Material 3: v1.2.0

February 7, 2024

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

Known Issue

  • A View-Compose interop rendering bug was introduced in PrimaryTabRow as part of a performance improvement change. The workaround is to use TabRow with TabRowDefaults.PrimaryIndicator

Important changes since 1.1.0

New Material Design 3 Components

Enhancements to existing Material Design 3 components.

Promoted experimental APIs to stable!

Performance improvements

Compose Material3 Adaptive: v1.0.0-alpha06

February 7, 2024

androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

New Features

  • Added additional behavior options for ThreePaneScaffoldNavigator back navigation. (I858aa)
  • Added optional destination content to navigation history. (Ibd7e6)

Compose Material3 Adaptive Navigation Suite: v1.0.0-alpha03

February 7, 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

API Changes

  • Update package name to navigationsuite from navigation-suite (I7eff7)
  • Material3 components exposing a MutableInteractionSource in their API have been updated to now expose a nullable MutableInteractionSource that defaults to null. There are no semantic changes here: passing null means that you do not wish to hoist the MutableInteractionSource, and it will be created inside the component if needed. Changing to null allows for some components to never allocate a MutableInteractionSource, and allows for other components to only lazily create an instance when they need to, which improves performance across these components. If you are not using the MutableInteractionSource you pass to these components, it is recommended that you pass null instead. It is also recommended that you make similar changes in your own components. (I41abb, b/298048146)

Compose Runtime: v1.6.1

February 7, 2024

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

Bug Fixes

  • Call onRelease callback in the same order as onForgotten. (2cd790)
  • Filter changed states that are not observed in snapshotFlow. (796b80)

Compose Runtime: v1.7.0-alpha02

February 7, 2024

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

Bug Fixes

  • Invalidate composable lambdas in subcompositions on the same frame. (98301c)
  • Call onRelease callback in the same order as onForgotten. (2cd790)
  • Filter changed states that are not observed in snapshotFlow. (796b80)

Performance Improvements

  • Modify snapshot observer in place when it is already transparent. (f60f30)
  • Optimize SnapshotIdSet.lowest(). (7ae149)
  • Use an allocation-free fold() in SnapshotIdSet. (532b7d)
  • Remove iterator allocation (83f96b)

Compose UI: v1.6.1

February 7, 2024 androidx.compose.ui:ui-*:1.6.1 is released. Version 1.6.1 contains these commits.

Bug Fixes

  • Fixed a backwards compatibility issue with SemanticsPropertyReceiver.performImeAction and SemanticsActions.PerformImeAction. (Ie0bb2, b/322269946)
  • Layouts now issue an error while measuring when one returns an abnormally large size. This kind of error normally happens when the measurement uses maximum constraints directly without checking for Constraints.Infinity. The check will help developers find problems with the layout having the wrong size rather than in a layout that contains it. (I339a9)

Compose UI: v1.7.0-alpha02

February 7, 2024

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

API Changes

  • Fixed a binary compatibility issue with SemanticsPropertyReceiver.performImeAction. (I65865, b/322269946)
  • PopupProperties constructor that takes a usePlatformDefaultWidth parameter is no longer experimental. (I8f8d2)
  • Added an overload of ComposeTestRule.waitUntil that takes a string description of the condition to include in the timeout message. (I9413e)
  • New semantics API unset() to remove semantics properties that are added in the same modifier chain. New semantics property isOpaque. (I8c583, b/317966058, b/246056649)
  • Removed originalEventPosition from copy method in public API of PointerInputChange. (I7bead)

Bug Fixes

  • Fixed an a11y bug allowing non-tabs and non-radiobuttons to be clickable when selected. (I2181c)
  • VelocityTracker will now have the fix for adding points on by default. The fix can still be turned off by setting VelocityTrackerAddPointsFix to false if there's any issues. (Ib3877, b/269487059)
  • Fixed backwards binary incompatibility in TextStyle and ParagraphStyle. (I179f0, b/320819734)

External Contribution

  • Added a new DialogProperties constructor without platform-specific parameters. (I45829)
  • Added a new PopupProperties constructor without platform-specific parameters. (I9a038)

Core and Core-ktx: v1.13.0-alpha05

February 7, 2024

androidx.core:core:1.13.0-alpha05, androidx.core:core-ktx:1.13.0-alpha05, and androidx.core:core-testing:1.13.0-alpha05 are released. Version 1.13.0-alpha05 contains these commits.

External Contribution

  • Thanks to Matthew Zavislak for updating the ContextCompat.registerReceiver documentation for correctness. (8fd733)

Core Remote Views: v1.1.0-alpha01

February 7, 2024

androidx.core:core-remoteviews:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

New Features

  • Version bump to match dependency versions.

Fragment: v1.7.0-alpha10

February 7, 2024

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

Bug Fixes

  • Fixed the known issue in the previous Fragment release where using Fragment's Predictive Back support for Animator or AndroidX Transition, Fragments would throw a NullPointerException from handleOnBackProgressed if no FragmentManager.OnBackStackChangedListener has ever been added via addOnBackStackChangedListener. (I7c835)

Glance: v1.1.0-alpha01

February 7, 2024

androidx.glance:glance-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

New Features

  • Unit test library for Glance that doesn’t require UI Automator. Glance code can be tested directly without having to inflate the view.
  • Higher level components for simpler layouts.
  • New Modifiers and theme options.
  • New API for getting a flow of RemoteViews from a composition, runComposition

API Changes

  • Adds a new widgetBackground color role to Glance themes. (Ia2ab8)
  • Add GlanceAppWidget.runComposition (I6344c, b/298066147)
  • Adds new TopBar component (Ibd361)
  • Adds overrides to the clickable modifier. (Iacecf)
  • Adds a new api for tinting buttons. This should be experimental until 1.0 ships. (I92523)
  • Adds runGlanceAppWidgetUnitTest that provides scope to call methods on GlanceAppWidgetUnitTest such as provideComposable to provide a small isolated composable for test, onNode to find a Glance composable element in the provided content. This enables you to write unit tests for individual composable functions in your appWidget to verify that given certain inputs the function outputs the intended set of glance composable elements. (I2f682)
  • Adds a testTag modifier in semantics for use in unit tests. (I8f62f)
  • update TitleBar - text and icon individually tintable. (Ia0a60)
  • Adds scaffold component (I8a736)
  • Adds hasActionRunCallbackClickAction filter and assertHasActionRunCallbackClickAction assertion to test actionRunCallack. Also, adds additional shorthand variant functions for action related test filters - hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Adds similar variants for their assertHasXXX counterparts. (Ieca63)
  • Moves unreleased api around. Changes a modifier from internal to public but library restricted (If2a08)
  • Adds onCompositionError method where developers can run code when an error occurs (I9b56f)
  • Adds button and iconbutton apis to glance (I0fd6f)
  • Adds isLinearProgressIndicator, isIndeterminateLinearProgressIndicator, isIndeterminateCircularProgressIndicator filters to match progress indicators. Additional includes hasAnyDescendants filter to test if a node has a descendant in its sub-hierarchy that matches a specific matcher (Ifd426)
  • Adds assertions and filters to enable testing of click actions that start service / activity or broadcasts. Also includes testing if input elements are checked. (I3041c)

Glance: v1.0.0-alpha06

February 7, 2024

androidx.glance:glance-appwidget-preview:1.0.0-alpha06 and androidx.glance:glance-preview:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

New Features

  • Version updated to follow the main Glance module.

Graphics Shapes: v1.0.0-alpha05

February 7, 2024

androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05, and androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.

New Features

  • The library now offers new pill() and pillStar() functions for easy creation of these rounded/starred shapes. There are also new APIs for calculating the exact bounds required for a shape (the previous bounds were just an estimate based on the underlying Bezier curve anchor and control points), as well as the max possible bounds, which can be helpful to determine the size of the container holding it if it will be rotated within that container. (I71827)

API Changes

Bug Fixes

  • There were occasional rendering artifacts when drawing these shapes as stroked paths, due to a low-level rendering issue related to zero-length curves. This bug was fixed by eliminating all zero-length curves (which the shapes do not need, thus also saving on the overhead of the paths produced by the shapes).

Hilt: v1.2.0-rc01

February 7, 2024

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

Mediarouter: v1.7.0-alpha02

February 7, 2024

androidx.mediarouter:mediarouter:1.7.0-alpha02 and androidx.mediarouter:mediarouter-testing:1.7.0-alpha02 are released. Version 1.7.0-alpha02 contains these commits.

New Features

API Changes

  • Improve device type mappings from MediaRouter2 to AndroidX MediaRouter to describe system routes (for example: Bluetooth, HDMI, wired). (Iccffa)

Bug Fixes

  • Fix bug causing isSystemRoute to return true for user routes added via android.media.MediaRouter#addUserRoute() (a27f6b).

Navigation: v2.8.0-alpha02

February 7, 2024

androidx.navigation:navigation-*:2.8.0-alpha02 is released. Version 2.8.0-alpha02 contains these commits.

New Features

  • Navigation Compose now provides support for Predictive in-app back via the new SeekableTransitionState APIs from compose-animation. This allows you to use the back gesture to see the previous destination with your custom Transition before deciding to either commit the transaction via the completed gesture or cancel. (I8b8e9)

Navigation: v2.7.7

February 7, 2024

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

Bug Fixes

  • Backported from Navigation 2.8.0-alpha01: Fixed BackStackState leak where multiple saveState() calls on a single NavBackStackEntry would result in multiple states being saved, but only the first saved state could be restored. (I598b0, b/309559751)
  • Backported from Navigation 2.8.0-alpha01: Fixed an issue where non-String arguments would not be properly displayed when using the NavigationUI helpers to populate the title of app bars. (#636, b/316676794)

External Contribution

  • Thanks SimonMarquis for fixing the display issue for non-String arguments when using the NavigationUI helpers to populate the title of app bars.

Paging: v3.3.0-alpha03

February 7, 2024

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

New Features

  • PagingDataPresenter is now a public class. Multiplatform presenters can now be built on top of PagingDataPresenter rather than requiring internal Paging APIs or paging-runtime’s AsyncPagingDataDiffer. (Id1f74, b/315214786)
  • Added new LoadStates and CombinedLoadStates helper methods to check if LoadStates is in Error or NotLoading state. Also added a new API that awaits on a LoadStateFlow until a load has settled into either NotLoading or Error state. (Id6c67)

Behavior change

  • PagingData.empty() now dispatches NotLoading states by default unless custom LoadStates are passed to its constructor. This departs from existing behavior where it doesn't dispatch LoadStates when submitted to a PagingDataAdapter or it dispatches Loading states when collected as LazyPagingItems. When collected as LazyPagingItems, it will now also display an empty list immediately upon initial composition. (I4d11d, b/301833847)

privacysandbox-tools: v1.0.0-alpha07

February 7, 2024

androidx.privacysandbox.tools:tools-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

API Changes

  • Support the new SDK Activity launcher interfaces. The new interfaces live in androidx.privacysandbox.activity.core. The old ones in androidx.privacysandbox.ui.core are no longer supported. (Ia9079)

ProfileInstaller: v1.4.0-alpha01

February 7, 2024

androidx.profileinstaller:profileinstaller:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.

Bug Fixes

  • Added error code for no profile embedded to profile verifier. (Ifb109, b/313928520)
  • Fixes crash when dropping shaders on Android U (API 34), as well as on emulators. (I031ca, b/274314544)
  • Enabled support for Android U in profile installer. (Iaf177)
  • Fixed profile installer on Android U failing due to current profile not created empty when process starts. (Ie3899)
  • Fix method bitmap transcoding in the V_015S profile format. (aosp/2906631) and (aosp/2847740)

Test Uiautomator: v2.3.0-rc01

February 7, 2024

androidx.test.uiautomator:uiautomator:2.3.0-rc01 is released with no changes. Version 2.3.0-rc01 contains these commits.

Wear Compose: v1.4.0-alpha02

February 7, 2024

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

Bug Fixes

  • We have fixed a bug in swipe-to-reveal, where it was possible to interact with (and cancel) a committed action on one item by starting to swipe another item.(Ide059)
  • We have updated the ListHeader to support height adjustments when contents need extra height to accommodate large font sizes. (I7290c, b/251166127)

Wear Compose Material3: v1.0.0-alpha17

February 7, 2024

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

API Changes

  • We have updated the Button API to use buttonColors by default and removed the duplicate filledButtonColors. (I4fe3b)
  • We have refactored default patterns for ButtonColors, IconButtonColors and TextButtonColors by creating a cached instance internally and reducing the usage of CompositionLocal. (I5f51c)
  • We have removed the overhead of rememberUpdatedState in Component specific color classes and marked accessor methods inside color classes as internal. (If6571)

Bug Fixes

  • We have updated Modifier.minimumInteractiveComponentSize to use Modifier.node. (Iba6b7)

wear protolayout: v1.1.0

February 7, 2024

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

Important changes since 1.0.0

  • Gradient support and better representation of lengths larger than 360 degrees in ArcLine.
  • Date-time formatting supports different time zones for dynamic data types.
  • Better text autosizing and ellipsizing options, to handle truncated text.
  • Spacer supports expanded dimensions with optional weight.
  • Schema version requirement annotation to all ProtoLayout APIs.
  • Extended target area to any Clickable element to 48 dp x 48 dp, to satisfy accessibility requirements.
  • Font padding is turned off by default and is the only behavior across all Text elements and Material components that contain text.

Additional changes

Wear Tiles: v1.3.0

February 7, 2024

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

Important changes since 1.2.0

  • Updated tooling for tile preview support.
  • Support for querying active tiles belonging to the app.

Additional changes

Wear Watchface: v1.3.0-alpha01

February 7, 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

New Features

  • WatchFaceServices can be initialized concurrently and as such they should be stateless, to support this we’ve added StatefulWatchFaceService in which a user defined extra created by createExtra() is passed into all the overrides called during initialization.
  • GlesRenderer2 now has a constructor overload which lets you specify a list of attributes to try in turn with eglChooseConfig.

API Changes

  • StatefulWatchFaceService now supports an override of getComplicationSlotInflationFactory into which the user-defined extra created by createExtra() is passed. (I82d9f)
  • Some watch faces need to share auxiliary data created during createUserStyleSchema with the other initialisation methods. Because there wasn't a better alternative, developers typically made their WatchFaceServices stateful. This is dangerous because multiple instances can be created concurrently which can lead to bugs. To resolve this we've introduced StatefulWatchFaceService and StatefulWatchFaceRuntimeService where a user defined type is created by createExtra() and is passed to the various create methods as a parameter. (If8a99)
  • We've added getUserStyleFlavors to InteractiveWatchFaceClient, which is of interest primarily for OEMs. (I0f5d8)
  • GlesRenderer2 now has a constructor overload which lets you specify a list of attributes to try in turn with eglChooseConfig. This for example allows you to first try a config with anti-aliasing and to fallback to one without if needed. (I1ba74)
  • From Android U, support for SystemDataSources.DATA_SOURCE_HEART_RATE will be added to WearOS. This complication is only guaranteed to support SHORT_TEXT complications, but it's recommended for the ComplicationSlot to accept SMALL_IMAGE too because OEMs may choose to serve a shortcut to their health app instead of the live value. (I34223)
  • We've added METADATA_KEY_CONFIG_RESTORE_SUPPORTED which from Android U onwards, controls what happens when the system is restored from a backup for complication data source with METADATA_KEY_DATA_SOURCE_CONFIG_ACTION. By default the system assumes that the complication data source service supports backup of any configuration data, but if it does not then it can add metadata setting METADATA_KEY_DATA_SOURCE_CONFIG_ACTION to false which will mark the complication slot as not configured. (I6c505)

Webkit: v1.11.0-alpha01

February 7, 2024

androidx.webkit:webkit:1.11.0-alpha01 is released. Version 1.11.0-alpha01 contains these commits.

New Features

  • Add compatibility for URLUtil.guessFileName. The compatibility version in URLUtilCompat supports parsing of Content-Disposition headers that use the filename* encoded value attribute as defined in RFC 6266. The compatibility API also directly exposes a method to parse the Content-Disposition header where a suggested file name based on URL and MIME-type is not desired. (If6ae7, b/309927164)

WindowManager: v1.3.0-alpha02

February 7, 2024

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

New Features

  • Updates made to the API surface of the Window Size Class API's to improve flexibility for developers who want to use their own size classes.

API Changes

  • Add height constraints to the width selector. (I23393)
  • Add utility functions for picking a WindowSizeClass from a set. Add experimental scoring functions so developers can write their own selectors. Add a selector extension function to pick the widest WindowSizeClass within a given bound. (I0c944)
  • Open the WindowSizeClass constructor so custom breakpoints can be added. (Ic1ff3)
  • Add convenience function to create size class from width, height, and density. (If67f4)

Bug Fixes

  • Fix exception when float value is truncated to 0. (272ffac)