Skip to content

2023-05-02

Choose a tag to compare

@github-actions github-actions released this 03 May 18:36
· 149 commits to main since this release

Benchmark: v1.2.0-alpha14

May 3, 2023

androidx.benchmark:benchmark-*:1.2.0-alpha14 is released. Version 1.2.0-alpha14 contains these commits.

Bug Fixes

  • Fix FrameTimingMetric ignoring frames with inconsistent frame IDs. This would cause some animations on recent platform versions (API 31+) to ignore many frames while RenderThread was animating (e.g. during a ripple). (I747d2, b/279088460)
  • Fixed trace processor parsing for traces larger than 64Mb. (Ief831, b/269949822)
  • Fixed baseline profile generation on Android U failing because of the different output of pm dump-profiles command. (Id1392, b/277645214)
  • Fix GPU clock locking script to compare strings correctly (I53e54, b/213935715)

Browser: v1.6.0-alpha01

May 3, 2023

androidx.browser:browser:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

New Features

  • Added Engagement Signals API, which allows developers to receive callbacks for user interactions on the web page such as scrolls. (I835e6)

API Changes

  • Updated Engagement Signals API to simplify the API surface on the Custom Tabs implementation side. (Iaa6dc)

Compose Animation: v1.4.3

May 3, 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3, and androidx.compose.animation:animation-graphics:1.4.3 are released with no changes (only a version bump).

Compose Compiler: v1.4.7

May 3, 2023

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

New Features

  • Support for Kotlin 1.8.21
  • Added primitive versions of the State API, allowing Int, Long, Float, and Double values to be tracked in State objects without incurring penalties for autoboxing.

Compose Foundation: v1.4.3

May 3, 2023

androidx.compose.foundation:foundation:1.4.3 and androidx.compose.foundation:foundation-layout:1.4.3 are released with no changes (only a version bump).

Compose Material: v1.4.3

May 3, 2023

androidx.compose.material:material-*:1.4.3 is released with no changes (only a version bump).

Compose Runtime: v1.4.3

May 3, 2023

androidx.compose.runtime:runtime-*:1.4.3 is released with no changes.

Compose UI: v1.4.3

May 3, 2023

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

Bug Fixes

  • Fixed an issue where AndroidView may not be laid out correctly when used with certain Modifiers. (I4dc77, b/274797771)
  • Fixed a bug in 2D Focus Search that affected DropDown Menus (b/276811828)
  • Fixed a bug in custom focus enter/exit properties that only ran the enter/exit block the first time the lambda was invoked (b/277234245)
  • Fixed a regression in the focus system that caused a crash while reading focusProperties. (b/271324781, b/274897776)

credentials: v1.0.0-alpha08

May 3, 2023

androidx.credentials:credentials:1.0.0-alpha08 and androidx.credentials:credentials-play-services-auth:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.

Bug Fixes

  • Improved debug output readability and error messages.

Mediarouter: v1.4.0

May 3, 2023

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

** Important changes since 1.3.1 **

  • Add SystemOutputSwitcherDialogController#showDialog to show the system’s output switcher dialog, or the Bluetooth Settings Fragment on Wear devices where the system output switcher is not available. (Ic3d78)
  • Fix regression causing application crashes due IllegalArgumentException in MediaRouterProvider.notifyDynamicRoutesChanged (7d17ea).
  • Add MediaRouteDescriptor.Builder.clearControlFilters (I3a4e1)
  • Add missing MainThread annotations in MediaRouter. (I3ef6e)
  • Add broadcast receiver export flags on API 33+ (b2a663).

Paging: v3.2.0-alpha05

May 3, 2023

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

API Changes

  • The Paging Testing API of asSnapshot now defaults its loadOperations parameter to an empty lambda. This allows calling asSnapshot without passing in any load operations to retrieve the data from the initial refresh load. (Ied354, b/277233770)

