Skip to content

Releases: mahozad/androidx-release-notes

2025-03-27

28 Mar 18:48

Choose a tag to compare

Core 1.7.0: Core Core-ktx 1.7.0-alpha02

March 27, 2025

androidx.test:core:1.7.0-alpha02 and androidx.test:core-ktx:1.7.0-alpha02 are released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0
    • androidx.concurrent futures 1.2.0
    • kotlin 2.1.0
    • kotlin coroutines 1.10.1

Espresso 3.7.0: Espresso 3.7.0-alpha02

March 27, 2025

The following artifacts were released:

  • androidx.test.espresso:espresso-accessibility:3.7.0-alpha02
  • androidx.test.espresso:espresso-core:3.7.0-alpha02
  • androidx.test.espresso:espresso-contrib:3.7.0-alpha02
  • androidx.test.espresso:espresso-idling-resource:3.7.0-alpha02
  • androidx.test.espresso:espresso-intents:3.7.0-alpha02
  • androidx.test.espresso:espresso-remote:3.7.0-alpha02
  • androidx.test.espresso:espresso-web:3.7.0-alpha02
  • androidx.test.espresso.idling:idling-concurrent:3.7.0-alpha02
  • androidx.test.espresso.idling:idling-net:3.7.0-alpha02

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0
    • androidx.concurrent-futures 1.2.0
    • kotlin 2.1.0

Test:

Test:

Test:

Monitor 1.8.0: monitor 1.8.0-alpha02

March 27, 2025

androidx.test:monitor:1.8.0-alpha02 is released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0a
    • kotlin 2.1.0

Orchestrator 1.6.0: orchestrator 1.6.0-alpha03

March 27, 2025

androidx.test:orchestrator:1.6.0-alpha03 is released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3

Runner 1.7.0: runner 1.7.0-alpha02

March 27, 2025

androidx.test:runner:1.7.0-alpha02 is released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0

Rules 1.7.0: rules 1.7.0-alpha02

March 27, 2025

androidx.test:rules:1.7.0-alpha02 is released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0

Services 1.6.0: services 1.6.0-alpha03

March 27, 2025

androidx.test.services:test-services:1.6.0-alpha03 androidx.test.services:storage:1.6.0-alpha03 are released.

Bug Fixes

  • Update bazel toolchain:
    • bazel version 7.5.0
    • rules_jvm_external 6.7
    • rules_java 8.6.3
    • rules_kotlin 2.1.3
    • rules_android 0.6.3
  • Update dependencies to:
    • androidx.annotation 1.7.0

2025-03-25

26 Mar 18:47

Choose a tag to compare

Activity: v1.11.0-alpha02

March 26, 2025

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

API Changes

  • Integrated the new EDGE_NONE and frameTimeMillis from Android 16 Beta03 into the BackEventCompat provided by OnBackPressedCallback’s handleOnBackStarted and handleOnBackProgressed functions.

Dependency Updates

Asynclayoutinflater: v1.1.0-rc01

March 26, 2025

androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-rc01 and androidx.asynclayoutinflater:asynclayoutinflater-appcompat:1.1.0-rc01 are released with no notable changes since the last beta. Version 1.1.0-rc01 contains these commits.

Benchmark: v1.3.4

March 26, 2025

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

Bug Fixes

  • Fixed Gradle Project Isolation incompatibilities in the Benchmark Baseline Gradle Plugin. (b/404523257)

Benchmark: v1.4.0-alpha10

March 26, 2025

androidx.benchmark:benchmark-*:1.4.0-alpha10 is released. Version 1.4.0-alpha10 contains these commits.

API Changes

  • Increased default timeout for TraceProcessor server load and querying to 120 seconds (from 60/30 previously), and made both configurable with one timeout parameter. (Ifec87)

Bug Fixes

  • Fixed a few issues that would occur when benchmarking or capturing profiles of an app without profileinstaller, and it's included BroadcastReciever. This only affects runs on rooted devices. (Ied308)

Biometric: v1.4.0-alpha03

March 26, 2025

androidx.biometric:biometric:1.4.0-alpha03 is released. Version 1.4.0-alpha03 contains these commits.

