Skip to content

Releases: mahozad/androidx-release-notes

2023-11-29

29 Nov 21:36
Compare
Choose a tag to compare

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 implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint 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, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin. (Id4615)
  • PickVisualMediaRequest now has the same minimum API level of 19 as the PickVisualMedia Activity Result contract. (Id6e21)

Dependency Update

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 to setLegacy(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 and serviceSolicitationUuids to ScanResult (I6d7f0)
  • Change durationMillis from Long to Duration (I89d49)
  • Add rssi, and periodicAdvertisingInterval to ScanResult (I60b51)
  • Add serviceSolicitationUuid and solicitationUuidMask to ScanFilter (Ic2206)
  • Added GattServerSessionScope#subscribedCharacteristics (I0edab)
  • Add serviceSolicitationUuids to AdvertiseParams (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

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

Read more

2023-11-16

16 Nov 18:38
Compare
Choose a tag to compare

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 correct OnBackPressedCallback even after a new OnBackPressedCallback 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

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 a PendingIntent 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 interface CustomTabsCallback 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 interface CustomTabsCallback to let developers know when CustomTabsClient#warmupfinishes warming up the browser process. (I107cf)

Bug Fixes

  • ​​Added the session id to extras in CustomTabsSession#setEngagementSignalsCallback and CustomTabsSession#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 in ObjectList that could result in a crash due to IndexOutOfBoundsException. (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 to ExitTransition.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 as Offset, IntOffset, DpOffset. Added as Experimental API.

Bug Fixes

  • Add renderer support for Sweep Gradient in ArcLine....
Read more

2023-11-15

15 Nov 18:37
Compare
Choose a tag to compare

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 correct OnBackPressedCallback even after a new OnBackPressedCallback 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

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 a PendingIntent 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 interface CustomTabsCallback 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 interface CustomTabsCallback to let developers know when CustomTabsClient#warmupfinishes warming up the browser process. (I107cf)

Bug Fixes

  • ​​Added the session id to extras in CustomTabsSession#setEngagementSignalsCallback and CustomTabsSession#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 in ObjectList that could result in a crash due to IndexOutOfBoundsException. (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 to ExitTransition.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 as Offset, IntOffset, DpOffset. Added as Experimental API.

Bug Fixes

  • Add renderer support for Sweep Gradient in ArcLine....
Read more

2023-11-06

07 Nov 18:37
Compare
Choose a tag to compare

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

01 Nov 18:37
Compare
Choose a tag to compare

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 and okio.Path) to be consistent with createMultiProcessCoordinator. (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 as FragmentManager, Host, and id are now accessible in the onInflate callback. (I1e44c, b/307427423)
  • When using clearBackStack to remove a set of fragments, any nested Fragment's ViewModel will now be cleared when the parent fragment’s ViewModels 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 in hiltViewModel().
  • 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 and MediaBrowserServiceCompat. b/37137738.
  • Fix IllegalStateException caused by returning null from MediaBrowserService.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 if saveState 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 to setGraph only when the incoming Intent had the FLAG_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.

Read more

2023-10-18

18 Oct 18:38
Compare
Choose a tag to compare

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 experimental BaselineProfileRule.collectBaselineProfile API
    • Just specify packageName, and drive your app
  • 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

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 and MethodTracing.
    • 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 with StartupMode.COLD, timing will be significantly affected as the tracing library is loaded and enabled during app startup.
  • Requirements

    • Macrobenchmark now requires ProfileInstaller 1.3.0 or greater in the target app, to enable profile capture / reset, and shader cache clearing.
  • New Experimental Metric APIs

  • 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 via MacrobenchmarkScope.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 from BenchmarkRule, without JUnit
    • Added experimental PerfettoTrace record to enable capturing Perfetto traces, with custom configuration, separate from benchmark APIs.
  • 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 skipping IsolationActivity 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

Read more

2023-10-05

06 Oct 18:37
Compare
Choose a tag to compare

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

04 Oct 18:38
Compare
Choose a tag to compare

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 previous handleOnBackPressed() callback for when the back gesture is committed. This also comes with the PredictiveBackHandler 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 a PendingIntent 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 and SecondaryScrollableTabRow 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 to AndroidExternalSurface (
Read more

2023-09-28

02 Oct 15:36
Compare
Choose a tag to compare

Media3: v1.2.0-alpha02

  • Common Library:
    • Upgrade androidx.annotation:annotation-experimental to 1.3.1. This also introduces a transitive dependency on the Kotlin standard library from media3-common. Apps can downgrade to remove this dependency if they want. Fixes https://issuetracker.google.com/251172715.
    • Move ExoPlayer.setAudioAttributes to the Player interface.
  • 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 in ExperimentalBandwidthMeter (#612).
    • Add MediaPeriodId parameter to CompositeMediaSource.getMediaTimeForChildMediaTime.
    • Support ClippingMediaSource (and other sources with period/window time offsets) in ConcatenatingMediaSource2 (#11226).
    • Change BaseRenderer.onStreamChanged() to also receive a MediaPeriodId argument.
  • Transformer:
    • Changed frameRate and durationUs parameters of SampleConsumer.queueInputBitmap to TimestampIterator.
  • Extractors:
    • Add BmpExtractor.
    • Add WebpExtractor.
    • Add HeifExtractor.
    • Add QuickTime classic support to Mp4Extractor.
  • 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 and AudioOffloadListener.onExperimentalOffloadSchedulingEnabledChanged.
    • Renamed onExperimentalSleepingForOffloadChanged as onSleepingForOffloadChanged and onExperimentalOffloadedPlayback as onOffloadedPlayback.
  • Effect:
    • Changed frameRate and durationUs parameters of VideoFrameProcessor.queueInputBitmap to TimestampIterator.
  • 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 in DefaultMediaNotificationProvider (#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 legacy MediaSessionCompat.
    • Add MediaLibrarySession.getSubscribedControllers(mediaId) for convenience.
    • Override MediaLibrarySession.Callback.onSubscribe() to assert the availability of the parentId for which the controller subscribes. If successful, the subscription is accepted and notifyChildrenChanged() is called immediately to inform the browser (#561).
  • RTSP Extension:
    • Fix a race condition that could lead to IndexOutOfBoundsException when falling back to TCP, or playback hanging in some situations.
    • Check state in RTSP setup when returning loading state of RtspMediaPeriod (#577).
    • Ignore custom RTSP request methods in Options response public header (#613).
  • Leanback extension:
    • Fix bug where disabling a surface can cause an ArithmeticException in Leanback code (#617).

2023-09-25

27 Sep 18:37
Compare
Choose a tag to compare

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.