Skip to content

2024-09-18

Choose a tag to compare

@github-actions github-actions released this 18 Sep 21:37
· 63 commits to main since this release

Annotation: v1.9.0-beta01

September 18, 2024

androidx.annotation:annotation-*:1.9.0-beta01 is released. Version 1.9.0-beta01 contains these commits.

API Changes

Autofill: v1.3.0-beta01

September 18, 2024

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

Benchmark: v1.3.1

September 18, 2024

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

Bug Fixes

  • Added gradle property androidx.baselineprofile.suppressWarnings to suppress all baseline profile warnings (I7c36e, b/349646646)
  • Fixed Baseline Profile Gradle Plugin to use pre-existing nonMinified… and benchmark… if created by the app instead of creating wrappers. (Ia8934, b/361370179)
  • Fixed java.lang.AssertionError: ERRORS (not suppressed): EMULATOR when automaticGenerationDuringBuild is enabled on emulators. New argument is used to instead skip the test. (If3f51, b/355515798)
  • Microbenchmark minification - keep subclasses of org.junit.runner.notification.RunListener in benchmark library proguard (Ic8ed5, b/354264743)
  • Fix TraceSectionMetric to Ignore non-terminating slices. Previously these were considered to have -1 duration, e.g. during summation or finding minimum duration. (If74b7)
  • Fixed an issue in FrameTimingGfxInfoMetric where starting the metric would crash if the process wasn't already running. (I6e412)

Benchmark: v1.4.0-alpha01

September 18, 2024

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

New Feature - App Startup Insights

  • Initial version of app startup insights can be enabled in Macrobenchmark. (09fae38)

To enable in a startup benchmark:

  @Test
  fun startup {
      macrobenchmarkRule.measureRepeated(
          …
          packageName = "com.example.my.application.id"
          metrics = listOf(StartupTimingMetric()),
          iterations = 5,
          startupMode = StartupMode.COLD,
          compilationMode = CompilationMode.None(),
          ExperimentalConfig(StartupInsightsConfig(isEnabled = true))
          ) {
          scope.startActivityAndWait(...)
      }
  }

Then running your startup benchmark will analyze the trace to look for common problems, and print them after metrics to Studio test output in the benchmark tab, e.g.:

StartupBenchmark_startup[startup=COLD,compilationMode=None]
├── Metrics
│   ├──   timeToFullDisplayMs                min  1,147.2,   median  1,208.8,   max  1,307.4
│   └──   timeToInitialDisplayMs             min  1,147.2,   median  1,208.8,   max  1,307.4
├── App Startup Insights
│   ├── App in debuggable mode (expected: false)
│   │   └── seen in iterations: 0(true) 1(true) 2(true) 3(true) 4(true) 5(true) 6(true) 7(true) 8(true) 9(true)
│   ├── Potential CPU contention with another process (expected: < 100000000ns)
│   │   └── seen in iterations: 4(105022546ns)
│   └── Main Thread - Binder transactions blocked (expected: false)
│       └── seen in iterations: 7(true)
└── Traces
    └── Iteration 0 1 2 3 4 5 6 7 8 9

This feature is still a work-in-progress, with improvements to documentation and extensibility to follow, but feedback is welcome.

New Features

  • Added gradle property androidx.baselineprofile.suppressWarnings to suppress all baseline profile warnings. (314153a)
  • Microbench metrics are now displayed in Perfetto traces as counters. (3214854)
  • Add experimental scripts for disabling jit (requires root / runtime restart), and resetting device perf/test state. These are not currently published as gradle tasks. (7c3732b)
  • Added benchmark argument to skip tests when running on emulator. When automaticGenerationDuring build is enabled, benchmarks will also trigger baseline profile generation. This will fail, if emulators are used. With the new argument skipBenchmarksOnEmulator we can instead skip the test. (0c2ddcd)
  • Change perf event enable logic to run on API 23+ (2550048)

API Changes

  • Existing experimental PerfettoConfig argument to MacrobenchmarkRule.measureRepeated() moved to the new ExperimentalConfig object.

Bug Fixes

  • Increase lockClocks.sh retry count (99e9dac)
  • Don't create nonMinified and benchmark build types if existing. Due to a bug, even if nonMinified and benchmark build types existed, they were going to be recreated. (e75f0a5)
  • Ignore non-terminating slices from TraceSectionMetric results. (a927d20)
  • Improved emulator check to consider sdk_ prefix. (1587de8)
  • Treat non-running packages as cleared in FrameTimingGfxInfoMetric. (35cc79c)
  • Fix androidx.benchmark.cpuEventCounter producing corrupt values for non-Instruction events. (06edd59)
  • Fix resumeTiming/runWithTimingDisabled to respect metric priority order, and significantly reduce impact of lower priority metric pause/resume on higher priority metric results. For example, if using cpu perf counters via cpuEventCounter.enable instrumentation argument, timeNs is no longer significantly reduced when pause/resume occur. (5de0968)

Camera: v1.4.0-rc02

September 18, 2024

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

Bug Fixes

  • Fixed the crash when bindToLifecycle is invoked with a destroyed LifecycleOwner. (I6e6d8)
  • Added visibility animation in ScreenFlashView for ScreenFlash#apply which also fixes bugs due to brightness change completing asynchronously after some time. (I37cdb)
  • Improved zooming smoothness by overriding zoom settings in the framework on supported devices.

Car App: v1.7.0-beta02

September 18, 2024

androidx.car.app:app-*:1.7.0-beta02 is released. Version 1.7.0-beta02 contains these commits.

API Changes

  • Add KEY_ROOT_HINT_MEDIA_HOST_VERSION extra (I8796b)
  • Replace TabContents.Api8Builder class with @ExperimentalCarApi constructor inTabContents.Builder class (I26fbe)
  • Add intent action and extras for CarMediaApp (I50782)
  • Mark messaging APIs as non-experimental (I0b070)
  • Add remote item loading to SectionedItemTemplate (allows long lists to load without crashing) (I0d122)
  • Add SectionedItemTemplate to list of supported templates inside TabTemplate in API 8. (Idc5d6)

Bug Fixes

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (I9496c, b/345472586)

Collection: v1.4.4

September 18, 2024

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

Bug Fixes

  • Workaround ArrayIndexOutOfBounds when sorting an empty collection. (I65245)

Collection: v1.5.0-alpha02

September 18, 2024

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

API Changes

Compose Animation: v1.7.2

September 18, 2024

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

External Contribution

  • Prevent setting seekable transition playTime when no transition is running. Thanks Steven Schoen! (c2e6e7e6)

Compose Animation: v1.8.0-alpha02

September 18, 2024

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

Compose Foundation: v1.7.2

September 18, 2024

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

Bug Fixes

  • Fix issue with draggable that was missing down events which caused flings to look slower than normal.

Compose Foundation: v1.8.0-alpha02

September 18, 2024

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

API Changes

  • TextOverflow.StartEllipsis and TextOverflow.MiddleEllipsis are now available which allows to place ellipsis at the start or middle of the line of the single line text (I38913, b/185418980)

Compose Material: v1.7.2

September 18, 2024

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

Compose Material: v1.8.0-alpha02

September 18, 2024

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

Compose Material3 Adaptive: v1.1.0-alpha03

September 18, 2024

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

Compose Runtime: v1.7.2

September 18, 2024

androidx.compose.runtime:runtime-*:1.7.2 is released. Version 1.7.2 contains these commits.

Runtime Tracing: v1.7.0-rc01

September 18, 2024

androidx.compose.runtime:runtime-tracing:1.7.0-rc01 is released. Version 1.7.0-rc01 contains these commits.

Compose Runtime: v1.8.0-alpha02

September 18, 2024

