Skip to content

2024-05-14

Choose a tag to compare

@github-actions github-actions released this 14 May 18:38
· 87 commits to main since this release

Annotation: v1.8.0

May 14, 2024

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

Important changes since 1.7.0

  • Added @ReplaceWith annotation to express replacements for deprecated APIs
  • The @MainThread annotation has been moved to the common source set.

Appcompat: v1.7.0-rc01

May 14, 2024

androidx.appcompat:appcompat:1.7.0-rc01 and androidx.appcompat:appcompat-resources:1.7.0-rc01 are released. Version 1.7.0-rc01 contains these commits.

Benchmark: v1.3.0-alpha05

May 14, 2024

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

Bug Fixes

  • Throw clearer exception when macrobench metric returns zero values for all iterations (Iab58f, b/314931695)
  • Additional workaround rules added to microbench proguard rules, including support for listener rules and other observed warnings / errors. (I14d8f, b/329126308, b/339085669)
  • Method tracing runs as a separate phase during a Macrobenchmark, and it no longer affects measurements. (If9a50, b/285912360, b/336588271)
  • Added extra debugging suggestions to drop shader broadcast failure message. (I5efa6, b/325502725)

CameraX: v1.4.0-beta01

May 14, 2024

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

API Changes

  • Added ZoomGestureDetector.ZoomEvent to encapsulates the states of a zoom gesture. (I84cdf)

Bug Fixes

  • Fixed a bug that still capture and tap-to-focus do not use the repeating request FPS/stabilization mode values which may recreate capture session and cause latency issues or Preview freeze in some devices. (I7dc0b)
  • Fixed a bug where High Resolutions can not be selected when CameraEffect is enabled on some devices. (e.g. 4000x3000 on Samsung A32 5G). (Ie3ed3, b/337336152)
  • Fixed a crash when taking picture with Preview, ImageCapture and VideoCapture(UHD) are bound on Pixel 4XL API29. (I5b288)
  • Support virtual devices: Context passed into ProcessCameraProvider will preserve the device ID to ensure the functionality in a virtual device environment. (I5ba48)

CameraX: v1.4.0-alpha06

May 14, 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 and androidx.camera:camera-viewfinder-core:1.4.0-alpha06 are released. Version 1.4.0-alpha06 contains these commits.

API Changes

  • Rename Viewfinder's ImplementationMode Enums to better reflect underlying implementations, and add fixed constants for TransformationInfo.sourceRotation. (Ic6149)
  • Added ZoomGestureDetector.ZoomEvent to encapsulates the states of a zoom gesture. (I84cdf)

Camera Viewfinder Compose: v1.0.0-alpha01

May 14, 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

New Features

  • New library. This library introduces a Compose native Viewfinder composable, that can be used with CameraX and Camera2. The composable Viewfinder supports different aspect ratios, and handling of touch events.

Compose Animation: v1.7.0-beta01

May 14, 2024

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

API Changes

  • New resizeModes (ScaleToBounds and RemeasureToBounds) for sharedBounds to choose between scaling and remeasure. The previous scaleIn/OutSharedContentToBounds APIs are now deprecated. (I0d41a)

External Contribution

Compose Compiler: v1.5.14

May 14, 2024

androidx.compose.compiler:compiler:1.5.14 and androidx.compose.compiler:compiler-hosted:1.5.14 are released. Version 1.5.14 contains these commits.

This compiler release is targeting Kotlin 1.9.24.

Bug Fixes

  • Ensure that inline body is realized when source information is off. (Idddb8)

Compose Foundation: v1.7.0-beta01

May 14, 2024

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

API Changes

  • Added KeyboardOptions.shouldShowKeyboardOnFocus property back as deprecated hidden for binary compatibility. (I15cfe)
  • Modifier.anchoredDraggable now reverses drag deltas by default for components with a Horizontal orientation when used in an RTL layout. (I3c6d9)
  • AnnotatedString.hasEqualsAnnotations is now hasEqualAnnotations. (I685c0)
  • Updated the API for getting Material themed links in text. Specifically, removed the methods from the TextDefaults for constructing themed LinkAnnotations and parse HTML with themed links. Instead, added a TextLinkStyles class that allows to style the links as a parameter to the Text composable. (I31b93)
  • Replaced onDragStarted and onDragStopped with non-suspend callbacks. (I59de8)

