Skip to content

2023-01-25

Choose a tag to compare

@github-actions github-actions released this 25 Jan 18:39
· 167 commits to main since this release

Activity: v1.7.0-alpha04

January 25, 2023

androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04, and androidx.activity:activity-ktx:1.7.0-alpha04 are released. Version 1.7.0-alpha04 contains these commits.

New Features

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts will now use a Google Play services provided Photo Picker where available in cases where the Android system provided Photo Picker (e.g., MediaStore.ACTION_PICK_IMAGES) is not available. The isPhotoPickerAvailable() API that only detects the Android system provided Photo Picker has been deprecated. It is recommended to use the new isPhotoPickerAvailable(Context) API, which will return if either Photo Picker is available. (I55be6)

Annotation: v1.6.0-beta01

January 25, 2023

androidx.annotation:annotation:1.6.0-beta01 and androidx.annotation:annotation-jvm:1.6.0-beta01 are released with no changes from 1.6.0-alpha01.

Arch Core: v2.2.0-beta01

January 25, 2023

androidx.arch.core:core-common:2.2.0-beta01, androidx.arch.core:core-runtime:2.2.0-beta01, and androidx.arch.core:core-testing:2.2.0-beta01 are released with no changes. Version 2.2.0-beta01 contains these commits.

Browser: v1.5.0-rc01

January 25, 2023

androidx.browser:browser:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits.

  • No changes since 1.5.0-beta01.

CameraX: v1.2.1

January 25, 2023

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

Bug Fixes

  • Fix JPEG image corruption issue if writing Exif location data on some Samsung Android 12 devices. (b/263289024)

CameraX: v1.3.0-alpha03

January 25, 2023

androidx.camera:camera-*:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.

API Changes

  • Added CameraInfo.getIntrinsicZoomRatio to provide angle of view information relative to the default camera. (Ib300c)
  • Added CameraInfo.getLensFacing to provide lens facing information. Added CameraSelector#LENS_FACING_EXTERNAL as an experimental feature for selecting external cameras. (Icaf3e)
  • Add #setEffect() to CameraController that allows adding effects to camera output. (I1d21f)
  • Add invalidate() method to SurfaceRequest. The Surface provider can notify that the previously provided surface is no longer valid. (Idc649)
  • Add a ImageProcessor API. This interface is for inject post-processing effects into the ImageCapture pipeline. (I575c6)
  • Added API Recorder.Builder.setAspectRatio() which can be combined with QualitySelector to support more video resolutions. (I8a082)
  • Added Recorder.Builder#setTargetVideoEncodingBitRate to set Target Video Encoding BitRate and Recorder#getTargetVideoEncodingBitRate to get Target Video Encoding BitRate. (I5984d)

Bug Fixes

  • Fixed ImageCapture failed when there is no flash unit and flash mode is on. (I9e8b4, b/263391112)
  • Fixed JPEG image corruption issue if writing Exif location data on some Samsung Android 12 devices. (Ib7086, b/263747161, b/263289024)
  • when setting torch/zoom prior before camera initialization compelets, e.g. calling CameraController#enableTorch, the pending action is cached and submitted once the initialization compeltes. (I11e92, b/264157663)

Compose Animation: v1.4.0-alpha05

January 25, 2023

androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05, and androidx.compose.animation:animation-graphics:1.4.0-alpha05 are released. Version 1.4.0-alpha05 contains these commits.

Changes

  • No changes in animation libraries since the last alpha, version bump only

Compose Foundation: v1.4.0-alpha05

January 25, 2023

androidx.compose.foundation:foundation:1.4.0-alpha05 and androidx.compose.foundation:foundation-layout:1.4.0-alpha05 are released. Version 1.4.0-alpha05 contains these commits.

New Features

  • Added full line span support to LazyStaggeredGrid (I28252)
  • Adding experimental onHover to ClickableText (I6938f)
  • Introduced new experimental overloads for the runComposeUiTest function and create*ComposeRule functions that accept CoroutineContext parameters. The context will be used for the test composition and any LaunchedEffect and rememberCoroutineScope() calls in the composition. (I10614, b/265177763)

API Changes

  • Merges the pre/post APIs of OverscrollEffect into combined 'decorator' applyToScroll and applyToFling functions. See the updated samples in the documentation for examples of how to implement an overscroll effect with the new API shape. (I8a9c4, b/255554340)
  • More type/nullability of inline/deprecated-hidden functions (I24f91)
  • LineBreak and Hyphens APIs in TextStyle are graduated to stable. (Ic1e1d)

