Skip to content

Releases: mahozad/androidx-release-notes

2023-05-10

10 May 18:42

Choose a tag to compare

Activity: v1.8.0-alpha04

May 10, 2023

androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04, and androidx.activity:activity-ktx:1.8.0-alpha04 are released. This was released from an internal branch.

Note: This version will only compile against the Android 14 (Upside Down Cake) Beta 2 SDK.

Bug Fixes

Compose Animation: v1.5.0-alpha04

May 10, 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.

API Changes

  • ContentKey is now supported in AnimatedContent to allow more control for when transition should happen. (Ic069b)

Compose Foundation: v1.5.0-alpha04

May 10, 2023

androidx.compose.foundation:foundation:1.5.0-alpha04 and androidx.compose.foundation:foundation-layout:1.5.0-alpha04 are released. Version 1.5.0-alpha04 contains these commits.

API Changes

  • Added optimized TextStyle.merge(...) with full parameter list. (Iad234, b/246961787)
  • Introduce a SnapLayoutInfoProvider that can be used with LazyGridState. (I92134, b/269237141, b/260914964)
  • Experimental Modifier.animateItemPlacement() was added for the lazy staggered grids item scope. You can apply it on the items in order to achieve the automation position change/reordering animations. (I4b62d, b/257034719)
  • Promote GridCells.FixedSize to stable. FixedSize defines a LazyGrid where each cell takes exact size on cross axis, with the remaining space distributed by cross axis arrangement. (I8542f)
  • Introduced receiver scope PagerScope for Pager and an utility function for calculation a given page offset. (If2577)
  • Introduce the snapPositionalThreshold when creating a snap fling behavior. Use this parameter to specify a positional threshold to short snapping in Pager. (If8f7f)
  • Replaced SnapLayoutInfoProvider.calculateSnappingOffsetBounds with calculateSnappingOffset. In this new method we simply request the next offset to snap to. The calculation of the bounds should be performed at the implementation level as this may differ depending on how one needs snapping to happen. (I923a4)
  • LazyStaggeredGrid APIs have been promoted to stable. (I633a5)
  • Remove pageCount from Horizontal/VerticalPager. This should be provided at the state creation. Updated PagerState and rememberPagerState to accept the pageCount. (Ieb52d, b/266965072)
  • Remove pageCount from Horizontal/VerticalPager. This should be provided at the state creation. Updated PagerState and rememberPagerState to accept the pageCount. (Ifa3cb, b/266965072)
  • Introduce shortSnapVelocityThreshold in Pager's SnapFlingBehavior. (I7379e, b/275579012)
  • Adds a FlowRowScope and FlowColumnScope. (I54fe2)

Bug Fixes

  • Calls to get semantics on Text when constraints have minWidth and minHeight no longer crash. (Ibd072)
  • Fixed regression where keyboard wasn't showing for text fields inside dialogs not created by the Dialog composable. (I82551, b/262140644)

Compose Material: v1.5.0-alpha04

May 10, 2023

androidx.compose.material:material-*:1.5.0-alpha04 is released. Version 1.5.0-alpha04 contains these commits.

API Changes

  • We are moving the density dependency to the component level. This applies to the following components: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. Please use the new overload provided where density is a parameter. (I8fbd8)

Compose Material 3: v1.1.0

May 10, 2023

androidx.compose.material3:material3:1.1.0 and androidx.compose.material3:material3-window-size-class:1.1.0 are released. Version 1.1.0 contains these commits.

Major features of 1.1.0

New Material Design 3 components

Read more

2023-05-04

05 May 18:36

Choose a tag to compare

Test:

2023-05-02

03 May 18:36

Choose a tag to compare

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,
Read more

2023-04-25

25 Apr 15:36

Choose a tag to compare

Test:

2023-04-19

19 Apr 18:37

Choose a tag to compare

Activity: v1.7.1

April 19, 2023

androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1, and androidx.activity:activity-ktx:1.7.1 are released. Version 1.7.1 contains these commits.

Bug Fixes

  • The ReportFullyDrawExecuter no longer leaks when using ComponentActivity with ActivityScenario. (Id2ff2, b/277434271)

CameraX: v1.3.0-alpha06

April 19, 2023

androidx.camera:camera-*:1.3.0-alpha06 is released. Version 1.3.0-alpha06 contains these commits.

