Releases: mahozad/androidx-release-notes
2023-11-29
Activity: v1.9.0-alpha01
November 29, 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
, and androidx.activity:activity-ktx:1.9.0-alpha01
are released. Version 1.9.0-alpha01 contains these commits.
New Features
ComponentActivity
now implementsOnUserLeaveHintProvider
to allow components to callbacks foronUserLeaveHint
events. (I54892)
API Changes
ComponentActivity
has been rewritten in Kotlin. (I14f31)ActivityResultCaller
has been rewritten in Kotlin. (Ib02e4)ActivityResultLauncher
has been rewritten in Kotlin. As part of that conversion, thegetContract
method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation ofActivityResultLauncher
is written in Kotlin. (Id4615)PickVisualMediaRequest
now has the same minimum API level of 19 as thePickVisualMedia
Activity Result contract. (Id6e21)
Dependency Update
- Activity now depends on Core
1.13.0-alpha01
. (I14f31)
Annotation-Experimental: v1.4.0-alpha01
November 29, 2023
androidx.annotation:annotation-experimental:1.4.0-alpha01
is released. Version 1.4.0-alpha01 contains these commits.
Bug Fixes
- Temporarily remove class-level autofix suggestions to work around b/301598518. (Id98b2)
- Show warnings for Java usages of experimentally-annotated Kotlin properties (I8bd43)
- Fix placement of autofix annotation on Kotlin methods (Id7a41)
bluetooth: v1.0.0-alpha02
November 29, 2023
androidx.bluetooth:bluetooth:1.0.0-alpha02
and androidx.bluetooth:bluetooth-testing:1.0.0-alpha02
are released. Version 1.0.0-alpha02 contains these commits.
New Features
- Lower
minSdkVersion
to 21
API Changes
GattServerConnectFlow#updateServices
becomes a suspend function (I0237d)- Change
AdvertiseParams.durationMillis
to Long (If6771) - Convert
openGattServer
to Flow (Icef54) - Throw
ScanException
on scan fail and set scanner tosetLegacy(false)
by default (Ib337c) - Throw
AdvertiseException
on advertise fail (I0e691) - Add general bluetooth exception to catch (I0130d)
- Convert advertise to Flow and change maximum duration (I32fd8)
- Add
serviceData
andserviceSolicitationUuids
toScanResult
(I6d7f0) - Change
durationMillis
from Long to Duration (I89d49) - Add rssi, and
periodicAdvertisingInterval
toScanResult
(I60b51) - Add
serviceSolicitationUuid
andsolicitationUuidMask
toScanFilter
(Ic2206) - Added
GattServerSessionScope#subscribedCharacteristics
(I0edab) - Add
serviceSolicitationUuids
toAdvertiseParams
(Ic9aa7) - Change
AdvertiseParams.durationMillis
from Int to Long (I6873f) GattServerSessionScope#notify
does not return but throws an exception if it fails (Ifc26f)
Bug Fixes
- Extract scan functionality (I4d43f)
Browser: v1.8.0-beta01
November 29, 2023
androidx.browser:browser:1.8.0-beta01
is released. Version 1.8.0-beta01 contains these commits.
New Features
- Add experimental support for Minimized Custom Tabs APIs. (I67f2d)
Collection: v1.4.0-beta02
November 29, 2023
androidx.collection:collection-*:1.4.0-beta02
is released. Version 1.4.0-beta02 contains these commits.
New Features - Improved performance of FloatFloatPair
. (If5537)
Bug Fixes
ScatterMap.asMap()
iterator now return new instances (I28932, b/310365754)
Compose Animation: v1.6.0-beta02
November 29, 2023
androidx.compose.animation:animation-*:1.6.0-beta02
is released. Version 1.6.0-beta02 contains these commits.
Compose Compiler: v1.5.5
November 29, 2023
androidx.compose.compiler:compiler:1.5.5
and
2023-11-16
Activity: v1.8.1
November 15, 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
, and androidx.activity:activity-ktx:1.8.1
are released. Version 1.8.1 contains these commits.
Bug Fixes
OnBackPressedDispatcher
now continues to dispatch to the correctOnBackPressedCallback
even after a newOnBackPressedCallback
is added while the back gesture is being handled. (Id0ff6)
Benchmark: v1.2.1
November 15, 2023
androidx.benchmark:benchmark-*:1.2.1
is released. Version 1.2.1 contains these commits.
New Features
- Improved error message when user disables test variants (b/307478189)
- Added properties to support AS test run integration (b/309805233), (b/309116324)
Browser: v1.7.0
November 15, 2023
androidx.browser:browser:1.7.0
is released. Version 1.7.0 contains these commits.
Important changes since 1.6.0
- Added
CustomTabsIntent.Builder#setBookmarksButtonEnabled
that enables the bookmarks button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setDownloadButtonEnabled
that enables the download button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabled
that enables sending initial urls to external handler apps. (Ia792e) - Added
CustomTabsIntent.Builder#setTranslateLanguage
that specifies the target language that the Translate UI should be triggered with. (Ia792e) - Added
CustomTabsIntent.Builder#setBackgroundInteractionEnabled
that enables interactions with the background app when a partial Custom Tab is launched. (Ia792e) - Added
CustomTabsIntent.Builder#setShareIdentityEnabled
that allows Custom Tabs to obtain the caller's identity. (I7bf2b) - Added
CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesture
that sets aPendingIntent
to be sent when the user swipes up from the bottom toolbar. (Id42a2)
Browser: v1.8.0-alpha01
November 15, 2023
androidx.browser:browser:1.8.0-alpha01
is released. Version 1.8.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setInitialActivityWidthPx
which allows developers to specify the initial launch width of a Custom Tab. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetBreakpointDp
which allows developers to specify the minimum Custom Tabs window width in order for it to act as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetPosition
which allows developers to specify the Custom Tab’s position when acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetEnableMaximization
which allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetDecorationType
which allows developers to specify the Custom Tab’s decoration type when it is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPosition
which allows developers to specify the position of the rounded corners when the Custom Tab is acting as a side sheet. (I443f6) - Added
onActivityLayout
callback method to interfaceCustomTabsCallback
to let developers know the coordinates of the area occupied by the Custom Tab and the state in which it is being displayed. This will be called when the Custom Tab is first displayed on the screen and each time the occupied area changes. (I443f6) - Added
onWarmupCompleted
callback method to interfaceCustomTabsCallback
to let developers know whenCustomTabsClient#warmup
finishes warming up the browser process. (I107cf)
Bug Fixes
- Added the session id to extras in
CustomTabsSession#setEngagementSignalsCallback
andCustomTabsSession#isEngagementSignalsApiAvailable
. (Iba7f1)
Collection: v1.4.0-beta01
November 15, 2023
androidx.collection:collection-*:1.4.0-beta01
is released. Version 1.4.0-beta01 contains these commits.
Bug Fixes
- Fix for
ListIterator
incorrectly setting values inObjectList
that could result in a crash due toIndexOutOfBoundsException
. (I3bd8a, b/307049391)
Compose Animation: v1.6.0-beta01
November 15, 2023
androidx.compose.animation:animation-*:1.6.0-beta01
is released. Version 1.6.0-beta01 contains these commits.
API Changes
ExitTransition.Hold
has been renamed toExitTransition.KeepUntilTransitionsFinished
to be more explicit. (I1c490)- You may now use
keyframesWithSpline
to interpolate any N-dimensional value using monotonic splines. It's particularly useful to interpolate positional values such asOffset
,IntOffset
,DpOffset
. Added as Experimental API.
Bug Fixes
- Add renderer support for Sweep Gradient in
ArcLine
....
2023-11-15
Activity: v1.8.1
November 15, 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
, and androidx.activity:activity-ktx:1.8.1
are released. Version 1.8.1 contains these commits.
Bug Fixes
OnBackPressedDispatcher
now continues to dispatch to the correctOnBackPressedCallback
even after a newOnBackPressedCallback
is added while the back gesture is being handled. (Id0ff6)
Benchmark: v1.2.1
November 15, 2023
androidx.benchmark:benchmark-*:1.2.1
is released. Version 1.2.1 contains these commits.
New Features
- Improved error message when user disables test variants (b/307478189)
- Added properties to support AS test run integration (b/309805233), (b/309116324)
Browser: v1.7.0
November 15, 2023
androidx.browser:browser:1.7.0
is released. Version 1.7.0 contains these commits.
Important changes since 1.6.0
- Added
CustomTabsIntent.Builder#setBookmarksButtonEnabled
that enables the bookmarks button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setDownloadButtonEnabled
that enables the download button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabled
that enables sending initial urls to external handler apps. (Ia792e) - Added
CustomTabsIntent.Builder#setTranslateLanguage
that specifies the target language that the Translate UI should be triggered with. (Ia792e) - Added
CustomTabsIntent.Builder#setBackgroundInteractionEnabled
that enables interactions with the background app when a partial Custom Tab is launched. (Ia792e) - Added
CustomTabsIntent.Builder#setShareIdentityEnabled
that allows Custom Tabs to obtain the caller's identity. (I7bf2b) - Added
CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesture
that sets aPendingIntent
to be sent when the user swipes up from the bottom toolbar. (Id42a2)
Browser: v1.8.0-alpha01
November 15, 2023
androidx.browser:browser:1.8.0-alpha01
is released. Version 1.8.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setInitialActivityWidthPx
which allows developers to specify the initial launch width of a Custom Tab. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetBreakpointDp
which allows developers to specify the minimum Custom Tabs window width in order for it to act as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetPosition
which allows developers to specify the Custom Tab’s position when acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetEnableMaximization
which allows developers to enable or disable the maximization button when the Custom Tab is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetDecorationType
which allows developers to specify the Custom Tab’s decoration type when it is acting as a side sheet. (I443f6) - Added
CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPosition
which allows developers to specify the position of the rounded corners when the Custom Tab is acting as a side sheet. (I443f6) - Added
onActivityLayout
callback method to interfaceCustomTabsCallback
to let developers know the coordinates of the area occupied by the Custom Tab and the state in which it is being displayed. This will be called when the Custom Tab is first displayed on the screen and each time the occupied area changes. (I443f6) - Added
onWarmupCompleted
callback method to interfaceCustomTabsCallback
to let developers know whenCustomTabsClient#warmup
finishes warming up the browser process. (I107cf)
Bug Fixes
- Added the session id to extras in
CustomTabsSession#setEngagementSignalsCallback
andCustomTabsSession#isEngagementSignalsApiAvailable
. (Iba7f1)
Collection: v1.4.0-beta01
November 15, 2023
androidx.collection:collection-*:1.4.0-beta01
is released. Version 1.4.0-beta01 contains these commits.
Bug Fixes
- Fix for
ListIterator
incorrectly setting values inObjectList
that could result in a crash due toIndexOutOfBoundsException
. (I3bd8a, b/307049391)
Compose Animation: v1.6.0-beta01
November 15, 2023
androidx.compose.animation:animation-*:1.6.0-beta01
is released. Version 1.6.0-beta01 contains these commits.
API Changes
ExitTransition.Hold
has been renamed toExitTransition.KeepUntilTransitionsFinished
to be more explicit. (I1c490)- You may now use
keyframesWithSpline
to interpolate any N-dimensional value using monotonic splines. It's particularly useful to interpolate positional values such asOffset
,IntOffset
,DpOffset
. Added as Experimental API.
Bug Fixes
- Add renderer support for Sweep Gradient in
ArcLine
....
2023-11-06
Compose Compiler: v1.5.4
November 7, 2023
androidx.compose.compiler:compiler:1.5.4
and androidx.compose.compiler:compiler-hosted:1.5.4
are released. Version 1.5.4 contains these commits.
Dependency Updates
- Compose Compiler is now compatible with Kotlin 1.9.20
New Features
- Add experimental option to enable strong skipping mode. Enable for better performance, but you must ensure all your parameters to composable functions/lambdas are stable before using it. (22421e)
- Add flag to enable/disable source/trace information. (4d45f09)
Bug Fixes
- Allow configuring the stability of external classes via a configuration file. (If40eb)
- Fix early exit from composable functions when source information is not collected. (fe6267)
- Fix continue from composable functions. (948362)
- Fix resolution when composable functions are invoked from within a function invocation that has multiple overloads that are dependent on expression return type. (2d36d0)
- Fix memoization when function reference does not have dispatch receiver. (fc2326)
- Fix dirty check which was preventing recomposition of lambdas in some situations. (db3699)
- Fix stability when incrementally compiling across modules. (7d3e127)
- Reduce scope of
@DontMemoize
to lambda expressions only. (7a7fa52) - Fix Variables not captured correctly when using a Composable fun interface as a lambda. (5ae3556)
External Contribution
- Use structural equality symbol for numeric and null comparison (c612a0)
2023-11-01
Browser: v1.7.0-rc01
November 1, 2023
androidx.browser:browser:1.7.0-rc01
is released with no changes. Version 1.7.0-rc01 contains these commits.
- No changes since alpha-01
Car App: v1.4.0-rc01
November 1, 2023
androidx.car.app:app-*:1.4.0-rc01
is released with no notable changes. Version 1.4.0-rc01 contains these commits..
credentials: v1.2.0
November 1, 2023
androidx.credentials:credentials:1.2.0
and androidx.credentials:credentials-play-services-auth:1.2.0
are released. Version 1.2.0 contains these commits.
Important changes since 1.0.0
- This release added a new set of APIs for supporting Credential Provider in storing and fetching passwords, passkeys per users' requests.
DataStore: v1.1.0-alpha06
November 1, 2023
androidx.datastore:datastore-*:1.1.0-alpha06
is released. Version 1.1.0-alpha06 contains these commits.
API Changes
createSingleProcessCoordinator
factory method now receives a file path (String
,java.io.File
andokio.Path
) to be consistent withcreateMultiProcessCoordinator
. (I211c8, b/305755935)
Fragment: v1.6.2
November 1, 2023
androidx.fragment:fragment-*:1.6.2
is released. Version 1.6.2 contains these commits.
Bug Fixes
- When the Fragment of a
FragmentContainerView
is inflated, its states such asFragmentManager
, Host, and id are now accessible in theonInflate
callback. (I1e44c, b/307427423) - When using
clearBackStack
to remove a set of fragments, any nested Fragment'sViewModel
will now be cleared when the parent fragment’sViewModels
are cleared. (I6d83c, b/296173018)
Games Performance Tuner 2.0: v2.0.0-alpha06
November 1, 2023
androidx.games:games-performance-tuner:2.0.0-alpha06
is released. Version 2.0.0-alpha06 contains these commits.
Hilt: v1.1.0
November 1, 2023
androidx.hilt:hilt-*:1.1.0
is released. Version 1.1.0 contains these commits.
Major changes since 1.0.0
- Add KSP support to
androidx.hilt
. - Accept
HasDefaultViewModelProviderFactory
inhiltViewModel()
. - The
hiltViewModel()
API now takes an optional key parameter.
JavascriptEngine: v1.0.0-beta01
November 1, 2023
androidx.javascriptengine:javascriptengine:1.0.0-beta01
is released. Version 1.0.0-beta01 contains these commits.
- No changes since
1.0.0-alpha07
Lifecycle: v2.7.0-beta01
November 1, 2023
androidx.lifecycle:lifecycle-*:2.7.0-beta01
is released with no changes. Version 2.7.0-beta01 contains these commits.
- A beta version bump, no major changes to this release version.
Media: v1.7.0-beta01
November 1, 2023
androidx.media:media:1.7.0-beta01
is released. Version 1.7.0-beta01 contains these commits.
Bug Fixes
- Fix potential memory leak of
MediaBrowserService
andMediaBrowserServiceCompat
. b/37137738. - Fix
IllegalStateException
caused by returning null fromMediaBrowserService.onLoadChildren
on older Android versions.
Navigation: v2.7.5
November 1, 2023
androidx.navigation:navigation-*:2.7.5
is released. Version 2.7.5 contains these commits.
Bug Fixes
- Greatly improved the performance (both in terms of time and number of allocations) of comparing two graphs. This means that calls such as
setGraph
which internally compare the new graph to the existing one are much faster and result in fewer skipped frames. (I6ad62) NavHost
will now render the start destination on the first composition pass instead of needing to wait for the second pass to read updated state. (I439a7, b/304852206)- Fixed an issue where your back stack would be popped if you called
setGraph
more than once with the exact same graph only if there was a destination in your graph that contained an action linking two destinations. (Ieaed7) - Dialogs that were navigated to and dismissed in quick succession will no longer leak into the list of
NavController.visibleEntries
. (I67586, b/287969970) - When an entry is popped followed by a configuration change, the entry's
ViewModel
will now be cleared properly ifsaveState
is false. (Idf242, b/298164648) - Fixed an issue where
NavController
could handle the same deep link more than once if the back stack was entirely empty before a configuration change or call tosetGraph
only when the incoming Intent had theFLAG_ACTIVITY_NEW_TASK
flag set. (I73c7f)
Test Uiautomator: v2.3.0-alpha05
November 1, 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha05
is released.
2023-10-18
Benchmark: v1.2.0
October 18, 2023
androidx.benchmark:benchmark-*:1.2.0
is released. Version 1.2.0 contains these commits.
Important changes since 1.1.0
Baseline Profiles
- New Baseline Profile Gradle Plugin automates capturing and including baseline profiles in your test and build workflow.
BaselineProfileRule.collect
now stable, a streamlined and simplified version of the previous experimentalBaselineProfileRule.collectBaselineProfile
API- Just specify
packageName
, and drive your app
- Just specify
- For libraries generating baseline profiles, you can now filter the rules generated either in code (
BaselineProfileRule.collect
argument), or even more simply in the gradle plugin - Fixes
- Fixed baseline profile collection on Android U+ (Id1392, b/277645214)
Macrobenchmark
- Compilation
- Macrobenchmark now correctly fully resets compilation state for each compile - this requires reinstalling the APK prior to Android 14, so benchmarking on Android 14+ is strongly recommended if you want to persist state (like user login) in what's being measured.
- You can also work around this by controlling app compilation separately, and skipping compilation with
CompilationMode.Ignore()
or instrumentation argument
Instrumentation Arguments
- Support for
androidx.benchmark.dryRunMode.enable
instrumentation argument, (already available in microbenchmark) for quicker validation runs (e.g. when creating the benchmark, or in presubmit) - Support for
androidx.benchmark.profiling.mode=StackSampling
andMethodTracing
. - Added
androidx.benchmark.enabledRules
to allow runtime filtering baseline profile vs macrobenchmark rule tests - Added
androidx.benchmark.perfettoSdkTracing.enable
argument to enable tracing with tracing-perfetto, e.g. Compose recomposition tracing. Note that when used withStartupMode.COLD
, timing will be significantly affected as the tracing library is loaded and enabled during app startup.
- Support for
Requirements
- Macrobenchmark now requires
ProfileInstaller
1.3.0 or greater in the target app, to enable profile capture / reset, and shader cache clearing.
- Macrobenchmark now requires
New Experimental Metric APIs
- Added experimental
TraceSectionMetric
, which allows for extracting simple timing fromtrace("") {}
blocks in your app, or TraceMetric for leveraging the full query capability of PerfettoTraceProcessor
. - Added experimental
PowerMetric
to capture power usage information - Added experimental
MemoryCountersMetric
to count page faults - Added experimental
PerfettoTraceProcessor
API, which is used internally to extract metrics from System traces (aka Perfetto traces)
- Added experimental
Fixes
- Fixed crashes when installing or extracting profiles from an app installed from multiple APKs (e.g. from app bundle).
- Fixed
FrameTimingMetric
ignoring frames with inconsistent frame IDs (generally, frames during ripples on API 31+) (I747d2, b/279088460) - Fixed parsing errors on traces > 64MB (Ief831, b/269949822)
- Clarified errors when device (especially emulator) OS image not correctly configured for tracing, or compilation
- Skip battery level check for devices without battery (micro and macro)
- Improved file output, with more clear errors for invalid output directories, and safer defaults
- Improved stability of
StartupMode.COLD
by consistently dropping the shader cache (also exposed viaMacrobenchmarkScope.dropShaderCache
) - Fixed leanback fallback for
startActivityAndWait
.
Microbenchmark
- Features
- Profiling was moved to a separate phase, after other metrics, so one test run can display both accurate timing and profiling results.
- Experimental APIs
- Added experimental
MicrobenchmarkConfig
API for defining custom metrics and configuring tracing and profiling. Can be used to capture method traces, or capture tracepoints (but be aware of tracing overhead). - Added experimental APIs for controlling
BenchmarkState
separately fromBenchmarkRule
, without JUnit - Added experimental
PerfettoTrace
record to enable capturing Perfetto traces, with custom configuration, separate from benchmark APIs.
- Added experimental
- Fixes
- Workaround missing leading whitespaces in Android Studio benchmark output.
- Fix issue where warnings could fail to print in Android Studio benchmark output.
- Fixed
SampledProfiling
crash on Android 13 (API 33) and higher. - Massively improved performance of
dryRunMode
by skippingIsolationActivity
and Perfetto tracing (Up to 10x faster dry run mode on older OS versions).
Browser: v1.7.0-beta01
October 18, 2023
androidx.browser:browser:1.7.0-beta01
is released with no changes. Version 1.7.0-beta01 contains these commits.
CameraX: v1.3.0
October 18, 2023
androidx.camera:camera-*:1.3.0
is released. Version 1.3.0 contains these commits.
Important changes since 1.2.0
- Video features including 10-bit HDR, cropping, mirror/non-mirror, mute/unmute, set framerate, and more.
- Dual Concurrent Camera ...
2023-10-05
Benchmark: v1.2.0-rc02
October 6, 2023
androidx.benchmark:benchmark-*:1.2.0-rc02
is released. Version 1.2.0-rc02 contains these commits.
Bug Fixes
- Fix Benchmark file output to no longer break
BaselineProfile
Plugin file copying. Files were generated and copied off device, but had been renamed such that the gradle plugin wouldn't see them. (I8dbcc, b/303034735, b/296453339) - Clarified
tracing-perfetto
loading error messages when injecting from macrobenchmark module into target application.
2023-10-04
Activity: v1.8.0
October 4, 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
, and androidx.activity:activity-ktx:1.8.0
are released. Version 1.8.0 contains these commits.
Important changes since 1.7.0
- Predictive Back - The
OnBackPressedCallback
now offers new Predictive Back callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previoushandleOnBackPressed()
callback for when the back gesture is committed. This also comes with thePredictiveBackHandler
Composable to handle predictive back gesture events in Activity Compose. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher
, rather than overriding this method.
- EdgeToEdge -
ComponentActivity.setUpEdgeToEdge()
has been added to easily set up the edge-to-edge display in a backward-compatible manner.
Browser: v1.7.0-alpha01
October 4, 2023
androidx.browser:browser:1.7.0-alpha01
is released. Version 1.7.0-alpha01 contains these commits.
New Features
- Added
CustomTabsIntent.Builder#setBookmarksButtonEnabled
that enables the bookmarks button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setDownloadButtonEnabled
that enables the download button in the overflow menu. (Ia792e) - Added
CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabled
that enables sending initial urls to external handler apps. (Ia792e) - Added
CustomTabsIntent.Builder#setTranslateLanguage
that specifies the target language that the Translate UI should be triggered with. (Ia792e) - Added
CustomTabsIntent.Builder#setBackgroundInteractionEnabled
that enables interactions with the background app when a partial Custom Tab is launched. (Ia792e) - Added
CustomTabsIntent.Builder#setShareIdentityEnabled
that allows Custom Tabs to obtain the caller's identity. (I7bf2b) - Added
CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesture
that sets aPendingIntent
to be sent when the user swipes up from the bottom toolbar. (Id42a2)
Collection: v1.3.0
October 4, 2023
androidx.collection:collection-*:1.3.0
is released. Version 1.3.0 contains these commits.
Important changes since 1.2.0
- You can now use Collections in KMM projects. Note that non-Android targets of Collections are still experimental but we decided to merge versions to make it easier for developers to try them.
Collection: v1.4.0-alpha01
October 4, 2023
androidx.collection:collection-*:1.4.0-alpha01
is released. Version 1.4.0-alpha01 contains these commits.
New Features
New high-efficiency collections have been added that have low allocation overhead and high performance: - MutableScatterMap
& ScatterMap
- Classes with MutableMap
& Map-like API - MutableScatterSet
& ScatterSet
- Classes with MutableSet
& Set-like API - MutableObjectList
& ObjectList
- Classes with MutableList
& List-like API
New high-efficiency collections for storing primitives without boxing have been added: - Mutable[Int|Float|Long]List
- Classes with MutableList<Int|Float|Long>
-like API. The read-only [Int|Float|Long]List
also exists. For example, integers can be held in an IntList
. - Mutable[Int|Float|Long]Set
- Classes with MutableSet<Int|Float|Long>
-like API. The read-only [Int|Float|Long]Set
also exists. For example, integers can be held in an IntSet. - Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
- Classes with Mutable<Int|Float|Long,T, Int|Float|Long|T>
-like API. The read-only [Int|Float|Long|Object][Int|Float|Long|Object]Map
also exists. For example, a map with an integer key and a reference type value is an IntObjectMap<T>
. A map with a long key and a float value is a LongFloatMap
. There is no version with the name ObjectObjectMap
because that is covered by ScatterMap/MutableScatterMap
.
Compose Animation: v1.5.3
October 4, 2023
androidx.compose.animation:animation-*:1.5.3
is released. This version has no changes
Compose Animation: v1.6.0-alpha07
October 4, 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
is released. Version 1.6.0-alpha07 contains these commits.
API Changes
- Fixed and Scrollable Tabrows now have Primary and Secondary variants. These correctly map to the color and indicator behavior as defined in Material3.
PrimaryScrollableTabRow
andSecondaryScrollableTabRow
now expose scroll state. (Iec8f5, b/260572337)
Compose Foundation: v1.5.3
October 4, 2023
androidx.compose.foundation:foundation-*:1.5.3
is released. This version has no changes.
Compose Foundation: v1.6.0-alpha07
October 4, 2023
androidx.compose.foundation:foundation-*:1.6.0-alpha07
is released. Version 1.6.0-alpha07 contains these commits.
API Changes
- Introduced
PlatformTextInputMethodTestOverride
for writing tests for custom text editors. (Id159b) - Renamed
GraphicsSurface
toAndroidExternalSurface
(
2023-09-28
Media3: v1.2.0-alpha02
- Common Library:
- Upgrade
androidx.annotation:annotation-experimental
to1.3.1
. This also introduces a transitive dependency on the Kotlin standard library frommedia3-common
. Apps can downgrade to remove this dependency if they want. Fixes https://issuetracker.google.com/251172715. - Move
ExoPlayer.setAudioAttributes
to thePlayer
interface.
- Upgrade
- ExoPlayer:
- Add additional fields to Common Media Client Data (CMCD) logging: next object request (
nor
) and next range request (nrr
) (#8699). - Add functionality to transmit Common Media Client Data (CMCD) data using query parameters (#553).
- Fix
ConcurrentModificationException
inExperimentalBandwidthMeter
(#612). - Add
MediaPeriodId
parameter toCompositeMediaSource.getMediaTimeForChildMediaTime
. - Support
ClippingMediaSource
(and other sources with period/window time offsets) inConcatenatingMediaSource2
(#11226). - Change
BaseRenderer.onStreamChanged()
to also receive aMediaPeriodId
argument.
- Add additional fields to Common Media Client Data (CMCD) logging: next object request (
- Transformer:
- Changed
frameRate
anddurationUs
parameters ofSampleConsumer.queueInputBitmap
toTimestampIterator
.
- Changed
- Extractors:
- Add
BmpExtractor
. - Add
WebpExtractor
. - Add
HeifExtractor
. - Add QuickTime classic support to
Mp4Extractor
.
- Add
- Audio:
- Add support for Opus gapless metadata during offload playback.
- Allow renderer recovery by disabling offload if failed at first write (#627).
- Enable Offload Scheduling by default for audio-only offloaded playback.
- Delete
ExoPlayer.experimentalSetOffloadSchedulingEnabled
andAudioOffloadListener.onExperimentalOffloadSchedulingEnabledChanged
. - Renamed
onExperimentalSleepingForOffloadChanged
asonSleepingForOffloadChanged
andonExperimentalOffloadedPlayback
asonOffloadedPlayback
.
- Effect:
- Changed
frameRate
anddurationUs
parameters ofVideoFrameProcessor.queueInputBitmap
toTimestampIterator
.
- Changed
- IMA extension:
- Fix bug where a multi-period DASH live stream that is not the first item in a playlist can throw an exception (#571).
- Release StreamManager before calling
AdsLoader.destroy()
- Bump IMA SDK version to 3.31.0.
- Session:
- Set the notifications foreground service behavior to
FOREGROUND_SERVICE_IMMEDIATE
inDefaultMediaNotificationProvider
(#167). - Use only
android.media.session.MediaSession.setMediaButtonBroadcastReceiver()
above API 31 to avoid problems with deprecated API on Samsung devices (#167). - Use the media notification controller as proxy to set available commands and custom layout used to populate the notification and the platform session.
- Convert media button events that are received by
MediaSessionService.onStartCommand()
within Media3 instead of routing them to the platform session and back to Media3. With this, the caller controller is always the media notification controller and apps can easily recognize calls coming from the notification in the same way on all supported API levels. - Fix bug where
MediaController.getCurrentPosition()
is not advancing when connected to a legacyMediaSessionCompat
. - Add
MediaLibrarySession.getSubscribedControllers(mediaId)
for convenience. - Override
MediaLibrarySession.Callback.onSubscribe()
to assert the availability of theparentId
for which the controller subscribes. If successful, the subscription is accepted andnotifyChildrenChanged()
is called immediately to inform the browser (#561).
- Set the notifications foreground service behavior to
- RTSP Extension:
- Leanback extension:
- Fix bug where disabling a surface can cause an
ArithmeticException
in Leanback code (#617).
- Fix bug where disabling a surface can cause an
2023-09-25
Compose Animation: v1.5.2
September 27, 2023
androidx.compose.animation:animation-*:1.5.2
is released. Version 1.5.2 contains these commits.
Compose Foundation: v1.5.2
September 27, 2023
androidx.compose.foundation:foundation-*:1.5.2
is released. Version 1.5.2 contains these commits.
Bug Fixes
- Fixed a bug in text that led to crashes in certain circumstances when semantics were invalidated.
Compose Material: v1.5.2
September 27, 2023
androidx.compose.material:material-*:1.5.2
is released. Version 1.5.2 contains these commits.
Compose Runtime: v1.5.2
September 27, 2023
androidx.compose.runtime:runtime-*:1.5.2
is released. Version 1.5.2 contains these commits.
Compose UI: v1.5.2
September 27, 2023
androidx.compose.ui:ui-*:1.5.2
is released. Version 1.5.2 contains these commits.
Bug Fixes
- Added workaround for crashes when accessibility scroll API was accessed from background thread.
- Fix unattached nodes being added to the semantics tree.