Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 9, 2025

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/checkout action major v4v6 age confidence
actions/checkout action major v5v6 age confidence
actions/setup-java action major v4v5 age confidence
gradle (source) minor 9.1.09.3.0 age confidence
peter-evans/create-pull-request action major v7v8 age confidence
stefanzweifel/git-auto-commit-action action major v5v7 age confidence
com.google.protobuf:protoc (source) dependencies minor 4.32.14.33.4 age confidence
androidx.xr.glimmer:glimmer (source) dependencies patch 1.0.0-alpha031.0.0-alpha04 age confidence
androidx.media3:media3-ui dependencies minor 1.8.01.9.0 age confidence
androidx.media3:media3-exoplayer dependencies minor 1.8.01.9.0 age confidence
androidx.media3:media3-common dependencies minor 1.8.01.9.0 age confidence
com.google.dagger.hilt.android plugin minor 2.57.22.58 age confidence
com.google.dagger:hilt-android-compiler dependencies minor 2.57.22.58 age confidence
com.google.dagger:hilt-android dependencies minor 2.57.22.58 age confidence
com.google.firebase:firebase-bom dependencies minor 34.7.034.8.0 age confidence
org.gradle.toolchains.foojay-resolver-convention plugin major 0.8.01.0.0 age confidence
androidx.appcompat:appcompat (source) dependencies patch 1.7.01.7.1 age confidence
com.android.lint (source) plugin major 8.13.29.0.0 age confidence
com.android.library (source) plugin major 8.13.29.0.0 age confidence
com.android.kotlin.multiplatform.library (source) plugin major 8.13.29.0.0 age confidence
com.android.application (source) plugin major 8.13.29.0.0 age confidence

Release Notes

actions/checkout (actions/checkout)

v6

Compare Source

v5

Compare Source

actions/setup-java (actions/setup-java)

v5

Compare Source

gradle/gradle (gradle)

v9.3.0

Compare Source

v9.2.1: 9.2.1

Compare Source

The Gradle team is excited to announce Gradle 9.2.1.

Here are the highlights of this release:

  • Windows ARM support
  • Improved publishing APIs
  • Better guidance for dependency verification failures

Read the Release Notes

We would like to thank the following community members for their contributions to this release of Gradle:
Adam,
Björn Kautler,
hasunzo,
HYEON,
Hyunjoon Park,
HYUNJUN SON,
Jendrik Johannes,
Kirill Gavrilov,
Madalin Valceleanu,
Martin Bonnin,
Matthew Haughton,
Mikhail Polivakha,
Na Minhyeok,
Philip Wedemann,
Philipp Schneider,
Róbert Papp,
Simon Marquis,
TheGoesen,
Vincent Potucek,
Xin Wang.

Upgrade instructions

Switch your build to use Gradle 9.2.1 by updating your wrapper:

./gradlew wrapper --gradle-version=9.2.1 && ./gradlew wrapper

See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.

For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.

Reporting problems

If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.

We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.

v9.2.0

Compare Source

peter-evans/create-pull-request (peter-evans/create-pull-request)

v8

Compare Source

stefanzweifel/git-auto-commit-action (stefanzweifel/git-auto-commit-action)

v7

Compare Source

Added
Changes
Dependency Updates

v6

Compare Source

Fixed
androidx/media (androidx.media3:media3-ui)

v1.9.0