Bug Fixes

  • Fixed a bug where Pager would crash when the contentPadding was bigger than the incoming constraints. Pager now coerces negative values returned from PageSize to 0. (Iba5d8, b/314008560)

Compose Material: v1.7.0-beta01

May 14, 2024

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

API Changes

  • Updated the API for getting Material themed links in Text. Specifically, removed the methods from the TextDefaults for constructing themed LinkAnnotations and parse HTML with themed links. Instead, added a TextLinkStyles class that allows to style the links as a parameter to the Text composable. (I31b93)

Compose Material3: v1.3.0-beta01

May 14, 2024

androidx.compose.material3:material3-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.

API Changes

  • Using DpSize instead of CaretProperties. Removing CaretProperties. Rename CaretScope to TooltipScope. (Id9a76)
  • Updated the API for getting Material themed links in text. Specifically, removed the methods from the TextDefaults for constructing themed LinkAnnotations and parse HTML with themed links. Instead, added a TextLinkStyles class that allows to style the links as a parameter to the Text composable. (I31b93)

Compose Material3 Adaptive: v1.0.0-beta01

May 14, 2024

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

Compose Runtime: v1.7.0-beta01

May 14, 2024

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

Compose UI: v1.7.0-beta01

May 14, 2024

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

API Changes

  • Renamed performCustomAccessibilityActionLabelled to performCustomAccessibilityActionWithLabel and performCustomAccessibilityActionWhere to performCustomAccessibilityActionWithLabelMatching. (I5387f)
  • AnnotatedString.hasEqualsAnnotations is now hasEqualAnnotations (I685c0)
  • Updated the API for getting Material themed links in text. Specifically, removed the methods from the TextDefaults for constructing themed LinkAnnotations and parse HTML with themed links. Instead, added a TextLinkStyles class that allows to style the links as a parameter to the Text composable. (I31b93)

Bug Fixes

  • Fixes additional use cases when dynamically adding pointer input modifiers during events 63e1504

Concurrent: v1.2.0-beta01

May 14, 2024

androidx.concurrent:concurrent-futures:1.2.0-beta01 and androidx.concurrent:concurrent-futures-ktx:1.2.0-beta01 are released. Version 1.2.0-beta01 contains these commits.

Core Remote Views: v1.1.0-rc01

May 14, 2024

androidx.core:core-remoteviews:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.

New Features

  • Move RemoteViews 1.1.0 to Release Candidate.

Bug Fixes

  • Move to 21 as the default minSdkVersion of androidx libraries. (I6ec7f)

credentials: v1.3.0-alpha04

May 14, 2024

androidx.credentials:credentials:1.3.0-alpha04 and androidx.credentials:credentials-play-services-auth:1.3.0-alpha04 are released. Version 1.3.0-alpha04 contains these commits.

Bug Fixes

  • Move to 21 as the default minSdkVersion of androidx libraries. (I6ec7f)
  • Support PRF creation for Android versions 13 and below.
  • Support preferImmediatelyAvailableCredentials for Android versions 13 and below.

Fragment: v1.7.1

May 14, 2024

androidx.fragment:fragment-*:1.7.1 is released. Version 1.7.1 contains these commits.

Bug Fixes

  • Predictive back will now only run for transactions in which all of the fragments have either a Animator or a Seekable Androidx Transition. This fixes an issue where canceling a partially seekable transaction would cause a blank screen. (I43037, b/339169168)

Fragment: v1.8.0-beta01

May 14, 2024

androidx.fragment:fragment-*:1.8.0-beta01 is released. Version 1.8.0-beta01 contains these commits.

Bug Fixes

  • From Fragment 1.7.1: Predictive back will now only run for transactions in which all of the fragments have either a Animator or a Seekable Androidx Transition. This fixes an issue where canceling a partially seekable transaction would cause a black screen. (I43037, b/339169168)

Glance: v1.1.0-rc01

May 14, 2024

androidx.glance:glance-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.

New Features

  • Added width and height parameters to Preview annotations for Glance. Moves 1.1.0 to Release Candidate.

