Releases: mahozad/androidx-release-notes
2023-06-28
Compose Animation: v1.5.0-beta03
June 28, 2023
androidx.compose.animation:animation-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.
Compose Compiler: v1.4.8
June 28, 2023
androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8, and androidx.compose.compiler:compiler-hosted:1.4.8 are released. Version 1.4.8 contains these commits.
New Features
- Target Kotlin compiler version is bumped to 1.8.22.
Bug Fixes
- Improved error message for
@Composableoverrides. Now it correctly points out annotation mismatch. - Warn about redundant
@Composableannotation on inline lambdas that should not be marked as composable. This feature will not be supported with K2 compiler.
Compose Foundation: v1.5.0-beta03
June 28, 2023
androidx.compose.foundation:foundation-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.
Compose Material: v1.5.0-beta03
June 28, 2023
androidx.compose.material:material-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.
Bug Fixes
BottomSheetState,ModalBottomSheetStateandBottomDrawerStatenow expose a progress property indicating the progress between the current (settled) anchor and the closest anchor in the swipe direction. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Compose Runtime: v1.5.0-beta03
June 28, 2023
androidx.compose.runtime:runtime-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.
Bug Fixes
- Skip recomposition of subcompositions that will be removed. (Ieeb99, b/254645321)
Compose UI: v1.5.0-beta03
June 28, 2023
androidx.compose.ui:ui-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits.
Bug Fixes
- Added FocusTargetModifierNode interface that can be used to create a custom FocusTarget. (Ifb1d6)
- Fixed an issue with Dialog and Popup composables that could result in the child window not resizing as expected when
usePlatformDefaultWidth=true. (I112ee)
Navigation: v2.7.0-beta02
June 28, 2023
androidx.navigation:navigation-*:2.7.0-beta02 is released. Version 2.7.0-beta02 contains these commits.
Bug Fixes
- Navigation Compose now has the right z-order for custom transitions that use navigate with the
popUpTooption.(/Ib1c3a, b/285153947)
2023-06-27
Runner 1.6.0: runner 1.6.0-alpha03
June 27, 2023
androidx.test:runner:1.6.0-alpha03 is released.
Bug fixes
- Attempt to avoid outputting a test result summary which exceeds binder transaction limit.
2023-06-23
Activity: v1.8.0-alpha06
June 21, 2023
androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06, and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.
New Features
- The
OnBackPressedDispatchernow correctly cancels any callbacks that are removed during a Predictive Back Gesture. (I3f90f)
Annotation-Experimental: v1.3.1
June 21, 2023
androidx.annotation:annotation-experimental:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
- Place annotation at the beginning of the modifier list when applying lint auto-fix. (b/251172715)
- Use lint check to discourage use of
androidx.annotation.RequiresOptInin Kotlin sources (b/241097743)
Benchmark: v1.2.0-alpha16
June 21, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha16 is released. Version 1.2.0-alpha16 contains these commits.
API Changes
BaselineProfileRule.collectBaselineProfile()API has been renamed toBaselineProfileRule.collect(). (I4b665)
Bug Fixes
- Macrobenchmark support for
androidx.benchmark.profiling.mode = MethodTracing. (I7ad37, b/285912360) - Microbenchmark profiling moved to a separate phase, so it occurs in sequence after measurement, instead of replacing it.
MethodTracingtrace sections are also now included in the captured Perfetto trace, if present. (I9f657, b/285014599) - Add count measurement to
TraceSectionMetricwithMode.Sum. (Ic121a, b/264398606)
Browser: v1.6.0-beta01
June 21, 2023
androidx.browser:browser:1.6.0-beta01 is released with no changes since 1.6.0-alpha02. Version 1.6.0-beta01 contains these commits.
CameraX: v1.3.0-beta01
June 21, 2023
androidx.camera:camera-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
API Changes
- Renamed the
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)function name tosetAllowedResolutionModeand renamed theResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONconstants toPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - Removed deprecated API
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)andVideoCapture.setTargetRotationDegrees(int). (Id8e77) - The
DynamicRangeclass respresent the dynamic range of images. This can be used to select High Dynamic Range formats as the output ofVideoCapturethroughVideoCapture.Builder#setDynamicRange(). (Ib0377) - Added an
isImageAnalysisSupportedAPI to theExtensionsManagerwhich apps can determine if anImageAnalysisuse case can be bound along with Preview andImageCapturewhen Extensions are enabled. (I1bc63) - The new
VideoCapabilitiesclass obtained from theRecordercan be used to query supported dynamic ranges and qualities for video recording on the device.QualitySelector'sgetSupportedQualities()andisQualitySupported()methods are being deprecated. Please useVideoCapabilities'sgetSupportedQualities()andisQualitySupported()methods instead. (I04014) CameraController#setVideoCaptureTargetQuality()is renamed tosetVideoCaptureQualitySelectorand takes argumentQualitySelector, which provides more flexibility for video quality setup.CameraController#getVideoCaptureTargetQuality()is changed togetVideoCaptureQualitySelectoraccordingly. (I520ed)- Removed the experimental annotation for video features. The video features are now stable. (I1a113)
Bug Fixes
- Use torch as flash on Samsung SM-A320 models to improve the speed and the captured image quality in low light. (I6a022, b/286190938)
- Add
ImageFormat.JPEGformat support forImageProxy.toBitmap(). If the JPEG byte array cannot be decoded, anUnsupportedOperationExceptionwill be thrown. (I81958, b/282057603)
Compose Animation: v1.6.0-alpha01
June 21, 2023
androidx.compose.animation:animation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.
New Features
- Enable
Modifier.animateContentSizeandAnimatedVisibilityto be fully integrated into the lookahead system by reporting the target size in the lookahead pass.
API Changes
- New property in
IntrinsincMeasureScopeand its implementations (e.g.MeasureScope) to indicate whether the current measure pass is a lookahead pass. (I7a812)
Bug Fixes
- Removed allocations from spring animations. (
2023-06-22
Activity: v1.8.0-alpha06
June 21, 2023
androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06, and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.
New Features
- The
OnBackPressedDispatchernow correctly cancels any callbacks that are removed during a Predictive Back Gesture. (I3f90f)
Annotation-Experimental: v1.3.1
June 21, 2023
androidx.annotation:annotation-experimental:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
- Place annotation at the beginning of the modifier list when applying lint auto-fix. (b/251172715)
- Use lint check to discourage use of
androidx.annotation.RequiresOptInin Kotlin sources (b/241097743)
Benchmark: v1.2.0-alpha16
June 21, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha16 is released. Version 1.2.0-alpha16 contains these commits.
API Changes
BaselineProfileRule.collectBaselineProfile()API has been renamed toBaselineProfileRule.collect(). (I4b665)
Bug Fixes
- Macrobenchmark support for
androidx.benchmark.profiling.mode = MethodTracing. (I7ad37, b/285912360) - Microbenchmark profiling moved to a separate phase, so it occurs in sequence after measurement, instead of replacing it.
MethodTracingtrace sections are also now included in the captured Perfetto trace, if present. (I9f657, b/285014599) - Add count measurement to
TraceSectionMetricwithMode.Sum. (Ic121a, b/264398606)
Browser: v1.6.0-beta01
June 21, 2023
androidx.browser:browser:1.6.0-beta01 is released with no changes since 1.6.0-alpha02. Version 1.6.0-beta01 contains these commits.
CameraX: v1.3.0-beta01
June 21, 2023
androidx.camera:camera-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
API Changes
- Renamed the
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)function name tosetAllowedResolutionModeand renamed theResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONconstants toPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - Removed deprecated API
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)andVideoCapture.setTargetRotationDegrees(int). (Id8e77) - The
DynamicRangeclass respresent the dynamic range of images. This can be used to select High Dynamic Range formats as the output ofVideoCapturethroughVideoCapture.Builder#setDynamicRange(). (Ib0377) - Added an
isImageAnalysisSupportedAPI to theExtensionsManagerwhich apps can determine if anImageAnalysisuse case can be bound along with Preview andImageCapturewhen Extensions are enabled. (I1bc63) - The new
VideoCapabilitiesclass obtained from theRecordercan be used to query supported dynamic ranges and qualities for video recording on the device.QualitySelector'sgetSupportedQualities()andisQualitySupported()methods are being deprecated. Please useVideoCapabilities'sgetSupportedQualities()andisQualitySupported()methods instead. (I04014) CameraController#setVideoCaptureTargetQuality()is renamed tosetVideoCaptureQualitySelectorand takes argumentQualitySelector, which provides more flexibility for video quality setup.CameraController#getVideoCaptureTargetQuality()is changed togetVideoCaptureQualitySelectoraccordingly. (I520ed)- Removed the experimental annotation for video features. The video features are now stable. (I1a113)
Bug Fixes
- Use torch as flash on Samsung SM-A320 models to improve the speed and the captured image quality in low light. (I6a022, b/286190938)
- Add
ImageFormat.JPEGformat support forImageProxy.toBitmap(). If the JPEG byte array cannot be decoded, anUnsupportedOperationExceptionwill be thrown. (I81958, b/282057603)
Compose Animation: v1.6.0-alpha01
June 21, 2023
androidx.compose.animation:animation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.
New Features
- Enable
Modifier.animateContentSizeandAnimatedVisibilityto be fully integrated into the lookahead system by reporting the target size in the lookahead pass.
API Changes
- New property in
IntrinsincMeasureScopeand its implementations (e.g.MeasureScope) to indicate whether the current measure pass is a lookahead pass. (I7a812)
Bug Fixes
- Removed allocations from spring animations. (
2023-06-21
Activity: v1.8.0-alpha06
June 21, 2023
androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06, and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.
New Features
- The
OnBackPressedDispatchernow correctly cancels any callbacks that are removed during a Predictive Back Gesture. (I3f90f)
Annotation-Experimental: v1.3.1
June 21, 2023
androidx.annotation:annotation-experimental:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
- Place annotation at the beginning of the modifier list when applying lint auto-fix. (b/251172715)
- Use lint check to discourage use of
androidx.annotation.RequiresOptInin Kotlin sources (b/241097743)
Benchmark: v1.2.0-alpha16
June 21, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha16 is released. Version 1.2.0-alpha16 contains these commits.
API Changes
BaselineProfileRule.collectBaselineProfile()API has been renamed toBaselineProfileRule.collect(). (I4b665)
Bug Fixes
- Macrobenchmark support for
androidx.benchmark.profiling.mode = MethodTracing. (I7ad37, b/285912360) - Microbenchmark profiling moved to a separate phase, so it occurs in sequence after measurement, instead of replacing it.
MethodTracingtrace sections are also now included in the captured Perfetto trace, if present. (I9f657, b/285014599) - Add count measurement to
TraceSectionMetricwithMode.Sum. (Ic121a, b/264398606)
Browser: v1.6.0-beta01
June 21, 2023
androidx.browser:browser:1.6.0-beta01 is released with no changes since 1.6.0-alpha02. Version 1.6.0-beta01 contains these commits.
CameraX: v1.3.0-beta01
June 21, 2023
androidx.camera:camera-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
API Changes
- Renamed the
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)function name tosetAllowedResolutionModeand renamed theResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONconstants toPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - Removed deprecated API
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)andVideoCapture.setTargetRotationDegrees(int). (Id8e77) - The
DynamicRangeclass respresent the dynamic range of images. This can be used to select High Dynamic Range formats as the output ofVideoCapturethroughVideoCapture.Builder#setDynamicRange(). (Ib0377) - Added an
isImageAnalysisSupportedAPI to theExtensionsManagerwhich apps can determine if anImageAnalysisuse case can be bound along with Preview andImageCapturewhen Extensions are enabled. (I1bc63) - The new
VideoCapabilitiesclass obtained from theRecordercan be used to query supported dynamic ranges and qualities for video recording on the device.QualitySelector'sgetSupportedQualities()andisQualitySupported()methods are being deprecated. Please useVideoCapabilities'sgetSupportedQualities()andisQualitySupported()methods instead. (I04014) CameraController#setVideoCaptureTargetQuality()is renamed tosetVideoCaptureQualitySelectorand takes argumentQualitySelector, which provides more flexibility for video quality setup.CameraController#getVideoCaptureTargetQuality()is changed togetVideoCaptureQualitySelectoraccordingly. (I520ed)- Removed the experimental annotation for video features. The video features are now stable. (I1a113)
Bug Fixes
- Use torch as flash on Samsung SM-A320 models to improve the speed and the captured image quality in low light. (I6a022, b/286190938)
- Add
ImageFormat.JPEGformat support forImageProxy.toBitmap(). If the JPEG byte array cannot be decoded, anUnsupportedOperationExceptionwill be thrown. (I81958, b/282057603)
Compose Animation: v1.6.0-alpha01
June 21, 2023
androidx.compose.animation:animation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.
New Features
- Enable
Modifier.animateContentSizeandAnimatedVisibilityto be fully integrated into the lookahead system by reporting the target size in the lookahead pass.
API Changes
- New property in
IntrinsincMeasureScopeand its implementations (e.g.MeasureScope) to indicate whether the current measure pass is a lookahead pass. (I7a812)
Bug Fixes
- Removed allocations from spring animations. (
2023-06-12
Media3: v1.1.0-rc01
June 21, 2023
androidx.media3:media3-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.
- ExoPlayer:
- Add support for including Common Media Client Data (CMCD) in the outgoing requests of adaptive streaming formats DASH, HLS, and SmoothStreaming. The following fields,
br,bl,cid,rtp, andsid, have been incorporated (#8699). API structure and API methods:- CMCD logging is disabled by default, use
MediaSource.Factory.setCmcdConfigurationFactory(CmcdConfiguration.Factory cmcdConfigurationFactory)to enable it. - All keys are enabled by default, override
CmcdConfiguration.RequestConfig.isKeyAllowed(String key)to filter out which keys are logged. - Override
CmcdConfiguration.RequestConfig.getCustomData()to enable custom key logging.
- CMCD logging is disabled by default, use
- Add additional action to manifest of main demo to make it easier to start the demo app with a custom
*.exolist.jsonfile (#439).
- Add support for including Common Media Client Data (CMCD) in the outgoing requests of adaptive streaming formats DASH, HLS, and SmoothStreaming. The following fields,
- Extractors:
- FMP4: Fix issue where
TimestampAdjusterinitializes a wrong timestamp offset with metadata sample time from emsg atom (#356).
- FMP4: Fix issue where
- Session:
- Add default implementation to
MediaSession.Callback.onAddMediaItemsto allow requestedMediaItemsto be passed ontoPlayerif they haveLocalConfiguration(e.g. URI) (#282). - Add "seek to previous" and "seek to next" command buttons on compact media notification view by default for Android 12 and below (#410).
- Add default implementation to
- DASH Extension:
- Fix a bug where re-preparing a multi-period live Dash media source produced a
IndexOutOfBoundsException(#10838).
- Fix a bug where re-preparing a multi-period live Dash media source produced a
- HLS Extension:
- Add
HlsMediaSource.Factory.setTimestampAdjusterInitializationTimeoutMs(long)to set a timeout for the loading thread to wait for theTimestampAdjusterto initialize. If the initialization doesn't complete before the timeout, aPlaybackExceptionis thrown to avoid the playback endless stalling. The timeout is set to zero by default (#323).
- Add
- Remove deprecated symbols:
- Remove deprecated
MediaItem.PlaybackProperties, useMediaItem.LocalConfigurationinstead. Deprecated fieldMediaItem.playbackPropertiesis now of typeMediaItem.LocalConfiguration.
- Remove deprecated
2023-06-07
Activity: v1.8.0-alpha05
June 7, 2023
androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05, and androidx.activity:activity-ktx:1.8.0-alpha05 are released. This version is developed in an internal branch.
API Changes
- Activity now provides a
BackEventCompatclass that serves as a backward compatible version ofBackEventthat is decoupled from the frameworkBackEventclass. - Breaking change: The
handleOnBackStartedandhandleOnBackProgressedmethods ofOnBackPressedCallbacknow receive anandroidx.activity.BackEventCompatinstance rather than a frameworkandroid.window.BackEventclass. The equivalent@VisibleForTestingAPIs onOnBackPressedDispatcherhave also been updated. - The constructor for
OnBackPressedDispatchernow takes an optionalConsumer<Boolean>instance that allows the owners of the dispatcher to receive a callback whenever the number of enabled callbacks changes from zero to non-zero or vice versa.
Bug Fixes
- From Activity
1.7.2: FixReportDrawncrashing when navigating away from a screen beforereportis called. (Ic46f1, b/260506820)
Benchmark: v1.2.0-alpha15
June 7, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha15 is released. Version 1.2.0-alpha15 contains these commits.
New Features
- Added experimental
MemoryUsageMetricfor tracking memory usage of a target application. (I56453, b/133147125, b/281749311) - Add support for fully custom Perfetto configs with
PerfettoTrace.record(If9d75, b/280460183) - Added property to skip baseline profile generation. Usage:
./gradlew assemble -Pandroidx.baselineprofile.skipgeneration. (I37fda, b/283447020)
API Changes
- The
collectBaselineProfileAPI always generates stable baseline profiles. ThecollectStableBaselineProfileAPI has been removed andcollectBaselineProfileshould be used instead. (I17262, b/281078707) - Changed
BaselineProfileRule'sfilterPredicatearg to non-null, with a equivalent default value so that the default filter behavior is more clear in docs. (I3816e)
Bug Fixes
- Disable
IsolationActivityand Perfetto tracing indryRunModeto significantly improve performance, as these were majority of runtime. (Ie4f7d) - Support for call stack sampling in Macrobenchmarks using instrumentation test arguments
androidx.benchmark.profiling.mode=StackSamplingandandroidx.benchmark.profiling.sampleFrequency. (I1d13b, b/282188489) - Fixes crash when dropping shaders on Android U (API 34), as well as on emulators. (I031ca, b/274314544)
Browser: v1.6.0-alpha02
June 7, 2023
androidx.browser:browser:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.
API Changes
- Removed
CustomTabsSession#getGreatestScrollPercentage. (I6c5ba) - Added a new
requestPostMessageChannelAPI which allows specifying the target origin. This means that users can be certain their messages are delivered only to the website they expect. (Id5b7f)
Bug Fixes
- Updated
EngagementSignalsCallbackdocumentation. (Ie833c)
Compose Animation: v1.5.0-beta02
June 7, 2023
androidx.compose.animation:animation-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.
Compose Foundation: v1.5.0-beta02
June 7, 2023
androidx.compose.foundation:foundation-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.
Compose Material: v1.5.0-beta02
June 7, 2023
androidx.compose.material:material-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.
Compose Runtime: v1.5.0-beta02
June 7, 2023
androidx.compose.runtime:runtime-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.
Performance Improvements
- Avoid calculating
readableHashinDerivedStateif snapshot wasn't modified. (307102)
Compose UI: v1.5.0-beta02
June 7, 2023
androidx.compose.ui:ui-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits.
API Changes
- Added
asComposePaintAPI to enable consumption of anandroid.graphics.Paintinstance to be used in Compose
Bug Fixes
- Added
asComposePaintAPI to replacetoComposePaintas the returned object wraps the originalandroid.graphics.Paint(I22b4c)
Core and Core-ktx: v1...
2023-05-30
Media3: v1.1.0-beta01
June 7, 2023
androidx.media3:media3-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.
- Common Library:
- Add
Player.replaceMediaItem(s)as a shortcut to adding and removing items at the same position (#8046).
- Add
- ExoPlayer:
- Add
FilteringMediaSourcethat allows to filter available track types from aMediaSource. - Add
ExoPlayer.setVideoFrameProcessorFactory()for usingEffectwith a customVideoFrameProcessor.Factoryduring video playback.
- Add
- Extractors:
- Ogg: Fix bug when seeking in files with a long duration (#391).
- Audio:
- Add direct playback support for DTS Express and DTS:X (#335).
- Audio Offload:
- Add
AudioSink.getFormatOffloadSupport(Format)that retrieves level of offload support the sink can provide for the format through aDefaultAudioOffloadSupportProvider. It returns the newAudioOffloadSupportthat containsisFormatSupported,isGaplessSupported, andisSpeedChangeSupported. - Add
AudioSink.setOffloadMode()through which the offload configuration on the audio sink is configured. Default isAudioSink.OFFLOAD_MODE_DISABLED. - Offload can be enabled through
setAudioOffloadPreferenceinTrackSelectionParameters. If the set preference is to enable, the device supports offload for the format, and the track selection is a single audio track, then audio offload will be enabled. - Remove parameter
enableOffloadfromDefaultRenderersFactory.buildAudioSinkmethod signature. - Remove method
DefaultAudioSink.Builder.setOffloadMode. - Remove intdef value
DefaultAudioSink.OffloadMode.OFFLOAD_MODE_ENABLED_GAPLESS_DISABLED.
- Add
- Video:
- Make
MediaCodecVideoRendererreport aVideoSizewith a width and height of 0 when the renderer is disabled.Player.Listener.onVideoSizeChangedis called accordingly whenPlayer.getVideoSize()changes. With this change, ExoPlayer's video size withMediaCodecVideoRendererhas a width and height of 0 whenPlayer.getCurrentTracksdoes not support video, or the size of the supported video track is not yet determined.
- Make
- IMA extension:
- Enable multi-period live DASH streams for DAI. Please note that the current implementation does not yet support seeking in live streams (#10912).
- Session:
- Add
androidx.media3.session.MediaButtonReceiverto enable apps to implement playback resumption with media button events sent by, for example, a Bluetooth headset (#167).
- Add
- RTSP Extension:
- Use base Uri for relative path resolution from the RTSP session if present in DESCRIBE response header (#11160).
- Remove deprecated symbols:
- Remove two deprecated
SimpleCacheconstructors, use a non-deprecated constructor that takes aDatabaseProviderinstead for better performance. - Remove
DefaultBandwidthMeterconstructor, useDefaultBandwidthMeter.Builderinstead. - Remove
DefaultDrmSessionManagerconstructors, useDefaultDrmSessionManager.Builderinstead. - Remove two deprecated
HttpDataSource.InvalidResponseCodeExceptionconstructors, use a non-deprecated constructor that accepts additional fields(cause,responseBody) to enhance error logging. - Remove
DownloadHelper.forProgressive,DownloadHelper.forHls,DownloadHelper.forDash, andDownloadHelper.forSmoothStreaming, useDownloadHelper.forMediaIteminstead. - Remove deprecated
DownloadServiceconstructor, use a non deprecated constructor that includes the option to provide achannelDescriptionResourceIdparameter. - Remove deprecated String constants for Charsets (
ASCII_NAME,UTF8_NAME,ISO88591_NAME,UTF16_NAMEandUTF16LE_NAME), use Kotlin Charsets from thekotlin.textpackage, thejava.nio.charset.StandardCharsetsor thecom.google.common.base.Charsetsinstead. - Remove deprecated
WorkManagerSchedulerconstructor, use a non deprecated constructor that includes the option to provide aContextparameter instead. - Remove the deprecated methods
createVideoSampleFormat,createAudioSampleFormat,createContainerFormat, andcreateSampleFormat, which were used to instantiate theFormatclass. Instead useFormat.Builderfor creating instances ofFormat. - Remove the deprecated methods
copyWithMaxInputSize,copyWithSubsampleOffsetUs,copyWithLabel,copyWithManifestFormatInfo,copyWithGaplessInfo,copyWithFrameRate,copyWithDrmInitData,copyWithMetadata,copyWithBitrateandcopyWithVideoSize, useFormat.buildUpon()and setter methods instead. - Remove deprecated
ExoPlayer.retry(), useprepare()instead. - Remove deprecated zero-arg
DefaultTrackSelectorconstructor, useDefaultTrackSelector(Context)instead. - Remove deprecated
OfflineLicenseHelperconstructor, useOfflineLicenseHelper(DefaultDrmSessionManager, DrmSessionEventListener.EventDispatcher)instead. - Remove deprecated
DownloadManagerconstructor, use the constructor that takes anExecutorinstead. - Remove deprecated
Cueconstructors, useCue.Builderinstead. - Remove deprecated
OfflineLicenseHelperconstructor, useOfflineLicenseHelper(DefaultDrmSessionManager, DrmSessionEventListener.EventDispatcher)instead. - Remove four deprecated
AnalyticsListenermethods:onDecoderEnabled, useonAudioEnabledand/oronVideoEnabledinstead.onDecoderInitialized, useonAudioDecoderInitializedand/oronVideoDecoderInitializedinstead.onDecoderInputFormatChanged, useonAudioInputFormatChangedand/oronVideoInputFormatChangedinstead.
- Remove two deprecated
2023-05-24
Activity: v1.7.2
May 24, 2023
androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2, and androidx.activity:activity-ktx:1.7.2 are released. Version 1.7.2 contains these commits.
Bug Fixes
- Fix
ReportDrawncrashing when navigating away from a screen beforereportis called. (Ic46f1, b/260506820)
AppSearch: v1.1.0-alpha03
May 24, 2023
androidx.appsearch:appsearch-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
API Changes
- Removed methods that return
ListenableFutureand don't have Async suffix. (I0515f) - Adds the ability to configure projections by a
Documentclass. (I94576) - Adds getters/setters for
Features#NUMERIC_SEARCH,Features#VERBATIM_SEARCHandFeatures#LIST_FILTER_QUERY_LANGUAGE. Also addsFeatures#LIST_FILTER_QUERY_LANGUAGE. (Ic7204) - Adds
@RequiresFeaturetoJoinSpec. (Ic126c) - Add
LongPropertyConfigindexing type intoAppSearchcompiler. (Iee948) - Add
Features#VERBATIM_SEARCH(I47bc0) - Added
JoinableConfig(I47552) - Added utility methods for linking documents and creating qualified ids. (I33ec6)
- Expose the Advanced Scoring API from Icing (I02d48)
- Added the joinspec API (Iaecfa)
- Unhide
SearchSuggestionAPIinAppSearchSession. (I9029b) - This change adds an api to allow clients to specify property weights to control how matches to query terms in different properties affects the scored produced by
RANKING_STRATEGY_RELEVANCE_SCORING. (I069b9) - Add
LongPropertyConfigindexing API. (Ie0fb5) - Added
RFC822_TOKENIZATIONas a tokenizer type (I8a390) - Updated APIs for
ImageObjectto be a bit more idiomatic. (If8cd5) - Added new Document type
ImageObjectmodeled after http://schema.org/ImageObject. (I6a0c0) - Add fields from
ThingtoAlarm,AlarmInstance,Timer,Stopwatch,StopwatchLap,ContactPoint, andPerson(Id876c) - Add Person and
ContactPointfor querying Person corpus inAppSearch. (Ia58f9) - Adds
LocalStorage.createGlobalSearchSessionAPI to search across all databases within the local storage of a single app. (Id3c89)
Bug Fixes
- Add integer numeric search e2e unit test (I20f7d)
- Fix javadoc link and comment (I34a9d)
- Fully support Android 13 features in appsearch-platform-storage (Ia8e61)
Autofill: v1.3.0-alpha01
May 24, 2023
androidx.autofill:autofill:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.
API Changes
- Adds autofill hint constants for wallet valuables types. (Ie5d9d)
CameraX: v1.2.3
May 24, 2023
androidx.camera:camera-*:1.2.3 is released. Version 1.2.3 contains these commits.
Bug Fixes
- Fixed an issue where
VideoCapturecould not work with the front camera on some devices. For example, on Samsung Galaxy S23 and Xiaomi 2107113SG. (Ibec7e, b/270656244)
CameraX: v1.3.0-alpha07
May 24, 2023
androidx.camera:camera-*:1.3.0-alpha07 is released. Version 1.3.0-alpha07 contains these commits.
New Features
- The new
VideoCapture.Builder# setTargetFrameRate(Range)API allows video recordings to be captured at other frame rates besides the device default. The available frame rates for recordings can be queried through the newCameraInfo#getSupportedFrameRates()API.
API Changes
- Renamed
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONconstants toALLOWED_RESOLUTIONS_NORMAL/SLOWand renamed the buildersetHighResolutionEnabledFlagfunction name tosetAllowedResolutionMode. (Iae817) CameraInfo#getSupportedFrameRateRanges()now returns aSetrather than aListto better represent that the ranges are unordered. (I02f43)- Add an error listener to
CameraEffectto handle unrecoverable errors (Ice471) - Add publ...
2023-05-16
Media3: v1.0.2
May 18, 2023
androidx.media3:media3-*:1.0.2 is released. Version 1.0.2 contains these commits.
This release corresponds to the ExoPlayer 2.18.7 release.
This release contains the following changes since the 1.0.1 release:
- Core library:
- Add
Buffer.isLastSample()that denotes ifBuffercontains flagC.BUFFER_FLAG_LAST_SAMPLE. - Fix issue where last frame may not be rendered if the last sample with frames is dequeued without reading the 'end of stream' sample. (#11079).
- Add
- Extractors:
- Fix parsing of H.265 SPS in MPEG-TS files by re-using the parsing logic already used by RTSP and MP4 extractors (#303).
- Text:
- SSA: Add support for UTF-16 files if they start with a byte order mark (#319).
- Session:
- Fix issue where
MediaControllerdoesn't update its available commands when connected to a legacyMediaSessionCompatthat updates its actions. - Fix bug that prevented the
MediaLibraryServicefrom returning null for a call from System UI toCallback.onGetLibraryRootwithparams.isRecent == trueon API 30 (#355). - Fix memory leak of
MediaSessionServiceorMediaLibraryService(#346). - Fix bug where a combined
Timelineand position update in aMediaSessionmay cause aMediaControllerto throw anIllegalStateException.
- Fix issue where