New Features

  • Concurrent camera is a new feature introduced from Android 11, which supports simultaneous streaming of camera devices, for example, it allows a device to have both the front and back cameras operating at the same time. CameraX currently only supports dual concurrent cameras, which allows two cameras operating at the same time, with at most two {@link UseCase}s bound for each. The max resolution is 720p or 1440p, more details in the following link, see CameraManager#getConcurrentCameraIds()
  • Introducing the new ResolutionSelector API which covers the following features:
    • Applications can specify aspect ratio and resolution strategies to select the best resolution for their needs.
    • All sizes and aspect ratio parameters are expressed in the coordinates of the camera device sensor.
    • Applications can implement a custom resolution filter to arrange the supported sizes in the desired order.
    • Applications can also enable high resolution capture to obtain higher resolution images. However, please note that using a high resolution may result in slower capture times.
    • Added VideoCapture mirroring APIs. Videos recorded by VideoCapture are not mirrored by default. However, the camera preview is mirrored on the front camera by default. VideoCapture mirroring APIs make it possible to align to the camera preview when using the front camera. There are three MirrorMode, OFF, ON and ON_FRONT_ONLY. To align to the camera preview, it is recommended to use ON_FRONT_ONLY which means that mirroring is not enabled for the rear camera but is enabled for the front camera.

API Changes

  • Exposed new ResolutionSelector API. Applications can specify aspect ratio and resolution strategies with fallback rules or a custom resolution filter to get the desired results. Applications can specify a flag to enable high resolution capture. This will allow CameraX to select higher resolutions when taking photos or videos. However, please note that using a high resolution may result in slower capture times. (Ibed95)
  • The FPS ranges supported by the AE algorithm can now be queried via CameraInfo#getSupportedFrameRateRanges(). (Iaa67f)
  • Consolidate the names of all frame rate methods into using 'FrameRate'. Correct the javadoc mistake in VideoCapture#getTargetFrameRate() (I83304)
  • Deprecated the legacy setTargetAspectRatio and setTargetResolution API. Please use the new ResolutionSelector API instead. (I542c3)
  • Added public APIs for concurrent dual camera, including
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() and ConcurrentCameraConfig, SingleCameraConfig and ConcurrentCamera (Iab1c1)
  • Make ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • Added VideoCapture mirroring APIs, including VideoCapture.Builder.setMirrorMode(int) and VideoCapture.getMirrorMode(). The APIs are useful for applications require the video recording to be consistent with common camera preview behavior, i.e. the rear camera preview is not mirrored but the front camera preview is mirrored. (I713b6, b/194634656)
  • Add setTargetFrameRate() API in the VideoCapture.Builder and getTargetFramerate() API in VideoCapture (I109d4)
  • Make SurfaceOutput extending Closable and hide SurfaceOutput.Event's public constructor. (I60ea8)
  • Added Recording.mute to dynamically mute or unmute an in-processing recording. RecordingStats will contain AudioStats.AUDIO_STATE_MUTED when the in-processing recording is muted explicitly. (Ie17fc)
  • Made #setEffects() parameter non-null. Add a #clearEffects() API for clearing effects. The app should call #clearEffects() to remove effects. (I4b4d9)
  • Add a second constructor for ViewfinderSurfaceRequest.Builder to take a builder for copy constructor (I621a7)

Bug Fixes

  • Fixed the issue where apps invoking Extensions API could crash when closing the camera (Ib27e5)
  • Fixed an issue where VideoCapture could not work with the front camera on some devices. For example, on Samsung Galaxy S23 and Xiaomi 2107113SG. (Ibec7e, b/270656244)
  • Fixed the issue where taking pictures using File in the external storage public folder will always fail in Android 10 or above. Please note that in Android 10, taking pictures using File in the external storage public folder also requires setting requestLegacyExternalStorage to true in application tag. (I11b2c)
  • Fixed a RejectedExecutionException crash in DefaultSurfaceProcessor. The crash could happen when VideoCapture is bound and the activity is paused. (Idb46a, b/273713906)

Compose Animation: v1.4.2

April 19, 2023

Read more

2023-04-12

12 Apr 18:39

Choose a tag to compare

Activity: v1.8.0-alpha03

April 12, 2023

androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03, and androidx.activity:activity-ktx:1.8.0-alpha03 are released. This was released from an internal branch.

Note: This version will only compile against the Android 14 Beta 1 SDK.

Core and Core-ktx: v1.12.0-alpha03

April 12, 2023

androidx.core:core:1.12.0-alpha03, androidx.core:core-ktx:1.12.0-alpha03, and androidx.core:core-testing:1.12.0-alpha03 are released. This was released from an internal branch.

Note: This version will only compile against the Android 14 Beta 1 SDK.

API Changes

  • Unhides NotificationCompat.TvExtender (aosp/01c67677e9310b2cf4c536d7e951e117d6cce64a)
  • Added public methods to access M3HCT parameters and turn M3HCT values into ARGB (aosp/06810598aa94bee731bbe0d277933b8b9614934e)
  • Added NotificationManager.getCurrentInterruptionFilter (aosp/b0c6940639e35371d212a7ebd7dbf01c14fc7710)
  • Added getCurrentInterruptionFilter to NotifManagerCompat (aosp/516143e05f824ff49bde3c0c97344a2924867d30)
  • Deprecated app.BundleCompat in favor of os.BundleCompat (aosp/bf6169fe9ee1113065d0cf380bd2e09f31ce0a40)
  • Added TestConsumer so developers can record values in a test. (aosp/f75a4913940e710842168c832a7f57c2dcae4fdf)
  • Added TestConsumer so developers can record values in a test.(aosp/67ad4e2c6488772b7c9a061ee6ca01bba23649f7)

Bug Fixes

  • Fixed a bug where unregisterGnssMeasurementsCallback() does not work properly below Android R. (aosp/c5a97c4ee956f87d229ec892f2b8849f392e956c)

credentials: v1.2.0-alpha03

April 12, 2023

androidx.credentials:credentials:1.2.0-alpha03 and androidx.credentials:credentials-play-services-auth:1.2.0-alpha03 are released. This was released from an internal branch.

Note: This version will only compile against the Android 14 Beta 1 SDK.

Compose Compiler: v1.4.5

April 12, 2023

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

New Features

Support for Kotlin 1.8.20

Bug Fixes

  • Propagate requirement of composable invoke operator override to classes and interfaces that are extending lambda interfaces with corresponding annotations.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Allows usage of @Composable annotation on getValue operator and marks generated getter for delegate as composable in IR to ensure it is correctly transformed later. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Fix internal compose runtime error (Expected applyChanges() to have been called) for inline functions.b/274786923
  • Avoid capturing ProcessCancelledException as it has a special meaning in the IDE.b/274725600

External Contribution

2023-04-05

05 Apr 18:41

Choose a tag to compare

Benchmark: v1.2.0-alpha13

April 5, 2023

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

API Changes

  • Added profile type parameter when generating baseline profiles to support upcoming startup profile feature (Ie20d7, b/275093123)
  • Added new experimental TraceMetric API for defining fully custom metrics based on content of a Perfetto trace. (I4ce31, b/219851406)
  • Add an experimental metric to determine the number of page faults during a benchmark. (I48db0)

Compose Animation: v1.4.1

April 5, 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1, and androidx.compose.animation:animation-graphics:1.4.1 are released with no changes. Version 1.4.1 contains these commits.

Compose Animation: v1.5.0-alpha02

April 5, 2023

androidx.compose.animation:animation-*:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.

New Features

  • New experimental API to support lookahead in SubcomposeLayout. This will allow SubcomposeLayout to function properly in a LookaheadScope. More out-of-the-box support for specific subtypes of SubcomposeLayout will come soon.

API Changes

  • New SubcomposeLayout API that takes an additional intermediate measure policy for handling measure/layout logic during lookahead-based animations. (I017d3)

Compose Foundation: v1.4.1

April 5, 2023

androidx.compose.foundation:foundation:1.4.1 and androidx.compose.foundation:foundation-layout:1.4.1 are released. Version 1.4.1 contains these commits.

Compose Foundation: v1.5.0-alpha02

April 5, 2023

androidx.compose.foundation:foundation:1.5.0-alpha02 and androidx.compose.foundation:foundation-layout:1.5.0-alpha02 are released. Version 1.5.0-alpha02 contains these commits.