Compare Source

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback
      state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve
      and consequently restore Player's volume before and after setting it to
      zero.
    • Publish utility classes WakeLockManager, WifiLockManager,
      AudioFocusManager, AudioBecomingNoisyManager and
      StuckPlayerDetector previously used by ExoPlayer internally to allow
      reuse for other players
      (#​1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate
      player uses reference equality for comparing listener instances
      (#​2675).
    • Add a Player.listenTo suspending extension function in the
      media3-common-ktx library that specifies the particular
      Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer
      overflow when the reported buffered position is implausibly much larger
      than the reported duration
      (#​2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom
      sample MIME type and falling back to using the potentially wrong track
      type from the container MIME type
      (#​2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException
      player error if the player seems stuck. This happens in the following
      cases, where each default timeout can be configured in
      ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no
        buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no
        playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without
        reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to
        play.
    • Enable wake lock handling by default to fix issues with buffering during
      background playback. This is equivalent to setting
      ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a
      change is reported to the Context originally passed to
      ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device
      ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more
      than 10 seconds before the end of the current item.
    • Add setSeekBackIncrementMs, setSeekForwardIncrementMs and
      setMaxSeekToPreviousPositionMs to ExoPlayer to update these settings
      after construction
      (#​2736).
    • Add pre-caching functionality in DefaultPreloadManager. Apps now can
      return
      DefaultPreloadManager.PreloadStatus.specifiedRangeCached(startPositionMs, durationMs) or
      DefaultPreloadManager.PreloadStatus.specifiedRangeCached(durationMs)
      via TargetPreloadStatusControl.getTargetPreloadStatus(T rankingData)
      to indicate that a media item needs to be pre-cached.
    • Use pre-caching functionality of DefaultPreloadManager in shortform
      demo app.
    • Add DefaultLoadControl.Builder setters for local playback and adjust
      default values of DefaultLoadControl to work well with a wide range of
      local files.
    • Fix bug where setting an empty playlist can leave the player in
      STATE_READY or STATE_BUFFERING.
    • Enhance the preload manager APIs:
      • Add addMediaItems(List<MediaItem>, List<T>) and
        addMediaSources(List<MediaSource>, List<T>) that add the media
        items or media sources in batch, and automatically call
        invalidate() afterwards.
      • Add removeMediaItems((List<MediaItem>) and
        removeMediaSources(List<MediaSource>) that remove the media items
        or media sources in batch, and make sure that preload manager does
        not start to preload or continue preloading any of them after
        removal.
      • Allow DefaultPreloadManager.setCurrentPlayingIndex(int) to
        invalidate itself automatically. Apps don't need to call
        invalidate() explicitly anymore after updating the current playing
        index.
    • Add capability to skip keyframe reset for forward seeks within the same
      group of pictures while in scrubbing mode.
    • Add DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int)
      for apps to set a value of target buffer bytes for a player with the
      specified playerName. The DefaultLoadControl can now make decisions
      of each player separately based on its own allocated bytes and target
      buffer bytes.
    • Add SkipInfo to the AdPlaybackState.AdGroup to carry skip
      information for each ad in the ad group.
    • Fix bug where calling removeMediaItems(List) during playing a
      post-roll created a crash
      (#​2746).
    • Fix some stuttering in playlist playback where frames were mistakenly
      always set as the last sample and rendered.
    • Enable retry path if player fails to generate audio session ID
      (#​2382,
      #​2678).
    • Add support to control the total buffer bytes for the sources in
      DefaultPreloadManager to avoid total buffer bytes for preloading from
      growing arbitrarily. To use the default control logic, Apps can set the
      target buffer bytes for preloading via
      DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for
      a playerName of PlayerId.Preload.name ("preload"), and inject the
      created DefaultLoadControl via
      DefaultPreloadManager.Builder.setLoadControl(LoadControl).
    • Add cloneAndSet(int, int) to ShuffleOrder with a default
      implementation (#​2834).
    • Append content resume offset when skipping ad playback after seek
      adjustment or auto transition
      (#​2484).
    • Add API to set and observe codec parameters for audio and video tracks.
      This feature is implemented for MediaCodec based renderers and
      requires API 29+.
      • Use ExoPlayer.setAudioCodecParameters() and
        ExoPlayer.setVideoCodecParameters() to apply parameters.
      • Use ExoPlayer.addAudioCodecParametersChangeListener() and
        ExoPlayer.addVideoCodecParametersChangeListener() to listen for
        changes. Observing vendor-specific keys requires API 31+.
    • Fix IllegalStateException caused by setting an empty media source
      after seeking to a non-zero position and then preparing the player with
      a non-empty media source.
    • Fix bug where seeking into other media items while in scrubbing mode
      could cause IllegalStateException.
    • Fix potential NullPointerException in DefaultPlaybackSessionManager
      (#​2885).
    • Enable improvements in seeking performance for eligible videos.
    • Re-enable use of asynchronous decryption in MediaCodec on API 36+ where
      timeout issues with this platform API have been fixed
      (#​1641).
    • Change the default value of
      MediaCodecVideoRenderer.experimentalSetLateThresholdToDropDecoderInputUs
      to 15ms and enable more efficient dropping of video frames before
      decoding for eligible videos.
    • Add maximum memory limit to the automatic memory calculation in
      DefaultLoadControl. This should only take effect if an excessive
      number of tracks get selected
      (#​2860).
    • Fix bug where, if playing in a playlist or repeat mode, seeking in scrub
      mode near the end could cause a seek to the next media item.
  • CompositionPlayer:
    • Publish CompositionPlayer under a new @ExperimentalApi annotation to
      indicate 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).
    • Add support for COMMAND_SET_AUDIO_ATTRIBUTES and audio focus handling
      in CompositionPlayer.
    • Add support for speed changing in secondary sequences in
      CompositionPlayer.
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • Use InAppMp4Muxer as default muxer.
    • Add EditedMediaItem.Builder#setSpeed() and deprecate
      Effects#createExperimentalSpeedChangingEffects().
    • Replace forceAudioTrack and forceVideoTrack with trackTypes in
      EditedMediaItemSequence.
  • Track Selection:
    • Add TrackSelectionParameters.selectTextByDefault to prefer the
      selection of any text track without specifying other more specific
      preferences.
    • Add preferredVideoLabels, preferredAudioLabels and
      preferredTextLabels in TrackSelectionParameters to specify a
      preference for tracks with a specific label, for example those read from
      HLS NAME tags (#​1666).
  • Extractors:
    • FLAC: Tighten header detection to reduce the chance of finding spurious
      headers in the encoded FLAC data, resulting in decoding errors
      (#​558).
    • MP3: Allow gaps between (and before) ID3 tags at the beginning of MP3
      files (#​811,
      #​5718).
    • MP3: Increase sniffing limit to 128kB to match the existing search limit
      for a sync byte
      (#​2713).
    • MP3: Change FLAG_ENABLE_INDEX_SEEKING to prefer seeking information
      from 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).
    • MP3: Change Mp3Extractor to default to a constant bitrate (CBR)
      assumption when no seeking metadata (e.g., Xing, VBRI) is found, even
      when FLAG_ENABLE_INDEX_SEEKING is set. This is based on the MP3
      specification'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).
    • MP4: Disambiguate between audio/mpeg (MP3), audio/mpeg-L1 and
      audio/mpeg-L2 MIME types by peeking the layer value of the first
      sample before emitting a track format from the extractor
      (#​2683).
    • MP4: Improve sniffing efficiency of very large files by assuming a
      stbl box larger than 1MB implies the file must be non-fragmented
      (#​2650).
    • MP4: Add support for ©mvn (movement name) and ©mvi (movement index)
      metadata, these are now emitted as TextInformationFrame objects in
      Format.metadata with IDs of MVNM and MVIN respectively
      (#​2754).
    • MP4: Ignore tracks with missing stsd box (instead of failing to parse
      the whole file).
    • Matroska: Add support for DTS-HD detection
      (#​6225).
    • Fix an issue in MatroskaExtractor where seeking could be inaccurate
      for files with multiple tracks. Cue points are now correctly associated
      with their respective tracks, leading to more precise seeking.
    • MPEG-TS: Fix IllegalArgumentException from ReorderingBufferQueue
      caused by PES packets with no timestamp
      (#​2764).
    • Add support for extracting HEIC Motion Photos. The HeifExtractor can
      now parse HEIC files containing embedded video and audio tracks.
  • Inspector:
    • Introduced a new :media3-inspector module to serve as the dedicated
      home for media inspection utilities. This module now houses a new
      androidx.media3.inspector.MetadataRetriever, which will provide a
      unified API for both metadata and frame extraction. The existing
      androidx.media3.exoplayer.MetadataRetriever is now deprecated in favor
      of this new version.
    • Introduced androidx.media3.inspector.FrameExtractor, a new public API
      for frame extraction. This AutoCloseable class provides a way to
      extract frames with support for HDR video, video effects, and custom
      decoder selection. It should be created via its Builder for a specific
      MediaItem.
    • FrameExtractor: Add getThumbnail() to extract a representative
      thumbnail frame from a media file without requiring a specific
      timestamp.
    • Add androidx.media3.inspector.MediaExtractorCompat, a drop-in
      replacement for the platform's android.media.MediaExtractor that
      provides a way to extract raw, encoded media samples from a media file.
      The existing androidx.media3.exoplayer.MediaExtractorCompat is now
      deprecated in favor of this new class.
  • Audio:
    • Make AudioProcessor instances aware of seeking.
    • Allow injecting the new AudioOutputProvider interface into
      DefaultAudioSink.Builder to support custom audio output paths. The
      default is AudioTrackAudioOutputProvider.
    • Handle seeks in GainProcessor.
    • Utilize AC-4 decoder profile and level capabilities in track format
      support assessment
      (#​2580).
    • Avoid potential delays caused by handling routing change callbacks at
      the beginning of playback
      (#​2646).
    • Allow codec reuse for EAC3, EAC3-JOC and AC-4 formats
      (#​1346).
    • Add support for float PCM samples in Sonic.
    • Add support for 16 bit PCM samples in ToFloatPcmAudioProcessor.
  • Video:
    • Disable codec reuse for Dolby-Vision content with different profiles.
    • Re-enable workaround for wrongly reported performance points for secure
      codecs (#​2856).
  • Text:
    • Fix parsing of CEA-6/708 subtitles in Dolby Vision content
      (#​2775).
  • Image:
    • Fix ScrubbingMode issue where player gets stuck while scrubbing a DASH
      thumbnail track
      (#​2815).
  • DRM:
    • Change the return type of MediaDrmCallback methods from byte[] to a
      new MediaDrmCallback.Response type, to allow returning extra optional
      information. This is a source breaking change, but breakages can be
      easily resolved by wrapping the previous byte[] return value with new Response before returning.
    • Add key request info like URL and latency to
      AnalyticsListener.onDrmKeysLoaded
      (#​1001).
    • Move provisioning request data from a URL parameter to the POST body.
  • Effect:
    • Add Presentation.copyWithUnsetSideRoundedTo to round the unset output
      side when Presentation is created with a single side length.
  • Muxers:
    • Add MediaMuxerCompat, a drop-in replacement for framework
      MediaMuxer.
    • Add MuxerUtil.createMotionPhotoFromJpegImageAndBmffVideo() to allow
      Motion Photo creation.
    • Add WebmMuxer to allow muxing of OPUS, VORBIS, VP8 and VP9
      media streams into a webm file format.
  • IMA extension:
    • Removal of custom proguard rules, so that apps can use those released in
      IMA android archive instead.
    • Add ImaServerSideAdInsertionUriBuilder.setNetworkCode, a new API for
      setting the Google Ad Manager network code for the IMA SDK to handle ads
      identifiers as specified in Google Ad Manager settings. Network codes
      are optional but recommended for Full service stream requests. To find
      the network code, see
      this article.
    • Bump IMA dependency to 3.37.0 which requires enabling core library
      desugaring. This must also be enabled by dependent apps too. See IMA's
      config notes.
    • Support IMA DAI custom UI options in SSAI URI builder. Custom UI options
      for server side ad insertion include “Skippable” and “About This Ad”
      rendering support. The feature is currently available for selected
      publishers behind an allow list. This change also upgrades the IMA SDK
      version to 3.38.0
      (release notes)
      to access the custom UI options API.
    • Fix issue where content preparation error for content after an ad would
      be wrongly reported as an ad playback error
      (#​2656).
  • Session:
    • Add new parameter to MediaSession.Callback.onPlaybackResumption to
      indicate if the call happens to gather information only or to start
      playback (#​1764).
    • Update MediaSession.ControllerInfo.isTrusted to also declare
      controllers from the own app as trusted
      (#​2542).
    • Add MediaSessionService.triggerNotificationUpdate to manually trigger
      a notification update
      (#​1833).
    • Add ProgressListener to custom command methods.
    • Change the default value for
      MediaLibrarySession.Builder.setLibraryErrorReplicationMode to non
      fatal.
    • Add a Context parameter to
      MediaButtonReceiver.onForegroundServiceStartNotAllowedException
      (#​2625).
    • Read the volume control ID from the platform PlaybackInfo instead of
      fetching it via binder. This ensures that playback type and volume
      control ID are read atomically and do match to each other.
    • Fix bug where ACTION_UP key events were filtered out before passing
      them to the callback for custom handling. This brings parity with what
      media1 did and the platform does
      (#​2637).
    • Fix bug where getCurrentTimeline() was called by PlayerWrapper even
      when the command isn't available
      (#​2665).
    • Fix bug where a message was left in the message queue of the main looper
      which caused a memory leak after the service terminated
      (#​2692).
    • When connected to a legacy session app with a MediaBrowser, custom
      commands are sent to the session only if the custom action is advertised
      as a custom action in PlaybackStateCompat of the legacy session. All
      other custom actions are sent to the service.
    • Implemented onAudioSessionIdChanged to notify media controllers when
      an audio session ID is set by the session
      (#​244).
    • Fix bug where KEYCODE_HEADSETHOOK did not start the player upon and
      media key event Intent arriving in onStartCommand(). This is fixed
      by handling 'KEYCODE_HEADSETHOOK' just like KEYCODE_MEDIA_PLAY_PAUSE
      (#​2816).
    • Fix a bug where Surface size was not communicated between the session
      and the controller, resulting in the failure to apply video effects in
      demo-session. If you are using a controller, this might be a breaking
      change if your player cannot handle a setVideoSurfaceHolder call.
    • Fix propagation of non-String CharSequence metadata values like
      span-styled strings
      (#​2853).
    • Add CommandButton.executeAction so that controllers can more easily
      trigger the intended action. Also allow to specify parameters for some
      player and session commands to define which action to trigger.
    • Add backwards-compatibility for CommandButton instances using
      Player.Command or non-custom SessionCommand to define their action.
      These are now correctly represented in platform media sessions, for
      example for System UI or Android Auto.
    • Fix issue where the same Bitmap is compressed multiple times when
      connecting a MediaController to a platform media session.
  • UI:
    • Add ProgressStateWithTickInterval class and the corresponding
      rememberProgressStateWithTickInterval Composable to
      media3-ui-compose module. This state holder is used in demo-compose
      to display the current position and duration in text form.
    • Add MuteButtonState to ui-compose that handles muting of the
      Player volume. This state holder is used in demo-compose to display
      mute/unmute toggle button.
    • Add ProgressStateWithTickCount classes and the corresponding
      rememberProgressStateWithTickCount Composable to media3-ui-compose
      module. This state holder is used in demo-compose to display progress
      as a horizontal read-only progress bar.
    • Add ContentFrame Composable to media3-ui-compose which combines
      PlayerSurface management with aspect ratio resizing and covering with
      a shutter.
    • Work around a known API 34 platform bug causing stretched/cropped videos
      when using SurfaceView inside a Compose AndroidView and hence
      affecting ContentFrame and PlayerSurface Composables with
      SURFACE_TYPE_SURFACE_VIEW
      (#​1237,
      #​2811).
    • Create a new media3-ui-compose-material3 module and add
      Material3-themed Composables (PlayPauseButton, NextButton,
      PreviousButton, SeekBackButton, SeekForwardButton, RepeatButton,
      ShuffleButton, MuteButton) to it.
    • Add TimeText composable to media3-ui-compose-material3 for
      displaying player progress in a textual form. It can be configured to
      show the current position, duration, or remaining time.
    • Add support for placing a media route button in the PlayerView.
    • Use BidiFormatter to correctly display punctuation in RTL text
      subtitles (#​11214).
  • HLS extension:
    • Parse HLS interstitial skip attributes.
    • Map skip control attributes from the HLS playlist and the asset list
      document into the AdPlaybackState for public access.
    • Fix bug where the start time of the playlist was dropped when the
      EXT-X-PROGRAM-START-DATE tag defining the start time was removed from a
      playlist (#​2760).
    • Use binary search to find the segment index of a given position in the
      playlist (#​2826).
    • Add HlsInterstitialsAdsLoader.skipCurrentAd() and
      skipCurrentAdGroup() and corresponding methods to skip ads and ad
      groups by index.
    • Add HlsInterstitialsAdsLoader.Listener.onAdStarted to report the start
      of an ad period
      (#​2859).
    • Accept space as a date/time separator in ISO 8601 date-time strings.
    • Properly handle fetching the next chunk for an HlsMediaPlaylist with
      no segments (#​2821).
    • Use the default start position for pre rolls with live streams.
  • DASH extension:
    • Fix UnsupportedOperationException when playing DASH streams with a
      non-hierarchical data: URI manifest
      (#​2688).
    • Reset LiveConfiguration to the value provided by the MediaItem of
      the DashMediaSource when released and when the media item is updated
      by the user (#​2606).
    • Avoid crashes caused by invalid manifest updates that were not reported
      as player errors
      (#​2805).
  • RTSP extension:
    • Handle error of missing RTP packets when processing fragmented NAL units
      for H264 and H265
      (#​2613).
  • Decoder extensions (FFmpeg, VP9, AV1, etc.):
    • AV1 Extension: The AV1 software decoder now uses the high-performance
      dav1d library, replacing the previous libgav1 implementation for
      improved decoding speed.
    • FFmpeg extension: Fix an issue that prevented some FLAC files from
      playing by ensuring the STREAMINFO block is correctly parsed and
      passed to the decoder
      (#​2887).
  • Cast extension:
    • Add CastPlayer.Builder, which enables CastPlayer to do both local
      and Cast playback. To keep the old CastPlayer behavior of supporting
      only Cast playback, you can use RemoteCastPlayer. The pre-existing
      CastPlayer constructors keep their old behavior, but are deprecated in
      favour of using the CastPlayer or RemoteCastPlayer builders instead.
    • Stop enforcing a non-null mime type in DefaultMediaItemConverter.
    • Use MediaItem.mediaMetadata.mediaType to infer the Cast MEDIA_TYPE to
      use in DefaultCastOptionsProvider#toMediaQueueItem, when available.
    • Enable remote to local transfers in DefaultCastOptionsProvider.
    • Add support for Cast in the Session demo.
    • Add support for displaying a media route button on a Composable UI.
    • Add support for displaying a media route button on an action bar menu.
    • Add support for displaying a media route button as a View UI.
  • Test Utilities:
    • Add maximum time diff for the auto-advancing behavior of FakeClock. It
      defaults to 1 second, but is configurable via FakeClock.Builder.
    • Add maximum time diff between messages for
      RobolectricUtil.runMainLooperUntil (and runLooperUntil). It defaults
      to 1 second, but is configurable via new overloads of these methods.
    • Move CapturingRenderersFactory from test-utils to
      test-utils-robolectric.
  • Remove deprecated symbols:
    • Remove deprecated DefaultPreloadManager constructor. Use
      DefaultPreloadManager.Builder instead.
    • Removed deprecated EditedMediaItemSequence constructors. Use
      EditedMediaItemSequence.Builder instead.
    • Remove BitmapFactoryImageDecoder.BitmapDecoder. Use
      ExternallyLoadedImageDecoder instead.
    • Remove deprecated ShadowMediaCodecConfig.forAllSupportedMimeTypes().
      Use ShadowMediaCodecConfig.withAllDefaultSupportedCodecs() instead.
    • Remove deprecated
      ShadowMediaCodecConfig.withNoDefaultSupportedMimeTypes(). Use
      ShadowMediaCodecConfig.withNoDefaultSupportedCodecs() instead.

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 is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested review from kkuan2011 and yrezgui as code owners December 9, 2025 01:00
@renovate renovate bot force-pushed the renovate/all branch 6 times, most recently from a8b57f9 to 3f24b64 Compare December 16, 2025 11:41
@renovate renovate bot force-pushed the renovate/all branch 9 times, most recently from ed7b19c to f41c22c Compare December 19, 2025 12:53
@gclapps0612-cmd
Copy link

  • P```
    []// [END android_compose_alignment_lines_example_bar_chart_min_max]`.

/.@...
.``

@gclapps0612-cmd
Copy link

{--

  • .>

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/checkout action major v4 -> v6 age confidence
actions/checkout action major v5 -> v6 age confidence
actions/setup-java action major v4 -> v5 age confidence
gradle (source) minor 9.1.0 -> 9.2.1 age confidence
peter-evans/create-pull-request action major v7 -> v8 age confidence
stefanzweifel/git-auto-commit-action action major v5 -> v7 age confidence
org.jetbrains.kotlin.android (source) plugin minor 2.2.21 -> 2.3.0 age confidence
com.google.protobuf:protoc (source) dependencies minor 4.32.1 -> 4.33.2 age confidence
androidx.webkit:webkit (source) dependencies minor 1.14.0 -> 1.15.0 age confidence
com.google.protobuf plugin patch 0.9.5 -> 0.9.6 age confidence
com.google.protobuf:protobuf-kotlin-lite (source) dependencies patch 4.33.1 -> 4.33.2 age confidence
androidx.media3:media3-ui dependencies minor 1.8.0 -> 1.9.0 age confidence
androidx.media3:media3-exoplayer dependencies minor 1.8.0 -> 1.9.0 age confidence
androidx.media3:media3-common dependencies minor 1.8.0 -> 1.9.0 age confidence
com.google.android.material:material dependencies patch 1.14.0-alpha07 -> 1.14.0-alpha08 age confidence
com.google.maps.android:maps-compose dependencies major 6.12.2 -> 7.0.0 age confidence
com.google.devtools.ksp (source) plugin patch 2.3.3 -> 2.3.4 age confidence
org.jetbrains.kotlin.plugin.serialization (source) plugin minor 2.2.21 -> 2.3.0 age confidence
org.jetbrains.kotlin.plugin.parcelize (source) plugin minor 2.2.21 -> 2.3.0 age confidence
org.jetbrains.kotlin.multiplatform (source) plugin minor 2.2.21 -> 2.3.0 age confidence
org.jetbrains.kotlin.plugin.compose (source) plugin minor 2.2.21 -> 2.3.0 age confidence
org.jetbrains.kotlin:kotlin-test (source) dependencies minor 2.2.21 -> 2.3.0 age confidence
org.jetbrains.kotlin:kotlin-stdlib (source) dependencies minor 2.2.21 -> 2.3.0 age confidence
com.google.ar:core dependencies minor 1.51.0 -> 1.52.0 age confidence
com.google.firebase:firebase-bom dependencies minor 34.6.0 -> 34.7.0 age confidence
androidx.credentials:credentials-play-services-auth (source) dependencies patch 1.6.0-beta03 -> 1.6.0-rc01 age confidence
androidx.credentials:credentials (source) dependencies patch 1.6.0-beta03 -> 1.6.0-rc01 age confidence
androidx.compose.ui:ui-test-junit4-accessibility (source) dependencies patch 1.11.0-alpha01 -> 1.11.0-alpha02 age confidence
org.gradle.toolchains.foojay-resolver-convention plugin major 0.8.0 -> 1.0.0 age confidence
androidx.compose:compose-bom dependencies patch 2025.12.00 -> 2025.12.01 age confidence
androidx.appcompat:appcompat (source) dependencies patch 1.7.0 -> 1.7.1 age confidence
androidx.activity:activity-compose (source) dependencies patch 1.12.1 -> 1.12.2 age confidence
androidx.activity:activity-ktx (source) dependencies patch 1.12.1 -> 1.12.2 age confidence

Release Notes

actions/checkout (actions/checkout)

v6

Compare Source

v5

Compare Source

actions/setup-java (actions/setup-java)

v5

Compare Source

gradle/gradle (gradle)

v9.2.1: 9.2.1

Compare Source

The Gradle team is excited to announce Gradle 9.2.1.

Here are the highlights of this release:

  • Windows ARM support
  • Improved publishing APIs
  • Better guidance for dependency verification failures

Read the Release Notes

We would like to thank the following community members for their contributions to this release of Gradle:
Adam,
Björn Kautler,
hasunzo,
HYEON,
Hyunjoon Park,
HYUNJUN SON,
Jendrik Johannes,
Kirill Gavrilov,
Madalin Valceleanu,
Martin Bonnin,
Matthew Haughton,
Mikhail Polivakha,
Na Minhyeok,
Philip Wedemann,
Philipp Schneider,
Róbert Papp,
Simon Marquis,
TheGoesen,
Vincent Potucek,
Xin Wang.

Upgrade instructions

Switch your build to use Gradle 9.2.1 by updating your wrapper:

./gradlew wrapper --gradle-version=9.2.1 && ./gradlew wrapper

See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.

For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.

Reporting problems

If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.

We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.

v9.2.0

Compare Source

peter-evans/create-pull-request (peter-evans/create-pull-request)

v8

Compare Source

stefanzweifel/git-auto-commit-action (stefanzweifel/git-auto-commit-action)

v7

Compare Source

Added
Changed
Dependency Updates

v6

Compare Source

Fixed
JetBrains/kotlin (org.jetbrains.kotlin.android)

v2.3.0: Kotlin 2.3.0

Changelog
Analysis API
  • KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
  • KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools
Analysis API. Code Compilation
  • KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
  • KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
  • KT-73201 K2 IDE: Error while evaluating expressions with local classes
Analysis API. FIR
  • KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
  • KT-80473 Add events for tracking LL activities
  • KT-46375 Analysis API: Support cross-file class redeclaration checks using indices
  • KT-80471 Analysis API: Deduplicate equivalent call candidates in resolveToCallCandidates
  • KT-79653 [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
  • KT-75858 K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
  • KT-80231 AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
  • KT-80233 Pull mutation out of AnnotationArgumentsStateKeepers
  • KT-71466 LLFirBuiltinsSessionFactory uses createCompositeSymbolProvider
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
Analysis API. Infrastructure
  • KT-80717 Support IntelliJ Bazel build in the Kotlin Coop development mode
Analysis API. Light Classes
  • KT-80656 Duplicate no-args constructor in PSI
  • KT-60490 Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
  • KT-79689 SymbolLightClassForClassLike.toString() causes PSI tree loading
  • KT-80690 Private interface functions are not present in light classes
  • KT-80256 K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"
  • KT-79012 Add a high-level overview of light classes
Analysis API. Providers and Caches
Fixes
  • KT-81476 Analysis API: AlreadyDisposedException from low-memory cache cleanup
  • KT-80911 Analysis API: Execute session invalidation in a non-cancelable section
  • KT-81242 Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
  • KT-80622 Analysis API: Visualise LL FIR session structure & weight
  • KT-80904 Analysis API: "Invalid dangling file module" exception during session invalidation
  • KT-78882 K2 AA: Calling containingSymbol on getProgressionLastElement causes exception
  • KT-58325 Analysis API: Combine LLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization)
  • KT-77825 Analysis API: CheckersComponent consumes a lot of memory while being unused in LL FIR sessions
  • KT-76526 Incorrect built-in module is provided for non-JVM sources in Standalone
  • KT-62549 Analysis API: Cache callables in combined Kotlin symbol providers
  • KT-70721 LL FIR: investigate possibility of moving LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass) to symbol providers
  • KT-72998 Analysis API: Introduce getClassLikeSymbolByPsi to LL FIR symbol providers
Analysis API. Standalone
  • KT-81108 AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirModuleData
  • KT-80573 Potential performance issue on class ID computation
  • KT-80559 Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests
  • KT-71706 Analysis API Standalone: StandaloneProjectFactory.createSearchScopeByLibraryRoots creates inefficient file-based search scopes
Analysis API. Stubs and Decompilation
Performance Improvements
  • KT-77097 Support ReplaceWith deprecation annotation argument via stubs
Fixes
  • KT-80350 Drop K1 decompiler
  • KT-77082 StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
  • KT-80798 Improve stubs tests coverage
  • KT-75318 Read context parameter fields from metadata in CallableClsStubBuilder
  • KT-77874 AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors
  • KT-80276 Implement native coping for stubs
  • KT-79780 Decompiled MultifileClass has Facade kind
  • KT-79398 isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs
  • KT-79798 Prettify stub usages in LL stub-based deserializer
  • KT-78949 AbstractLLStubBasedResolutionTest: tests against real stub-based files
  • KT-80251 Inconsistent decompiled and compiled stub for properties with an initializer and a delegate
  • KT-74547 Implement decompiler for K2
  • KT-79555 Move KotlinFileStubImpl serialization/deserialization to the Analysis API
  • KT-79487 "null DefinitelyNotNullType for 'T'" from decompiler
  • KT-60764 Stub Builder: fix differences between K1 and K2 stub building on decompiled files
  • KT-79484 An empty enum class with a member decompiles with a synthetic error
  • KT-79730 Decompiled files have an extra Kt suffix
  • KT-79483 data modifier is not present on object modifier
  • KT-75398 Local classes from scripts have ClassId in stubs
  • KT-79412 Context parameters with type annotations cause inconsistency errors while building stubs
Analysis API. Surface
New Features
  • KT-80084 Provide endpoints for Analysis API to understand when the context sensitive resolution is used
  • KT-64340 Analysis API: no way to get a type of vararg parameter
  • KT-68387 AA: provide context for type approximations
Performance Improvements
  • KT-80713 Optimize KaDeclarationSymbol#visibility for class-like symbols
  • KT-79097 KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution
  • KT-79095 isOverride shouldn't trigger resolution if not compiler plugins present
Fixes
  • KT-80234 Incorrect value of isActual for the implicitly actual constructor of annotation class
  • KT-81132 Use KaSession instead of a particular KaSessionComponent for context parameter bridges
  • KT-81129 K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations
  • KT-81128 K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations
  • KT-81127 K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions
  • KT-81126 K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors
  • KT-81125 K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors
  • KT-81124 K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class
  • KT-70127 Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from importableFqName
  • KT-81123 Reimplement KaFirSymbolInformationProvider#importableFqName
  • KT-81122 Drop KaImportOptimizer
  • KT-78093 Add bridges for context parameters
  • KT-79772 Migrate from 'validityAsserted' to 'withValidityAssertion'
  • KT-79328 K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective
  • KT-80366 IllegalStateException from KaFirStopWorldCacheCleaner
  • KT-80274 Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest
  • KT-80352 KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes)
  • KT-80178 Incorrect modality for an abstract interface function with a redundant open modifier
  • KT-79129 [Analysis API] KaFe10TypeCreator.buildClassType cannot build builtin types by class ids
  • KT-79143 AA: argumentMapping contains an expression that is not an argument
  • KT-59857 KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations
  • KT-79667 Enable resolve on java record components in standalone mode
  • KT-73050 KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbol
  • KT-78904 KaBaseWriteActionStartedChecker throws when no additional WA was done
  • KT-79281 Add KDoc to KaTypePointer#restore
  • KT-78597 KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver
  • KT-71705 FIR api impl: Postfix increment expression's expressionType is Unit when incrementing array element
  • KT-75057 Analysis API: Reference to object through typealias in invoke operator call leads to original type
Backend. Native. Debug
  • KT-79848 Flaky debugger tests in opt.debug/cache.*/GC.CMS/GC.sch.ad/alloc.custom configuration
Backend. Wasm
New Features
  • KT-59032 Support instantiation of annotation classes on WASM
Fixes
  • KT-76204 K/Wasm: support generating a wasm module per kotlin module/klib
  • KT-79357 K/Wasm: store data for string literals in utf8 for Latin1
  • KT-82075 K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26
  • KT-79244 [Wasm] Drop K1-specific tests, testrunners and test directives
  • KT-69621 K/Wasm: Consider enabling support for KClass.qualifiedName by default
  • KT-80397 K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target
  • KT-81372 K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3
  • KT-80018 K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
  • KT-66072 K/Wasm: improve how exceptions work in JS interop
  • KT-80106 devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
  • KT-80210 Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise
  • KT-80555 WASM IC: Can't link symbol on kotlinx.coroutines on fresh master
  • KT-80415 WasmJs Number Elvis Operator Crash
  • KT-76509 WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results"
  • KT-79317 [Wasm] Do not throw CCE for ExcludedFromCodegen declarations
  • KT-78036 K/Wasm: generate a message with "expected" and "actual" types in case of CCE
Compiler
New Features
  • KT-80461 K2: false positive NO_ELSE_IN_WHEN for complex sealed hierarchy
  • KT-77676 K/N: enable typechecks and the casts optimization pass in debug mode by default
  • KT-79185 Support local type aliases
  • KT-80837 Warn about extension function with a context shadowed by member
  • KT-80768 Warning on overloading by a superset of context parameters in class context
  • KT-80031 Check spotbugs's @CheckReturnValue in Kotlin's unused return value checker
  • KT-79380 Native: add performance measurement for the rest of backend phases
  • KT-79381 Native: add performance measurement of LLVM phases
  • KT-80222 Implement the prohibition of always-false is checks for definitely incompatible types
  • KT-79295 Parse and build raw FIR from new short and full forms of positional destructuring with square brackets
  • KT-74810 Support typealiased/mapped Java types in unused return value checker
  • KT-71244 Incorporate existing @CheckReturnValue annotation(s) into Kotlin's unused return value checker
  • KT-79922 Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode
  • KT-79920 Store 'Explicitly ignorable' state of function/property in the metadata
  • KT-79690 Implement a USELESS_ELVIS_LEFT_IS_NULL with elvis expression
  • KT-79296 Implement/adapt diagnostics for new destructuring
  • KT-79298 Report errors on new destructuring syntax in K1
Performance Improvements
  • KT-81617 Native: casts optimizations pass explodes on deep nested loops
  • KT-80554 Kotlin/Native: investigate performance hit from always-on llvm pass profiling
  • KT-81340 K/N: severe compilation time degradation after turning on casts optimization pass
  • KT-80370 Add NO_INLINE attribute to some of runtime functions
  • KT-80167 K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph
  • KT-79535 Revert incorrect SAM conversion enhancements brought to K2
Fixes
  • KT-79979 K2: ClassCastException when overriding extension property with delegation
  • KT-82590 ClassCastException when instantiating class with generics implemented by fun interface and lambda
  • KT-78881 K2: False positive "Assigned value is never read" in composable function
  • KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
  • KT-79547 "UnsupportedOperationException: Not supported" with inlining and value classes
  • KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
  • KT-80744 Kotlin failure on lambda with type parameter
  • KT-81618 "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1
  • KT-82869 Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads
  • KT-79611 "IllegalStateException: couldn't find inline method": Exception during incremental compilation
  • KT-78895 Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal
  • KT-82040 Native: ClassCastException: PointerInputChange
  • KT-81924 K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates"
  • KT-80864 K2: Missing Val cannot be reassigned diagnostic for Java final fields (crashes in runtime with IllegalAccessError)
  • KT-71420 Report error when reified type parameter is inferred to intersection type
  • KT-79451 Rework approach to recursive types approximation
  • KT-78413 Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging
  • KT-82138 Debugger: Cannot evaluate JvmInline value class parameter
  • KT-82381 ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log
  • KT-81068 Corrupted Unicode paths passed or used in the compiler
  • KT-79783 KDoc parser: Links aren't rendered if the line has an indent of 4 or more
  • KT-80549 Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
  • KT-82132 False-positive type mismatch with -language-version 2.2
  • KT-81988 K2: Any?.toString() causes NPE inside lambda with Java
  • KT-81652 Native: ClassCastException: ApplicationForegroundStateListener.Companion
  • KT-76479 Backend. JVM: Report errors on exposure of types in inline functions
  • KT-82022 K/N: Unexpected "Annotation @JvmInline is missing on actual declaration" warning with value classes
  • KT-80250 ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?
  • KT-76344 Drop language version 1.9 for non-JVM platforms
  • KT-76343 Drop language version 1.8
  • KT-80330 K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference
  • KT-80400 K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable
  • KT-9111 Improve diagnostic for call with access to outer class from nested class
  • KT-78280 Implement the sourceless KtDiagnostics
  • KT-74999 K2: KotlinNothingValueException within Extension Function
  • KT-81254 "AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference
  • KT-53237 NI: Frontend ignores generic bound when inferring types
  • KT-81186 Only allow local type aliases in REPL/scripts until full stabilization
  • KT-80929 IC Native: Undefined symbols on ktor
  • KT-81657 K2: put warning about "exposing package-private in internal" under experimental language feature
  • KT-81241 Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters
  • KT-74819 K2: False-positive overload resolution ambiguity for flatMap inside PCLA
  • KT-81547 Stabilize DFA-based exhaustiveness
  • KT-79274 Frontend implementation of name-based destructuring
  • KT-79506 Contract for getter and setter doesn't work if a property is called from another module
  • KT-58988 K2: Deprecate exposing package-private parameter of internal method
  • KT-80711 IC Native: NPE during link on ktor
  • KT-77727 Move some of the extra checkers to the default list
  • KT-76136 Switch latest stable version in Kotlin project to 2.3
  • KT-81257 Native: "Unexpected boolean predicate" when generating 'static_cache'
  • KT-81525 Report REDUNDANT_SPREAD_OPERATOR on (*) instead of argument expression
  • KT-81522 Fix Light Tree SPREAD_OPERATOR diagnostic positioning
  • KT-77008 K2: Incorrectly force casting to a wrong type
  • KT-78127 K2: Too precise inference for if/when with expected type in assignment
  • KT-80208 K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function
  • KT-75797 Native: find a way to handle generates C bridges in inline functions
  • KT-78819 K2: False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in KJK hierarchy
  • KT-80003 Kotlin/Native: deprecate eager GlobalData initialization
  • KT-79231 Inconsistent InnerClass entry flags for abstract inner enum
  • KT-20677 Improve diagnostic about implicit default constructor absence for expected annotation class
  • KT-81385 Missing error of nullable expression in class literal in case of reified type parameter
  • KT-81251 Smartcast doesn't work for an effectively private inline function
  • KT-81245 Automatic smart cast on properties with EBF is allowed on inlined property accessors
  • KT-81222 Custom getter is allowed on a property with redundant EBF
  • KT-80795 Wrong type cast is added for IMPLICIT_COERCION_TO_UNIT
  • KT-81141 Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts
  • KT-81383 Return type of anonymous function used as run argument is incorrectly inferred to Nothing
  • KT-80577 "Return type mismatch" for self-referential types used as generic parameters
  • KT-75215 KDoc: references from @param tag are rendered as plain text
  • KT-79887 K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method
  • KT-78125 false-negative shadowed contextual overload warning on local declarations
  • KT-81198 Move type and type parameter annotations from jvm_metadata.proto to metadata.proto
  • KT-81057 Wrong handling of boxing during redundant casts optimization
  • KT-81191 K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
  • KT-80285 IJ monorepo: broken compilation after 2.2.20-RC update
  • KT-81115 Allow converting lambda with explicit parameter when assigning to variable of an extension function type
  • KT-74588 Redundant checkNotNull intrinsics instructions for Java generic methods
  • KT-78390 Unmute FusStatisticsIT.testKotlinxPlugins() after AtomicFU updates kotlin-metadata-jvm
  • KT-79369 Forbid typealiasing for all compiler-required annotations
  • KT-69294 K2: Report CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR instead of EXPANDED_TYPE_CANNOT_BE_INHERITED after switching to LV 2.2
  • KT-81064 Wrong safe call null check handling during redundant casts optimization
  • KT-80871 StackOverflowError on AnnotationTarget.TYPE
  • KT-80908 K2: Compiling type annotation with self-annotated vararg fail with exception
  • KT-81018 ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor
  • KT-80936 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : @PublishedApi doesn't work for fun interfaces
  • KT-75748 StackOverflowError when reading array from metadata annotations
  • KT-80606 KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization
  • KT-80940 K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module
  • KT-80538 KaFirDiagnostic.EmptyRange doesn't work in most of the cases
  • KT-80524 Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib
  • KT-80597 Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1
  • KT-80849 K2: ConstValueProviderImpl doesn't distinguish files with same name and package
  • KT-80602 Exhaustiveness checker improvements for 2.3
  • KT-80735 Support || return/throw shortcut in unsed return value checker
  • KT-79651 Report a warning about an unused return value only on the function name
  • KT-80719 False positive: "Redundant visibility modifier": when overriding protected methods as "public"
  • KT-80434 K2: DSL marker doesn't work with lambda fields
  • KT-80383 Getter without a body is allowed on a property with an explicit backing field
  • KT-80446 Explicit visibility modifiers are allowed on EBF
  • KT-80378 ClassCastException on callable reference to a property with EBF
  • KT-80377 Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class
  • KT-80455 K2: StackOverflowError in when exhaustiveness checker on red code
  • KT-72862 [Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors
  • KT-20278 NO_TYPE_ARGUMENTS_ON_RHS: Confusing diagnostic for inner class of generic outer class
  • KT-80418 Property with EBF with functional type isn't resolved if its type is Any
  • KT-80469 Functional type from property is always used for explicit backing field
  • KT-80535 Missing INITIALIZER_TYPE_MISMATCH for EBF
  • KT-80445 Private visibility is possible for a property with EBF
  • KT-80164 Move name generation for unnamed context parameters to frontend
  • KT-80684 Line breaks are lost in multi-line diagnostic messages since 2.3.0
  • KT-78112 RETURN_VALUE_NOT_USED is reported for local function even if it isn't marked with annotation in CHECKER mode
  • KT-48311 Incorrect LINENUMBER after if with a suspend call
  • KT-80688 Bad SourceDebugExtension caused by enhanced coroutines debugging
  • KT-73851 Native: compilation fails with ClassCastException with genericSafeCasts=true
  • KT-77593 Add a warning when @IgnorableReturnValue is inconsistent between expect/actual functions
  • KT-79386 Confusing error message when named parameters are used for java method calls
  • KT-80600 K2: Private and final modifiers are allowed on setter of open delegated property
  • KT-77101 Invoke on callable reference is considered ignorable
  • KT-79923 Remove lookup of @IgnorableReturnValue annotation from FirReturnValueOverrideChecker
  • KT-80517 Synthetic kotlin.Any members in data classes are missing @MustUseReturnValue
  • KT-80194 VAR_TYPE_MISMATCH_ON_OVERRIDE: doesn't mention the inferred type
  • KT-80484 K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker)
  • KT-80592 UninitializedPropertyAccessException when anayzing annotations on members of anonymous classes
  • KT-80399 Anonymous Kotlin class incorrectly warns about deprecated java override despite '@Deprecated' annotation
  • KT-79610 Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors
  • KT-79951 Infinite loop in parsing incomplete full form destructuring
  • KT-79866 kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
  • KT-79777 Argument type mismatch on value of complex type with a captured raw type argument
  • [KT-78664](ht

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 is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/all branch 4 times, most recently from 20e4df6 to 30cf317 Compare January 7, 2026 17:02
@renovate renovate bot force-pushed the renovate/all branch 2 times, most recently from 8253f07 to e68b7f9 Compare January 9, 2026 13:17
@renovate renovate bot changed the title Update all dependencies fix(deps): update all dependencies Jan 9, 2026
@renovate renovate bot force-pushed the renovate/all branch 4 times, most recently from 808a6d0 to fc72b3a Compare January 13, 2026 23:01
@renovate renovate bot force-pushed the renovate/all branch 8 times, most recently from e2b33a9 to 0e1d594 Compare January 16, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant