Releases: mahozad/androidx-release-notes
2024-08-27
Media3: v1.4.1
August 27, 2024
androidx.media3:media3-*:1.4.1 is released. Version 1.4.1 contains these commits.
- ExoPlayer:
- Extractors:
- MP3: Fix
Searched too many byteserror by correctly ignoring trailing non-MP3 data based on the length field in anInfoframe (#1480).
- MP3: Fix
- Text:
- TTML: Fix handling of percentage
tts:fontSizevalues to ensure they are correctly inherited from parent nodes with percentagetts:fontSizevalues. - Fix
IndexOutOfBoundsExceptioninLegacySubtitleUtildue to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in theSubtitle(#1516).
- TTML: Fix handling of percentage
- DRM:
- Fix
android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLEerror on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the frameworkMediaDrm.requiresSecureDecodermethod (#1603).
- Fix
- Effect:
- Add a
release()method toGlObjectsProvider.
- Add a
- Session:
- Transform a double-tap of
KEYCODE_HEADSETHOOKinto a 'seek to next' action, as documented (#1493). - Handle
KEYCODE_HEADSETHOOKas a 'play' command inMediaButtonReceiverwhen deciding whether to ignore it to avoid aForegroundServiceDidNotStartInTimeException(#1581).
- Transform a double-tap of
- RTSP Extension:
- Skip invalid Media Descriptions in SDP parsing (#1087).
2024-08-22
Annotation: v1.9.0-alpha02
August 21, 2024
androidx.annotation:annotation-*:1.9.0-alpha02 is released. Version 1.9.0-alpha02 contains these commits.
New Features
- Adding support for
mingwX64platform (I461ca, b/349894318) - Add support for
linuxArm64kotlin multiplatform target. (I139d3, b/338268719)
Annotation-Experimental: v1.5.0-alpha01
August 21, 2024
androidx.annotation:annotation-experimental:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
API Changes
- Add
messagetoRequiresOptInto match the Kotlin stdlib annotation with default empty string value. (I1f50e)
Benchmark: v1.3.0
August 21, 2024
androidx.benchmark:benchmark-*:1.3.0 is released. Version 1.3.0 contains these commits.
Microbenchmark changes since 1.2.0
- Method tracing is on by default in microbenchmarks when running on most devices
- Method tracing runs as a separate phase, after measurements
- Method tracing on some platform and ART versions will affect later measurement phases - on these versions, method tracing is off by default and a warning is printed to Studio output
- Main thread benchmarks and ANRs
- Added
measureRepeatedOnMainThreadfor UI thread benchmarks (e.g. those that interact with Compose/View UIs) to avoid ANRs when running for many seconds. - Method traces are skipped if expected to overrun the ANR avoidance deadline. Set
androidx.benchmark.profiling.skipWhenDurationRisksAnrto false to disable this behavior (not recommended for CI runs).
- Added
- Minification
- Embedded proguard rules to improve microbenchmarking with minification enabled
- Minification/R8 in a library module requires AGP 8.3, and can be enabled via
android.buildTypes.release.androidTest.enableMinificationin yourbuild.gradle - Added experimental
BlackHole.consume()API to prevent dead code elimination (If6812, b/286091643)
- Metrics
- Experimental cpu event counter feature (metrics from
perf_event_open, which requires root on most versions of the platform), access viaInstrumentationArgumentandroidx.benchmark.cpuEventCounter.enable(can be set totrue), andandroidx.benchmark.cpuEventCounter.eventscan be set e.g. to (Instructions,CpuCycles). This should be supported on some userdebug emulators, but support has not been tested across
- Experimental cpu event counter feature (metrics from
MACRObenchmark changes since 1.2.0
- Method tracing overhaul for macrobenchmarks.
- Now method traces are scoped to the duration of the
measureBlock, and can capture multiple sessions if the process starts multiple times. - Previously, method tracing would only work for
StartupMode.COLDbenchmarks, and capture nothing formeasureBlocksthat didn't restart the target process - Fixed method traces flush in macrobenchmark, so that method traces should be fully captured and valid, even on slower devices. (I6349a, b/329904950)
- Now method traces are scoped to the duration of the
- Correctly dump ART profile during individual
warmUpiterations when process is killed soCompilationMode.Partial(warmup=N)measurements are more accurate. (I17923) - Drop Shader broadcast failure message
- Added debugging suggestions to drop shader broadcast failure message
- Add two instrumentation arguments for overriding shader dropping behavior to workaround crashes when benchmarking apps without
ProfileInstaller1.3:androidx.benchmark.dropShaders.enable=true/false: can be used to skip all shader dropping (including that done inStartupMode.Coldlaunches), esp when benchmarking apps that don't yet use profileinstaller 1.3androidx.benchmark.dropShaders.throwOnFailure=true/false: can be used to tolerate failures when trying to drop shaders, for example when benchmarking apps without profileinstaller 1.3 (I4f573)
- Added experimental
MacrobenchmarkRule#measureRepeatedvariant which takes a customPerfettoConfigfor fully customized Perfetto trace recording. Note that incorrectly configured configs may cause built in Metric classes to fail. (Idfd3d, b/309841164, b/304038384) - Cancel background dexopt jobs before running a Macrobenchmark to reduce interference. (I989ed)
- Macrobenchmark now waits for 1 second for the target application to flush an ART profile (previously it waited for 500 ms). (I85a50, b/316082056)
- TraceSectionMetric overhaul
- Note:
TraceSectionMetricchanges below can affect outputs in CI usage, and may create discontinuities, or break parsing - Sum is now the default, as most usage of this metric is for repeated events, and first would discard data in these cases
- Changed to be more customizable, with more available modes
- Mode names are now embedded in metric output name (in Studio and JSON)
- Now supports slices created using
Trace.{begin|end}AsyncSection.
- Note:
- Metrics
- Power - Added
PowerMetric.deviceSupportsHighPrecisionTracking,PowerMetric.deviceBatteryHasMinimumCharge()andPowerMetric.deviceSupportsPowerEnergy() - Renamed
Metric.getResulttogetMeasurementsto match return type - Added log.w / exception labels to all startup detection failures. This does not change current behavior (so some errors throw, and others silently fail to detect the startup), just makes it more understandable. Generally the ones that
Log.w()and fail to report startup metrics are those where non-frame events are missing, exceptions are thrown when startup is detected except for frame timing information (from UI/RT slices). (Id240f, b/329145809) - Added
frameCountmeasurement toFrameTimingMetricto aid in discovery of scenarios where measurements change because the number of frames produced changed (new animations added, invalidation issues fixed). (
- Power - Added
2024-08-21
Annotation: v1.9.0-alpha02
August 21, 2024
androidx.annotation:annotation-*:1.9.0-alpha02 is released. Version 1.9.0-alpha02 contains these commits.
New Features
- Adding support for
mingwX64platform (I461ca, b/349894318) - Add support for
linuxArm64kotlin multiplatform target. (I139d3, b/338268719)
Annotation-Experimental: v1.5.0-alpha01
August 21, 2024
androidx.annotation:annotation-experimental:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
API Changes
- Add
messagetoRequiresOptInto match the Kotlin stdlib annotation with default empty string value. (I1f50e)
Benchmark: v1.3.0
August 21, 2024
androidx.benchmark:benchmark-*:1.3.0 is released. Version 1.3.0 contains these commits.
Microbenchmark changes since 1.2.0
- Method tracing is on by default in microbenchmarks when running on most devices
- Method tracing runs as a separate phase, after measurements
- Method tracing on some platform and ART versions will affect later measurement phases - on these versions, method tracing is off by default and a warning is printed to Studio output
- Main thread benchmarks and ANRs
- Added
measureRepeatedOnMainThreadfor UI thread benchmarks (e.g. those that interact with Compose/View UIs) to avoid ANRs when running for many seconds. - Method traces are skipped if expected to overrun the ANR avoidance deadline. Set
androidx.benchmark.profiling.skipWhenDurationRisksAnrto false to disable this behavior (not recommended for CI runs).
- Added
- Minification
- Embedded proguard rules to improve microbenchmarking with minification enabled
- Minification/R8 in a library module requires AGP 8.3, and can be enabled via
android.buildTypes.release.androidTest.enableMinificationin yourbuild.gradle - Added experimental
BlackHole.consume()API to prevent dead code elimination (If6812, b/286091643)
- Metrics
- Experimental cpu event counter feature (metrics from
perf_event_open, which requires root on most versions of the platform), access viaInstrumentationArgumentandroidx.benchmark.cpuEventCounter.enable(can be set totrue), andandroidx.benchmark.cpuEventCounter.eventscan be set e.g. to (Instructions,CpuCycles). This should be supported on some userdebug emulators, but support has not been tested across
- Experimental cpu event counter feature (metrics from
MACRObenchmark changes since 1.2.0
- Method tracing overhaul for macrobenchmarks.
- Now method traces are scoped to the duration of the
measureBlock, and can capture multiple sessions if the process starts multiple times. - Previously, method tracing would only work for
StartupMode.COLDbenchmarks, and capture nothing formeasureBlocksthat didn't restart the target process - Fixed method traces flush in macrobenchmark, so that method traces should be fully captured and valid, even on slower devices. (I6349a, b/329904950)
- Now method traces are scoped to the duration of the
- Correctly dump ART profile during individual
warmUpiterations when process is killed soCompilationMode.Partial(warmup=N)measurements are more accurate. (I17923) - Drop Shader broadcast failure message
- Added debugging suggestions to drop shader broadcast failure message
- Add two instrumentation arguments for overriding shader dropping behavior to workaround crashes when benchmarking apps without
ProfileInstaller1.3:androidx.benchmark.dropShaders.enable=true/false: can be used to skip all shader dropping (including that done inStartupMode.Coldlaunches), esp when benchmarking apps that don't yet use profileinstaller 1.3androidx.benchmark.dropShaders.throwOnFailure=true/false: can be used to tolerate failures when trying to drop shaders, for example when benchmarking apps without profileinstaller 1.3 (I4f573)
- Added experimental
MacrobenchmarkRule#measureRepeatedvariant which takes a customPerfettoConfigfor fully customized Perfetto trace recording. Note that incorrectly configured configs may cause built in Metric classes to fail. (Idfd3d, b/309841164, b/304038384) - Cancel background dexopt jobs before running a Macrobenchmark to reduce interference. (I989ed)
- Macrobenchmark now waits for 1 second for the target application to flush an ART profile (previously it waited for 500 ms). (I85a50, b/316082056)
- TraceSectionMetric overhaul
- Note:
TraceSectionMetricchanges below can affect outputs in CI usage, and may create discontinuities, or break parsing - Sum is now the default, as most usage of this metric is for repeated events, and first would discard data in these cases
- Changed to be more customizable, with more available modes
- Mode names are now embedded in metric output name (in Studio and JSON)
- Now supports slices created using
Trace.{begin|end}AsyncSection.
- Note:
- Metrics
- Power - Added
PowerMetric.deviceSupportsHighPrecisionTracking,PowerMetric.deviceBatteryHasMinimumCharge()andPowerMetric.deviceSupportsPowerEnergy() - Renamed
Metric.getResulttogetMeasurementsto match return type - Added log.w / exception labels to all startup detection failures. This does not change current behavior (so some errors throw, and others silently fail to detect the startup), just makes it more understandable. Generally the ones that
Log.w()and fail to report startup metrics are those where non-frame events are missing, exceptions are thrown when startup is detected except for frame timing information (from UI/RT slices). (Id240f, b/329145809) - Added
frameCountmeasurement toFrameTimingMetricto aid in discovery of scenarios where measurements change because the number of frames produced changed (new animations added, invalidation issues fixed). (
- Power - Added
2024-08-14
Monitor 1.7.2: monitor 1.7.2
August 14, 2024
androidx.test:monitor:1.7.2 is released.
Bug Fixes
- Fix ActivityInvoker$-CC ClassNotFoundErrors when used with older androidx.test:core
Runner 1.6.2: runner 1.6.2
August 14, 2024
androidx.test:runner:1.6.2 is released.
2024-08-07
Annotation: v1.8.2
August 7, 2024
androidx.annotation:annotation-*:1.8.2 is released. Version 1.8.2 contains these commits.
Bug Fixes
- Adding support for
mingwX64platform (I461ca, b/349894318)
AppSearch: v1.1.0-alpha04
August 7, 2024
androidx.appsearch:appsearch-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
New Features
- Support for new
PlayServicesStorageimplementation, which allows usingAppSearchon older devices without incurring the significant apk size cost ofLocalStorage. This storage implementation works by storing app data within the Play Services app. - Support for new APIs on devices running Android 15.
- Support searching the database by embedding vectors, allowing for fuzzy matching. (I2b41b)
- Support parent types and polymorphism within the
AppSearchschema model. (I06118) - Support the
TakenActionAPI which allows apps to report when results were clicked or abandoned, for quality boosting during subsequent searches. (I54091) - Support classes with builders in the annotation processor by introducing the new
@Document.BuilderProducerannotation. (Iec30a) - Support finer-grained control over which properties of a nested document get indexed. (Iec30a)
- Support for filtering searches to certain document properties. (Ib2659)
- Support finer-grained visibility settings by allowing OR and AND of visibility settings. (I0274b)
- Support for granting visibility of data to all apps that can see the existence of the owning app (public visibility). (I992e4)
- Support for retrieving only results that have data populated in a certain property. (I7d94f)
- Support for retrieving enterprise contacts in the personal profile. (Idd587)
API Changes
- Add
indexableNestedPropertiesListandinheritIndexableNestedPropertiesFromSuperclassannotation parameters to AppSearch'sDocument.DocumentPropertyannotation to allow indexing specific nested property paths. (Iec30a) - Support builder constructor to create builder instances in
AppSearchannotation processor (I265c9) - Update
AppSearchannotation processor to support setting parent types for polymorphism (I06118) - Adds
GetSchemaRequestmethod for clearing visibility settings (I38379) - Support
addParentTypein AppSearch for polymorphism (Ida14a) - Add APIs for additional ranking expressions (I5d9f4)
- Add
SearchActionAPI (I54091) - Adds description field for
AppSearchtypes (I84762) - Onboard embedding search query and ranking APIs to
AppSearch(I0f6c3) - Removes
getDeletionPropagation(I21192)
Benchmark: v1.3.0-rc01
August 7, 2024
androidx.benchmark:benchmark-*:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.
Bug Fixes
- Fix
androidx.benchmark.cpuEventCounterproducing corrupt values for non-Instruction events (I7386a, b/286306579) - Fix
resumeTiming/runWithTimingDisabledto 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 viacpuEventCounter.enableinstrumentation argument, timeNs is no longer significantly reduced when pause/resume occur. (I39c2e, b/286306579, b/307445225) - Reduced chance of stack sampling causing
measureRepeatedOnMainThreadfrom hitting main thread hard timeout by moving stack sampling conversion off main thread. (I487a8, b/342237318) - 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)
- Added agp version check to send package name as instr arg. Previous to AGP 8.4.0 the target app package name cannot be send to the instrumentation app via instrumentation arguments. (0c72a3f)
Biometric: v1.4.0-alpha02
August 7, 2024
androidx.biometric:biometric:1.4.0-alpha02 and androidx.biometric:biometric-ktx:1.4.0-alpha02 are released. Version 1.4.0-alpha02 contains these commits.
New Features
PromptContentViewallows developers to show the custom content view as an additional option of plain description text view- App logo on Biometric Prompt is shown - automatically added using application icon.
API Changes
- Add APIs to support custom content view
BiometricPrompt.PromptInfo.Builder#setContentViewBiometric...
2024-07-25
Media3: v1.4.0
July 25, 2024
androidx.media3:media3-*:1.4.0 is released. Version 1.4.0 contains these commits.
- Common Library:
- Forward presumed no-op seek calls to the protected
BasePlayer.seekTo()andSimpleBasePlayer.handleSeek()methods instead of ignoring them. If you are implementing these methods in a custom player, you may need to handle these additional calls withmediaItemIndex == C.INDEX_UNSET. - Remove compile dependency on enhanced Java 8 desugaring (#1312).
- Ensure the duration passed to
MediaItem.Builder.setImageDurationMs()is ignored for a non-imageMediaItem(as documented). - Add
Format.customDatato store app-provided custom information aboutFormatinstances.
- Forward presumed no-op seek calls to the protected
- ExoPlayer:
- Add
BasePreloadManagerwhich coordinates the preloading for multiple sources based on the priorities defined by theirrankingData. Customization is possible by extending this class. AddDefaultPreloadManagerwhich usesPreloadMediaSourceto preload media samples of the sources into memory, and uses an integerrankingDatathat indicates the index of an item on the UI. - Add
PlayerIdto most methods ofLoadControlto enableLoadControlimplementations to support multiple players. - Remove
Buffer.isDecodeOnly()andC.BUFFER_FLAG_DECODE_ONLY. There is no need to set this flag as renderers and decoders will decide to skip buffers based on timestamp. CustomRendererimplementations should check if the buffer time is at leastBaseRenderer.getLastResetPositionUs()to decide whether a sample should be shown. CustomSimpleDecoderimplementations can checkisAtLeastOutputStartTimeUs()if needed or mark other buffers withDecoderOutputBuffer.shouldBeSkippedto skip them. - Allow a null value to be returned by
TargetPreloadStatusControl.getTargetPreloadStatus(T)to indicate not to preload aMediaSourcewith the givenrankingData. - Add
remove(MediaSource)toBasePreloadManager. - Add
reset()toBasePreloadManagerto release all the holding sources while keep the preload manager instance. - Add
ExoPlayer.setPriority()(andBuilder.setPriority()) to define the priority value used inPriorityTaskManagerand for MediaCodec importance from API 35. - Fix issue with updating the last rebuffer time which resulted in incorrect
bs(buffer starvation) key in CMCD (#1124). - Add
PreloadMediaSource.PreloadControl.onLoadedToTheEndOfSource(PreloadMediaSource)to indicate that the source has loaded to the end. This allows theDefaultPreloadManagerand the customPreloadMediaSource.PreloadControlimplementations to preload the next source or take other actions. - Fix bug where silence skipping at the end of items can trigger a playback exception.
- Add
cleartoPreloadMediaSourceto discard the preloading period. - Add new error code
PlaybackException.ERROR_CODE_DECODING_RESOURCES_RECLAIMEDthat is used when codec resources are reclaimed for higher priority tasks. - Let
AdsMediaSourceload preroll ads before initial content media preparation completes (#1358). - Fix bug where playback moved to
STATE_ENDEDwhen re-preparing a multi-period DASH live stream after the original period was already removed from the manifest. - Rename
onTimelineRefreshed()toonSourcePrepared()andonPrepared()toonTracksSelected()inPreloadMediaSource.PreloadControl. Also rename the IntDefs inDefaultPreloadManager.Stageaccordingly. - Add experimental support for dynamic scheduling to better align work with CPU wake-cycles and delay waking up to when renderers can progress. You can enable this using
experimentalSetDynamicSchedulingEnabled()when setting up your ExoPlayer instance. - Add
Renderer.getDurationToProgressUs(). ARenderercan implement this method to return to ExoPlayer the duration that playback must advance for the renderer to progress. IfExoPlayeris set withexperimentalSetDynamicSchedulingEnabled()thenExoPlayerwill call this method when calculating the time to schedule its work task. - Add
MediaCodecAdapter#OnBufferAvailableListenerto alert when input and output buffers are available for use byMediaCodecRenderer.MediaCodecRendererwill signalExoPlayerwhen receiving these callbacks and ifExoPlayeris set withexperimentalSetDynamicSchedulingEnabled(), thenExoPlayerwill schedule its work loop as renderers can make progress. - Use data class for
LoadControlmethods instead of individual parameters. - Add
ExoPlayer.isReleased()to check whetherExoplayer.release()has been called. - Add
ExoPlayer.Builder.setMaxSeekToPreviousPositionMs()to configure the maximum position for whichseekToPrevious()seeks to the previous item (#1425). - Fix some audio focus inconsistencies, e.g. not reporting full or transient focus loss while the player is paused (#1436).
- Fix potential
IndexOutOfBoundsExceptioncaused by extractors reporting additional tracks after the initial preparation step (#1476). EffectsinExoPlayer.setVideoEffect()will receive the timestamps with the renderer offset removed (#1098).- Fix potential
IllegalArgumentExceptionwhen handling player error that happened while reading ahead into another playlist item (#1483).
- Add
- Transformer:
- Add
audioConversionProcessandvideoConversionProcesstoExportResultindicating how the respective track in the output file was made. - Relax trim optimization H.264 level checks.
- Add support for changing between SDR and HDR input media in a sequence.
- Add support for composition-level audio effects.
- Add support for transcoding Ultra HDR images into HDR videos.
- Fix issue where the
DefaultAudioMixerdoes not output the correct amount of bytes after being reset and reused. - Work around a decoder bug where the number of audio channels was capped at stereo when handling PCM input.
- When selecting tracks in
ExoPlayerAssetLoader, ignore audio channel count constraints as they only apply for playback. - Replace
androidx.media3.transformer.Muxerinterface withandroidx.media3.muxer.Muxerand removeandroidx.media3.transformer.Muxer.
- Add
2024-07-24
Activity: v1.9.1
July 24, 2024
androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1, and androidx.activity:activity-ktx:1.9.1 are released. Version 1.9.1 contains these commits.
Bug Fixes
- Fixed an issue with
PredictiveBackHandlerwhere after doing system back, attempting to doonBackPressedfrom theOnBackPressedDispatcherwould fail. (I5f1f8)
Annotation: v1.8.1
July 24, 2024
androidx.annotation:annotation-*:1.8.1 is released. Version 1.8.1 contains these commits.
Bug Fixes
- Includes additional Kotlin Multiplatform targets:
watchos,tvos.
Collection: v1.4.2
July 24, 2024
androidx.collection:collection-*:1.4.2 is released. Version 1.4.2 contains these commits.
New Features
- Includes additional Kotlin Multiplatform targets:
watchos,tvos,linuxArm64. (b/352543988)
Compose Animation: v1.7.0-beta06
July 24, 2024
androidx.compose.animation:animation-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits.
Bug Fixes
- Fixed
SeekableTransitionleaking transition states by properly cleaning up observations fromSnapshotStateObserverwhen the transition is disposed. (b9c7182) - Fixed edge cases where child Transitions are not properly marked complete when the parent completes. (dc42216)
Compose Foundation: v1.7.0-beta06
July 24, 2024
androidx.compose.foundation:foundation-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits.
Compose Material: v1.7.0-beta06
July 24, 2024
androidx.compose.material:material-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits.
Compose Material3: v1.3.0-beta05
July 24, 2024
androidx.compose.material3:material3-*:1.3.0-beta05 is released. Version 1.3.0-beta05 contains these commits.
- Fixed issue where
BottomSheetcontent is missing or cut off on Android N and O (a10a2d) - Increased slider’s semantics bounds in order for
TalkBackto properly show the focus indicators around the thumbs. (0b5a1d)
Compose Runtime: v1.7.0-beta06
July 24, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits.
Compose UI: v1.7.0-beta06
July 24, 2024
androidx.compose.ui:ui-*:1.7.0-beta06 is released. Version 1.7.0-beta06 contains these commits.
credentials: v1.5.0-alpha03
July 24, 2024
androidx.credentials:credentials:1.5.0-alpha03 and androidx.credentials:credentials-play-services-auth:1.5.0-alpha03 are released. This version is developed in an internal branch.
New Features
- Introduces a new feature, the Restore Credentials. The restore credential is used to restore the user's credential from the previous device to a new Android device. By creating a
RestoreCredentialfor the user, the credential will be automatically transferred over to the user's new device if the user selects the app to be transferred from the old device during the setup stage.
API Changes
- New classes are added for requesting Restore Credentials.
- A new credential type,
RestoreCredential, that can restore credentials in a new device. CreateRestoreCredentialRequestfor creating a newRestoreCredential.GetRestoreCredentialOptionfor fetchingRestoreCredential.ClearCredentialStateRequestcan be modified to clear theRestoreCredential.
Bug Fixes
- Added a new
RestoreCredentialAPI for app-restore purposes (If2d40)
Fragment: v1.8.2
July 24, 2024
androidx.fragment:fragment-*:1.8.2 is released. Version 1.8.2 contains these commits.
Bug Fixes
AndroidFragmentnow properly handles cases where the parent fragment is put on the Fragment back stack, avoiding 'No view found for id' issues when popping back to that fragment. (I94608)- Fragments added via the
FragmentTransaction.addmethod that takes aViewGroupnow wait foronContainerAvailablebefore progressing toonStart(). This affects users of that API, such asAndroidFragment, which now waits for theAndroidFragmentto re-enter composition before moving it throughonStart(). (I94608)
Games Frame Pacing: v2.1.2
July 24, 2024
androidx.games:games-frame-pacing:2.1.2 is released. Version 2.1.2 contains these commits.
Bug Fixes
- Swappy now uses
AChoreographer_postVsyncCallbackfrom API 33 to calculate the presentation time more accurately. This fixes a bug on 120hz devices where frames are dropped.
Games Performance Tuner 1.4.3: v2.0.0-rc01
July 24, 2024
androidx.games:games-performance-tuner:2.0.0-rc01 is released. Version 2.0.0-rc01 contains these commits.
Graphics Shap...
2024-07-11
Benchmark: v1.3.0-beta02
July 10, 2024
androidx.benchmark:benchmark-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.
Bug Fixes
- Gracefully handle EXITCODE
2when starting Perfetto to log a warning, but proceed.
Collection: v1.4.1
July 10, 2024
androidx.collection:collection-*:1.4.1 is released. Version 1.4.1 contains these commits.
Bug Fixes
- Remove deleted tombstones from Map/Set when resizing. (7a996c5, b/345960092)
Compose Animation: v1.7.0-beta05
July 10, 2024
androidx.compose.animation:animation-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- The Transition property
totalDurationNanosnow can be properly read within asnapshotFlow.
Compose Foundation: v1.7.0-beta05
July 10, 2024
androidx.compose.foundation:foundation-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- Fix for treatment of Nan values in
SnapFlingBehaviorand Pager.
Compose Material: v1.7.0-beta05
July 10, 2024
androidx.compose.material:material-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Compose Runtime: v1.7.0-beta05
July 10, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Compose UI: v1.7.0-beta05
July 10, 2024
androidx.compose.ui:ui-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- Fixed a bug where changing the software keyboard would cause
TextFieldto not accept input from the new keyboard until the focus is lost and regained. - Fixed an issue where attempts to persist layer contents would cause unintended side effects when rendering with
SurfaceViewcontent.
credentials: v1.3.0-rc01
July 10, 2024
androidx.credentials:credentials:1.3.0-rc01 and androidx.credentials:credentials-play-services-auth:1.3.0-rc01 are released. Version 1.3.0-rc01 contains these commits.
New Features
- A version bump release along with small implementation updates.
Emoji2: v1.5.0-beta01
July 10, 2024
androidx.emoji2:emoji2-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.
New Features
- Support emoji 15.1 and bidirectional emoji selection UI.
- Support multi-skintone selection redesign.
Bug Fixes
EmojiPickerView’s tab selection and indicator updates one click behind. (146b02, b/288261054)EmojiPickerView’s tab selection and indicator is broken. (5e1f14, b/273883688)
Games-Activity: v3.0.4
July 10, 2024
androidx.games:games-activity:3.0.4 is released. Version 3.0.4 contains these commits.
Bug Fixes
- Fixed handling of null pointers.
- Fixed missing state updates for some states in
onConfiguration()callback.
Games Frame Pacing: v2.1.1
July 10, 2024
androidx.games:games-frame-pacing:2.1.1 is released. Version 2.1.1 contains these commits.
Bug Fixes
- Properly unregister display listener from swappy to avoid a hang.
- Fix a crash in
ChoreographerFilter::onSettingsChangedusing destroyed mutex.
Media3: v1.4.0-rc01
July 10, 2024
androidx.media3:media3-*:1.4.0-rc01 is released. Version 1.4.0-rc01 contains these commits.
- Common Library:
- Add
Format.customDatato store app-provided custom information aboutFormatinstances.
- Add
- ExoPlayer:
- Fix some audio focus inconsistencies, e.g. not reporting full or transient focus loss while the player is paused (#1436).
- Fix potential
IndexOutOfBoundsExceptioncaused by extractors reporting additional tracks after the initial preparation step (#1476). EffectsinExoPlayer.setVideoEffect()will receive the timestamps with the renderer offset removed (#1098).- Fix potential
IllegalArgumentExceptionwhen handling player error that happened while reading ahead into another playlist item (#1483).
- Text:
- Fix an
IllegalArgumentExceptionfromLegacySubtitleUtilwhen a WebVTT subtitle sample contains no cues, e.g. as part of a DASH stream (#1516).
- Fix an
- Session:
- Allow the session activity to be set per controller to override the global session activity. The session activity can be defined for a controller at connection time by creating a
ConnectionResultwithAcceptedResultBuilder.setSessionActivivty(PendingIntent). Once connected, the session activity can be updated withMediaSession.setSessionActivity(ControllerInfo, PendingIntent). - Improve error replication of calls to
MediaLibrarySession.Callback. Error replication can now be configured by usingMediaLibrarySession.Builder.setLibraryErrorReplicationMode()for choosing the error type or opt-ing out of error replication which is on by default.
- Allow the session activity to be set per controller to override the global session activity. The session activity can be defined for a controller at connection time by creating a
- UI:
- Work around a platform bug causing stretched/cropped video when using
SurfaceViewinside a ComposeAndroidViewon API 34 (#1237).
- Work around a platform bug causing stretched/cropped video when using
2024-07-10
Benchmark: v1.3.0-beta02
July 10, 2024
androidx.benchmark:benchmark-*:1.3.0-beta02 is released. Version 1.3.0-beta02 contains these commits.
Bug Fixes
- Gracefully handle EXITCODE
2when starting Perfetto to log a warning, but proceed.
Collection: v1.4.1
July 10, 2024
androidx.collection:collection-*:1.4.1 is released. Version 1.4.1 contains these commits.
Bug Fixes
- Remove deleted tombstones from Map/Set when resizing. (7a996c5, b/345960092)
Compose Animation: v1.7.0-beta05
July 10, 2024
androidx.compose.animation:animation-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- The Transition property
totalDurationNanosnow can be properly read within asnapshotFlow.
Compose Foundation: v1.7.0-beta05
July 10, 2024
androidx.compose.foundation:foundation-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- Fix for treatment of Nan values in
SnapFlingBehaviorand Pager.
Compose Material: v1.7.0-beta05
July 10, 2024
androidx.compose.material:material-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Compose Runtime: v1.7.0-beta05
July 10, 2024
androidx.compose.runtime:runtime-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Compose UI: v1.7.0-beta05
July 10, 2024
androidx.compose.ui:ui-*:1.7.0-beta05 is released. Version 1.7.0-beta05 contains these commits.
Bug Fixes
- Fixed a bug where changing the software keyboard would cause
TextFieldto not accept input from the new keyboard until the focus is lost and regained. - Fixed an issue where attempts to persist layer contents would cause unintended side effects when rendering with
SurfaceViewcontent.
credentials: v1.3.0-rc01
July 10, 2024
androidx.credentials:credentials:1.3.0-rc01 and androidx.credentials:credentials-play-services-auth:1.3.0-rc01 are released. Version 1.3.0-rc01 contains these commits.
New Features
- A version bump release along with small implementation updates.
Emoji2: v1.5.0-beta01
July 10, 2024
androidx.emoji2:emoji2-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.
New Features
- Support emoji 15.1 and bidirectional emoji selection UI.
- Support multi-skintone selection redesign.
Bug Fixes
EmojiPickerView’s tab selection and indicator updates one click behind. (146b02, b/288261054)EmojiPickerView’s tab selection and indicator is broken. (5e1f14, b/273883688)
Games-Activity: v3.0.4
July 10, 2024
androidx.games:games-activity:3.0.4 is released. Version 3.0.4 contains these commits.
Bug Fixes
- Fixed handling of null pointers.
- Fixed missing state updates for some states in
onConfiguration()callback.
Games Frame Pacing: v2.1.1
July 10, 2024
androidx.games:games-frame-pacing:2.1.1 is released. Version 2.1.1 contains these commits.
Bug Fixes
- Properly unregister display listener from swappy to avoid a hang.
- Fix a crash in
ChoreographerFilter::onSettingsChangedusing destroyed mutex.
Navigation: v2.8.0-beta05
July 10, 2024
androidx.navigation:navigation-*:2.8.0-beta05 is released. Version 2.8.0-beta05 contains these commits.
Bug Fixes
- Fix
singleTopnavigation crash when nestedNavGraphsshare the samestartDestinationroute. (I17b94, b/294408596)
privacysandbox ads: v1.1.0-beta09
July 10, 2024
androidx.privacysandbox.ads:ads-adservices:1.1.0-beta09 and androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta09 are released. Version 1.1.0-beta09 contains these commits.
API Changes
- Add missing Java constructor overloads for
GetAdSelectionDataRequestExperimental API. (Ifbf88).
Room: v2.7.0-alpha05
July 10, 2024
androidx.room:room-*:2.7.0-alpha05 is released. Version 2.7.0-alpha05 contains these commits.
API Changes
- Renamed
SQLiteKttoSQLiteandBundledSQLiteKttoBundledSQLite. (I8b501)
Bug Fixes
- Fixed a bug where a
RoomDatabasewould deadlock or error out with a connection timeout when using theAndroidSQLiteDriver.
Security-State: v1.0.0-alpha03
July 10, 2024
androidx.security:security-state:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains
2024-06-27@09PM
Lifecycle: v2.8.3
June 27, 2024
androidx.lifecycle:lifecycle-*:2.8.3 is released. Version 2.8.3 contains these commits.
Bug Fixes
- Fixed an issue with Lifecycle 2.8’s backward compatibility with Compose 1.6.0 and lower when using code shrinking. (aosp/3133056, b/346808608)