Bug Fixes

  • The cursor in text fields will now continue to blink even when animations are disabled. (I95e70, b/265177763)
  • Modifier.basicMarquee now animates even when animations are disabled in the system settings. (I23389, b/262298306, b/265177763)

External Contribution

  • notifyFocusedRect methods in TextInputSession and TextInputService are not deprecated again. (I23a04, b/262648050)

Compose Material: v1.4.0-alpha05

January 25, 2023

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

Bug Fixes

  • Fixed an issue where ModalBottomSheetLayout's HalfExpanded state was calculated incorrectly and the sheet would appear to be floating. (I8c615, b/265610459)
  • Fixed a bug in ModalBottomSheetLayout where the sheet would crash when going from the hidden to a visible state in some circumstances. (Ia9265, b/265444789)

Compose Runtime: v1.4.0-alpha05

January 25, 2023

androidx.compose.runtime:runtime:1.4.0-alpha05 and androidx.compose.runtime:runtime-saveable:1.4.0-alpha05 are released. Version 1.4.0-alpha05 contains these commits.

API Changes

  • More type/nullability of inline/deprecated-hidden functions (I24f91)

Compose UI: v1.4.0-alpha05

January 25, 2023

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

API Changes

  • Introduced new experimental overloads for the runComposeUiTest function and create*ComposeRule functions that accept CoroutineContext parameters. The context will be used for the test composition and any LaunchedEffect and rememberCoroutineScope() calls in the composition. (I10614, b/265177763)
  • Add a new API to track 1 dimensional velocity (If5a82)
  • FocusRequester is now marked as @Stable. (I580ee)
  • Remove an experimental annotation from the DialogProperties constructor that takes a usePlatformDefaultWidth parameter. (Ic4048)
  • Added function to calculation position and tangent at a distance on a path - with PathMeasure.getPosition() and PathMeasure.getTangent() (I3b47c)
  • Removed accidentally exposed public setter on PlatformParagraphStyle. (I07f47)
  • More type/nullability of inline/deprecated-hidden functions (I24f91)
  • Add AnnotatedString.hasStringAnnotations to query for annotations with zero-allocations. (I94dfe, b/246960758)
  • Added a new overload for TextMeasurer.measure function which takes in a String as text. (I47b2d, b/242705342)
  • LineBreak and Hyphens APIs in TextStyle are graduated to stable. (Ic1e1d)

External Contribution

  • notifyFocusedRect methods in TextInputSession and TextInputService are not deprecated again. (I23a04, b/262648050)

Constraintlayout:

ConstraintLayout-compose, and ConstraintLayout-Core 1.1: v1.1.0-alpha06

January 25, 2023

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 and androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 are released. Version 1.1.0-alpha06 contains these commits.

New Features

  • Add new Apis to enable the Grid Helper in Compose with JSON representation which allows composables to be placed in a 2D grid. (I968ad)

API Changes

  • Add support for arc up and arc down modes Arc.Above and Arc.Below direction independent arc modes to MotionLayout (I184a9)
  • It is now possible to constrain a baseline anchor to top/bottom anchors and vice versa. (I54628)
  • Renamed MotionLayoutScope#motionProperties (including derivatives) to MotionLayoutScope#customProperties. This is to be consistent as when setting custom properties. (Ib34c9)
  • It’s now possible to create multiple references in ConstraintSet and MotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Apply constraints to multiple elements with constrain(box, button, text). Within a ConstrainScope, you may now intuitively set a fixed dimension with Dp.asDimension: width = 10.dp.asDimension. (I021ec, Ia0960)
  • MotionScene() and Transition() methods are now non-Composable functions. The objects from these functions (including ConstraintSet) should now be properly comparable from each other. animateChanges = true in ConstraintLayout can now be used with only one ConstraintSet reference, as long as any of its properties changed on recomposition. (I7d22e)

Bug Fixes

  • Fixed issue where ConstraintLayout always triggered an unnecessary extra recomposition when helpers were changed. (Id83ad, b/222093277)
  • Fix behavior when using Intrinsics with ConstraintLayout & MotionLayout. (I487ae, b/220527863)
  • Fix not being able to remeasure when the content changes. (Ibfe8a, b/219091179)

Core and Core-ktx: v1.10.0-alpha02

January 25, 2023

androidx.core:core:1.10.0-alpha02 and androidx.core:core-ktx:1.10.0-alpha02 are released. Version 1.10.0-alpha02 contains these commits.

API Changes

  • Added BuildCompat constant for AD_SERVICES extension version (I51d98)
  • Add BEHAVIOR_DEFAULT to WindowInsetsControllerCompat. BEHAVIOR_SHOW_BARS_BY_SWIPE and BEHAVIOR_SHOW_BARS_BY_TOUCH are deprecated. (I17b61)