API Changes

  • Adds optional parameter to Scaffold. (If753f)
  • Add width and height parameters to Glance @Preview. (Ibabe8)
  • Remove support for glance wear tile previews. (I3850a)
  • Added API for setting custom weight values for FontStyle. (I7390a)
  • Rename Viewfinder's ImplementationMode Enums to better reflect underlying implementations, and add fixed constants for TransformationInfo.sourceRotation (Ic6149)

Bug Fixes

  • Fixed a bug that caused rendering issues for ViewGroups in backwards compatibility mode (I8de92)

External Contribution

Health Services Client: v1.1.0-alpha03

May 14, 2024

androidx.health:health-services-client:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.

New Features

  • Introduced DebouncedGoal APIs that allows tracking a goal for sample data type or stats sample data type during exercise with debouncing features(initialDelay and durationAtThreshold). (I09be9)
  • Added the following advanced running metrics sample and statistical DataTypes. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

API Changes

  • Added ELEVATION_GAIN_DAILY DataType. (I059d1)
  • Added SWIM_LAP_COUNT_TOTAL DataType as the aggregated DataType for SWIM_LAP_COUNT. (I0beeb)

Bug Fixes

  • Fixed various issues to improve IPC reliability.

Lifecycle: v2.8.0

May 14, 2024

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

Important changes since 2.7.0

  • LocalLifecycleOwner has been moved from Compose UI to lifecycle-runtime-compose so that its Compose-based helper APIs can be used outside of Compose UI.
  • The lifecycle-runtime-compose artifact now contains the dropUnlessResumed and dropUnlessStarted APIs which allow you to drop click or other events that occur even after the LifecycleOwner has dropped below the given Lifecycle.State. For example, this can be used with Navigation Compose to avoid handling click events after a transition to another screen has already begun: onClick: () -> Unit = dropUnlessResumed { navController.navigate(NEW_SCREEN) }
  • ViewModel.viewModelScope is now an overridable constructor parameter, allowing you to inject your own dispatcher and SupervisorJob() or to override the default by using the backgroundScope available within runTest. (I2817c, b/264598574)

    class MyViewModel(
      // Make Dispatchers.Main the default, rather than Dispatchers.Main.immediate
      viewModelScope: CoroutineScope = Dispatchers.Main + SupervisorJob()
    ) : ViewModel(viewModelScope) {
      // Use viewModelScope as before, without any code changes
    }
    

    // Allows overriding the viewModelScope in a test
    fun Test() = runTest {
    val viewModel = MyViewModel(backgroundScope)
    }

  • ViewModel has been rewritten in Kotlin and now uses AutoClosable instead of Closeable. It now supports adding AutoCloseable objects with a key that allows retrieving them via getCloseable().

  • Calling LifecycleStartEffect and LifecycleResumeEffect without a key is now an error, following the same convention as the DisposableEffect API that these APIs mirror.

  • Deprecated LiveDataReactiveStreams.toPublisher(lifecycleOwner, liveData) in favor of LiveData.toPublisher(lifecycleOwner).

  • The lifecycle-livedata-core-ktx kotlin extensions have now been moved to the lifecycle-livedata-core module.

  • The NullSafeMutableLiveData has been refactored to avoid many false positives.

Lifecycle Kotlin Multiplatform Compatibility

The core Lifecycle APIs in Lifecycle, LifecycleOwner, LifecycleObserver, Lifecycle.State, Lifecycle.Event, and LifecycleRegistry are now shipped in artifacts compatible with Kotlin Multiplatform.

Artifacts impacted:

  • lifecycle-common moves most APIs to common and supports jvm and iOS in addition to Android.
  • lifecycle-runtime moves most APIs to common and supports jvm and iOS in addition to Android.
  • lifecycle-runtime-ktx is now empty, with all APIs being moved into lifecycle-runtime.
  • lifecycle-runtime-compose moves all APIs to common and ships an Android artifact, matching the multiplatform support of androidx.compose.

ViewModel Kotlin Multiplatform Compatibility

The lifecycle-viewmodel artifact and APIs like ViewModel, ViewModelStore, ViewModelStoreOwner, and ViewModelProvider are now shipped in artifacts compatible with Kotlin Multiplatform.

To accommodate this change, methods such as those on ViewModelProvider that took a java.lang.Class<T> now have an equivalent method that takes a kotlin.reflect.KClass<T>.