Documentation Improvements

  • Updated the documentation on asPagingSourceFactory() to clarify that it is an extension method on a Flow which returns a reusable factory for generating PagingSource instances. (I5ff4f, I705b5)
  • Updated the documentation on the LoadResult.Pageconstructor to clarify the need to override itemsBefore and itemsAfter to support jumping. (Ied354)

External Contributions

Paging Compose: v1.0.0-alpha19

May 3, 2023

androidx.paging:paging-compose:1.0.0-alpha19 is released. Version 1.0.0-alpha19 contains these commits.

Supporting all lazy layouts

Previously, Paging Compose provided custom items and itemsIndexed extensions on LazyListScope, which meant that you could not use Paging Compose with other lazy layouts like LazyVerticalGrid, HorizontalPager, or other custom lazy components provided by the Wear and TV libraries. Addressing this inflexibility is the primary update for this release.

To support more lazy layouts, we needed to build out APIs at a different layer - rather than providing a custom items API for each lazy layout, Paging Compose now provides slightly lower level extension methods on LazyPagingItems in itemKey and itemContentType. These APIs focus on helping 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. (Ifa13b, Ib04f0, b/259385813)

This means that supporting a LazyVerticalGrid would look like:

// This part is unchanged
val lazyPagingItems = pager.collectAsLazyPagingItems()

LazyVerticalGrid(columns = GridCells.Fixed(2)) {
// Here we use the standard items API
items(
count = lazyPagingItems.itemCount,
// Here we use the new itemKey extension on LazyPagingItems to
// handle placeholders automatically, ensuring you only need to provide
// keys for real items
key = lazyPagingItems.itemKey { it.uniqueId },
// Similarly, itemContentType lets you set a custom content type for each item
contentType = lazyPagingItems.itemContentType { "contentType" }
) { index ->
// As the standard items call provides only the index, we get the item
// directly from our lazyPagingItems
val item = lazyPagingItems[index]
PagingItem(item = item)
}
}

For more examples of using these new APIs, please see our samples.

While these changes do make the LazyColumn and LazyRow examples a few lines longer, we felt that consistency across all lazy layouts was an important factor for those using Paging Compose going forward. For that reason, the existing extensions to LazyListScope have now been deprecated. (I0c459, I92c8f, b/276989796)

Note: while the deprecated items API has a clear equivalent, the quick fix for itemsIndexed may still leave your code in a state where it does not compile immediately as generating keys and content types based on indices is no longer possible or recommended as this pattern is susceptible to errors when item indices shift due to prepends (i.e., item 0 actually becomes item 20 due to prepending 20 additional items). It is always recommended to use items when using Paging Compose.

API Changes

  • To ease the migration to the new APIs, the items and itemsIndexed extension functions on LazyListScope now support a contentType parameter, mirroring the support in the new APIs. (Ib1918, b/255283378)

Dependency Updates

  • Paging Compose has updated its dependency from Compose 1.0.5 to Compose 1.2.1. (Ib1918, b/255283378)

ProfileInstaller: v1.3.1

May 3, 2023

androidx.profileinstaller:profileinstaller:1.3.1 is released. Version 1.3.1 contains these commits.

Bug Fixes

  • 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)

Tracing: v1.2.0-beta04

May 3, 2023

androidx.tracing:tracing:1.2.0-beta04 and androidx.tracing:tracing-ktx:1.2.0-beta04 are released with no changes. Version 1.2.0-beta04 contains these commits.

Tracing Perfetto: v1.0.0-alpha15

May 3, 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15, and androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 are released with no changes. Version 1.0.0-alpha15 contains these commits.

window extensions core: v1.0.0-beta03

May 3, 2023

androidx.window.extensions.core:core:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits.

New Features

Reinstate extensions.core interfaces. These are an implementation detail used, please use the androidx.core APIs instead.

Bug Fixes

  • Make core interfaces public so it can be used in extensions. (I45052)