Emoji2: v1.3.0-beta01

January 25, 2023

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

New Features

  • Querying system exclusions.
  • Replacing the spans for custom drawing code.
  • And fixed a bug where background spans were not correctly applied behind EmojiSopans.
  • This release adds APIs necessary to support EmojiCompat in Compose. Expect compose support for emoji compat in a near future release.

Emoji2 Emojipicker: v1.0.0-alpha01

January 25, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

New Features

  • Introduced an emoji picker which provides consistent user experience with the latest emojis across Android OS OEM devices and apps. It provides the latest emoji support and emoji picker UI including skin-tone variants and emoji compat support.

API Changes

  • Introduced EmojiPickerView class that provides up-to-date emojis in a vertical scrollable view with a clickable horizontal header.
  • The emoji picker grid columns can be set via XML attribute emojiGridColumns or function setEmojiGridColumns().
  • The emoji picker grid rows can be set via XML attribute emojiGridRows or function setEmojiGridRows().
  • The emoji picked listener can be set via setOnEmojiPickedListener() and the listener will be notified whenever the user clicked any emoji.
  • The recent emoji provider can be provided with setRecentEmojiProvider(). This is an optional function. If the recent emoji provider isn’t set, a default recent emoji provider will be used by the library. The default behavior is defined as follows: 1) all selected emojis will be saved per-app level in shared preferences. 2) the picker will display at most 3 rows of selected emojis, deduped, in reverse chronological order.
  • Introduced EmojiViewItem class that holds the displayed emoji and its emoji variants.
  • Introduced RecentEmojiProvider interface that can be implemented to provide a recent emoji list. The recentEmojiProvider is responsible for providing emojis in the “Recently Used” category.

Health Connect: v1.0.0-alpha10

January 25, 2023

androidx.health.connect:connect-client:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

API Changes

  • ExerciseEventRecord, ExerciseLapRecord,ExerciseRepititionRecord and SwimmingStrokesRecord are no longer supported as RecordTypes. They can no longer be written or read from HealthConnect. Remove any reference to these data types from the HealthConnect integration. (If7ca2)
  • Changes in permissions APIs to accept permissions in a new string based format. This change also requires changing permission declaration to the standard android permissions format. (Ib0a2f)

Lifecycle: v2.6.0-alpha05

January 25, 2023

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

Kotlin Conversions

  • Transformations is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin that were directly using syntax such as Transformations.map - Kotlin code must now use the Kotlin extension method syntax that was previously only available when using lifecycle-livedata-ktx. When using the Java programming language, the versions of these methods that take an androidx.arch.core.util.Function method are deprecated and replaced with the versions that take a Kotlin Function1. This change maintains binary compatibility. (I8e14f)
  • ViewTreeViewModelStoreOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now directly import and use the Kotlin extension methods on View of androidx.lifecycle.setViewTreeViewModelStoreOwner and androidx.lifecycle.findViewTreeViewModelStoreOwner to set and find a previously set owner. This is binary compatible and remains source compatible for implementations written in the Java programming language. (Ia06d8, Ib22d8, b/240298691)
  • The HasDefaultViewModelProviderFactory interface is now written in Kotlin. This is a source incompatible change for classes written in Kotlin - they must now override the defaultViewModelProviderFactory and defaultViewModelCreationExtras properties rather than implementing the previous corresponding functions. (Iaed9c, b/240298691)
  • Observer is now written in Kotlin. Its onChanged() method now uses the name value for its parameter. (Iffef2, I4995e, b/240298691)
  • AndroidViewModel, AbstractSavedStateViewModelFactory, LifecycleService, ServiceLifecycleDispatcher, and ProcessLifecycleOwner are now written in Kotlin (I2e771, Ibae40, I160d7, I08884, I1cda7, b/240298691)

Mediarouter: v1.4.0-beta01

January 25, 2023

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

API Changes

DynamicGroupRouteController.notifyDynamicRoutesChanged() now throws IllegalArgumentException when no route passed is SELECTED or SELECTING. (8f6b3e)

Bug Fixes

  • Fix crash caused by an api-compliant provider service implementation returning a null route provider. (63f16d)
  • Make protected broadcast receivers work on apps targeting API 33+ by marking them as non-exported. (784f8b)
  • Fix some spurious nullability annotations in OverlayListView. (472e3f)
  • Fix bug where EXTRA_CLOSE_ON_CONNECT in SystemOutputSwitcherDialogController.showDialog would cause the bluetooth settings fragment to close suddenly on wear devices. (28c9d8)
  • Changed to Javadoc of Output Switcher’s public methods. (f0ae94, 44d2c9)