Binary compatibility on Android has been maintained, but there are a few notable changes when comparing the Android API surface to the common API surface:

  • Constructing a ViewModelProvider instance is now done through the ViewModelProvider.create() methods rather than directly calling its constructor.
  • ViewModelProvider.NewInstanceFactory and ViewModelProvider.AndroidViewModelFactory are only available on Android.
    • Custom Factories are recommended to extend from ViewModelProvider.Factory and use the create method that takes a CreationExtras or use the viewModelFactory Kotlin DSL.
  • Using ViewModelProvider without a custom factory on non-JVM platforms will result in an UnsupportedOperationException. On JVM platforms, compatibility is preserved by using the no-args ViewModel constructor if a custom factory is not provided.
  • viewModelScope will fallback to an EmptyCoroutineContext in platforms where Dispatchers.Main is not available (e.g., Linux).

Artifacts impacted:

  • lifecycle-viewmodel moves most APIs to common and supports jvm and iOS in addition to Android.
  • lifecycle-viewmodel-ktx is now empty, with all APIs being moved into lifecycle-viewmodel.
  • lifecycle-viewmodel-compose moves all APIs to common and ships an Android artifact, matching the multiplatform support of androidx.compose.

Behavior Changes

  • InitializerViewModelFactory (including viewModelFactory builder function) will now throw an IllegalArgumentException if a initializer with the same clazz: KClass<VM : ViewModel> has already been added. (Ic3a36)

Navigation: v2.8.0-beta01

May 14, 2024

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

API Changes

  • SavedStateHandle.toRoute() now takes in a typeMap parameter for custom argument types. (Ie39fb, b/339026523)
  • Added a test API to navigation-testing to to create a SavedStateHandle from a Kotlin Serializable object. (Id4867, b/339080702)

Bug Fixes

  • Missing parameter docs for Navigation Kotlin DSL functions have been added. (I26a36)

Paging: v3.3.0

May 14, 2024

androidx.paging:paging-*:3.3.0 is released. Version 3.3.0 contains these commits.

Important changes since 3.2.0

  • PagingDataPresenter is now a public class. Multiplatform presenters can now be built on top of PagingDataPresenter rather than requiring internal Paging APIs or paging-runtime’s AsyncPagingDataDiffer.
  • Added new LoadStates and CombinedLoadStates helper methods in hasError and isIdle to check if LoadStates is in Error or NotLoading state, respectively. Also added a new awaitNotLoading() Kotlin extension method on Flow<CombinedLoadStates> that waits until a load has settled into either NotLoading or Error state.
  • PagingData.empty() now dispatches NotLoading states by default unless custom LoadStates are passed to its constructor. This departs from existing behavior where it doesn't dispatch LoadStates when submitted to a PagingDataAdapter or it dispatches Loading states when collected as LazyPagingItems. When collected as LazyPagingItems, it will now also display an empty list immediately upon initial composition.

Kotlin Multiplatform Compatibility

Paging now ships artifacts compatible with Kotlin Multiplatform, thanks in large part to upstreamed work from CashApp's multiplatform-paging project.

  • paging-common has moved all Paging 3 APIs to common and is now compatible with jvm and iOS in addition to Android.
  • paging-testing has moved its code to common and is now compatible with jvm and iOS in addition to Android.
  • paging-compose has moved its code to common and ships an Android artifact, matching the multiplatform support of androidx.compose.
  • paging-runtime, paging-guava, paging-rxjava2, and paging-rxjava3 will remain Android only.

privacysandbox ads: v1.1.0-beta07

May 14, 2024

androidx.privacysandbox.ads:ads-adservices:1.1.0-beta07 and androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta07 are released. Version 1.1.0-beta07 contains these commits.

New Features

  • GetTopics now supports encrypted responses as part of GetTopicsResponse.

API Changes

  • Added EncryptedTopic to GetTopicResponse class. (Iab362)

privacysandbox ui: v1.0.0-alpha08

May 14, 2024

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

New Features

  • Added support for using SandboxedSdkView inside a PoolingContainer such as a RecyclerView. When a SandboxedSdkView has a parent that is a PoolingContainer, the lifecycle of its UI sessions will be aligned with that of the PoolingContainer to ensure that the session can persist through window detachment.

