2024-11-13
Activity: v1.10.0-beta01
November 13, 2024
androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01, and androidx.activity:activity-ktx:1.10.0-beta01 are released with no changes since the last alpha. Version 1.10.0-beta01 contains these commits.
Benchmark: v1.4.0-alpha05
November 13, 2024
androidx.benchmark:benchmark-*:1.4.0-alpha05 is released. Version 1.4.0-alpha05 contains these commits.
Bug Fixes
- Fixed an issue on API 34+ where
CompilationMode.None()would have inconsistent performance not representative of initial, worst case performance. This works around a platform change which allows ART's compilation stateverifyto partially compile apps (only affecting class loading) shortly after first launch. (Ie48d0) - Fixed issue where (especially short) traces could be captured that wouldn't report measurement from built-in Macrobenchmark Metrics, due to the process name being truncated within the Perfetto trace. Now macrobenchmark works around this issue by looking for the truncated package name in all built-in queries, in addition to the expected package name. Note that custom
TraceMetricimplementations or other direct callers ofPerfettoSession.querycan implement this same behavior by changingprocess.name LIKE "$packageName"in a Perfetto query to instead be(process.name LIKE "$packageName" OR process.name LIKE "$(packageName.takeLast(15))"). (I5bf01, b/377565760)
Car App: v1.7.0-beta03
November 13, 2024
Fixed a security vulnerability and other general bug fixes. If you are using a lower version, please update to use this version.
androidx.car.app:app-*:1.7.0-beta03 is released. Version 1.7.0-beta03 contains these commits.
API Changes
- Update CAL Serialization / De-serialization code to only handle objects which have the annotation
@CarProtocoldeclared on them. (Ic730e) CarAppExtendercan now be used to extend the frameworkNotification.Builderinstead of onlyNotificationCompat.Builder. (Id3ad7)- Add
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LISTextra. (I201f9) - Deprecate the empty Builder constructor on
ConversationItemand replace it with a constructor that takes required parameters. Also adds a check to guard against null messages. (Ic8221)
Bug Fixes
- Ensure
PlaceListmap uses string (Text-only) Header title. (Ic992f) - 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. (Ib5367, b/326456246)
Collection: v1.5.0-alpha06
November 13, 2024
androidx.collection:collection-*:1.5.0-alpha06 is released. Version 1.5.0-alpha06 contains these commits.
Bug Fixes
- Fixed a crash that could occur in
SieveCacheandOrderedScatterSetwhen adding numerous items causing repeated key collisions. (Iaaf3d, b/375607736) - Add wasm target to collection library. (I66fe3, b/352722444)
Compose Animation: v1.8.0-alpha06
November 13, 2024
androidx.compose.animation:animation-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits.
API Changes
- Updated
sharedElementparameter naming fromstatetosharedContentStatefor consistency across shared element APIs. (I5694c, b/375351468) AnimatedImageVectorsuite of APIs are now stable. (I7174b, b/261436267)
Compose Foundation: v1.8.0-alpha06
November 13, 2024
androidx.compose.foundation:foundation-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits.
API Changes
- Adds
stylusHoverIconmodifier. (Iff20a, b/331289114) - Deprecated
AnchoredDraggableState'sconfirmValueChange. Instead of vetoing state changes, disallowed anchors should not be in the active anchor set, and anOverscrollEffectshould be used to indicate the unavailability of the requested action. (Ia717f) - Changes Autofill manager to be an interface. (I84914, b/376080755)
- Adds
OverscrollEffect#withoutDrawingandOverscrollEffect#withoutEventHandlingAPIs - these APIs create a wrapped instance of the provided overscroll effect that doesn't draw / handle events respectively, which allows for rendering overscroll in a separate component from the component that is dispatching events. For example, disabling drawing the overscroll inside a lazy list, and then drawing the overscroll separately on top / elsewhere. (Idbb3d, b/266550551, b/204650733, b/255554340, b/229537244) - Adding autofill support in text toolbar. (Ie6a4c)
- Deprecates
OverscrollConfigurationandLocalOverscrollConfiguration, and addsrememberPlatformOverscrollFactoryto create an instance of / customize parameters of the default overscroll implementation. To disable overscroll, instead ofLocalOverscrollConfiguration provides null, useLocalOverscrollFactory provides null. To change the glow color / padding, instead ofLocalOverscrollConfiguration provides OverscrollConfiguration(myColor, myPadding), useLocalOverscrollFactory provides rememberPlatformOverscrollFactory(myColor, myPadding). (Ie71f9, b/255554340, b/234451516) - Changed the
effectModifierproperty onOverscrollEffectto benode: DelegatableNode, consistent with other APIs. (Ic0b46, b/255554340) - Removed the experimental
GlobalAssertionsAPI. It's intended use was to run accessibility checks, seeenableAccessibilityChecks()for that purpose instead. (I59322)
Compose Material: v1.8.0-alpha06
November 13, 2024
androidx.compose.material:material-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits.
Compose Material3: v1.4.0-alpha04
November 13, 2024
androidx.compose.material3:material3-*:1.4.0-alpha04 is released. Version 1.4.0-alpha04 contains these commits.
Behavior Changes
- Revert color changes introduced in aosp/3212478 to
iconButtonColors,iconToggleButtonColors,outlinedIconButtonColors,outlinedIconToggleButtonColorsandoutlinedIconToggleButtonBorder. Moved the now-reverted behavior into a new set of functions callediconButtonVibrantColorsand so forth to emphasize the high contrast colors being returned. (Iffd8d)
New Features
- Introduce
VerticalDragHandlecomponent (I6c770)
API Changes
- Rename
DismissibleModalWideNavigationRailDefaultstoModalWideNavigationRailDefaults. (I8e877) - Add
NavigationBarComponentOverrides. (I8a3f3) - Add
NavigationRailComponentOverride. (I83e13) - Introduce
WideNavigationRailStateto handle collapsing/expanding of the rail, allowModalWideNavigationRailto be dismissible and deleteDismissibleModalWideNavigationRail. (I88568) - Add xSmall, medium, large, and xLarge size defaults into toggle button defaults. (Ie95d1)
- Add xSmall, medium, large, and xLarge size defaults into button defaults. (If8b6d)
Bug Fixes
- Filter chip trailing icon color has been updated from Primary to
OnSurfaceContainer, per spec. All chip outline colors have been updated from Outline to Outline Variant, per spec. (I68bd4)
Compose Material3 Adaptive: v1.1.0-alpha07
November 13, 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 is released. Version 1.1.0-alpha07 contains these commits.
API Changes
- Remove drag handle implementation in the adaptive library and encourage people to use the M3 version of it. And at the same time introduce a modifier to provide pane expansion dragging ability to a provided drag handle composable. Also hide
DraggableStateas an implementation detail so we can change it later if needed. (Ib50cd) - Moves the entry point of pane motion customization from the scaffold functions to
AnimatedPaneaccording to UXR feedback. (I10f72) - Introduce fling support and custom animation spec for pane expansion. (Ie207d, b/362584341)
Bug Fixes
- Fix predictive back issues on cancellation. (36a3e0a), (b/369899645)
Compose Runtime: v1.8.0-alpha06
November 13, 2024
androidx.compose.runtime:runtime-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits.
API Changes
- Changes to the
PausableCompositionAPI. These breaking changes with respect to previous releases of 1.8.0-alpha (since 1.8.0-alpha02) but, as these are new APIs in 1.8.0, backwards compatibility is not maintained as the APIs are still in alpha. (I39819) - Adds tooling APIs to observe the creation of new compositions within a Recomposer (Iaeb7e)
- Added
snapshotId, of typeLong, toSnapshotand deprecatedid. The ID of a snapshot changed from aIntto aLongto avoid the snapshot ID from overflowing on systems with very high frame rates and long running animations. The type was made expect/actual to allow this type to beInt, or other type, on platforms that don't have a nativeLongtype. Platforms that do not have a nativeLong, such as JavaScript, should avoid high frame rates (over 1000 FPS) which would cause an overflow forIntapproximate every 24 days. (I38ac3, b/374821679)
Bug Fixes
- Fixed
providesDefaultfor a singleprovides. (aosp/3318540 b/374263387) - Optimize
ChangeList. (3318538)
Compose UI: v1.8.0-alpha06
November 13, 2024
androidx.compose.ui:ui-*:1.8.0-alpha06 is released. Version 1.8.0-alpha06 contains these commits.
API Changes
- Adds
stylusHoverIconmodifier. (Iff20a, b/331289114) - Changes Autofill manager to be an interface. (I84914, b/376080755)
- Adds
requestFocus(FocusDirection)to bothfocusRequesterandFocusTargetModifierNodeto allow focusing with a specific direction. (I5d9ec, b/245755256) FocusProperties.enterandFocusProperties.exithave been replaced withonEnterandonExit, using a receiver scope instead ofFocusDirectionparameter. (I6e667)- Adding autofill support in text toolbar. (Ie6a4c)
- API changes to
Modifier.focusRestorer()(I99c03):- parameter name changed to 'fallback'
- parameter is now a
FocusRequesterand not a lambda - parameter is now non-NULL with Default as the default value
- Removing
@Experimentalannotation from autofill manager interface. The feature is still WIP targeting this release but we do not want to introduce @Expemiental API (Id8398) LocalHapticFeedbacknow provides a defaultHapticFeedbackimplementation when the Vibrator API indicates that haptics are supported. The following have been added to theHapticFeedbackType-Confirm,ContextClick,GestureEnd,GestureThresholdActivate,Reject,SegmentFrequentTick,SegmentTick,ToggleOn,ToggleOff,VirtualKey. Wear Compose long-clickable components such asButton,IconButton,TextButton, andCardnow perform theLONG_PRESShaptic when a long-click handler has been supplied. (I5083d)- Removes
OverscrollConfigurationandLocalOverscrollConfiguration, and addsrememberPlatformOverscrollFactoryto create an instance of / customize parameters of the default overscroll implementation. To disable overscroll, instead ofLocalOverscrollConfiguration provides null, useLocalOverscrollFactory provides null. To change the glow color / padding, instead ofLocalOverscrollConfiguration provides OverscrollConfiguration(myColor, myPadding), useLocalOverscrollFactory provides rememberPlatformOverscrollFactory(myColor, myPadding). (Ie71f9, b/255554340, b/234451516) - Removed the experimental
GlobalAssertionsAPI. It's intended use was to run accessibility checks, seeenableAccessibilityChecks()for that purpose instead. (I59322)
Exifinterface: v1.4.0-alpha01
November 13, 2024
androidx.exifinterface:exifinterface:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
New Features
- Add support for reading XMP data from HEIF images.
- Add support for reading Exif and XMP from AVIF images.
API Changes
- Indicate that the
locationparam forsetGpsInfois@Nullableand that passingnullwill result in a No-Op. (If924c, b/236484611)
Bug Fixes
- Continue parsing after encountering an invalid IFD offset (b/264729367).
- Handle WebP images which incorrectly contain a JPEG APP1 marker before their Exif data (b/281638358).
- Ensure XMP changes in JPEGs with a separate XMP segment are stored into the same separate XMP segment by
saveAttributes(), instead of being written to TIFF/Exif tag 700 which is not supported by the XMP spec and where many tools won't find them. - Avoid duplicating XMP data from a separate segment into the TIFF preview directory when saving (b/309843390).
- Improve precision of double to rational conversions. (b/312680558).
- Accept rational format (x/y) to
setAttributefor 'legacy' rational tags which are auto-converted to decimal when returned fromgetAttribute(b/312680558). - Ensure XMP data added to a JPEG image which doesn't already contain XMP is written to a separate segment, as specified by the XMP spec.
ExifInterfaceis documented to prefer the XMP in the Exif 700 tag in JPEG images (violating the spec), so this behavior is preserved when reading/writing images with existing XMP data. - Fix corrupted output when writing WebP images with a height or width greater than 8191px (b/342697059).
- 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(I5cd0f, 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. (If6b4c, b/345472586)
Lifecycle: v2.9.0-alpha07
November 13, 2024
androidx.lifecycle:lifecycle-*:2.9.0-alpha07 is released. Version 2.9.0-alpha07 contains these commits.
Kotlin Multiplatform Compatibility
- Lifecycle
ViewModel SavedStateis now KMP compatible. This allows you to useSavedStateHandlein common code. (Ib6394, b/334076622)
KotlinX Serialization Support
With the support of KotlinX Serialization added in SavedState
1.3.0-alpha05, we have introducedsaved, a lazy property delegate, to make it easy to store@Serializableclasses in aSavedStateHandleand have those classes automatically be restored across process death and recreation. Please note thesaveddelegate is lazy and will not call theinitlambda or save anything into theSavedStateHandleuntil it is accessed. (I47a88, b/376026744)@Serializable data class Person(val firstName: String, val lastName: String)class MyViewModel(handle: SavedStateHandle) : ViewModel() {
var person by handle.saved { Person("John", "Doe") }fun onPersonChanged(person: Person) { this.person = person }}
API Changes
- Add
getMutableStateFlowtoSavedStateHandleto return aMutableStateFlow. This new function is key-exclusive and cannot be used withgetLiveData. An exception will be thrown if you try to use both to access the same state. (I04a4f, b/375408415)
Navigation: v2.9.0-alpha03
November 13, 2024
androidx.navigation:navigation-*:2.9.0-alpha03 is released. Version 2.9.0-alpha03 contains these commits.
New Features
- Navigation type safety now supports value classes as a route or as the argument type of a route. (I9344a, b/374347483)
Bug Fixes
- Fixed a
ConcurrentModificationExceptionthat could occur when aLifecycleObserverattached to aNavBackStackEntrytriggers a change to the back stack when the hostLifecycleOwnersuch as the containing Activity or Fragment changes its lifecycle state. (Ia9494)
Navigation: v2.8.4
November 13, 2024
androidx.navigation:navigation-*:2.8.4 is released. Version 2.8.4 contains these commits.
New Features
- From Navigation
2.9.0-alpha03: Navigation type safety now supports value class as route or as the argument type of a route (I9344a, b/374347483)
Bug Fixes
- From Navigation
2.9.0-alpha01: Attempting to use aNavControllerthat has been previouslyDESTROYEDwill now cause anIllegalStateException. (I520da, b/369616172)
Paging: v3.3.4
November 13, 2024
androidx.paging:paging-*:3.3.4 is released. Version 3.3.4 contains these commits.
Bug Fixes
- Android unit tests pulling in Paging 3.3 or later will no longer throw an error such as
Method isLoggable in android.util.Log not mocked. (Ia9400, b/331684448)
pdf: v1.0.0-alpha04
November 13, 2024
androidx.pdf:pdf-viewer:1.0.0-alpha04 and androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.
Expanded Compatibility
- The
PDFViewerlibrary now supports Android versions S, T, U, and V. This enhanced compatibility is linked to the SDK extension 13 update.
API Changes
- Added minimum
SdkExtensionconstraint toPdfViewerFragment. (I922af) - Exposing new apis for PDF Viewer library. (I0af57)
Bug Fixes
- Crash fix for process death issue.
- UI fixes related to the password dialog.
- Accessibility fixes for
findInFileViewandFastscrollView.
Ongoing Development
- We are actively working on incorporating Jetpack Compose into the library.
privacysandbox sdkruntime: v1.0.0-alpha15
November 13, 2024
androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha15, androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha15, and androidx.privacysandbox.sdkruntime:sdkruntime-provider:1.0.0-alpha15 are released. Version 1.0.0-alpha15 contains these commits.
New Features
- Supported
LayoutInflatercreation fromSdkContextin backcompat mode. - Supported
DisplayContext/WindowContextcreation fromSdkContextin backcompat mode.
privacysandbox ui: v1.0.0-alpha11
November 13, 2024
androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11, and androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11 are released. Version 1.0.0-alpha11 contains these commits.
New Features
- Introduced an experimental API,
DelegatingSandboxedUiAdapter, which extendsSandboxedUiAdapterand can be used to delegate between differentSandboxedUiAdapters. When this adapter is set on a client container such asSandboxedSdkView, the delegating adapter can change the delegate adapter usingupdateDelegate. This will close the existing session and create a newSandboxedUiAdapter.Sessionfor the new delegate. This allows for seamless transitions between delegates. (I5f1c5, I9e3e7) - Added better
SandboxedSdkViewsupport for padding. (Ic414f)
Bug Fixes
- Fixed
NullPointerExceptionthat could occur on a global layout event.
Savedstate: v1.3.0-alpha05
November 13, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.
KotlinX Serialization Support
SavedStatenow includes KotlinX Serialization support. You can convert a class annotated with@Serializableto aSavedStateusing the methodsencodeToSavedStateanddecodeFromSavedState. The returnedSavedStateis a regularBundleon Android and can be used by any API that accepts aBundle. (I6f59f, b/374102924)@Serializable data class Person(val firstName: String, val lastName: String)fun main() {
val person = Person("John", "Doe")
val encoded: SavedState = encodeToSavedState(person)
val decoded: Person = decodeFromSavedState(encoded)
}
We also have included
saved, a lazy property delegate, to make it easy to store@Serializableclasses in aSavedStateRegistryOwner(e.g.,ComponentActivity,Fragment, etc.) and have those classes automatically be restored across process death and recreation. Please note thesaveddelegate is lazy and will not call theinitlambda or save anything into theSavedStateRegistryuntil it is accessed. (I66739, b/376027806)@Serializable data class Person(val firstName: String, val lastName: String)class MyActivity : ComponentActivity() {
var person by saved { Person("John", "Doe") }override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") }}
There is a similar
savedproperty delegate forSavedStateHandleadded in Lifecycle2.9.0-alpha07.
API Changes
- Add
toMaptoSavedState, allowing anySavedStateto be converted to a regularMap(shallow copy). (I487b9, b/334076622) SavedStateKMP now supports arrays. (Ic0552, b/334076622)
Viewpager: v1.1.0-rc01
November 13, 2024
androidx.viewpager:viewpager:1.1.0-rc01 is released with no changes since the beta version. Version 1.1.0-rc01 contains these commits.
Wear Compose: v1.5.0-alpha06
November 13, 2024
androidx.wear.compose:compose-*:1.5.0-alpha06 is released. Version 1.5.0-alpha06 contains these commits.
API Changes
- We have simplified the
ScrollInfoProviderforPagerStateby removing theorientationparameter, which is no longer needed. The new behavior is forTimeTextto remain in place for both horizontal and vertical paging. (I71767) TransformingLazyColumnwas introduced in earlier releases. We are now removing Wear'sLazyColumnaliases (which were forwarding toTransformingLazyColumn) in favor of the new nameTransformingLazyColumn. We have also removedTransformingLazyColumnVisibleItemInfo'sheightproperty - please usemeasuredHeightinstead. (I0ea1e)- We have changed the
PagerDefaults.snapFlingBehaviorsnapAnimationSpecfrom aTweento aSpringspec.(I10d02, b/349781047, b/303807950) - We have promoted the
LocalReduceMotionCompositionLocalto stable (Ia6f32)
Bug Fixes
- We have updated
Modifier.rotaryScrollableto usefocusTargetWithSemanticsfor better semantics support in rotary. (Ief0a0) - We have updated the minimum API dependency to 1.7.4 for Compose libraries. (I88b46)
- We have disabled width morphing in
TransformingLazyColumnas a workaround to a clipping bug. (I3dfb8) - We have fixed a bug that caused disappearing items after overscroll with
TransformingLazyColumn(Id7668) - We have added
LazyLayoutSemanticsforTransformingLazyColumn. (Ia8f56)
Wear Compose Material3: v1.0.0-alpha29
November 13, 2024
androidx.wear.compose:compose-material3:1.0.0-alpha29 is released. Version 1.0.0-alpha29 contains these commits.
API Changes
- We have updated
TimeTextto provide default content that shows the time. (Id23b3) - We have simplified the
ScrollInfoProviderforPagerStateby removing theorientationparameter, which is no longer needed. The new behavior is forTimeTextto remain in place for both horizontal and vertical paging. (I71767) LocalHapticFeedbacknow provides a defaultHapticFeedbackimplementation when the Vibrator API indicates that haptics are supported. The following have been added to theHapticFeedbackType-Confirm,ContextClick,GestureEnd,GestureThresholdActivate,Reject,SegmentFrequentTick,SegmentTick,ToggleOn,ToggleOff,VirtualKey. Wear Compose long-clickable components such asButton,IconButton,TextButton, andCardnow perform theLONG_PRESShaptic when a long-click handler has been supplied. (I5083d)
Bug Fixes
- We have updated the motion for Confirmations. (I04bff)
- We have updated the minimum API dependency to 1.7.4 for Compose libraries. (I88b46)
- New motion was added for the
OpenOnPhonedialog. (I1e10a) - We have fixed a bug in the
LevelIndicatorso that it is now correctly displayed with the level is zero. (Ie95a4) - We have updated the
HorizontalPageIndicatorandVerticalPageIndicatoranimations. (I5c8f3) - We have added a shrink-to-dot animation to the indeterminate
ArcProgressIndicator. (I9fd51)
wear protolayout: v1.3.0-alpha04
November 13, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits.
New Features
- Updated Material3 shape to be a class with fields that hold the actual Corner value, same as in Wear Compose. (Ied8cd)
- Updated Material3 colors to include
ColorSchemeconcept, same as in Wear Compose. (If645e) - Add multiple commonly used matcher to the testing library. (Ie5cec)
Wear Tiles: v1.5.0-alpha04
November 13, 2024
androidx.wear.tiles:tiles-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.
Webkit: v1.13.0-alpha01
November 13, 2024
androidx.webkit:webkit:1.13.0-alpha01 is released. Version 1.13.0-alpha01 contains these commits.
New Features
- Add experimental
WebViewasync startup API. (I94b8a) - URL Prefetching in Profile: Introduced a new API in Profile to allow developers to trigger URL prefetching. Prefetch Clearing: Added an API to clear ongoing prefetches. (I42c5c)
API Changes
- Deprecate
WebView.startSafeBrowsing. (If5626)