2023-05-02
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
FrameTimingMetricignoring frames with inconsistent frame IDs. This would cause some animations on recent platform versions (API 31+) to ignore many frames whileRenderThreadwas 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-profilescommand. (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
StateAPI, allowing Int, Long, Float, and Double values to be tracked inStateobjects 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
AndroidViewmay not be laid out correctly when used with certain Modifiers. (I4dc77, b/274797771) - Fixed a bug in 2D Focus Search that affected
DropDownMenus (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#showDialogto 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
IllegalArgumentExceptioninMediaRouterProvider.notifyDynamicRoutesChanged(7d17ea). - Add
MediaRouteDescriptor.Builder.clearControlFilters(I3a4e1) - Add missing
MainThreadannotations inMediaRouter. (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
asSnapshotnow defaults itsloadOperationsparameter to an empty lambda. This allows callingasSnapshotwithout 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 aFlowwhich returns a reusable factory for generatingPagingSourceinstances. (I5ff4f, I705b5) - Updated the documentation on the
LoadResult.Pageconstructor to clarify the need to overrideitemsBeforeanditemsAfterto support jumping. (Ied354)
External Contributions
- Thanks Veyndan for contributing to moving Paging away from Android/JVM specifics. (#525, #523, #520, #519, #507, #506, #505, #499, #497, #496, #493)
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)
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
itemsanditemsIndexedextension functions onLazyListScopenow support acontentTypeparameter, 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)