Skip to content

2023-12-13

Choose a tag to compare

@github-actions github-actions released this 13 Dec 18:37
· 109 commits to main since this release

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_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, 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 compile scope 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.mustPlayShutterSound to provide the information of whether a shutter sound must be played in accordance to regional restrictions. (Ifda84)
  • Added OnImageCapturedCallback.onCaptureStarted and OnImageSavedCallback.onCaptureStarted for 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 ScreenFlashUiControl interface provided to CameraX. (I8ae84)
  • Added Screen Flash feature UI-side implementation support in CameraX. Apps will be able to get a basic ImageCapture.ScreenFlashUiControl implementation from PreviewView or the newly added ScreenFlashView which 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 the ImageCapture.Builder#setPostviewEnabled(). The postview size can be selected using ImageCapture.Builder#setPostviewResolutionSelector(). When invoking takePicture(), onPostviewBitmapAvailable and onCaptureProcessProgressed can be implemented in OnImageSavedCallback or OnImageCapturedCallback to 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 PreviewCapabitlity in Preview UseCase. (Ie5b6c)
  • Added APIs to support more qualities for VideoCapture. Recorder.Builder#setVideoCapabilitiesSource(int) can be used with VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES to create a Recorder instance which supports more qualities than VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. A common use case is when the application strives to record UHD video whenever feasible, but the device's CamcorderProfile does not include a UHD settings, even though the codec is capable of recording UHD video. (Iedbe2, b/263961771)
  • Add ImageAnalysis output format getter/setter to CameraController. (I9a96c, b/308240643)

Bug Fixes

  • From Camera 1.3.1: 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)
  • Allow the use of VideoCapture when 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 ImageAnalysis support on Pixels to avoid the bug on Pixel that returns the non-empty ImageAnalysis supported 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 ConversationItem to state that messages should be sorted in order from oldest to newest (I77a2a)
  • Update ListTemplate truncation logic to remove oldest messages from ConversationItem (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 scaleInToFitContainer and scaleOutToFitContainer from AnimatedContentTransitionScope as 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)
  • PlatformImeOptions is 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 TabIndicatorScope as experimental. (I45c88)
  • Removing deprecated experimental APIs for tooltip. (I438cb)
  • Change new TabRow overloads to not use subcompositions. This results in a different way to build the TabRow indicators with custom modifiers provided. (Ife741)
  • Deprecate DismissDirection and DismissValue API's. These have been merged to SwipeToDismissValue, whose values indicate both position and direction of SwipeToDismissBox. DismissState.progress is now marked as a FloatRange between 0.0 and 1.0. DismissState deprecated Saver and Constructor have now been removed. SwipeToDismiss component, state and defaults object have been remarked as experimental. (Ib54f2)

Bug Fixes

  • The default indicator for PullToRefresh is 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 collectWindowSizeAsState and 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

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 LayoutCoordinates to be detached without the node being detached. Guard against that in the compose Layout Inspector (If693)

Bug Fixes

  • PlatformImeOptions is now a concrete class instead of an interface. (If40a4)
  • Fixed extra downstream recompositions caused by LocalSoftwareKeyboardController and LocalTextInputService being 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. (DevicePerformance generic implementation).
  • Core Performance Play Services - Initial library implementation. (Google specific DevicePerformance implementation).
  • Core Performance Testing - Initial library implementation. (contains test doubles for Core Performance).

API Changes

  • Initial RC release of DevicePerformance specific 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-bundled contains an updated emoji font to support Emoji 15.1.

API Changes

  • Add executors to control the callback thread for InitCallback. (I32b67)
  • BundledEmojiCompatConfig now 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 LowLatencyCanvasView API to support low latency rendering with Android’s 2d graphics APIs (Canvas + Paint) within the View hierarchy.
  • Introduced CanvasBufferedRenderer API to support hardware accelerated Canvas rendering to a HardwareBuffer. This can be used to draw a portion of a user interface into a buffer that can be converted to a Bitmap using the Bitmap.wrapHardwareBuffer API.

API Changes

  • Updated CanvasBufferRenderer#releaseBuffer API to have an optional fence parameter. Updated documentation to describe when RenderResult#fence is returned. (If1ea7)
  • Add draw method to RenderRequest to support leveraging coroutines to schedule draw requests. Renamed the previous draw method that consumed an executor to drawAsync. Refactored isClosed() method to a property. (I5bff6)
  • Exposed buffer format parameter to CanvasFrontBufferRenderer to map directly to CanvasBufferedRenderer.Builder#setBufferFormat (I0f272)
  • Created CanvasBufferedRenderer API to handle hardware accelerated canvas rendering into a HardwareBuffer. This provides a backported implementation to Android Q alongside configuration of a swapchain depth of HardwareBuffers. ColorSpace configuration is still limited to Android U+ however the compat implementation provides no-op behavior on the developers' behalf. (I9b1d8)
  • Add setFrameRate/clearFrameRate APIs to SurfaceControlCompat.Transaction in order to control the frame rate alongside the change strategy for seamless or default transitions. (I6045c)
  • Lowered required API level for setDataSpace to Android Q from Android T. (I59c34)
  • Added onBufferReleased callback to GLFrameBufferRenderer API to give consumers the opportunity to clean up state when a buffer is no longer being presented (I8a4e2)
  • Create LowLatencyCanvasView to support a simple use case of rendering content with low latency that gets synchronized with the View hierarchy rendering. This mitigates the complexities associated with SurfaceView management by internally managing the SurfaceView instance that gets translated off/on screen for synchronized and low latency rendering respectively. (I9253b)
  • Added colorspace configuration support to CanvasFrontBufferedRenderer API. Updated multibuffered callbacks to also include the back buffered SurfaceControl (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.asMutableCubics with a function to iterate over the MutableCubics. Changed PointTransformer functional interface, now it takes x and y coordinates of a Point and returns a TransformedResult (which is constructed with the transformed x & y coordinates) (I6719e)
  • Removed the public Cubic constructor 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)
  • PointF parameters changed to Float pairs (Id4705, b/276466399, b/290254314)
  • progress is now passed to Morph drawing commands directly (Icdca2)

Bug Fixes

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() and hiltNavGraphViewModels() 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 SavedStateHandle would not properly restore custom Parcelable classes 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 on get, getLiveData, and getStateFlow now 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 NavGraph equals() 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 startActivityForResult and 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 using Binder#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]CallingAppIdentity APIs. (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 UiObject2 percentage-based margin methods to setGestureMarginPercentage and setGestureMarginsPercentage for 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

  • VersionInfo class not implements the Comparable interface. (I8d13c)
  • Renderer now supports TEXT_OVERFLOW_ELLIPSIZE option. (I7f085)

API Changes

  • Text overflow option TEXT_OVERFLOW_ELLIPSIZE_END is now deprecated. Please use the new API TEXT_OVERFLOW_ELLIPSIZE with 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, AndroidTextStyle and related setters have been removed from the public API. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden is replaced with Modifier.visible (I56902)
  • FontStyle#setSizes now accepts int instead of SpProp arguments. (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.