Releases: mahozad/androidx-release-notes
2025-03-27
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-alpha02androidx.test.espresso:espresso-core:3.7.0-alpha02androidx.test.espresso:espresso-contrib:3.7.0-alpha02androidx.test.espresso:espresso-idling-resource:3.7.0-alpha02androidx.test.espresso:espresso-intents:3.7.0-alpha02androidx.test.espresso:espresso-remote:3.7.0-alpha02androidx.test.espresso:espresso-web:3.7.0-alpha02androidx.test.espresso.idling:idling-concurrent:3.7.0-alpha02androidx.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
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_NONEandframeTimeMillisfrom Android 16 Beta03 into theBackEventCompatprovided byOnBackPressedCallback’shandleOnBackStartedandhandleOnBackProgressedfunctions.
Dependency Updates
- Activity is now compiled with API 36. (I510e8, b/301910674)
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
TraceProcessorserver 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 includedBroadcastReciever. 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 theandroidx.biometric:biometric-ktxmodule andandroidx.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_BUTTONtoERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON(I71d07) - Add
@Deprecatedannotation forIdentityCredentialto 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
AuthenticationRequestas authentication input andAuthenticationResultas authentication result type. There are two kinds ofAuthenticationRequest, with builders. (I50fd9)BiometricRequestfor biometric authentication with differentStrengthand optionalFallback.CredentialRequestfor device credential only authentication.
- [3/3] Add new activity-result-pattern APIs for biometric module. Specifically, add a registration API called
registerForAuthenticationResult(), which registers theAuthenticationResultCallbackand the optionalonAuthenticationFailedCallback, and results aAuthenticationResultLauncherto 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
BiometricPromptis 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
ImageAnalysiswith another stream that usesTEMPLATE_RECORDon 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
2025-03-19
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).
- FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with
- Audio:
- Add support for float PCM to
ChannelMappingAudioProcessor. - Add support for float PCM to
TrimmingAudioProcessor.
- Add support for float PCM to
- Video:
- Session:
- Fix bug where a stale notification stays visible when the playlist is cleared (#2211).
- UI:
- Add
PlaybackSpeedStateclass and the correspondingrememberPlaybackSpeedStateComposable tomedia3-ui-composemodule.
- Add
- DASH extension:
- Fix issue where adaptation sets marked with
adaptation-set-switchingbut different languages or role flags are merged together (#2222).
- Fix issue where adaptation sets marked with
- HLS extension:
- Loosen the condition for seeking to sync positions in an HLS stream (#2209).
2025-03-12
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
MediaCapabilitiesAPI toPickVisualMediaRequestto 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
TraceProcessorand 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 toTraceProcessor.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
pgreptoybox that now requires-ato 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.killExistingPerfettoRecordingsinstrumentation argument, which can be set tofalseto 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.osCodenameAbbreviatedwill now beRELfor 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
FrameTimingMetricwhen resynced frames occur. (I7c6f4, b/394610806) - No longer assume
Choreographer#doFrameis the top of the stack frame on the main thread forFrameTimingQuery. (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.tabIndicatorOffsethas been deprecated in favor ofTabIndicatorScope.tabIndicatorOffset. (Ib36b3)- Fix typo for small content padding in button defaults. (I19bfe)
TabRowandScrollableTabRoware deprecated in favor of Primary and Secondary variants of each. Primary and Secondary tab rows are more performant and accurate to spec. (I918e2)- Added
rememberSliderStateandrememberRangeSliderState. (I8e384) - Added
shouldAutoSnaptoSliderStateto 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
ExitAlwaysFloatingToolbarScrollBehaviorpublic 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
2025-02-26
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
ViewTreeOnBackPressedDispatcherOwnersandFullyDrawnReporterOwnerscan now be resolved through disjoint parents of a view, such as aViewOverlay. See the release notes of core or the documentation inViewTree.setViewTreeDisjointParentfor 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.getMaxTorchStrengthLevelandCameraControl.setTorchStrengthLevelto allow customizing the torch brightness (I00878) - A new API
CameraController#setTapToFocusAutoCancelDurationhas been added so that users can control the auto-cancellation behavior forPreviewViewtap-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_READYhas been renamed toNOT_FIREDand the otherFlashStateconstant 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#isLowLightBoostSupportedto check the feature availability. 2. UseCameraControl#enableLowLightBoostAsyncto enable the mode when the devices can support it. 3. UseCameraInfo#getLowLightBoostStateto monitor the low-light boost state. (I937ed) - Add compat classes to allow faster non-camera2 querying in camera-feature-combination-query. (Ie97ee)
- For
CameraControllertap-to-focus events, a new APIgetTapToFocusInfoState()now exposes the corresponding tap position too by returning aLiveDataofTapToFocusInfoclass while the previousLiveData<Integer>returninggetTapToFocusState()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
CameraControllerfocus state event not resetting back toTAP_TO_FOCUS_NOT_STARTEDwhen 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
InputTextthat captures a textfield's value before output transformation is applied. (Iae46a, b/395911609, b/176949051) - Removed deprecated
AutoSizeoverloads. Please use theTextAutoSizeAPIs serving the same function. (I2c90f) - Fixed a caching issue with
TextAutoSizewhere 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
TowRowsTopAppBarAPI. Removed theexpandedlambda parameter and added separate parameters for the expanded and collapsed heights. (
2025-02-19
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.onAudioSessionIdChangedto listen to the initial update if required.
- Initial audio session ID is no longer immediately available after creating the player. You can use
- Transformer:
- Add
MediaProjectionAssetLoader, which provides media from aMediaProjectionfor screen recording, and add support for screen recording to the Transformer demo app. - Add
#getInputFormat()toCodecinterface. - Shift the responsibility to release the
GlObjectsProvideronto the caller inDefaultVideoFrameProcessorandDefaultVideoCompositorwhen possible.
- Add
- Video:
- Add experimental
ExoPlayerAPI to drop lateMediaCodecVideoRendererdecoder input buffers that are not depended on. Enable it withDefaultRenderersFactory.experimentalSetLateThresholdToDropDecoderInputUs.
- Add experimental
- 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 beforestopSelf()when overridingonTaskRemoved, useMediaSessionService.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.
- 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
- Remove deprecated symbols:
- Removed the following deprecated
DownloadHelpermethods:- Constructor
DownloadHelper(MediaItem, @Nullable MediaSource, TrackSelectionParameters, RendererCapabilities[]), useDownloadHelper(MediaItem, @Nullable MediaSource, TrackSelectionParameters, RendererCapabilitiesList)instead. getRendererCapabilities(RenderersFactory), equivalent behavior can be achieved by creating aDefaultRendererCapabilitiesListwith aRenderersFactory, and callingDefaultRendererCapabilitiesList.getRendererCapabilities().
- Constructor
- Removed
PlayerNotificationManager.setMediaSessionToken(MediaSessionCompat)method. UsePlayerNotificationManager.setMediaSessionToken(MediaSession.Token)and pass in(MediaSession.Token) compatToken.getToken()instead.
- Removed the following deprecated
2025-02-12
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
TraceProcessorartifact SeeStartupInsights. (I0aa00) - Deprecate
BenchmarkRule.runWithTimingDisabled {}in favor ofBenchmarkRule.runWithMeasurementDisabled {}, which more clearly describes the behavior - all metrics are paused. Additionally, expose theMicrobenchmarkScopesuperclass since redeclaring therunWithMeasurementDisabledfunction 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.enableinstrumentation argument. It is no longer useful, as it can be controlled byincludeInStartupProfilearg inBaselineProfileRule.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
IllegalStateExceptionswith 'Expectedpm dump-profilesstdout' 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
LayoutModifierNodewould 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
BasicTextFieldwith 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
TimePickerDialogAPI that can be used forTimePicker,TimeInputor to have a switchable version. (Id2d83) -
New search bar APIs:
- Collapsed search bars and expanded search "views" are now separate composables.
SearchBarrepresents a search bar in the collapsed state.ExpandedFullScreenSearchBarandExpandedDockedSearchBarrepresent the search bar in the expanded state. These open in a new window.SearchBarStateto control the state of the search barTopSearchBarto add insets handling and scroll behavior- New overload of
InputFieldwhich usesSearchBarState(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
NavigationSuiteScaffoldandNavigationSuiteScaffoldLayout. (I9cc7b)
Bug Fixes
- Added custom accessibility actio...
2025-02-05
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
ClippingMediaSourceto allow clipping in unseekable media. - Fix bug where seeking with pre-warming could block following media item transition.
- Add option to
- Audio:
- Make
androidx.media3.common.audio.SonicAudioProcessorfinal.
- Make
- Video:
- Change
MediaCodecVideoRenderer.shouldUsePlaceholderSurfaceto protected so that applications can override to block usage of placeholder surfaces (#1905). - Add experimental
ExoPlayerAV1 sample dependency parsing to speed up seeking. Enable it with the newDefaultRenderersFactory.experimentalSetParseAv1SampleDependenciesAPI.
- Change
- Muxers:
- Disable
Mp4Muxersample batching and copying by default.
- Disable
- Remove deprecated symbols:
- Removed
androidx.media3.exoplayer.audio.SonicAudioProcessor.
- Removed
2025-02-03
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-alpha01androidx.test.espresso:espresso-core:3.7.0-alpha01androidx.test.espresso:espresso-contrib:3.7.0-alpha01androidx.test.espresso:espresso-idling-resource:3.7.0-alpha01androidx.test.espresso:espresso-intents:3.7.0-alpha01androidx.test.espresso:espresso-remote:3.7.0-alpha01androidx.test.espresso:espresso-web:3.7.0-alpha01androidx.test.espresso.idling:idling-concurrent:3.7.0-alpha01androidx.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
@AfterClasswere not being reported viaInstrumentationResultPrinter. - 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
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
SimpleBasePlayerwhere setting a newcurrentMediaItemIndexinStateaftersetPlaylistwithnullMediaMetadatadoes not reevaluate the metadata (#1940).
- Fix bug in
- ExoPlayer:
- Add experimental 'ExoPlayer' pre-warming support for playback using
MediaCodecVideoRenderer. You can configureDefaultRenderersFactorythroughexperimentalSetEnableMediaCodecVideoRendererPrewarmingto provide a secondaryMediaCodecVideoRenderertoExoPlayer. If enabled,ExoPlayerpre-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
DefaultRenderersFactoryadd twoMetadataRendererinstances to enable apps to receive two different schemes of metadata by default. - Initialize
DeviceInfoand device volume asynchronously (if enabled usingsetDeviceVolumeControlEnabled). These values aren't available instantly afterExoPlayer.Builder.build(), andPlayer.Listenernotifies changes throughonDeviceInfoChangedandonDeviceVolumeChanged. - Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
- Add experimental 'ExoPlayer' pre-warming support for playback using
- 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 withTransformer.Builder.setUsePlatformDiagnostics(false). - Split
InAppMuxerintoInAppMp4MuxerandInAppFragmentedMp4Muxer. You useInAppMp4Muxerto produce a non-fragmented MP4 file, whileInAppFragmentedMp4Muxeris for producing a fragmented MP4 file. - Move
Muxerinterface frommedia3-muxertomedia3-transformer. - Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
- Enable support for Android platform diagnostics using
- Extractors:
- Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
- Fix
ArrayIndexOutOfBoundsExceptionin MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
- Audio:
- Don't bypass
SonicAudioProcessorwhenSpeedChangingAudioProcessoris configured with default parameters. - Fix underflow in
Sonic#getOutputSize()that could causeDefaultAudioSinkto stall. - Fix
MediaCodecAudioRenderer.getDurationToProgressUs()andDecoderAudioRenderer.getDurationToProgressUs()so that seeks correctly reset the provided durations.
- Don't bypass
- Text:
- TTML: Add support for referencing
tts:originandtts:extentusingstyle(#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
IllegalStateExceptionwhen 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).
- TTML: Add support for referencing
- Muxers:
- Renamed
setSampleCopyEnabled()method tosetSampleCopyingEnabled()in bothMp4Muxer.BuilderandFragmentedMp4Muxer.Builder. Mp4Muxer.addTrack()andFragmentedMp4Muxer.addTrack()now return aninttrack ID instead of aTrackToken.Mp4MuxerandFragmentedMp4Muxerno longer implementMuxerinterface.
- Renamed
- Session:
- Fix bug where calling a
Playermethod on aMediaControllerconnected to a legacy session dropped changes from a pending update.
- Fix bug where calling a
- UI:
- Add
PresentationStatestate holder class and the correspondingrememberPresentationStateComposable tomedia3-ui-compose.
- Add
- HLS Extension:
- Parse
SUPPLEMENTAL-CODECStag from HLS playlist to detect Dolby Vision formats (#1785).
- Parse
- DASH Extension:
- Fix issue when calculating the update interval for ad insertion in multi-period live streams (#1698).
- Parse
scte214:supplementalCodecsattribute 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
PresentationStateto control the aspect ratio ofPlayerSurfaceComposable. This depends on the ContentScale type and covers it with a shutter-overlay before the first frame is rendered.
- Use
- Remove deprecated symbols:
- Removed
ExoPlayer.VideoComponent,ExoPlayer.AudioComponent,ExoPlayer.TextComponentandExoPlayer.DeviceComponent.
- Removed