androidx.compose.runtime:runtime-*:1.8.0-alpha02 is released. Version 1.8.0-alpha02 contains these commits.

New Features

  • Added PausableComposition which allows creating a subcomposition that can be paused during composition and and applied asynchronously to the composition. Compiler support is required for pausing which is currently in development. (I3394b)

Compose UI: v1.7.2

September 18, 2024

androidx.compose.ui:ui-*:1.7.2 is released. Version 1.7.2 contains these commits.

Bug Fixes

  • Improved performance of accessibility node info and semantics events by removing verbose tracing. (I89156, b/362530618)
  • ComposeView will no longer crash when passed exceptionally large measurement size (da5db, b/347036173)
  • Fixed an accessibility screenreader issue where LiveRegion announcements on buttons were not made. (f66fa7, b/348590026)

Compose UI: v1.8.0-alpha02

September 18, 2024

androidx.compose.ui:ui-*:1.8.0-alpha02 is released. Version 1.8.0-alpha02 contains these commits.

API Changes

  • TextOverflow.StartEllipsis and TextOverflow.MiddleEllipsis are now available which allows to place ellipsis at the start or middle of the line of the single line text. (I38913, b/185418980)

Bug Fixes

External Contribution

  • Modifier.dragAndDropSource was adopted to multiplatform - start detection is performed by Compose itself (or delegated to system in case of Web or iOS), so callback is only used for obtain a transfer data
  • DragAndDropModifierNode is deprecated in favor to DragAndDropSourceModifierNode and DragAndDropTargetModifierNode (I0389d, b/326945380)
  • The AlignmentLines Map now accepts VerticalAlignmentLine or HorizontalAlignmentLine concrete types. (I02912)
  • New common ByteArray.decodeToImageBitmap(): ImageBitmap method. (I83c21)

Health Connect: v1.1.0-alpha09

September 18, 2024

androidx.health.connect:connect-client:1.1.0-alpha09, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09, and androidx.health.connect:connect-client-proto:1.1.0-alpha09 are released. Version 1.1.0-alpha09 contains these commits.

New Features

  • Add background reads permission, guarded by feature availability. (I01036, I44db9)

Lifecycle: v2.8.6

September 18, 2024

androidx.lifecycle:lifecycle-*:2.8.6 is released. Version 2.8.6 contains these commits.

Bug Fixes

  • The NullSafeMutableLiveData Lint error has improved support for smart casts, avoiding false positives. (85fed6, b/181042665)

Dependency Updates

Lifecycle: v2.9.0-alpha03

September 18, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha03 is released. Version 2.9.0-alpha03 contains these commits.

Bug Fixes

Dependency Updates

Navigation: v2.8.1

September 18, 2024

androidx.navigation:navigation-*:2.8.1 is released. Version 2.8.1 contains these commits.

New Features

  • Added a new lint rule to ensure the use of the popBackStack function that takes a reified class type when attempting to popBackStack using type-safe APIs. (Ief161, b/358095343)

Bug Fixes

  • Navigation now requires that the route passed to a NavGraph's startDestination contains the values for all required arguments, which includes arguments that are non-nullable and have no default value. (I18e74, b/362594265)
  • Navigation safe args has added support for non-nullable strings such that "null" values will be parsed and stored into the bundle as is. This departs from existing behavior where "null" values are parsed into a null object. This change only applies to non-nullable String types. Nullable strings remain unchanged. (I08b4a, b/348936238)
  • A NavDestination can no longer be deeplinked into except through a deep link that was explicitly added to the destination. This also means that you can only navigate to a destination's route with the navigate function overload that takes a string route. This fixes a vulnerability that made it possible to deep link to a potentially protected destination. (Ie30e6)

Dependency Update

  • Navigation Safe Args now depends on Kotlin 1.9.24, rather than Kotlin 2.X, ensuring that developers are not forced to update. (a4129a)
  • Navigation Compose now depends on Compose 1.7.2.

pdf: v1.0.0-alpha03

September 18, 2024

androidx.pdf:pdf-viewer:1.0.0-alpha03 and androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

Bug Fixes

  • Keyboard not coming up when search is opened for the first time is resolved
  • UI fixes related to the font of FindInFile view.
  • UI fixes for text selection and drag handle.

Known Issues

  • 3D images in PDF documents are not rendered in the viewer.
  • PdfViewerFragment has some performance issues on very large PDF documents (> 250 MB)

privacysandbox ui: v1.0.0-alpha10

September 18, 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10, and androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10 are released. Version 1.0.0-alpha10 contains these commits.

New Features

  • Updated session opening logic to only open a session inside a SandboxedSdkView if the window containing the SandboxedSdkView is visible.
  • Updated SessionObserver logic to send onUiContainerChanged when the visibility of the window containing the SandboxedSdkView changes.

Bug Fixes

  • Invoke onUiContainerChanged when the window visibility changes (I541cf)
  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (If6b4c, b/345472586)

ProfileInstaller: v1.4.0

September 18, 2024

androidx.profileinstaller:profileinstaller:1.4.0 is released. Version 1.4.0 contains these commits.

Important changes since 1.3.0

  • ProfileInstaller now supports capturing/installing profiles on API 35+. Updates to ProfileInstaller should no longer be required for platform version updates. (6f9f6fa)
  • Fixes crash when dropping shaders on Android U (API 34), as well as on emulators. (I031ca, b/274314544)
  • Fix method flag transcoding in the V_015S profile format. (aosp/2906631, aosp/2847740)

Recyclerview: v1.4.0-rc01

September 18, 2024

androidx.recyclerview:recyclerview:1.4.0-rc01 is released, with no changes since 1.4.0-alpha02/. Version 1.4.0-rc01 contains these commits.

Room: v2.7.0-alpha08

September 18, 2024

androidx.room:room-*:2.7.0-alpha08 is released. Version 2.7.0-alpha08 contains these commits.

New Features

  • The room-paging artifacts have been migrated to be KMP compatible. (Ib8756, b/339934824)
  • The API invalidationTrackerFlow() has been commonized as a first-party API as InvalidationTracker.createFlow() and is now available for non-Android source sets in KMP projects. (I1fbfa, (I8fb29), b/329291639, b/329315924)

API Changes

  • All warnings and error messages in Room that use the word Cursor have been removed or replaced, as Cursor is no longer an accurate general term to use in the KMP version of Room. (Id8cd9, b/334087492)

Bug Fixes

  • Fixed an issue where Room KMP would try to emit code using UUID for non-JVM platforms. (b/362994709)
  • Fixed an issue with the Room Gradle Plugin that would cause an error such as ‘Cannot change attributes of configuration … after it has been locked for mutation’ when being used in a KMP project with Compose Multiplatform. (b/343408758)

Sqlite: v2.5.0-alpha08

September 18, 2024

androidx.sqlite:sqlite-*:2.5.0-alpha08 is released. Version 2.5.0-alpha08 contains these commits.

Startup: v1.2.0

September 18, 2024

androidx.startup:startup-runtime:1.2.0 is released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Fixes metadata lookup when the InitializationProvider is defined for secondary processes. (Id9ff1)
  • Fixed a bug in AppInitializer.isEagerlyInitialized(). (I99e9a)

Wear Compose: v1.5.0-alpha02

September 18, 2024

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

API Changes

  • We have added support for the Wear Compose LazyColumn with our ScreenScaffold (and added an implementation of ScrollInfoProvider for LazyColumnState). (Ib8d29)
  • We have added viewportSize to LazyColumnLayoutInfo. (I4187f)

