Update all dependencies #195
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v4→v6v4→v5v4→v60.13→0.159.3.0→9.3.1v4→v50.4.27→0.4.29v5→v71.0.0-alpha07→1.0.0-alpha102.10.5→2.11.118.9.0→18.10.02.9.4→2.10.01.5.0→1.5.11.5.0→1.5.11.4.1→1.5.61.5.0→1.5.61.5.0→1.5.61.0.0-alpha01→1.0.0-beta011.0.0-alpha08→1.0.0-alpha091.0.0-alpha08→1.0.0-alpha091.10.0→1.10.21.9.3→1.10.28.0.0→8.2.14.16→4.16.12.11.0→3.0.02.11.0→3.0.04.12.0→5.3.21.8.0→1.9.11.8.0→1.9.11.8.0→1.9.11.5.0-alpha10→1.5.0-alpha131.9.0→1.10.01.9.0→1.10.02.3.4→2.3.533.5.0-android→33.5.0-jre1.0.0-alpha1→1.0.0-beta134.4.0→34.8.01.1.7→1.2.01.1.7→1.2.01.0.1→1.2.02.11.0→3.0.02025.12.00→2026.01.011.5.2→1.5.31.5.2→1.5.31.5.2→1.5.31.5.2→1.5.31.5.0-alpha01→1.5.0-alpha029.0.0-alpha06→9.0.01.12.1→1.12.31.1.0→1.2.07.0.2→8.2.1Release Notes
actions/checkout (actions/checkout)
v6Compare Source
v5Compare Source
actions/setup-java (actions/setup-java)
v5Compare Source
actions/upload-artifact (actions/upload-artifact)
v6Compare Source
v5Compare Source
rust-mobile/android_logger-rs (android_logger)
v0.15.0Compare Source
What's Changed
os::android-apiscategory by @MarijnS95 in #78CStr::from_ptr()withCStr::from_bytes_with_nul()by @MarijnS95 in #82DebugforConfigandAndroidLoggerby @MarijnS95 in #81cargo fmt --checkto ensure code is always properly formatted by @MarijnS95 in #86New Contributors
Full Changelog: rust-mobile/android_logger-rs@0.14.1...v0.15.0
v0.14.1Compare Source
gradle/gradle (gradle)
v9.3.1Compare Source
gradle/actions (gradle/actions)
v5Compare Source
rust-lang/log (log)
v0.4.29Compare Source
v0.4.28Compare Source
stefanzweifel/git-auto-commit-action (stefanzweifel/git-auto-commit-action)
v7Compare Source
Added
Changes
Dependency Updates
v6Compare Source
Fixed
square/retrofit (com.squareup.retrofit2:converter-kotlinx-serialization)
v3.0.0Compare Source
Changed
Upgrade to OkHttp 4.12 (from 3.14).
This is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the supported version of OkHttp whereas the previous version was out of support for nearly 4 years.
Note: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions.
This means libraries compiled against 2.x can still be used with the 3.x versions.
v2.12.0Compare Source
New
First-party converters now support deferring serialization to happen when the request body is written (i.e., during HTTP execution) rather than when the HTTP request is created. In some cases this moves conversion from a calling thread to a background thread, such as in the case when using
Call.enqueuedirectly.The following converters support this feature through a new
withStreaming()factory method:Fixed
@Tagnow work by storing the value boxed with the boxed class as the key.square/okhttp (com.squareup.okhttp3:okhttp)
v5.3.22025-11-18
Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused
timeouts to fire later than they were supposed to.
Upgrade: [Okio 3.16.4][okio_3_16_4].
v5.3.12025-11-16
This release is the same as 5.3.0. Okio 3.16.3 didn't have a necessary fix!
v5.3.02025-10-30
New: Add tags to
Call, including computable tags. Use this to attach application-specificmetadata to a
Callin anEventListenerorInterceptor. The tag can be read in any otherEventListenerorInterceptor.New: Support request bodies on HTTP/1.1 connection upgrades.
New:
EventListener.plus()makes it easier to observe events in multiple listeners.Fix: Don't spam logs with ‘Method isLoggable in android.util.Log not mocked.’ when using
OkHttp in Robolectric and Paparazzi tests.
Upgrade: [Kotlin 2.2.21][kotlin_2_2_21].
Upgrade: [Okio 3.16.2][okio_3_16_2].
Upgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail
[16 KB ELF alignment checks][elf_alignment].
v5.2.32025-11-18
Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused
timeouts to fire later than they were supposed to.
Upgrade: [Okio 3.16.4][okio_3_16_4].
v5.2.22025-11-16
This release is the same as 5.2.1. Okio 3.16.3 didn't have a necessary fix!
v5.2.12025-10-09
Fix: Don't crash when calling
Socket.shutdownOutput()orshutdownInput()on anSSLSocketon Android API 21 through 23. This method throws an
UnsupportedOperationException, so we nowcatch that and close the underlying stream instead.
Upgrade: [Okio 3.16.1][okio_3_16_1].
v5.2.02025-10-07
New: Support [HTTP 101] responses with
Response.socket. This mechanism is only supported onHTTP/1.1. We also reimplemented our websocket client to use this new mechanism.
New: The
okhttp-zstdmodule negotiates [Zstandard (zstd)][zstd] compression with servers thatsupport it. It integrates a new (unstable) [ZSTD-KMP] library, also from Square. Enable it like
this:
New: Support the
QUERYHTTP method. You will need to set theRequest.cacheUrlOverrideproperty to cache calls made with this method. The
RequestBody.sha256()may be helpful here;use it to compose a cache URL from the query body.
New: Publish events when calls must wait to execute.
EventListener.dispatcherQueueStart()is invoked when a call starts waiting, and
dispatcherQueueEnd()is invoked when it's done.New:
Request.toCurl()returns a copy-pasteable [curl] command consistent with Chrome’s andFirefox’s ‘copy as cURL’ features.
New: Support [JPMS]. We replaced our
Automatic-Module-Namemetadata with propermodule-info.javafiles.Fix: Recover gracefully when worker threads are interrupted. When we introduced fast fallback in
OkHttp 5.0, we started using background threads while connecting. Sadly that code didn't handle
interruptions well. This is now fixed.
Upgrade: [Kotlin 2.2.20][kotlin_2_2_20].
Upgrade: [Okio 3.16.0][okio_3_16_0].
v5.1.02025-07-07
New:
Response.peekTrailers(). When we changedResponse.trailers()to block instead ofthrowing in 5.0.0, we inadvertently removed the ability for callers to peek the trailers
(by catching the
IllegalStateExceptionif they weren't available). This new API restores thatcapability.
Fix: Don't crash on
trailers()if the response doesn't have a body. We broke [Retrofit] userswho read the trailers on the
raw()OkHttp response, after its body was decoded.v5.0.02025-07-02
This is our first stable release of OkHttp since 2023. Here's the highlights if you're upgrading
from OkHttp 4.x:
OkHttp is now packaged as separate JVM and Android artifacts. This allows us to offer
platform-specific features and optimizations. If your build system handles [Gradle module metadata],
this change should be automatic.
MockWebServer has a new coordinate and package name. We didn’t like that our old artifact
depends on JUnit 4 so the new one doesn’t. It also has a better API built on immutable values. (We
intend to continue publishing the old
okhttp3.mockwebserverartifact so there’s no urgency tomigrate.)
OkHttp now supports Happy Eyeballs ([RFC 8305][rfc_8305]) for IPv4+IPv6 networks. It attempts
both IPv6 and IPv4 connections concurrently, keeping whichever connects first.
We’ve improved our Kotlin APIs. You can skip the builder:
OkHttp now supports [GraalVM].
Here’s what has changed since 5.0.0-alpha.17:
NoSuchMethodErrorwhen using OkHttp with the Sentry SDK.okhttp3.mockwebserver.RecordedRequest.pathproperty. Weinadvertently changed this behavior when we introduced the
mockwebserver3API.androidx/media (androidx.media3:media3-ui-compose)
v1.9.1Compare Source
This release includes the following changes since
1.9.0 release:
(#2929).
doSomeWorkinterval only after audiostarts to support smoother A/V sync at beginning of playback.
DefaultLoadErrorHandlingPolicywhereFileNotFoundExceptionand similar exception types were retriedmultiple times.
doSomeWorkwas mistakenly reduced by the elapsed time of the currentiteration of
doSomeWork. Addressing this hopefully extends CPU idletime and saves power.
attempting to use a fallback AVC or HEVC codec.
currently playing item from a playlist
(#2873).
MediaIteminstances when repeatedly usingExoPlayer.replaceMediaItemon the same item(#2993).
(#2979).
(#2840).
AC4Profile22and other legacy profileswhen assessing AC-4 decoder support in Automotive scenarios
(#2609).
changes to avoid stuttering playback
(#2941).
either contain only a single control sequence, or have critical info
split across multiple control sequences
(#2935).
MIME type provided in the IMA LOADED event. The fix now maps the ad MIME
type using the ad pod index and ad position.
getAdsManager()andAdEvent.getAd().MediaControllerconnected to a platformsession crashed the app if stop happened during ad playback
(#2948).
extrasBundleinstances in variousclasses to guard against malformed
Bundleinstances sent from otherprocesses.
COMMAND_SEEK_NEXTorCOMMAND_SEEK_BACKcan cause gaps in the system media notification(#2976).
(#2829).
when converting from legacy
MediaMetadataCompatandMediaDescriptionCompat(#3018).
PriorityTooLowExceptionis handledby
SegmentDownloader(for DASH, HLS and SmoothStreaming). Customoverrides of
SegmentDownloaderusing the protectedexecutemethodneed to provide their task wrapped in a
Supplierso it can berecreated (#2931).
Listener.onAssetListLoadCompletedcallback. This is a breaking changein an unstable API that requires apps that implement this callback to
add an additional argument of type
JSONObject(#2950).
(#2930).
NullPointerExceptionthat can occur when seeking priorto processing the first video frame
(#2965).
RemoteCastPlayertimeline from updatingcorrectly when replacing the playlist.
v1.9.0Compare Source
minSdkto23in line with other AndroidX libraries.PlayerTransferState, which facilitates transferring the playbackstate across
Playerinstances.void mute()andvoid unmute()methods to Player that preserveand consequently restore Player's volume before and after setting it to
zero.
WakeLockManager,WifiLockManager,AudioFocusManager,AudioBecomingNoisyManagerandStuckPlayerDetectorpreviously used byExoPlayerinternally to allowreuse for other players
(#1893).
ForwardingPlayerlistener handling when the underlying delegateplayer uses reference equality for comparing listener instances
(#2675).
Player.listenTosuspending extension function in themedia3-common-ktxlibrary that specifies the particularPlayer.Eventsthat should be acted upon.BasePlayer.getBufferedPercentageresulting from integeroverflow when the reported buffered position is implausibly much larger
than the reported duration
(#2750).
TrackGrouptrack type by not ignoring customsample MIME type and falling back to using the potentially wrong track
type from the container MIME type
(#2860).
StuckPlayerExceptionplayer error if the player seems stuck. This happens in the following
cases, where each default timeout can be configured in
ExoPlayer.Builderif required:STATE_BUFFERINGwhile trying to play and nobuffering progress.
STATE_READYwhile trying to play and noplayback progress.
STATE_READYbeyond the declared duration withoutreaching the end of the item.
play.
background playback. This is equivalent to setting
ExoPlayer.Builder.setWakeModetoC.WAKE_MODE_LOCAL.change is reported to the
Contextoriginally passed toExoPlayer.Builder.ExoPlayer.setVirtualDeviceIdto manually update the virtual deviceID obtained from the
Contextpassed toExoPlayer.Builder.than 10 seconds before the end of the current item.
setSeekBackIncrementMs,setSeekForwardIncrementMsandsetMaxSeekToPreviousPositionMstoExoPlayerto update these settingsafter construction
(#2736).
DefaultPreloadManager. Apps now canreturn
DefaultPreloadManager.PreloadStatus.specifiedRangeCached(startPositionMs, durationMs)orDefaultPreloadManager.PreloadStatus.specifiedRangeCached(durationMs)via
TargetPreloadStatusControl.getTargetPreloadStatus(T rankingData)to indicate that a media item needs to be pre-cached.
DefaultPreloadManagerin shortformdemo app.
DefaultLoadControl.Buildersetters for local playback and adjustdefault values of
DefaultLoadControlto work well with a wide range oflocal files.
STATE_READYorSTATE_BUFFERING.addMediaItems(List<MediaItem>, List<T>)andaddMediaSources(List<MediaSource>, List<T>)that add the mediaitems or media sources in batch, and automatically call
invalidate()afterwards.removeMediaItems((List<MediaItem>)andremoveMediaSources(List<MediaSource>)that remove the media itemsor media sources in batch, and make sure that preload manager does
not start to preload or continue preloading any of them after
removal.
DefaultPreloadManager.setCurrentPlayingIndex(int)toinvalidate itself automatically. Apps don't need to call
invalidate()explicitly anymore after updating the current playingindex.
group of pictures while in scrubbing mode.
DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int)for apps to set a value of target buffer bytes for a player with the
specified
playerName. TheDefaultLoadControlcan now make decisionsof each player separately based on its own allocated bytes and target
buffer bytes.
SkipInfoto theAdPlaybackState.AdGroupto carry skipinformation for each ad in the ad group.
removeMediaItems(List)during playing apost-roll created a crash
(#2746).
always set as the last sample and rendered.
(#2382,
#2678).
DefaultPreloadManagerto avoid total buffer bytes for preloading fromgrowing arbitrarily. To use the default control logic, Apps can set the
target buffer bytes for preloading via
DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int)fora
playerNameofPlayerId.Preload.name("preload"), and inject thecreated
DefaultLoadControlviaDefaultPreloadManager.Builder.setLoadControl(LoadControl).cloneAndSet(int, int)toShuffleOrderwith a defaultimplementation (#2834).
adjustment or auto transition
(#2484).
This feature is implemented for
MediaCodecbased renderers andrequires API 29+.
ExoPlayer.setAudioCodecParameters()andExoPlayer.setVideoCodecParameters()to apply parameters.ExoPlayer.addAudioCodecParametersChangeListener()andExoPlayer.addVideoCodecParametersChangeListener()to listen forchanges. Observing vendor-specific keys requires API 31+.
IllegalStateExceptioncaused by setting an empty media sourceafter seeking to a non-zero position and then preparing the player with
a non-empty media source.
could cause
IllegalStateException.NullPointerExceptioninDefaultPlaybackSessionManager(#2885).
timeout issues with this platform API have been fixed
(#1641).
MediaCodecVideoRenderer.experimentalSetLateThresholdToDropDecoderInputUsto 15ms and enable more efficient dropping of video frames before
decoding for eligible videos.
DefaultLoadControl. This should only take effect if an excessivenumber of tracks get selected
(#2860).
mode near the end could cause a seek to the next media item.
CompositionPlayerunder a new@ExperimentalApiannotation toindicate it is available for experimentation, but is still under
development. Some APIs are likely to change significantly in future
releases, and there are known issues and limitations with some use-cases
(some undocumented).
COMMAND_SET_AUDIO_ATTRIBUTESand audio focus handlingin
CompositionPlayer.CompositionPlayer.EditedMediaItem.removeVideo.InAppMp4Muxeras default muxer.EditedMediaItem.Builder#setSpeed()and deprecateEffects#createExperimentalSpeedChangingEffects().forceAudioTrackandforceVideoTrackwithtrackTypesinEditedMediaItemSequence.TrackSelectionParameters.selectTextByDefaultto prefer theselection of any text track without specifying other more specific
preferences.
preferredVideoLabels,preferredAudioLabelsandpreferredTextLabelsinTrackSelectionParametersto specify apreference for tracks with a specific label, for example those read from
HLS NAME tags (#1666).
headers in the encoded FLAC data, resulting in decoding errors
(#558).
files (#811,
#5718).
for a sync byte
(#2713).
FLAG_ENABLE_INDEX_SEEKINGto prefer seeking informationfrom metadata headers (like Xing and VBRI) when available, falling back
to index-based seeking if no other seeking information is present. This
improves performance for files with seeking metadata
(#2839).
Mp3Extractorto default to a constant bitrate (CBR)assumption when no seeking metadata (e.g., Xing, VBRI) is found, even
when
FLAG_ENABLE_INDEX_SEEKINGis set. This is based on the MP3specification's history, where CBR was standard and VBR requires
explicit headers. This improves immediate seekability for files without
metadata at the cost of potential accuracy for VBR files lacking
headers. Index seeking is now used as a fallback if the CBR assumption
is not seekable (e.g., for streams of unknown length)
(#2848).
audio/mpeg(MP3),audio/mpeg-L1andaudio/mpeg-L2MIME types by peeking the layer value of the firstsample before emitting a track format from the extractor
(#2683).
stblbox larger than 1MB implies the file must be non-fragmented(#2650).
©mvn(movement name) and©mvi(movement index)metadata, these are now emitted as
TextInformationFrameobjects inFormat.metadatawith IDs ofMVNMandMVINrespectively(#2754).
stsdbox (instead of failing to parsethe whole file).
(#6225).
MatroskaExtractorwhere seeking could be inaccuratefor files with multiple tracks. Cue points are now correctly associated
with their respective tracks, leading to more precise seeking.
IllegalArgumentExceptionfromReorderingBufferQueuecaused by PES packets with no timestamp
(#2764).
HeifExtractorcannow parse HEIC files containing embedded video and audio tracks.
:media3-inspectormodule to serve as the dedicatedhome for media inspection utilities. This module now houses a new
androidx.media3.inspector.MetadataRetriever, which will provide aunified API for both metadata and frame extraction. The existing
androidx.media3.exoplayer.MetadataRetrieveris now deprecated in favorof this new version.
androidx.media3.inspector.FrameExtractor, a new public APIfor frame extraction. This
AutoCloseableclass provides a way toextract frames with support for HDR video, video effects, and custom
decoder selection. It should be created via its
Builderfor a specificMediaItem.getThumbnail()to extract a representativethumbnail frame from a media file without requiring a specific
timestamp.
androidx.media3.inspector.MediaExtractorCompat, a drop-inreplacement for the platform's
android.media.MediaExtractorthatprovides a way to extract raw, encoded media samples from a media file.
The existing
androidx.media3.exoplayer.MediaExtractorCompatis nowdeprecated in favor of this new class.
AudioProcessorinstances aware of seeking.AudioOutputProviderinterface intoDefaultAudioSink.Builderto support custom audio output paths. Thedefault is
AudioTrackAudioOutputProvider.GainProcessor.support assessment
(#2580).
the beginning of playback
(#2646).
([#1346](https://redir
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.