API Changes

  • Deprecated Privacy Sandbox Activity APIs. These APIs can now be found in the dedicated Activity library androidx.privacysandbox.activity instead. (I68beb)

Bug Fixes

  • Fixed rendering bug when displaying remote content inside pooling containers. (I804df)
  • Fixed a bug that caused rendering issues for ViewGroups in backwards compatibility mode. (I8de92)
  • When one of SandboxedSdkView's parents is a PoolingContainer, close the UI Session when the PoolingContainer indicates resources can be released, instead of on window detachment. (I2046b)

External Contribution

  • GestureDetectorCompat is now deprecated as GestureDetector is available from the minSdk. (Icc4cd)

Room: v2.7.0-alpha02

May 14, 2024

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

Bug Fixes

  • Fixed various KSP issues.

Sqlite: v2.5.0-alpha02

May 14, 2024

androidx.sqlite:sqlite-*:2.5.0-alpha02 is released with no significant changes since 2.5.0-alpha01 . Version 2.5.0-alpha02 contains these commits.

ViewPager2: v1.1.0

May 14, 2024

androidx.viewpager2:viewpager2:1.1.0 is released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Fixes crashes when used with RecyclerView 1.3.1-rc01 or higher.
  • ViewPager2 now correctly populates the CollectionInfo and CollectionItemInfo that RecyclerView 1.2.0-alpha02 and higher no longer populate by default.
  • Added FragmentTransactionCallback interface for listening to fragment lifecycle changes that happen inside FragmentStateAdapter.
  • Fixed FragmentStateAdapter issue with initial fragment menu visibility when adding a fragment to the FragmentManager.
  • Fixed dispatch of window insets: all pages now get the same insets. Due to how WindowInsets are dispatched on old API versions (< API 30) that can prevent insets from being available to sibling views, you must opt into this fix via WindowInsetsApplier.install(viewPager2) if you want to apply insets on < API 30 devices.

Wear Compose: v1.4.0-beta01

May 14, 2024

androidx.wear.compose:compose-*:1.4.0-beta01 is released. Version 1.4.0-beta01 contains these commits.

The 1.4-beta01 release of Compose for Wear OS indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear Compose 1.4 includes the following new functionality:

  • We have added Modifier.rotaryScrollable, a new modifier that connects rotary events with scrollable containers, allowing users to scroll via a crown or a rotating bezel on their Wear OS device. In addition, ScalingLazyColumn and Picker now support rotary input by default. Use the rotaryScrollableBehavior parameter to configure either scroll or snap behavior. For snap behavior, it is recommended to provide snap via the flingBehavior parameter as well for touch scrolling.
  • SwipeDismissableNavHost now provides an entry animation for in-app transitions.
  • PositionIndicator is now shown by default when a screen is first displayed.
  • SelectableChip and SplitSelectableChip have been added as a variation on ToggleChip - use this with RadioButton in order to provide selectable semantics instead of toggleable semantics for accessibility
  • ListHeader now supports height adjustments when contents need extra height to accommodate large font sizes.

Bug Fixes

  • We have fixed a bug where selectable chips announced double tap to toggle when already selected. (I7ed88)

Wear Compose Material3: v1.0.0-alpha23

May 14, 2024

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

API Changes

  • We have updated ToggleButton and RadioButton APIs such that disabled colors can be configured. (If13a7)
  • We have added a new CircularProgressIndicator for Material3. (Ib3bd7)

Bug Fixes

  • We have fixed a bug where selectable buttons announced double tap to toggle when already selected. (I7ed88)

wear protolayout: v1.2.0-alpha03

May 14, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

New Features

  • Added API for setting custom weight values for FontStyle. (I7390a)

Bug Fixes

  • Fix the failure in getTouchDelegateInfo due to empty target map. (I2accf)

Wear Tiles: v1.4.0-alpha03

May 14, 2024

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

Bug Fixes

  • TileService#getActiveTilesAsync now uses WearSdk API (when available) to provide a more accurate result. (I57bd8)

WindowManager: v1.3.0-rc01

May 14, 2024

WindowManager Jetpack 1.3 brings Kotlin Multiplatform support for WindowSizeClass features as well as multiple bug fixes.

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