New Features

  • Introduced a new authentication entry point registerForAuthenticationResult() API to replace the androidx.biometric:biometric-ktx module and androidx.BiometricPrompt. This new API is modeled after the Activity Result API, and it provides seamless compatibility with both Kotlin and Java development.

API Changes

  • Rename ERROR_MORE_OPTIONS_BUTTON to ERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON (I71d07)
  • Add @Deprecated annotation for IdentityCredential to keep consistent with the framework. (I6ac90, b/140252778, b/217942278, b/251211046, b/239955609)
  • [1/3] Remove biometric.auth and kotlin library, which will be redesigned. (I2f67c)
  • [2/3] Add AuthenticationRequest as authentication input and AuthenticationResult as authentication result type. There are two kinds of AuthenticationRequest, with builders. (I50fd9)
    1. BiometricRequest for biometric authentication with different Strength and optional Fallback.
    2. CredentialRequest for device credential only authentication.
  • [3/3] Add new activity-result-pattern APIs for biometric module. Specifically, add a registration API called registerForAuthenticationResult(), which registers the AuthenticationResultCallback and the optional onAuthenticationFailedCallback, and results a AuthenticationResultLauncher to start authentication with all input. (I2b06e)

Bug Fixes

  • 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 (Ib49b4, b/326456246)
  • Fixed an issue of being unable to instantiate fragment androidx.biometric.FingerprintDialogFragment. (I51c4a, b/181805603)
  • Fixed an issue where BiometricPrompt is not dismissed when the device’s home button is pressed. (I8c393, I0ca8c, b/149770989)
  • Fixed error code inconsistencies for disabling biometric app auth on API 34/35. (Ice99d, b/386918213)
  • Apply forcing strong biometrics on older devices to combined authenticatiors too. (Ibb853, I5cfb3, b/257670132)

Camera: v1.4.2

March 26, 2025

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

Bug Fixes

  • Fixed preview freeze issue when using ImageAnalysis with another stream that uses TEMPLATE_RECORD on Samsung Galaxy M55. (Ic1a6a, b/395822788)

Compose Animation: v1.8.0-rc02

March 26, 2025

androidx.compose.animation:animation-*:1.8.0-rc02 is released. Version 1.8.0-rc02 contains

Read more

2025-03-19

19 Mar 21:38

Choose a tag to compare

Media3: 1.6.0-rc02

March 19, 2025