Bug Fixes

  • We have fixed a bug so that rotary scrolling is now disabled in ScalingLazyColumn when the userScrollEnabled flag is set to false. (I490ab, b/360295825)
  • We have made a bug fix to address unexpected vertical padding on curved text. The curved text height now more closely matches the actual space used by the text. Please note that this is likely to break screenshot tests that involve curved text (Iaa6ef)
  • We have reverted a bug fix to Dialog where the onDismissRequest callback was called when showDialog was set to false, because in some cases this resulted in onDismissRequest being called multiple times. (I64656)

Wear Compose Material3: v1.0.0-alpha25

September 18, 2024

androidx.wear.compose:compose-material3:1.0.0-alpha25 is released. Version 1.0.0-alpha25 contains these commits.

API Changes

  • We have added an Indeterminate circular progress indicator. (I427a7)
  • We have added support for progress overflow (>100% progress) for both the CircularProgressIndicator and the SegmentedCircularProgressIndicator. When the progress exceeds 1.0, this will be indicated by the new overflowTrack color. (Iaaa3d)
  • The round IconToggleButton and TextToggleButton now support a new shape animation variation, in which different shapes represent checked, unchecked and pressed states. The earlier animated shape variation for the just pressed state continues to be supported. (I29f03)
  • We have removed support for using EdgeButton with Column, due to the need to specify the EdgeButton height explicitly in ScreenScaffold. (Ie353d)
  • We have added support for the Wear Compose LazyColumn with our ScreenScaffold (and added an implementation of ScrollInfoProvider for LazyColumnState). (Ib8d29)
  • We have combined LocalTextMaxLines, LocalTextAlign, LocalTextOverflow into a single LocalTextConfiguration composition local to provide a more scalable solution going forwards. (I5edbc)
  • We have added arc-large as an additional typescale, reserved for short header text strings at the very top or bottom of the screen, like in Confirmation overlays. (I60e3e)
  • We have added defaults to Button for recommended large and extra large icon sizes and content padding. (I84675)

Bug Fixes

  • We have updated the colors for IconButton and TextButton. (I48324)
  • We have changed the base Button overloads to be vertically center-aligned for consistency with other overloads. To restore the previous behavior, use Modifier.align from the RowScope. (I66e57)

Wear Watchface: v1.3.0-alpha04

September 18, 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha04 is released. Version 1.3.0-alpha04 contains these commits.

New Features

  • Added support for lazy loading of icons in UserStyleSettings and UserStyleOptions which is a performance win for loading watch faces. (Iaf43d)
  • Added an option for an updated screenshot to be taken whenever the system configuration changes (e.g. if the locale changed) via the new Watchface.setUpdateScreenshotOnConfigurationChange. By default this setting is off. (I765a1)

Bug Fixes

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (Ia60e0, b/345472586)

Webkit: v1.12.0

September 18, 2024

androidx.webkit:webkit:1.12.0 is released. Version 1.12.0 contains these commits.

Important changes since 1.11.0

  • Add a new API to WebSettingsCompat to enable/disable BackForwardCache for this WebSettings. This API is experimental and can be changed in the future. (aosp/3111705)
  • Add a new API to WebSettingsCompat to control the Speculative Loading behavior for this WebSettings. Only Prerender is available for now. This API is experimental and can be changed in the future. (I13962)
  • Added a new API to enable Web Authentication in WebView. Developers can enable/disable WebAuthn calls in a WebView for their apps using WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

WindowManager: v1.4.0-alpha03

September 18, 2024

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

New Features

Bug Fixes

  • Add missing breakpoints to the default WindowSizeClass breakpoint set.
  • Fixed a bug where compact dimensions were not being selected correctly in some cases.

WorkManager: v2.10.0-alpha04

September 18, 2024

androidx.work:work-*:2.10.0-alpha04 is released. Version 2.10.0-alpha04 contains these commits.

API Changes

  • Add the stop reason STOP_REASON_FOREGROUND_SERVICE_TIMEOUT for when a foreground worker is stopped due to execution timeout based on the foreground service type. (Ibd0af)