2023-12-13
Activity: v1.8.2
December 13, 2023
androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2, and androidx.activity:activity-ktx:1.8.2 are released. Version 1.8.2 contains these commits.
Bug Fixes
- Fixed the extra passed to the Photo Picker Activity Contract's
ACTION_SYSTEM_FALLBACK_PICK_IMAGESto correctly pass it theEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXkey, rather than using the extra with the key"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. (I96a00)
Annotation: v1.7.1
December 13, 2023
androidx.annotation:annotation-*:1.7.1 is released. Version 1.7.1 contains these commits.
Bug Fixes
- Use
compilescope when inserting default platform dependency. (I4958f)
Annotation-Experimental: v1.4.0-beta01
December 13, 2023
androidx.annotation:annotation-experimental:1.4.0-beta01 is released. There are no changes since the previous release.
CameraX: v1.3.1
December 13, 2023
androidx.camera:camera-*:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
Improved the ProcessCameraProvider#bindToLifecycle() performance. The major change is to optimize the process of identifying the most suitable size combinations for UseCases. The optimal results vary based on the specific UseCase combinations and the number of supported output sizes for the target devices. (I454f2)
Here are some reference results for various scenarios:
Four
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: Approximately 430 ms to 60 ms
- Samsung Galaxy S23 Ultra: Approximately 540 ms to 45 ms
- Samsung A53 5G: Approximately 115 ms to 70 ms
Three
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: Approximately 9 ms to 7 ms
- Samsung Galaxy S23 Ultra: Approximately 6 ms to 5 ms
- Samsung A53 5G: Approximately 32 ms to 12 ms
Added Snapdragon 480 to the
CameraUseInconsistentTimebaseQuirk. This fixes an issue on Android 12 for devices using this chipset where the audio in recordings is offset by the amount of time the device is in a suspended state. (I58010)
CameraX: v1.4.0-alpha03
December 13, 2023
androidx.camera:camera-*:1.4.0-alpha03 is released. Version 1.4.0-alpha03 contains these commits.
New Features
- Added
CameraInfo.mustPlayShutterSoundto provide the information of whether a shutter sound must be played in accordance to regional restrictions. (Ifda84) - Added
OnImageCapturedCallback.onCaptureStartedandOnImageSavedCallback.onCaptureStartedfor notifying when the camera has started exposing a frame. It's recommended to play the shutter sound or the shutter animation at this point. (Ic49b3) - Added Screen Flash feature support in CameraX for front camera image capture. CameraX will take care of the framework-side API handling and sync the timing with application's UI changes as required (e.g. AE precapture trigger after app screen color/brightness change). Apps will only need to add their UI side implementations in the
ScreenFlashUiControlinterface provided to CameraX. (I8ae84) - Added Screen Flash feature UI-side implementation support in CameraX. Apps will be able to get a basic
ImageCapture.ScreenFlashUiControlimplementation fromPreviewViewor the newly addedScreenFlashViewwhich will add a mono-color overlay view and maximize screen brightness during screen flash photo capture. (I1810e)
API Changes
- Supports new Extensions features(postview and capture process progress): Added
ImageCapture#getImageCaptureCapabilities()APIs for apps to query the capabilities of the postview and capture process progress callback. Apps can enable the postview using theImageCapture.Builder#setPostviewEnabled(). The postview size can be selected usingImageCapture.Builder#setPostviewResolutionSelector(). When invokingtakePicture(),onPostviewBitmapAvailableandonCaptureProcessProgressedcan be implemented inOnImageSavedCallbackorOnImageCapturedCallbackto get the postview and process progress notification if supported. (I5cd88) - APIs for calculate coordinates transformation from sensor to the current buffer, with a flag indicating whether the Surface contains the camera orientation info. (I59096)
- Expose the API to query
PreviewCapabitlityin PreviewUseCase. (Ie5b6c) - Added APIs to support more qualities for
VideoCapture.Recorder.Builder#setVideoCapabilitiesSource(int)can be used withVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESto create aRecorderinstance which supports more qualities thanVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. A common use case is when the application strives to record UHD video whenever feasible, but the device'sCamcorderProfiledoes not include a UHD settings, even though the codec is capable of recording UHD video. (Iedbe2, b/263961771) - Add
ImageAnalysisoutput format getter/setter toCameraController. (I9a96c, b/308240643)
Bug Fixes
- From Camera
1.3.1: Improved theProcessCameraProvider#bindToLifecycle()performance. The major change is to optimize the process of identifying the most suitable size combinations forUseCases. The optimal results vary based on the specificUseCasecombinations and the number of supported output sizes for the target devices. (I454f2) - Allow the use of
VideoCapturewhen Extensions are enabled. (I91f32) - Fixed large captured JPEG image issue on Samsung A71 and M51 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 extreme file size. Those redundant 0's padding data will be removed to make the captured images have normal image file sizes. (I01afc, b/288828159)
- Disable
ImageAnalysissupport on Pixels to avoid the bug on Pixel that returns the non-emptyImageAnalysissupported sizes accidentally. (I7ec31) - Fixed performance issue where CPU loading and power consumption increased when Extensions are enabled. (Ibdccb)
- Added Snapdragon 480 to the
CameraUseInconsistentTimebaseQuirk. This fixes an issue on Android 12 for devices using this chipset where the audio in recordings is offset by the amount of time the device is in a suspended state. (I58010)
Car App: v1.4.0-rc02
December 13, 2023
androidx.car.app:app-*:1.4.0-rc02 is released. Version 1.4.0-rc02 contains these commits.. Minor fixes only
Bug Fixes
- Update javadoc on
ConversationItemto state that messages should be sorted in order from oldest to newest (I77a2a) - Update
ListTemplatetruncation logic to remove oldest messages fromConversationItem(Ie0a61)
Compose Animation: v1.6.0-beta03
December 13, 2023
androidx.compose.animation:animation-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.
API Changes
- Temporarily removed
scaleInToFitContainerandscaleOutToFitContainerfromAnimatedContentTransitionScopeas they require lookahead. They will be available when lookahead is on by default or opted-in in future releases.
Compose Foundation: v1.6.0-beta03
December 13, 2023
androidx.compose.foundation:foundation-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.
Bug Fixes
- Fix crash that impacted very large text measured with infinite constraints. (I1a7df, b/312294386)
PlatformImeOptionsis now a concrete class instead of an interface. (If40a4)
Compose Material: v1.6.0-beta03
December 13, 2023
androidx.compose.material:material-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.
Compose Material 3: v1.2.0-beta01
December 13, 2023
androidx.compose.material3:material3-*:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.
API Changes
- Mark
TabIndicatorScopeas experimental. (I45c88) - Removing deprecated experimental APIs for tooltip. (I438cb)
- Change new
TabRowoverloads to not use subcompositions. This results in a different way to build theTabRowindicators with custom modifiers provided. (Ife741) - Deprecate
DismissDirectionandDismissValueAPI's. These have been merged toSwipeToDismissValue, whose values indicate both position and direction ofSwipeToDismissBox.DismissState.progressis now marked as aFloatRangebetween0.0and1.0.DismissStatedeprecated Saver and Constructor have now been removed.SwipeToDismisscomponent, state and defaults object have been remarked as experimental. (Ib54f2)
Bug Fixes
- The default indicator for
PullToRefreshis now an open arrowhead instead of a solid triangle. (I67be3)
Compose Material3 Adaptive: v1.0.0-alpha03
December 13, 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03, and androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.
API Changes
- Change scaffold roles to aliases of
ThreePaneScaffoldRole. (I65bd1) - Create a base class for scaffold roles (I4784d)
- Remove unnecessary parameter from
AnimatedPane's content (Ibc73b) - Renames
collectWindowSizeAsStateand returns raw values instead (I480f4)
Compose Material3 Adaptive Navigation Suite: v1.0.0-alpha02
December 13, 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02, and androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
New Features
- Add a 'None'
NavigationSuiteType(If8cb1, b/313688598)
Bug Fixes
- Fix navigation component filling entire screen when root surface has
modifier.fillMaxSize. (c9cf250, b/312664933)
Compose Runtime: v1.6.0-beta03
December 13, 2023
androidx.compose.runtime:runtime-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.
Compose UI: v1.6.0-beta03
December 13, 2023
androidx.compose.ui:ui-*:1.6.0-beta03 is released. Version 1.6.0-beta03 contains these commits.
New Features
- It is now possible for a
LayoutCoordinatesto be detached without the node being detached. Guard against that in the compose Layout Inspector (If693)
Bug Fixes
PlatformImeOptionsis now a concrete class instead of an interface. (If40a4)- Fixed extra downstream recompositions caused by
LocalSoftwareKeyboardControllerandLocalTextInputServicebeing provided new values every time a root recomposed. (I42190, b/310510985)
Core Performance: v1.0.0-rc01
December 13, 2023
androidx.core:core-performance:1.0.0-rc01, androidx.core:core-performance-play-services:1.0.0-rc01, and androidx.core:core-performance-testing:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.
New Features
- Core Performance - Updated library implementation. (
DevicePerformancegeneric implementation). - Core Performance Play Services - Initial library implementation. (Google specific
DevicePerformanceimplementation). - Core Performance Testing - Initial library implementation. (contains test doubles for Core Performance).
API Changes
- Initial RC release of
DevicePerformancespecific API.
credentials: v1.3.0-alpha01
December 13, 2023
androidx.credentials:credentials:1.3.0-alpha01 and androidx.credentials:credentials-play-services-auth:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.
Bug Fixes
- The minimum APK version needed for Google Play services is now 2023 v08.23 (APK version APK version 230815045), and this check is baked into the library. (aosp/2856137)
- Fix the already-resume error caused by race condition of multiple in-flight requests (Ic3567)
Emoji2: v1.5.0-alpha01
December 13, 2023
androidx.emoji2:emoji2-*:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
New Features
emoji2-bundledcontains an updated emoji font to support Emoji 15.1.
API Changes
- Add executors to control the callback thread for
InitCallback. (I32b67) BundledEmojiCompatConfignow takes an executor to control loading threads. (I00e81)
Exifinterface: v1.3.7
December 13, 2023
androidx.exifinterface:exifinterface:1.3.7 is released. Version 1.3.7 contains these commits.
Bug Fixes
- Throw an exception from
ExifInterface.saveAttributes()when trying to write a JPEG APP1 segment that's too large (previously we would write an invalid APP1 segment with an incorrect, truncated, length:(b/263747161)). Continue parsing after encountering an invalid IFD offset (previously parsing would halt immediately, which could result in incorrect values being returned: (b/264729367)).
Graphics Core: v1.0.0-beta01
December 13, 2023
androidx.graphics:graphics-core:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
New Features
- Introduced a new
LowLatencyCanvasViewAPI to support low latency rendering with Android’s 2d graphics APIs (Canvas + Paint) within the View hierarchy. - Introduced
CanvasBufferedRendererAPI to support hardware accelerated Canvas rendering to aHardwareBuffer. This can be used to draw a portion of a user interface into a buffer that can be converted to a Bitmap using theBitmap.wrapHardwareBufferAPI.
API Changes
- Updated
CanvasBufferRenderer#releaseBufferAPI to have an optional fence parameter. Updated documentation to describe whenRenderResult#fenceis returned. (If1ea7) - Add
drawmethod toRenderRequestto support leveraging coroutines to schedule draw requests. Renamed the previous draw method that consumed an executor todrawAsync. RefactoredisClosed()method to a property. (I5bff6) - Exposed buffer format parameter to
CanvasFrontBufferRendererto map directly toCanvasBufferedRenderer.Builder#setBufferFormat(I0f272) - Created
CanvasBufferedRendererAPI to handle hardware accelerated canvas rendering into aHardwareBuffer. This provides a backported implementation to Android Q alongside configuration of a swapchain depth ofHardwareBuffers.ColorSpaceconfiguration is still limited to Android U+ however the compat implementation provides no-op behavior on the developers' behalf. (I9b1d8) - Add
setFrameRate/clearFrameRateAPIs toSurfaceControlCompat.Transactionin order to control the frame rate alongside the change strategy for seamless or default transitions. (I6045c) - Lowered required API level for
setDataSpaceto Android Q from Android T. (I59c34) - Added
onBufferReleasedcallback toGLFrameBufferRendererAPI to give consumers the opportunity to clean up state when a buffer is no longer being presented (I8a4e2) - Create
LowLatencyCanvasViewto support a simple use case of rendering content with low latency that gets synchronized with the View hierarchy rendering. This mitigates the complexities associated withSurfaceViewmanagement by internally managing theSurfaceViewinstance that gets translated off/on screen for synchronized and low latency rendering respectively. (I9253b) - Added colorspace configuration support to
CanvasFrontBufferedRendererAPI. Updated multibuffered callbacks to also include the back bufferedSurfaceControl(I24bd9)
Graphics Shapes: v1.0.0-alpha04
December 13, 2023
androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04, and androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.
New Features
- This release contains several API changes, as well as bug fixes.
- Many of the API changes make the Shapes library KMP-friendly. This makes it easier to call from non-Android code (such as Android-agnostic Compose code). For example, there are no Android types in the API, such as the previous PointF, Matrix, and Path types.
- There were also several changes made to APIs and implementation for performance reasons, specifically to minimize object allocation (and collection). For example, the move from PointF to separate Float parameters avoids allocating many temporary PointF structures to hold those vertices.
API Changes
- Replaced
Morph.asMutableCubicswith a function to iterate over theMutableCubics. ChangedPointTransformerfunctional interface, now it takes x and y coordinates of aPointand returns aTransformedResult(which is constructed with the transformed x & y coordinates) (I6719e) - Removed the public
Cubicconstructor and made it a factory function. (I409ce) - Adding Android-specific transform and drawing APIs (I079f6, b/292289543)
- Eliminate android dependencies (Iadc1c, b/292289543)
- Anchor and control property names are more sensible now (If13bd, b/294562941)
PointFparameters changed toFloatpairs (Id4705, b/276466399, b/290254314)progressis now passed toMorphdrawing commands directly (Icdca2)
Bug Fixes
- Fixed bug when creating big shapes. (I4fd66, b/313497325)
Health Services Client: v1.1.0-alpha02
December 13, 2023
androidx.health:health-services-client:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
API Changes
- Use a single source of truth for supported
ExerciseEvents. (I03308)
Bug Fixes
- Minor bug fixes and documentation improvements.
Hilt: v1.2.0-alpha01
December 13, 2023
androidx.hilt:hilt-*:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.
API Changes
- Add overloaded
hiltViewModel()andhiltNavGraphViewModels()functions for assisted injection support. (Ieb98d)
Lifecycle: v2.7.0-rc02
December 13, 2023
androidx.lifecycle:lifecycle-*:2.7.0-rc02 is released. Version 2.7.0-rc02 contains these commits.
Bug Fixes
- Fixed an issue where
SavedStateHandlewould not properly restore customParcelableclasses after process death and recreation. Due to type information that is lost by the Android framework, arrays of custom Parcelables require additional work (manually creating a typed array of the right type) and the documentation onget,getLiveData, andgetStateFlownow specifically calls this limitation out. (I0b55a)
Media2: v1.3.0-rc01
December 13, 2023
androidx.media2:media2-*:1.3.0-rc01 is released with no changes from Media2 1.3.0-beta01. Version 1.3.0-rc01 contains these commits.
Navigation: v2.7.6
December 13, 2023
androidx.navigation:navigation-*:2.7.6 is released. Version 2.7.6 contains these commits.
Bug Fixes
- The
NavGraphequals()function now correctly considers the nodes of the other graph instead of just the calling one. This will ensure that graphs that have nodes with different ids will no longer be considered equal (I401cb, b/311414915)
Security-App-Authenticator: v1.0.0-alpha03
December 13, 2023
androidx.security:security-app-authenticator:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
API Changes
- Added support for use cases where the UID / PID of the package to be verified is not available; the APIs now support cases such as
startActivityForResultand activities / receivers where the calling app's identity is shared via[Activity|Broadcast]Options#setShareIdentityEnabled. - The behavior of
[check|enforce]CallingAppIdentity(String, String)has been updated to support these new use cases; these methods will no longer default to usingBinder#getCalling[Uid|Pid]but will instead skip verification of the calling package's UID if it is not explicitly provided. (I1851b)
Security-App-Authenticator-Testing: v1.0.0-alpha02
December 13, 2023
androidx.security:security-app-authenticator-testing:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.
Bug Fixes
- Updated test for new API behavior that no longer assumes
Binder#getCalling[Uid|Pid]when not provided to the[check|enforce]CallingAppIdentityAPIs. (I1851b)
Test Uiautomator: v2.3.0-beta01
December 13, 2023
androidx.test.uiautomator:uiautomator:2.3.0-beta01 is released. Version 2.3.0-beta01 contains these commits.
API Changes
- Renamed the
UiObject2percentage-based margin methods tosetGestureMarginPercentageandsetGestureMarginsPercentagefor consistency (I24435)
Bug Fixes
- Improved the error thrown when a secondary display is not found or not accessible (116b23)
Versionedparcelable: v1.2.0-rc01
December 13, 2023
androidx.versionedparcelable:versionedparcelable:1.2.0-rc01 is released. There are no changes since the previous beta release.
Wear Compose: v1.3.0-beta02
December 13, 2023
androidx.wear.compose:compose-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.
Bug Fixes
- We have restored the intended swipe motion in
BasicSwipeToDismissBox. This had been altered in a previous release, such that the slide part of the transition occurred while the finger was touching the screen. (Id8e76)
wear protolayout: v1.1.0-alpha04
December 13, 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
New Features
VersionInfoclass not implements theComparableinterface. (I8d13c)- Renderer now supports
TEXT_OVERFLOW_ELLIPSIZEoption. (I7f085)
API Changes
- Text overflow option
TEXT_OVERFLOW_ELLIPSIZE_ENDis now deprecated. Please use the new APITEXT_OVERFLOW_ELLIPSIZEwith very similar behavior. (I822d8) - Following other Material components and Compose initiatives, we have now turned off font padding by default on all Text elements. Additionally,
AndroidTextStyleand related setters have been removed from the public API. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hiddenis replaced withModifier.visible(I56902)FontStyle#setSizesnow accepts int instead ofSpProparguments. (I02b37)
Bug Fixes
- Throw an exception when encountering an Undefined or Unrecognized enum value. (I9d2cf)
- Refactor
DynamicTypeBindingRequest. (I27b57) - Invalidate the result of an expression when it yields an invalid numeric value (NaN or infinite) or throws an
ArithmeticException. (I681ae)
Wear Tiles: v1.3.0-alpha04
December 13, 2023
androidx.wear.tiles:tiles-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits.
Webkit: v1.10.0-beta01
December 13, 2023
androidx.webkit:webkit:1.10.0-beta01 is released. Version 1.10.0-beta01 contains these commits.
- No functional changes from
1.10.0-alpha01.