androidx.media3:media3-*:1.6.0-rc02 is released. Version 1.6.0-rc02 contains these commits.

  • Extractors:
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:
    • Add support for float PCM to ChannelMappingAudioProcessor.
    • Add support for float PCM to TrimmingAudioProcessor.
  • Video:
    • Fix issue where a player without a surface was ready immediately and very slow decoding any pending frames (#1973).
    • Exclude Xiaomi and OPPO devices from detached surface mode to avoid screen flickering (#2059).
  • Session:
    • Fix bug where a stale notification stays visible when the playlist is cleared (#2211).
  • UI:
    • Add PlaybackSpeedState class and the corresponding rememberPlaybackSpeedState Composable to media3-ui-compose module.
  • DASH extension:
    • Fix issue where adaptation sets marked with adaptation-set-switching but different languages or role flags are merged together (#2222).
  • HLS extension:
    • Loosen the condition for seeking to sync positions in an HLS stream (#2209).

2025-03-12

12 Mar 18:51

Choose a tag to compare

Activity: v1.11.0-alpha01

March 12, 2025

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

New Features

  • Added MediaCapabilities API to PickVisualMediaRequest to let applications specify its media capabilities, such as supported HDR Types. (Ic3ee7)

Asynclayoutinflater: v1.1.0-beta01

March 12, 2025

androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-beta01 and androidx.asynclayoutinflater:asynclayoutinflater-appcompat:1.1.0-beta01 are released. Version 1.1.0-beta01 contains these commits.

Bug Fixes

  • 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 (I32dda, b/326456246)

Benchmark: v1.4.0-alpha09

March 12, 2025

androidx.benchmark:benchmark-*:1.4.0-alpha09 is released. Version 1.4.0-alpha09 contains these commits.

API Changes

  • Added TraceProcessor and Session API with closable Handles, for easier usage with custom lifecycles. This is also a step towards enabling easier Coroutine and Java API usage. The extension functions to TraceProcessor.runServer {} are now marked experimental, as they're likely to move, and be made non-experimental in the future. (I358b4)

Bug Fixes

  • Fixed Benchmark and Baseline Profile capture not working with API 36 due to a change in pgrep toybox that now requires -a to print the full command line. (Idc991)
  • Filter default tracing config to reduce risk of data loss in traces on newer API levels. (I54e8a)
  • Added experimental androidx.benchmark.killExistingPerfettoRecordings instrumentation argument, which can be set to false to allow pre existing perfetto trace capture to continue. By default pre existing perfetto trace captures on device are killed to prevent interference. (I02a3c)
  • The JSON field context.osCodenameAbbreviated will now be REL for released OS versions at and above API 35, as non-numeric code names are no longer supported by the underlying platform. (Ib17fd)
  • Fixes crash in FrameTimingMetric when resynced frames occur. (I7c6f4, b/394610806)
  • No longer assume Choreographer#doFrame is the top of the stack frame on the main thread for FrameTimingQuery. (Iee0e0, b/340206285)

Collection: v1.5.0

March 12, 2025

androidx.collection:collection-*:1.5.0 is released. Version 1.5.0 contains these commits.

Compose Animation: v1.8.0-rc01

March 12, 2025

androidx.compose.animation:animation-*:1.8.0-rc01 is released. Version 1.8.0-rc01 contains these commits.

Bug Fixes

  • Fixed child transition incorrectly being marked as interrupted. (3fa2ce)

Compose Foundation: v1.8.0-rc01

March 12, 2025

androidx.compose.foundation:foundation-*:1.8.0-rc01 is released. Version 1.8.0-rc01 contains these commits.

Compose Material: v1.8.0-rc01

March 12, 2025

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

Compose Material3: v1.4.0-alpha10

March 12, 2025

androidx.compose.material3:material3-*:1.4.0-alpha10 is released. Version 1.4.0-alpha10 contains these commits.

API Changes

  • TabRowDefaults.tabIndicatorOffset has been deprecated in favor of TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Fix typo for small content padding in button defaults. (I19bfe)
  • TabRow and ScrollableTabRow are deprecated in favor of Primary and Secondary variants of each. Primary and Secondary tab rows are more performant and accurate to spec. (I918e2)
  • Added rememberSliderState and rememberRangeSliderState. (I8e384)
  • Added shouldAutoSnap to SliderState to control the auto-snapping mechanism, disabling it may be useful for custom animations. (I07745)
  • Scrollable tab row's minimum tab width is now a parameter. Primary and Secondary tab row variants are no longer experimental. (If6f15, b/226665301)
  • Made the class ExitAlwaysFloatingToolbarScrollBehavior public allowing creation without composition. (Ibf31c)

Compose Material3 Adaptive: v1.1.0

March 12, 2025

androidx.compose.material3.adaptive:adaptive-*:1.1.0 is released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

Read more

2025-02-26

26 Feb 18:46

Choose a tag to compare

Activity: v1.10.1

February 26, 2025

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

Bug Fixes

  • ViewTree OnBackPressedDispatcherOwners and FullyDrawnReporterOwners can now be resolved through disjoint parents of a view, such as a ViewOverlay. See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for more information on disjoint view parents. (Ie7750)

Camera: v1.5.0-alpha06

February 26, 2025

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

API Changes

  • Added CameraInfo.getTorchStrengthLevel, CameraInfo.getMaxTorchStrengthLevel and CameraControl.setTorchStrengthLevel to allow customizing the torch brightness (I00878)
  • A new API CameraController#setTapToFocusAutoCancelDuration has been added so that users can control the auto-cancellation behavior for PreviewView tap-to-focus events. By default, CameraX cancels the focus events after 5 seconds (i.e. camera focus is reset) and this API allows to modify that duration or disable auto-cancellation altogether. (Icf59a)
  • FLASH_STATE_READY has been renamed to NOT_FIRED and the other FlashState constant names are simplified for better readability. (I8771d)
  • Exposed Low Light Boost API. Devices running Android 15 or higher can provide support for low-light boost. This feature can automatically adjust the brightness of the preview, video or image analysis streams in low-light conditions. Applications can use the new API to: 1. Use CameraInfo#isLowLightBoostSupported to check the feature availability. 2. Use CameraControl#enableLowLightBoostAsync to enable the mode when the devices can support it. 3. Use CameraInfo#getLowLightBoostState to monitor the low-light boost state. (I937ed)
  • Add compat classes to allow faster non-camera2 querying in camera-feature-combination-query. (Ie97ee)
  • For CameraController tap-to-focus events, a new API getTapToFocusInfoState() now exposes the corresponding tap position too by returning a LiveData of TapToFocusInfo class while the previous LiveData<Integer> returning getTapToFocusState() API is deprecated in favor of the new API. (I238d2)

Bug Fixes

  • Fixed the issue that preview stabilization is not applied when preview stabilization is enabled with Extensions. (I24ad7)
  • Fixed CameraController focus state event not resetting back to TAP_TO_FOCUS_NOT_STARTED when CameraX auto-cancels a focus event which happens after 5 seconds by default. (I31954)
  • Fixed preview freeze when using Zero Shutter Lag (ZSL) after multiple captures due to unreleased image resources. (Ic3c2a)
  • Fixed issues that on some devices UHD videos are red tint when pipeline involves OpenGL. (Idcedc)

camera viewfinder: v1.4.0-alpha13

February 26, 2025

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13, and androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 are released. Version 1.4.0-alpha13 contains these commits.

Collection: v1.5.0-rc01

February 26, 2025

androidx.collection:collection-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

Compose Animation: v1.8.0-beta03

February 26, 2025

androidx.compose.animation:animation-*:1.8.0-beta03 is released. Version 1.8.0-beta03 contains these commits.

Compose Foundation: v1.8.0-beta03

February 26, 2025

androidx.compose.foundation:foundation-*:1.8.0-beta03 is released. Version 1.8.0-beta03 contains these commits.

Bug Fixes

  • Added a new semantics property InputText that captures a textfield's value before output transformation is applied. (Iae46a, b/395911609, b/176949051)
  • Removed deprecated AutoSize overloads. Please use the TextAutoSize APIs serving the same function. (I2c90f)
  • Fixed a caching issue with TextAutoSize where a second layout pass with the same constraints could result in using the second-biggest fitting font size instead of the biggest. (Id367f)

Compose Material: v1.8.0-beta03

February 26, 2025

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

Compose Material3: v1.4.0-alpha09

February 26, 2025

androidx.compose.material3:material3-*:1.4.0-alpha09 is released. Version 1.4.0-alpha09 contains these commits.

API Changes

  • Rename DragHandle’s setting fields in the default state; separate pressed and dragged states; make the default sizes be public. (I787b9)
  • Updates to the TowRowsTopAppBar API. Removed the expanded lambda parameter and added separate parameters for the expanded and collapsed heights. (
Read more

2025-02-19

26 Feb 12:59

Choose a tag to compare

Media3: 1.6.0-beta01

February 26, 2025

androidx.media3:media3-*:1.6.0-beta01 is released. Version 1.6.0-beta01 contains these commits.

  • Common Library:
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
  • ExoPlayer:
    • Initial audio session ID is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
  • Transformer:
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Video:
    • Add experimental ExoPlayer API to drop late MediaCodecVideoRenderer decoder input buffers that are not depended on. Enable it with DefaultRenderersFactory.experimentalSetLateThresholdToDropDecoderInputUs.
  • Session:
    • Keep foreground service state for an additional 10 minutes when playback pauses, stops or fails. This allows users to resume playback within this timeout without risking foreground service restrictions on various devices. Note that calling player.pause() can no longer be used to stop the foreground service before stopSelf() when overriding onTaskRemoved, use MediaSessionService.pauseAllPlayersAndStopSelf() instead.
    • Keep notification visible when playback enters an error or stopped state. The notification is only removed if the playlist is cleared or the player is released.
    • Improve handling of Android platform MediaSession actions ACTION_PLAY and ACTION_PAUSE to only set one of them according to the available commands and also accept if only one of them is set.
  • Remove deprecated symbols:
    • Removed the following deprecated DownloadHelper methods:
      • Constructor DownloadHelper(MediaItem, @Nullable MediaSource, TrackSelectionParameters, RendererCapabilities[]), use DownloadHelper(MediaItem, @Nullable MediaSource, TrackSelectionParameters, RendererCapabilitiesList) instead.
      • getRendererCapabilities(RenderersFactory), equivalent behavior can be achieved by creating a DefaultRendererCapabilitiesList with a RenderersFactory, and calling DefaultRendererCapabilitiesList.getRendererCapabilities().
    • Removed PlayerNotificationManager.setMediaSessionToken(MediaSessionCompat) method. Use PlayerNotificationManager.setMediaSessionToken(MediaSession.Token) and pass in (MediaSession.Token) compatToken.getToken()instead.

2025-02-12

12 Feb 18:45

Choose a tag to compare

Autofill: v1.3.0-rc01

February 12, 2025

androidx.autofill:autofill:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.

  • This release moves Autofill 1.3.0 into stabilization.

Benchmark: v1.4.0-alpha08

February 12, 2025

androidx.benchmark:benchmark-*:1.4.0-alpha08 is released. Version 1.4.0-alpha08 contains these commits.

API Changes

  • Moved TraceProcessor.runSession() extension APIs to be experimental, as they are likely to move to be concrete constructors eventually on Android. (Ib0528, b/393640753)
  • Most of the implementation of Startup Insights are now public/experimental, and move to the TraceProcessor artifact See StartupInsights. (I0aa00)
  • Deprecate BenchmarkRule.runWithTimingDisabled {} in favor of BenchmarkRule.runWithMeasurementDisabled {}, which more clearly describes the behavior - all metrics are paused. Additionally, expose the MicrobenchmarkScope superclass since redeclaring the runWithMeasurementDisabled function to open access isn't possible, since it's inline. (I9e23b, b/389149423, b/149979716)
  • Benchmark libraries have moved to Kotlin 2.0. (I9d1e0)
  • Removed androidx.benchmark.startupProfiles.enable instrumentation argument. It is no longer useful, as it can be controlled by includeInStartupProfile arg in BaselineProfileRule.collect(). (I39eb4)

Bug Fixes

  • Reduced the amount of Microbenchmark internal functions called during profiling to make e.g. Method traces more clear (Ifaed8)
  • Speculative fix for crashes: 'Failed to stop [ProcessPid(processName=perfetto, pid=...)]'. Now Benchmark will log a message instead of crashing when a background Perfetto process isn't able to be stopped before running the benchmark. (I37d3e, b/323601788)
  • Fix IllegalStateExceptions with 'Expected pm dump-profiles stdout' label that were caused by overly strict output format check. (I358dc)

Compose Animation: v1.8.0-beta02

February 12, 2025

androidx.compose.animation:animation-*:1.8.0-beta02 is released. Version 1.8.0-beta02 contains these commits.

Compose Animation: v1.7.8

February 12, 2025

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

Compose Foundation: v1.8.0-beta02

February 12, 2025

androidx.compose.foundation:foundation-*:1.8.0-beta02 is released. Version 1.8.0-beta02 contains these commits.

Bug Fixes

  • Fixed an issue where overscroll implementations using LayoutModifierNode would not work correctly inside scrolling containers.

Compose Foundation: v1.7.8

February 12, 2025

androidx.compose.foundation:foundation-*:1.7.8 is released. Version 1.7.8 contains these commits.

Bug Fixes

  • Fix crash in BasicTextField with input transformation when replacing part of the pasted text. (I73702)

Compose Material: v1.8.0-beta02

February 12, 2025

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

Compose Material: v1.7.8

February 12, 2025

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

Compose Material3: v1.4.0-alpha08

February 12, 2025

androidx.compose.material3:material3-*:1.4.0-alpha08 is released. Version 1.4.0-alpha08 contains these commits.

New Features

  • Added an TimePickerDialog API that can be used for TimePicker, TimeInput or to have a switchable version. (Id2d83)

  • New search bar APIs:

    • Collapsed search bars and expanded search "views" are now separate composables.
    • SearchBar represents a search bar in the collapsed state.
    • ExpandedFullScreenSearchBar and ExpandedDockedSearchBar represent the search bar in the expanded state. These open in a new window.
    • SearchBarState to control the state of the search bar
    • TopSearchBar to add insets handling and scroll behavior
    • New overload of InputField which uses SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

API Changes

  • Support corner shape morphing of icon buttons on press. (I21843)
  • Text field decorator/decoration box APIs are no longer experimental. (I31d95)
  • Added samples and defaults for the connected variant for ButtonGroup. (I5c8ce)
  • Make state param the last one in NavigationSuiteScaffold and NavigationSuiteScaffoldLayout. (I9cc7b)

Bug Fixes

  • Added custom accessibility actio...
Read more

2025-02-05

06 Feb 15:38

Choose a tag to compare

Media3: v1.6.0-alpha03

February 06, 2025

androidx.media3:media3-*:1.6.0-alpha03 is released. Version 1.6.0-alpha03 contains these commits.

  • ExoPlayer:
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
  • Audio:
    • Make androidx.media3.common.audio.SonicAudioProcessor final.
  • Video:
    • Change MediaCodecVideoRenderer.shouldUsePlaceholderSurface to protected so that applications can override to block usage of placeholder surfaces (#1905).
    • Add experimental ExoPlayer AV1 sample dependency parsing to speed up seeking. Enable it with the new DefaultRenderersFactory.experimentalSetParseAv1SampleDependencies API.
  • Muxers:
    • Disable Mp4Muxer sample batching and copying by default.
  • Remove deprecated symbols:
    • Removed androidx.media3.exoplayer.audio.SonicAudioProcessor.

2025-02-03

04 Feb 01:55

Choose a tag to compare

Core 1.7.0: Core Core-ktx 1.7.0-alpha01

February 03, 2025

androidx.test:core:1.7.0-alpha01 and androidx.test:core-ktx:1.7.0-alpha01 are released.

Bug Fixes * Fix Rect handling in ViewCapture for SDK >= 34 for non root views. * Fix bug reporting the status code when PixelCopy fails in ViewCapture.generateBitmapFromPixelCopy. * Improving wording of a failure message.

API Changes

  • Update to minSdkVersion 21

Espresso 3.7.0: Espresso 3.7.0-alpha01

February 03, 2025

The following artifacts were released:

  • androidx.test.espresso:espresso-accessibility:3.7.0-alpha01
  • androidx.test.espresso:espresso-core:3.7.0-alpha01
  • androidx.test.espresso:espresso-contrib:3.7.0-alpha01
  • androidx.test.espresso:espresso-idling-resource:3.7.0-alpha01
  • androidx.test.espresso:espresso-intents:3.7.0-alpha01
  • androidx.test.espresso:espresso-remote:3.7.0-alpha01
  • androidx.test.espresso:espresso-web:3.7.0-alpha01
  • androidx.test.espresso.idling:idling-concurrent:3.7.0-alpha01
  • androidx.test.espresso.idling:idling-net:3.7.0-alpha01

Bug Fixes

  • Fix deadlock in espresso in Robolectric INSTRUMENTATION_TEST + paused looper.
  • Refactor espresso's MessageQueue access into a TestLooperManagerCompat class, and use new TestLooperManager APIs when available.

API Changes

  • Update to minSdkVersion 21

Test:

Test:

Test:

Monitor 1.8.0: monitor 1.8.0-alpha01

February 03, 2025

androidx.test:monitor:1.8.0-alpha01 is released.

API Changes

  • Update to minSdkVersion 21
  • Make ReflectionException a RuntimeException

Orchestrator 1.6.0: orchestrator 1.6.0-alpha02

February 03, 2025

androidx.test:orchestrator:1.6.0-alpha02 is released.

Runner 1.7.0: runner 1.7.0-alpha01

February 03, 2025

androidx.test:runner:1.7.0-alpha01 is released.

Bug Fixes

  • Exceptions during @AfterClass were not being reported via InstrumentationResultPrinter.
  • Exceptions arising in AndroidJUnitRunner.buildRequest are now handled.
  • Assumption failures during a ClassRule or BeforeClass are now reported more consistently via InstrumentationResultPrinter
  • Clarify SdkSuppress reference docs

API Changes

  • Update to minSdkVersion 21
  • Deprecate androidx.test.filters.Suppress in favor of org.junit.Ignore

Rules 1.7.0: rules 1.7.0-alpha01

February 03, 2025

androidx.test:rules:1.7.0-alpha01 is released.

API Changes

  • Update to minSdkVersion 21

Services 1.6.0: services 1.6.0-alpha02

February 03, 2025

androidx.test.services:test-services:1.6.0-alpha02 androidx.test.services:storage:1.6.0-alpha02 are released.

Bug Fixes

  • The obsolete FileObserver protocol has been removed in favor of the LocalSocket-based protocol.

2025-01-30

01 Feb 15:37

Choose a tag to compare

Media3: v1.6.0-alpha02

January 30, 2025

androidx.media3:media3-*:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.

  • Common Library:
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
  • ExoPlayer:
    • Add experimental 'ExoPlayer' pre-warming support for playback using MediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
  • Transformer:
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
  • Extractors:
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
  • Audio:
    • Don't bypass SonicAudioProcessor when SpeedChangingAudioProcessor is configured with default parameters.
    • Fix underflow in Sonic#getOutputSize() that could cause DefaultAudioSink to stall.
    • Fix MediaCodecAudioRenderer.getDurationToProgressUs() and DecoderAudioRenderer.getDurationToProgressUs() so that seeks correctly reset the provided durations.
  • Text:
    • TTML: Add support for referencing tts:origin and tts:extent using style (#2953).
    • Restrict WebVTT and SubRip timestamps to exactly 3 decimal places. Previously we incorrectly parsed any number of decimal places but always assumed the value was in milliseconds, leading to incorrect timestamps (#1997).
    • Add support for VobSub subtitles (#8260).
    • Fix playback hanging when a playlist contains clipped items with CEA-608 or CEA-708 captions.
    • Fix IllegalStateException when an SSA file contains a cue with zero duration (start and end time equal) (#2052).
    • Suppress (and log) subtitle parsing errors when subtitles are muxed into the same container as audio and video (#2052).
  • Muxers:
    • Renamed setSampleCopyEnabled() method to setSampleCopyingEnabled() in both Mp4Muxer.Builder and FragmentedMp4Muxer.Builder.
    • Mp4Muxer.addTrack() and FragmentedMp4Muxer.addTrack() now return an int track ID instead of a TrackToken.
    • Mp4Muxer and FragmentedMp4Muxer no longer implement Muxer interface.
  • Session:
    • Fix bug where calling a Player method on a MediaController connected to a legacy session dropped changes from a pending update.
  • UI:
    • Add PresentationState state holder class and the corresponding rememberPresentationState Composable to media3-ui-compose.
  • HLS Extension:
    • Parse SUPPLEMENTAL-CODECS tag from HLS playlist to detect Dolby Vision formats (#1785).
  • DASH Extension:
    • Fix issue when calculating the update interval for ad insertion in multi-period live streams (#1698).
    • Parse scte214:supplementalCodecs attribute from DASH manifest to detect Dolby Vision formats (#1785).
    • Improve handling of period transitions in live streams where the period contains media samples beyond the declared period duration (#1698).
  • Demo app:
    • Use PresentationState to control the aspect ratio of PlayerSurface Composable. This depends on the ContentScale type and covers it with a shutter-overlay before the first frame is rendered.
  • Remove deprecated symbols:
    • Removed ExoPlayer.VideoComponent, ExoPlayer.AudioComponent, ExoPlayer.TextComponent and ExoPlayer.DeviceComponent.