API Changes

  • Added support for fixed size cells in LazyGrid and arranging them with cross axis arrangement. (I83ed9, b/235121277, b/267942510)
  • Added support for fixed size lanes in LazyStaggeredGrid and arranging them with cross axis arrangement. (I7d519)
  • UrlAnnotations in AnnotatedStrings can now be opened via accessibility services like TalkBack. (If4d82, b/253292081)
  • Added the InsertTextAtCursor semantics action for text fields. (I11ed5)
  • Text-related test actions (e.g. performTextInput) will now request focus directly, using the semantics action, instead of clicking on the field. (I6ed05)
  • Adds support for cross axis spacing/arrangement using the verticalArrangement in FlowRow and horizontalArrangement in FlowColumn. We also remove the top-level verticalAlignment and horizontalAlignment in FlowRow/FlowColumn. Developers can use Modifier.align instead. This reduces confusion between the naming conventions of verticalAlignment and verticalArrangement. (I87b60, b/268365538)

Compose Material: v1.4.1

April 5, 2023

androidx.compose.material:material-*:1.4.1 is released. Version 1.4.1 contains these commits.

Compose Material: v1.5.0-alpha02

April 5, 2023

androidx.compose.material:material-*:1.5.0-alpha02 is released. Version 1.5.0-alpha02 contains these commits.

Bug Fixes

  • Fixed a bug where BottomSheetScaffold would crash when provided with empty content for slots. (Ib24a5, b/235588730)
  • Fixes PullRefreshIndicator intercepting clicks / pointer events (2494256, b/271777421)

Compose Material 3: v1.1.0-beta02

April 5, 2023

androidx.compose.material3:material3:1.1.0-beta02 and androidx.compose.material3:material3-window-size-class:1.1.0-beta02 are released. Version 1.1.0-beta02 contains these commits.

API Changes

  • SheetState now has optional skipHiddenState parameter
  • rememberStandardBottomSheetState now has optional skipHiddenState parameter
  • BottomSheetScaffold now has a defined Hidden anchor, though it is disabled by default
  • SheetState.requireOffset documentation has been updated
  • BottomSheetDefaults.MinimizedShape has been renamed as BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Bug Fixes

  • Do not switch the dial face from hour to minute when touch exploration is enabled. (I717d0)
  • ModalBottomSheet and BottomSheetScaffold drag handle semantics are now merged. (
Read more

2023-03-24

24 Mar 21:36

Choose a tag to compare

Annotation: v1.7.0-alpha02

March 24, 2023

androidx.annotation:annotation-*:1.7.0-alpha02 is released.

Bug Fixes

  • Removed dependency constraints from Maven artifacts to workaround a build problem in Kotlin Native Targets (b/274786186, KT-57531).

Collection: v1.3.0-alpha04

March 24, 2023

androidx.collection:collection-*:1.3.0-alpha04 is released.

Bug Fixes

  • Removed dependency constraints from Maven artifacts to workaround a build problem in Kotlin Native Targets (b/274786186, KT-57531).

DataStore: v1.1.0-alpha03

March 24, 2023

androidx.datastore:datastore-*:1.1.0-alpha03 is released.

Bug Fixes

  • Removed dependency constraints from Maven artifacts to workaround a build problem in Kotlin Native Targets (b/274786186, KT-57531).

2023-03-22@06PM

23 Mar 18:38

Choose a tag to compare

Activity: v1.7.0

March 22, 2023

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0, and androidx.activity:activity-ktx:1.7.0 are released. Version 1.7.0 contains these commits.

Important changes since 1.6.0

  • The Photo Picker activity contracts in PickVisualMedia and PickMultipleVisualMedia have been updated to contain an additional fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable that allows OEMs and system apps, such as Google Play services, to provide a consistent Photo Picker experience on a wider range of Android devices and API levels by implementing the fallback action. The Photo Picker will use this fallback if it is available before falling back to using Intent.ACTION_OPEN_DOCUMENT, which remains to support all API 19 and higher devices.
  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree. It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements.
  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent, rather than only a single flag.

Kotlin Conversion

A number of Activity classes have been converted to Kotlin. All converted classes still retain their binary compatibility with previous versions. The following classes have source incompatible changes for classes written in Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

The table below provides the source conversions for the new version of Activity:

Activity 1.5 Activity 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

These classes were also converted to Kotlin, but remain source compatible: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest, and OnBackPressedDispatcher

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Three Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawn indicates that your composable is immediately ready for interaction.
  • ReportDrawnWhen takes a predicate (i.e., list.count > 0) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Dependency Updates

Annotation: v1.7.0-alpha01

March 22, 2023

androidx.annotation:annotation-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.

New Features

  • Includes Kotlin Multiplatform artifacts targeting iOS, Linux, and MacOS platforms.
  • You can now use Annotations in KMM projects. Note that non-Android targets of Annotations are still experimental but we decided to merge versions to make it easier for developers to try them. Specifically, some annotations might move between common and platform specific code during the alpha development as we finalize the boundaries.

Benchmark: v1.2.0-alpha12

March 22, 2023

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

New Features

  • The new baseline profile gradle plugin is released in alpha version, making it easier to generate a baseline profile and simplifying the developer workflow.

API Changes

  • Removed Perfetto tracing support on API 21 and 22, which includes both Microbenchmarks and the experimental PerfettoTrace APIs. Prior to this version, UiAutomation connections were unreliable on some devices. (I78e8c)
  • Added public experimental API for PerfettoTraceProcessor to enable parsing trace content. This is a step toward fully custom metrics based on Perfetto trace data. (I2659e, b/219851406)

CameraX: v1.2.2

March 22, 2023

androidx.camera:camera-*:1.2.2 is released. Version 1.2.2 contains these commits.

Bug Fixes

  • Fixed the issue where CameraX Extensions don't work properly when proguard is enabled on some devices such as Pixel (I90aa2)

CameraX: v1.3.0-alpha05

March 22, 2023

androidx.camera:camera-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.

API Changes

  • Added VideoCapture rotation APIs, including VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int) and
Read more

2023-03-22@05PM

22 Mar 18:39

Choose a tag to compare

Activity: v1.7.0

March 22, 2023

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0, and androidx.activity:activity-ktx:1.7.0 are released. Version 1.7.0 contains these commits.

Important changes since 1.6.0

  • The Photo Picker activity contracts in PickVisualMedia and PickMultipleVisualMedia have been updated to contain an additional fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable that allows OEMs and system apps, such as Google Play services, to provide a consistent Photo Picker experience on a wider range of Android devices and API levels by implementing the fallback action. The Photo Picker will use this fallback if it is available before falling back to using Intent.ACTION_OPEN_DOCUMENT, which remains to support all API 19 and higher devices.
  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree. It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements.
  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent, rather than only a single flag.

Kotlin Conversion

A number of Activity classes have been converted to Kotlin. All converted classes still retain their binary compatibility with previous versions. The following classes have source incompatible changes for classes written in Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

The table below provides the source conversions for the new version of Activity:

Activity 1.5 Activity 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

These classes were also converted to Kotlin, but remain source compatible: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest, and OnBackPressedDispatcher

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Three Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawn indicates that your composable is immediately ready for interaction.
  • ReportDrawnWhen takes a predicate (i.e., list.count > 0) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Dependency Updates

Annotation: v1.7.0-alpha01

March 22, 2023

androidx.annotation:annotation-*:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.

New Features

  • Includes Kotlin Multiplatform artifacts targeting iOS, Linux, and MacOS platforms.
  • You can now use Annotations in KMM projects. Note that non-Android targets of Annotations are still experimental but we decided to merge versions to make it easier for developers to try them. Specifically, some annotations might move between common and platform specific code during the alpha development as we finalize the boundaries.

Benchmark: v1.2.0-alpha12

March 22, 2023

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

New Features

  • The new baseline profile gradle plugin is released in alpha version, making it easier to generate a baseline profile and simplifying the developer workflow.

API Changes

  • Removed Perfetto tracing support on API 21 and 22, which includes both Microbenchmarks and the experimental PerfettoTrace APIs. Prior to this version, UiAutomation connections were unreliable on some devices. (I78e8c)
  • Added public experimental API for PerfettoTraceProcessor to enable parsing trace content. This is a step toward fully custom metrics based on Perfetto trace data. (I2659e, b/219851406)

CameraX: v1.2.2

March 22, 2023

androidx.camera:camera-*:1.2.2 is released. Version 1.2.2 contains these commits.

Bug Fixes

  • Fixed the issue where CameraX Extensions don't work properly when proguard is enabled on some devices such as Pixel (I90aa2)

CameraX: v1.3.0-alpha05

March 22, 2023

androidx.camera:camera-*:1.3.0-alpha05 is released. Version 1.3.0-alpha05 contains these commits.

API Changes

  • Added VideoCapture rotation APIs, including VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int) and
Read more