Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump the gradle-dependencies group across 1 directory with 29 updates #68

Closed

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 3, 2024

Bumps the gradle-dependencies group with 29 updates in the / directory:

Package From To
androidx.annotation:annotation 1.8.2 1.9.1
androidx.core:core-ktx 1.13.1 1.15.0
androidx.compose:compose-bom 2024.09.02 2024.11.00
androidx.compose.material3:material3 1.3.0 1.3.1
androidx.activity:activity-compose 1.9.2 1.9.3
com.airbnb.android:lottie-compose 6.5.2 6.6.0
androidx.media3:media3-exoplayer 1.4.1 1.5.0
androidx.media3:media3-exoplayer-workmanager 1.4.1 1.5.0
androidx.media3:media3-session 1.4.1 1.5.0
androidx.work:work-runtime 2.9.1 2.10.0
androidx.work:work-runtime-ktx 2.9.1 2.10.0
io.ktor:ktor-http 2.3.12 3.0.2
io.ktor:ktor-client-core 2.3.12 3.0.2
io.ktor:ktor-client-cio 2.3.12 3.0.2
io.ktor:ktor-client-okhttp 2.3.12 3.0.2
io.ktor:ktor-client-content-negotiation 2.3.12 3.0.2
io.ktor:ktor-client-encoding 2.3.12 3.0.2
io.ktor:ktor-client-serialization 2.3.12 3.0.2
io.ktor:ktor-serialization-kotlinx-json 2.3.12 3.0.2
com.android.tools:desugar_jdk_libs 2.1.2 2.1.3
io.nlopez.compose.rules:detekt 0.4.12 0.4.19
com.android.application 8.6.1 8.7.3
com.android.lint 8.6.1 8.7.3
org.jetbrains.kotlin.jvm 2.0.20 2.1.0
org.jetbrains.kotlin.android 2.0.20 2.1.0
org.jetbrains.kotlin.plugin.serialization 2.0.20 2.1.0
org.jetbrains.kotlin.plugin.compose 2.0.20 2.1.0
com.google.devtools.ksp 2.0.20-1.0.25 2.1.0-1.0.29
org.jlleitschuh.gradle.ktlint 12.1.1 12.1.2

Updates androidx.annotation:annotation from 1.8.2 to 1.9.1

Updates androidx.core:core-ktx from 1.13.1 to 1.15.0

Updates androidx.compose:compose-bom from 2024.09.02 to 2024.11.00

Updates androidx.compose.material3:material3 from 1.3.0 to 1.3.1

Updates androidx.activity:activity-compose from 1.9.2 to 1.9.3

Updates com.airbnb.android:lottie-compose from 6.5.2 to 6.6.0

Release notes

Sourced from com.airbnb.android:lottie-compose's releases.

6.6.0