Wear: v1.3.0-alpha04

January 25, 2023

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

Bug Fixes

  • We have updated the animation in SwipeDismissFrameLayout to be consistent with the Wear platform and Wear Compose implementations. (I7261b)

Wear Compose: v1.2.0-alpha03

January 25, 2023

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

API Changes

  • We have migrated ScalingLazyColumn (and associated classes) from androidx.wear.compose.material.ScalingLazyColumn to andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (see this example for migration). This new location more closely matches that of compose.foundation.lazy.LazyColumn and is more natural as it is not an opinionated Material component. The change is happening now in preparation for a new Material3 library, which we will be working on in parallel with the existing Material library. (I060e7)

The following changes are part of the ScalingLazyColumn migration from Material to Foundation.Lazy:

  • PositionIndicator apis targeting Material ScalingLazyColumn have been deprecated - please update to Foundation.Lazy ScalingLazyColumn. Additionally anchorType field was added to ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn has been marked as deprecated in the Wear Compose Material package (I16d34)
  • We have updated the ScrollAway modifier to use ScalingLazyListState from Wear Compose Foundation.Lazy and deprecated the overload that took ScalingLazyListState from Wear Compose Material. (Ifc42c)
  • We have updated the Dialog APIs to use ScalingLazyListState from Foundation.Lazy and deprecated the overloads that used Material ScalingLazyListState (Ic8960)
  • We have updated the Picker APIs to use ScalingParams from Foundation.Lazy and deprecated the overloads that used Material ScalingParams. (Idc3d8)

Bug Fixes

  • We have fixed a bug that caused unnecessary recompositions in ScalingLazyListState.centerItemIndex by ensuring that it only pushes updates when the value actually changes (Ia9f38)
  • We have improved the performance of SwipeToDismissBox (I3933b)
  • Added benchmark tests for ScalingLazyColumn in Wear Compose Foundation (Ie00f9)
  • We have updated some internal ScalingLazyColumn classes methods in Material to use their equivalents from Foundation.Lazy (I38aab)
  • We have fixed some issues in Picker tests and add more tests for checking scroll with offset (I6ac34)
  • We migrated the ScalingLazyColumn Integration Demos to depend on Foundation.Lazy instead of Material ScalingLazyColumn (Ic6caa)
  • We have added optional fromDate/toDate parameters to our DatePicker demo (I961cd)

wear protolayout: v1.0.0-alpha02

January 25, 2023

androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02, and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.

New Features

  • Layout builders from androidx.wear.tiles:tiles are moving to androidx.wear.protolayout:protolayout. The ones in androidx.wear.tiles:tiles will be deprecated in one of the next alpha releases.

Wear Watchface: v1.2.0-alpha06

January 25, 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha06 is released. Version 1.2.0-alpha06 contains these commits.

New Features

  • Work is ongoing to add support for complication platform bindings, this isn’t ready for use yet, but stay tuned!
  • We’ve added XML ComplicationSlot support for the new complication types, GOAL_PROGRESS and WEIGHTED_ELEMENTS.

Bug Fixes

  • Fixes a leak where the watch face editor was not properly released on Samsung devices. (3b5987)
  • Fixes a bug where sometimes the complications didn’t display properly when switching between a watch face with multiple favorites. (b38ece)
  • Fixes a serialization bug with perOptionScreenReaderNames that lead to watch face crashes. (e9f466)

Webkit: v1.7.0-alpha01

January 25, 2023

androidx.webkit:webkit:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.

New Features

  • We are adding support for Image drag in WebView. You can enable your users to drag images out of the WebView by adding the new DropDataContentProvider to your app's manifest. (05a1a6)

Webkit: v1.6.0

January 25, 2023

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

Important changes since 1.5.0

  • A new ProcessGlobalConfig API has been added to allow apps to provide configuration settings that need to be set before loading WebView, such as the WebView data directory suffix. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loads WebView into the process.
  • A new CookieManagerCompat API has been added to expand android.webkit.CookieManager with a new getCookieInfo method, which retrieves all attributes for all cookies set on a specific URL. This differs from the existing getCookie API in CookieManager which returns only the name and value attributes of the cookies.
  • WebSettingsCompat has new methods to enable/disable the effect of EnterpriseAuthenticationAppLinkPolicy if set by admin in WebView, and to get the current setting. This feature lets WebView open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.
  • Adding a new API to WebSettingsCompat to let applications explicitly send the app package name in the X-Requested-With header to allowlisted origins. The header has traditionally been sent on every request from WebView.