New Features

  • Overhauled drop shadow support for even better correctness (#2548)
    • Major thanks to David Davidović (who works at Lottielab) for his contributions here.
    • Adds a new API: applyShadowsToLayers which will apply shadows to a whole layer rather than an individual shape.
    • Use RenderNodes on APIs that support it.
    • Lays a foundation that can potentially add RenderNode support to existing mattes and masks.
    • Fixed a number of existing correctness issues
  • Add an overload to LottieCompositionFactory.clearCache that clears the network cache (#2559)

Bugs Fixed

  • Fix rounded corners when the underlying shape doesn't animate (#2567)
  • Fix animation update listener order to be called after the internal frame has updated (#2497)
  • Unify all parsing to more reliably handle all file types including dotLottie as ZIP files (#2558)
  • Fix keypath resolving for matte layers (#2544)
  • Apply translate before scale in LottieDrawable (#2565)
Changelog

Sourced from com.airbnb.android:lottie-compose's changelog.

6.6.0

New Features

  • Overhauled drop shadow support for even better correctness (#2548)
    • Major thanks to David Davidović (who works at Lottielab) for his contributions here.
    • Adds a new API: applyShadowsToLayers which will apply shadows to a whole layer rather than an individual shape.
    • Use RenderNodes on APIs that support it.
    • Lays a foundation that can potentially add RenderNode support to existing mattes and masks.
    • Fixed a number of existing correctness issues
  • Add an overload to LottieCompositionFactory.clearCache that clears the network cache (#2559)

Bugs Fixed

  • Fix rounded corners when the underlying shape doesn't animate (#2567)
  • Fix animation update listener order to be called after the internal frame has updated (#2497)
  • Unify all parsing to more reliably handle all file types including dotLottie as ZIP files (#2558)
  • Fix keypath resolving for matte layers (#2544)
  • Apply translate before scale in LottieDrawable (#2565)
Commits

Updates androidx.media3:media3-exoplayer from 1.4.1 to 1.5.0

Release notes

Sourced from androidx.media3:media3-exoplayer's releases.

1.5.0

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to Context.getSystemService(Context.AUDIO_SERVICE) until audio focus handling is enabled. This ensures the blocking call isn't done if audio focus handling is not enabled (#1616).
    • Allow playback regardless of buffered duration when loading fails (#1571).
    • Add AnalyticsListener.onRendererReadyChanged() to signal when individual renderers allow playback to be ready.
    • Fix MediaCodec.CryptoException sometimes being reported as an "unexpected runtime error" when MediaCodec is operated in asynchronous mode (default behaviour on API 31+).
    • Pass bufferedDurationUs instead of bufferedPositionUs with PreloadMediaSource.PreloadControl.onContinueLoadingRequested(). Also changes DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MS to DefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS, apps then need to pass a value representing a specific duration from the default start position for which the corresponding media source has to be preloaded with this IntDef, instead of a position.
    • Add ForwardingRenderer implementation that forwards all method calls to another renderer (1703).
    • Add playlist preloading for the next item in the playlist. Apps can enable preloading by calling ExoPlayer.setPreloadConfiguration(PreloadConfiguration) accordingly. By default preloading is disabled. When opted-in and to not interfere with playback, DefaultLoadControl restricts preloading to start and continue only when the player is not loading for playback. Apps can change this behaviour by implementing LoadControl.shouldContinuePreloading() accordingly (like when overriding this method in DefaultLoadControl). The default implementation of LoadControl disables preloading in case an app is using a custom implementation of LoadControl.
    • Add method MediaSourceEventListener.EventDispatcher.dispatchEvent() to allow invoking events of subclass listeners (1736).
    • Add DefaultPreloadManager.Builder that builds the DefaultPreloadManager and ExoPlayer instances with consistently shared configurations.
    • Remove Renderer[] parameter from LoadControl.onTracksSelected() as DefaultLoadControl implementation can retrieve the stream types from ExoTrackSelection[].
    • Deprecated DefaultLoadControl.calculateTargetBufferBytes(Renderer[], ExoTrackSelection[]) and marked method as final to prevent overrides. The new DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[]) should be used instead.
    • Report MediaSourceEventListener events from secondary sources in MergingMediaSource. This will result in load start/error/cancelled/completed events being reported for sideloaded subtitles (those added with MediaItem.LocalConfiguration.subtitleConfigurations), which may appear as duplicate load events emitted from AnalyticsListener.
    • Prevent subtitle & metadata errors from completely stopping playback. Instead the problematic track is disabled and playback of the remaining tracks continues (#1722).
      • In new subtitle handling (during extraction), associated parse (e.g. invalid subtitle data) and load errors (e.g. HTTP 404) are emitted via onLoadError callbacks.
      • In legacy subtitle handling (during rendering), only associated load errors are emitted via onLoadError callbacks while parse errors are silently ignored (this is pre-existing behaviour).
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Add a setter to SntpClient to set the max elapsed time since the last update after which the client is re-initialized (#1794).
  • Transformer:
    • Add SurfaceAssetLoader, which supports queueing video data to Transformer via a Surface.
    • ImageAssetLoader reports unsupported input via AssetLoader.onError instead of throwing an IllegalStateException.
    • Make setting the image duration using MediaItem.Builder.setImageDurationMs mandatory for image export.
    • Add export support for gaps in sequences of audio EditedMediaItems.
  • Track Selection:
    • DefaultTrackSelector: Prefer object-based audio over channel-based audio when other factors are equal.
  • Extractors:
    • Allow Mp4Extractor and FragmentedMp4Extractor to identify H264 samples that are not used as reference by subsequent samples.
    • Add option to enable index-based seeking in AmrExtractor.
    • Treat MP3 files with more than 128kB between valid frames as truncated (instead of invalid). This means files with non-MP3 data at the end, with no other metadata to indicate the length of the MP3 bytes, now stop playback at the end of the MP3 data instead of failing with ParserException: Searched too many bytes.{contentIsMalformed=true, dataType=1} (#1563).
    • Fix preroll sample handling for non-keyframe media start positions when processing edit lists in MP4 files (#1659).
    • Improved frame rate calculation by using media duration from the mdhd box in Mp4Extractor and FragmentedMp4Extractor (#1531).
    • Fix incorrect scaling of media_time in MP4 edit lists. While segment_duration was already correctly scaled using the movie timescale, media_time is now properly scaled using the track timescale, as specified by the MP4 format standard (#1792).
    • Handle out-of-order frames in endIndices calculation for MP4 with edit list (#1797).

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer's changelog.

1.5.0 (2024-11-27)

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to

... (truncated)

Commits
  • cc8439d Bump Media3 version to 1.5.0
  • 46a5f0f Merge release notes for media3 1.5.0 stable release
  • f63069e Move misplaced release note to Unreleased changes section
  • 8bab423 Bump media3 version to 1.5.0-rc02
  • 737fdd8 Deflake the DefaultPreloadManagerTest
  • fd02ee1 Release notes for 1.5.0-rc01
  • ef90f50 Don't assume MP4 keyframe metadata is correct for CEA re-ordering
  • 47f3aab Merge pull request #1265 from DolbyLaboratories:dlb/ac4-level4/dev_new2
  • 57d0721 Resolve the memory leaks in demo short-form app
  • a46716c Handle C.TIME_END_OF_SOURCE buffer timestamps in CeaDecoder
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-workmanager from 1.4.1 to 1.5.0

Release notes

Sourced from androidx.media3:media3-exoplayer-workmanager's releases.

1.5.0

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to Context.getSystemService(Context.AUDIO_SERVICE) until audio focus handling is enabled. This ensures the blocking call isn't done if audio focus handling is not enabled (#1616).
    • Allow playback regardless of buffered duration when loading fails (#1571).
    • Add AnalyticsListener.onRendererReadyChanged() to signal when individual renderers allow playback to be ready.
    • Fix MediaCodec.CryptoException sometimes being reported as an "unexpected runtime error" when MediaCodec is operated in asynchronous mode (default behaviour on API 31+).
    • Pass bufferedDurationUs instead of bufferedPositionUs with PreloadMediaSource.PreloadControl.onContinueLoadingRequested(). Also changes DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MS to DefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS, apps then need to pass a value representing a specific duration from the default start position for which the corresponding media source has to be preloaded with this IntDef, instead of a position.
    • Add ForwardingRenderer implementation that forwards all method calls to another renderer (1703).
    • Add playlist preloading for the next item in the playlist. Apps can enable preloading by calling ExoPlayer.setPreloadConfiguration(PreloadConfiguration) accordingly. By default preloading is disabled. When opted-in and to not interfere with playback, DefaultLoadControl restricts preloading to start and continue only when the player is not loading for playback. Apps can change this behaviour by implementing LoadControl.shouldContinuePreloading() accordingly (like when overriding this method in DefaultLoadControl). The default implementation of LoadControl disables preloading in case an app is using a custom implementation of LoadControl.
    • Add method MediaSourceEventListener.EventDispatcher.dispatchEvent() to allow invoking events of subclass listeners (1736).
    • Add DefaultPreloadManager.Builder that builds the DefaultPreloadManager and ExoPlayer instances with consistently shared configurations.
    • Remove Renderer[] parameter from LoadControl.onTracksSelected() as DefaultLoadControl implementation can retrieve the stream types from ExoTrackSelection[].
    • Deprecated DefaultLoadControl.calculateTargetBufferBytes(Renderer[], ExoTrackSelection[]) and marked method as final to prevent overrides. The new DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[]) should be used instead.
    • Report MediaSourceEventListener events from secondary sources in MergingMediaSource. This will result in load start/error/cancelled/completed events being reported for sideloaded subtitles (those added with MediaItem.LocalConfiguration.subtitleConfigurations), which may appear as duplicate load events emitted from AnalyticsListener.
    • Prevent subtitle & metadata errors from completely stopping playback. Instead the problematic track is disabled and playback of the remaining tracks continues (#1722).
      • In new subtitle handling (during extraction), associated parse (e.g. invalid subtitle data) and load errors (e.g. HTTP 404) are emitted via onLoadError callbacks.
      • In legacy subtitle handling (during rendering), only associated load errors are emitted via onLoadError callbacks while parse errors are silently ignored (this is pre-existing behaviour).
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Add a setter to SntpClient to set the max elapsed time since the last update after which the client is re-initialized (#1794).
  • Transformer:
    • Add SurfaceAssetLoader, which supports queueing video data to Transformer via a Surface.
    • ImageAssetLoader reports unsupported input via AssetLoader.onError instead of throwing an IllegalStateException.
    • Make setting the image duration using MediaItem.Builder.setImageDurationMs mandatory for image export.
    • Add export support for gaps in sequences of audio EditedMediaItems.
  • Track Selection:
    • DefaultTrackSelector: Prefer object-based audio over channel-based audio when other factors are equal.
  • Extractors:
    • Allow Mp4Extractor and FragmentedMp4Extractor to identify H264 samples that are not used as reference by subsequent samples.
    • Add option to enable index-based seeking in AmrExtractor.
    • Treat MP3 files with more than 128kB between valid frames as truncated (instead of invalid). This means files with non-MP3 data at the end, with no other metadata to indicate the length of the MP3 bytes, now stop playback at the end of the MP3 data instead of failing with ParserException: Searched too many bytes.{contentIsMalformed=true, dataType=1} (#1563).
    • Fix preroll sample handling for non-keyframe media start positions when processing edit lists in MP4 files (#1659).
    • Improved frame rate calculation by using media duration from the mdhd box in Mp4Extractor and FragmentedMp4Extractor (#1531).
    • Fix incorrect scaling of media_time in MP4 edit lists. While segment_duration was already correctly scaled using the movie timescale, media_time is now properly scaled using the track timescale, as specified by the MP4 format standard (#1792).
    • Handle out-of-order frames in endIndices calculation for MP4 with edit list (#1797).

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer-workmanager's changelog.

1.5.0 (2024-11-27)

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to

... (truncated)

Commits
  • cc8439d Bump Media3 version to 1.5.0
  • 46a5f0f Merge release notes for media3 1.5.0 stable release
  • f63069e Move misplaced release note to Unreleased changes section
  • 8bab423 Bump media3 version to 1.5.0-rc02
  • 737fdd8 Deflake the DefaultPreloadManagerTest
  • fd02ee1 Release notes for 1.5.0-rc01
  • ef90f50 Don't assume MP4 keyframe metadata is correct for CEA re-ordering
  • 47f3aab Merge pull request #1265 from DolbyLaboratories:dlb/ac4-level4/dev_new2
  • 57d0721 Resolve the memory leaks in demo short-form app
  • a46716c Handle C.TIME_END_OF_SOURCE buffer timestamps in CeaDecoder
  • Additional commits viewable in compare view

Updates androidx.media3:media3-session from 1.4.1 to 1.5.0

Release notes

Sourced from androidx.media3:media3-session's releases.

1.5.0

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to Context.getSystemService(Context.AUDIO_SERVICE) until audio focus handling is enabled. This ensures the blocking call isn't done if audio focus handling is not enabled (#1616).
    • Allow playback regardless of buffered duration when loading fails (#1571).
    • Add AnalyticsListener.onRendererReadyChanged() to signal when individual renderers allow playback to be ready.
    • Fix MediaCodec.CryptoException sometimes being reported as an "unexpected runtime error" when MediaCodec is operated in asynchronous mode (default behaviour on API 31+).
    • Pass bufferedDurationUs instead of bufferedPositionUs with PreloadMediaSource.PreloadControl.onContinueLoadingRequested(). Also changes DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MS to DefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS, apps then need to pass a value representing a specific duration from the default start position for which the corresponding media source has to be preloaded with this IntDef, instead of a position.
    • Add ForwardingRenderer implementation that forwards all method calls to another renderer (1703).
    • Add playlist preloading for the next item in the playlist. Apps can enable preloading by calling ExoPlayer.setPreloadConfiguration(PreloadConfiguration) accordingly. By default preloading is disabled. When opted-in and to not interfere with playback, DefaultLoadControl restricts preloading to start and continue only when the player is not loading for playback. Apps can change this behaviour by implementing LoadControl.shouldContinuePreloading() accordingly (like when overriding this method in DefaultLoadControl). The default implementation of LoadControl disables preloading in case an app is using a custom implementation of LoadControl.
    • Add method MediaSourceEventListener.EventDispatcher.dispatchEvent() to allow invoking events of subclass listeners (1736).
    • Add DefaultPreloadManager.Builder that builds the DefaultPreloadManager and ExoPlayer instances with consistently shared configurations.
    • Remove Renderer[] parameter from LoadControl.onTracksSelected() as DefaultLoadControl implementation can retrieve the stream types from ExoTrackSelection[].
    • Deprecated DefaultLoadControl.calculateTargetBufferBytes(Renderer[], ExoTrackSelection[]) and marked method as final to prevent overrides. The new DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[]) should be used instead.
    • Report MediaSourceEventListener events from secondary sources in MergingMediaSource. This will result in load start/error/cancelled/completed events being reported for sideloaded subtitles (those added with MediaItem.LocalConfiguration.subtitleConfigurations), which may appear as duplicate load events emitted from AnalyticsListener.
    • Prevent subtitle & metadata errors from completely stopping playback. Instead the problematic track is disabled and playback of the remaining tracks continues (#1722).
      • In new subtitle handling (during extraction), associated parse (e.g. invalid subtitle data) and load errors (e.g. HTTP 404) are emitted via onLoadError callbacks.
      • In legacy subtitle handling (during rendering), only associated load errors are emitted via onLoadError callbacks while parse errors are silently ignored (this is pre-existing behaviour).
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Add a setter to SntpClient to set the max elapsed time since the last update after which the client is re-initialized (#1794).
  • Transformer:
    • Add SurfaceAssetLoader, which supports queueing video data to Transformer via a Surface.
    • ImageAssetLoader reports unsupported input via AssetLoader.onError instead of throwing an IllegalStateException.
    • Make setting the image duration using MediaItem.Builder.setImageDurationMs mandatory for image export.
    • Add export support for gaps in sequences of audio EditedMediaItems.
  • Track Selection:
    • DefaultTrackSelector: Prefer object-based audio over channel-based audio when other factors are equal.
  • Extractors:
    • Allow Mp4Extractor and FragmentedMp4Extractor to identify H264 samples that are not used as reference by subsequent samples.
    • Add option to enable index-based seeking in AmrExtractor.
    • Treat MP3 files with more than 128kB between valid frames as truncated (instead of invalid). This means files with non-MP3 data at the end, with no other metadata to indicate the length of the MP3 bytes, now stop playback at the end of the MP3 data instead of failing with ParserException: Searched too many bytes.{contentIsMalformed=true, dataType=1} (#1563).
    • Fix preroll sample handling for non-keyframe media start positions when processing edit lists in MP4 files (#1659).
    • Improved frame rate calculation by using media duration from the mdhd box in Mp4Extractor and FragmentedMp4Extractor (#1531).
    • Fix incorrect scaling of media_time in MP4 edit lists. While segment_duration was already correctly scaled using the movie timescale, media_time is now properly scaled using the track timescale, as specified by the MP4 format standard (#1792).
    • Handle out-of-order frames in endIndices calculation for MP4 with edit list (#1797).

... (truncated)

Changelog

Sourced from androidx.media3:media3-session's changelog.

1.5.0 (2024-11-27)

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to

... (truncated)

Commits
  • cc8439d Bump Media3 version to 1.5.0
  • 46a5f0f Merge release notes for media3 1.5.0 stable release
  • f63069e Move misplaced release note to Unreleased changes section
  • 8bab423 Bump media3 version to 1.5.0-rc02
  • 737fdd8 Deflake the DefaultPreloadManagerTest
  • fd02ee1 Release notes for 1.5.0-rc01
  • ef90f50 Don't assume MP4 keyframe metadata is correct for CEA re-ordering
  • 47f3aab Merge pull request #1265 from DolbyLaboratories:dlb/ac4-level4/dev_new2
  • 57d0721 Resolve the memory leaks in demo short-form app
  • a46716c Handle C.TIME_END_OF_SOURCE buffer timestamps in CeaDecoder
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-workmanager from 1.4.1 to 1.5.0

Release notes

Sourced from androidx.media3:media3-exoplayer-workmanager's releases.

1.5.0

This release includes the following changes since the 1.4.1 release:

  • Common Library:
    • Add ForwardingSimpleBasePlayer that allows forwarding to another player with small adjustments while ensuring full consistency and listener handling (#1183).
    • Replace SimpleBasePlayer.State.playlist by getPlaylist() method.
    • Add override for SimpleBasePlayer.State.Builder.setPlaylist() to directly specify a Timeline and current Tracks and Metadata instead of building a playlist structure.
    • Increase minSdk to 21 (Android Lollipop). This is aligned with all other AndroidX libraries.
    • Add androidx.media3:media3-common-ktx artifact which provides Kotlin-specific functionality built on top of the Common library
    • Add Player.listen suspending extension function to spin a coroutine to listen to Player.Events to the media3-common-ktx library.
    • Remove @DoNotInline annotations from manually out-of-lined inner classes designed to avoid runtime class verification failures. Recent versions of R8 now automatically out-of-line calls like these to avoid the runtime failures (so the manual out-of-lining is no longer required). All Gradle users of the library must already be a using a version of the Android Gradle Plugin that uses a version of R8 which does this, due to compileSdk = 35. Users of the library with non-Gradle build systems will need to ensure their R8-equivalent shrinking/obfuscating step does a similar automatic out-of-lining process in order to avoid runtime class verification failures. This change has already been done in other AndroidX libraries.
  • ExoPlayer:
    • MediaCodecRenderer.onProcessedStreamChange() can now be called for every media item. Previously it was not called for the first one. Use MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart() to enable this.
    • Add PreloadMediaSource.PreloadControl.onPreloadError to allow PreloadMediaSource.PreloadControl implementations to take actions when error occurs.
    • Add BasePreloadManager.Listener to propagate preload events to apps.
    • Allow changing SNTP client timeout and retry alternative addresses on timeout (#1540).
    • Remove MediaCodecAdapter.Configuration.flags as the field was always zero.
    • Allow the user to select the built-in speaker for playback on Wear OS API 35+ (where the device advertises support for this).
    • Defer the blocking call to Context.getSystemService(Context.AUDIO_SERVICE) until audio focus handling is enabled. This ensures the blocking call isn't done if audio focus handling is not enabled (#1616).
    • Allow playback regardless of buffered duration when loading fails (#1571).
    • Add AnalyticsListener.onRendererReadyChanged() to signal when individual renderers allow playback to be ready.
    • Fix MediaCodec.CryptoException sometimes being reported as an "unexpected runtime error" when MediaCodec is operated in asynchronous mode (default behaviour on API 31+).
    • Pass bufferedDurationUs instead of bufferedPositionUs with PreloadMediaSource.PreloadControl.onContinueLoadingRequested(). Also changes DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MS to DefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS, apps then need to pass a value representing a specific duration from the default start position for which the corresponding media source has to be preloaded with this IntDef, instead of a position.
    • Add ForwardingRenderer implementation that forwards all method calls to another renderer (1703).
    • Add playlist preloading for the next item in the playlist. Apps can enable preloading by calling ExoPlayer.setPreloadConfiguration(PreloadConfiguration) accordingly. By default preloading is disabled. When opted-in and to not interfere with playback, DefaultLoadControl restricts preloading to start and continue only when the player is not loading for playback. Apps can change this behaviour by implementing LoadControl.shouldContinuePreloading() accordingly (like when overriding this method in DefaultLoadControl). The default implementation of LoadControl disables preloading in case an app is using a custom implementation of LoadControl.
    • Add method MediaSourceEventListener.EventDispatcher.dispatchEvent() to allow invoking events of subclass listeners (1736).
    • Add DefaultPreloadManager.Builder that builds the DefaultPreloadManager and ExoPlayer instances with consistently shared configurations.
    • Remove Renderer[] parameter from LoadControl.onTracksSelected() as DefaultLoadControl implementation can retrieve the stream types from ExoTrackSelection[].
    • Deprecated DefaultLoadControl.calculateTargetBufferBytes(Renderer[], ExoTrackSelection[]) and marked method as final to prevent overrides. The new DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[]) should be used instead.
    • Report MediaSourceEventListener events from secondary sources in MergingMediaSource. This will result in load start/error/cancelled/completed events being reported for sideloaded subtitles (those added with MediaItem.LocalConfiguration.subtitleConfigurations), which may appear as duplicate load events emitted from AnalyticsListener.
    • Prevent subtitle & metadata errors from completely stopping playback. Instead the problematic track is disabled and playback of the remaining tracks continues (#1722).
      • In new subtitle handling (during extraction), associated parse (e.g. invalid subtitle data) and load errors (e.g. HTTP 404) are emitted via onLoadError callbacks.
      • In legacy subtitle handling (during rendering), only asso...

        Description has been truncated

Bumps the gradle-dependencies group with 29 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| androidx.annotation:annotation | `1.8.2` | `1.9.1` |
| androidx.core:core-ktx | `1.13.1` | `1.15.0` |
| androidx.compose:compose-bom | `2024.09.02` | `2024.11.00` |
| androidx.compose.material3:material3 | `1.3.0` | `1.3.1` |
| androidx.activity:activity-compose | `1.9.2` | `1.9.3` |
| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.5.2` | `6.6.0` |
| [androidx.media3:media3-exoplayer](https://github.com/androidx/media) | `1.4.1` | `1.5.0` |
| [androidx.media3:media3-exoplayer-workmanager](https://github.com/androidx/media) | `1.4.1` | `1.5.0` |
| [androidx.media3:media3-session](https://github.com/androidx/media) | `1.4.1` | `1.5.0` |
| androidx.work:work-runtime | `2.9.1` | `2.10.0` |
| androidx.work:work-runtime-ktx | `2.9.1` | `2.10.0` |
| [io.ktor:ktor-http](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.0.2` |
| [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) | `2.1.2` | `2.1.3` |
| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.12` | `0.4.19` |
| com.android.application | `8.6.1` | `8.7.3` |
| com.android.lint | `8.6.1` | `8.7.3` |
| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.1.0` |
| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.1.0` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.20-1.0.25` | `2.1.0-1.0.29` |
| org.jlleitschuh.gradle.ktlint | `12.1.1` | `12.1.2` |



Updates `androidx.annotation:annotation` from 1.8.2 to 1.9.1

Updates `androidx.core:core-ktx` from 1.13.1 to 1.15.0

Updates `androidx.compose:compose-bom` from 2024.09.02 to 2024.11.00

Updates `androidx.compose.material3:material3` from 1.3.0 to 1.3.1

Updates `androidx.activity:activity-compose` from 1.9.2 to 1.9.3

Updates `com.airbnb.android:lottie-compose` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/airbnb/lottie-android/releases)
- [Changelog](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG.md)
- [Commits](airbnb/lottie-android@v6.5.2...v6.6.0)

Updates `androidx.media3:media3-exoplayer` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.5.0)

Updates `androidx.media3:media3-exoplayer-workmanager` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.5.0)

Updates `androidx.media3:media3-session` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.5.0)

Updates `androidx.media3:media3-exoplayer-workmanager` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.5.0)

Updates `androidx.media3:media3-session` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.5.0)

Updates `androidx.work:work-runtime` from 2.9.1 to 2.10.0

Updates `androidx.work:work-runtime-ktx` from 2.9.1 to 2.10.0

Updates `androidx.work:work-runtime-ktx` from 2.9.1 to 2.10.0

Updates `io.ktor:ktor-http` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-core` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-cio` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-okhttp` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-content-negotiation` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-encoding` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-serialization` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-serialization-kotlinx-json` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-core` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-cio` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-okhttp` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-content-negotiation` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-encoding` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-client-serialization` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `io.ktor:ktor-serialization-kotlinx-json` from 2.3.12 to 3.0.2
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

Updates `com.android.tools:desugar_jdk_libs` from 2.1.2 to 2.1.3
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

Updates `io.nlopez.compose.rules:detekt` from 0.4.12 to 0.4.19
- [Release notes](https://github.com/mrmans0n/compose-rules/releases)
- [Commits](mrmans0n/compose-rules@v0.4.12...v0.4.19)

Updates `com.android.application` from 8.6.1 to 8.7.3

Updates `com.android.lint` from 8.6.1 to 8.7.3

Updates `com.android.lint` from 8.6.1 to 8.7.3

Updates `org.jetbrains.kotlin.jvm` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `org.jetbrains.kotlin.android` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `org.jetbrains.kotlin.android` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

Updates `com.google.devtools.ksp` from 2.0.20-1.0.25 to 2.1.0-1.0.29
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.0.20-1.0.25...2.1.0-1.0.29)

Updates `org.jlleitschuh.gradle.ktlint` from 12.1.1 to 12.1.2

Updates `org.jetbrains.kotlin.plugin.compose` from 2.0.20 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.1.0)

---
updated-dependencies:
- dependency-name: androidx.annotation:annotation
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.core:core-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.compose:compose-bom
  dependency-type: direct:production
  dependency-group: gradle-dependencies
- dependency-name: androidx.compose.material3:material3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: androidx.activity:activity-compose
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.airbnb.android:lottie-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.media3:media3-exoplayer
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.media3:media3-exoplayer-workmanager
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.media3:media3-session
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.media3:media3-exoplayer-workmanager
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.media3:media3-session
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.work:work-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.work:work-runtime-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: androidx.work:work-runtime-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-http
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-cio
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-encoding
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-serialization
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-cio
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-encoding
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-client-serialization
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-dependencies
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: io.nlopez.compose.rules:detekt
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.jvm
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.google.devtools.ksp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jlleitschuh.gradle.ktlint
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Dec 3, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 4, 2024

Superseded by #69.

@dependabot dependabot bot closed this Dec 4, 2024
@dependabot dependabot bot deleted the dependabot/gradle/gradle-dependencies-7932fbb0de branch December 4, 2024 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants