Skip to content

Update all dependencies#1345

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/all
Open

Update all dependencies#1345
renovate[bot] wants to merge 1 commit intomainfrom
renovate/all

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Nov 20, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/cache action major v4v5 age confidence
actions/checkout action major v5v6 age confidence
actions/upload-artifact action major v5v7 age confidence
gradle (source) minor 9.2.19.4.1 age confidence
gradle/actions action major v5v6 age confidence
com.diffplug.spotless plugin minor 8.0.08.4.0 age confidence
androidx.wear:wear-remote-interactions (source) dependencies minor 1.1.01.2.0 age confidence
com.google.android.wearable.watchface.validator:validator-push dependencies patch 1.0.0-alpha081.0.0-alpha09 age confidence
com.android.tools.build:gradle-api (source) dependencies minor 9.0.09.1.1 age confidence
androidx.wear:wear (source) dependencies minor 1.3.01.4.0 age confidence
androidx.core:core-ktx (source) dependencies minor 1.17.01.18.0 age confidence
androidx.wear.compose:compose-material3 (source) dependencies minor 1.5.51.6.1 age confidence
androidx.compose.ui:ui-test-junit4 (source) dependencies minor 1.9.41.10.6 age confidence
androidx.compose.ui:ui-test-manifest (source) dependencies minor 1.9.41.10.6 age confidence
io.github.takahirom.roborazzi plugin minor 1.51.01.59.0 age confidence
io.github.takahirom.roborazzi:roborazzi-junit-rule dependencies minor 1.51.01.59.0 age confidence
io.github.takahirom.roborazzi:roborazzi-compose dependencies minor 1.51.01.59.0 age confidence
io.github.takahirom.roborazzi:roborazzi dependencies minor 1.51.01.59.0 age confidence
org.robolectric:robolectric (source) dependencies patch 4.164.16.1 age confidence
androidx.datastore:datastore-preferences (source) dependencies minor 1.1.71.2.1 age confidence
androidx.wear.compose:compose-ui-tooling (source) dependencies minor 1.5.51.6.1 age confidence
androidx.wear.watchfacepush:watchfacepush (source) dependencies patch 1.0.0-beta011.0.0 age confidence
androidx.compose.ui:ui-tooling-preview (source) dependencies minor 1.9.41.10.6 age confidence
androidx.compose.ui:ui-tooling (source) dependencies minor 1.9.41.10.6 age confidence
androidx.wear.compose:compose-ui-tooling (source) dependencies patch 1.6.01.6.1 age confidence
androidx.activity:activity-compose (source) dependencies minor 1.12.21.13.0 age confidence
androidx.wear.compose:compose-navigation (source) dependencies minor 1.5.51.6.1 age confidence
androidx.wear.compose:compose-foundation (source) dependencies minor 1.5.51.6.1 age confidence
androidx.wear.compose:compose-navigation (source) dependencies patch 1.6.01.6.1 age confidence
androidx.wear.compose:compose-foundation (source) dependencies patch 1.6.01.6.1 age confidence
androidx.compose:compose-bom dependencies minor 2026.01.002026.03.01 age confidence
io.coil-kt.coil3:coil-network-okhttp dependencies minor 3.3.03.4.0 age confidence
io.coil-kt.coil3:coil dependencies minor 3.3.03.4.0 age confidence
androidx.lifecycle:lifecycle-viewmodel-ktx (source) dependencies minor 2.9.42.10.0 age confidence
androidx.wear.compose:compose-material (source) dependencies minor 1.5.51.6.1 age confidence
androidx.wear.protolayout:protolayout-material3 (source) dependencies minor 1.3.01.4.0 age confidence
androidx.wear.protolayout:protolayout-material (source) dependencies minor 1.3.01.4.0 age confidence
androidx.wear.compose:compose-material3 (source) dependencies patch 1.6.01.6.1 age confidence
androidx.lifecycle:lifecycle-viewmodel-compose (source) dependencies minor 2.9.42.10.0 age confidence
androidx.lifecycle:lifecycle-runtime-ktx (source) dependencies minor 2.9.42.10.0 age confidence
androidx.media3:media3-exoplayer-workmanager dependencies minor 1.8.01.10.0 age confidence
androidx.media3:media3-exoplayer dependencies minor 1.8.01.10.0 age confidence
androidx.media3:media3-common dependencies minor 1.8.01.10.0 age confidence
androidx.wear.tiles:tiles-tooling-preview (source) dependencies minor 1.5.01.6.0 age confidence
androidx.wear.tiles:tiles-renderer (source) dependencies minor 1.5.01.6.0 age confidence
androidx.wear.tiles:tiles (source) dependencies minor 1.5.01.6.0 age confidence
androidx.wear.tiles:tiles-tooling (source) dependencies minor 1.5.01.6.0 age confidence
androidx.compose:compose-bom dependencies major 2025.11.002026.03.01 age confidence
androidx.wear.compose:compose-ui-tooling (source) dependencies minor 1.5.61.6.1 age confidence
androidx.wear.compose:compose-foundation (source) dependencies minor 1.5.61.6.1 age confidence
androidx.wear.compose:compose-navigation (source) dependencies minor 1.5.61.6.1 age confidence
androidx.wear.watchface:watchface-complications-data-source-ktx (source) dependencies minor 1.2.11.3.0 age confidence
androidx.activity:activity-compose (source) dependencies minor 1.11.01.13.0 age confidence
androidx.activity:activity-compose (source) dependencies minor 1.12.0-rc011.13.0 age confidence
androidx.wear.compose:compose-material3 (source) dependencies minor 1.5.61.6.1 age confidence
com.android.application (source) plugin major 8.13.19.1.1 age confidence
com.android.test (source) plugin major 8.13.19.1.1 age confidence
com.android.application (source) plugin patch 9.1.09.1.1 age confidence
com.android.application (source) plugin minor 9.0.09.1.1 age confidence
com.android.library (source) plugin minor 9.0.09.1.1 age confidence

Release Notes

actions/cache (actions/cache)

v5

Compare Source

actions/checkout (actions/checkout)

v6

Compare Source

actions/upload-artifact (actions/upload-artifact)

v7

Compare Source

v6

Compare Source

gradle/gradle (gradle)

v9.4.1

Compare Source

v9.4.0

Compare Source

v9.3.1: 9.3.1

Compare Source

This is a patch release for 9.3.0. We recommend using 9.3.1 instead of 9.3.0.

The following issues were resolved:

Read the Release Notes

Upgrade instructions

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

./gradlew wrapper --gradle-version=9.3.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.3.0

Compare Source

gradle/actions (gradle/actions)

v6

Compare Source

takahirom/roborazzi (io.github.takahirom.roborazzi)

v1.59.0

Compare Source

ROBORAZZI_DEBUG can now be passed as a command-line parameter

We already have the ROBORAZZI_DEBUG variable to control debug-log output, and it can be set in tests. From this release, you can also enable ROBORAZZI_DEBUG by adding -Proborazzi.debug=true to the command line.

What's Changed

Full Changelog: takahirom/roborazzi@1.58.0...1.59.0

v1.58.0

Compare Source

Bugfix: Fixed NoClassDefFoundError in RoborazziPlugin when the Android Plugin is not applied

Previously, we never touched the Android Plugin class when it wasn’t in use; nevertheless, a NoClassDefFoundError was raised because the plugin contained a method that referenced the Android Plugin class. I therefore extracted Android-related code into a separate class to resolve the issue. Thank you, @​rnett, for reporting this.

Update: Device qualifiers

You can now specify device qualifiers via RobolectricDeviceQualifiers. The list has been expanded with new devices such as Pixel9, XRGlasses, and even AIGlasses!
Thank you, @​joergmis, for your contribution.

What's Changed
New Contributors

Full Changelog: takahirom/roborazzi@1.57.0...1.58.0

v1.57.0

Compare Source

Fix AGP 9.0 KMP preview screenshots

We had been using unitTestSources?.**java**?.addGeneratedSourceDirectory, but this approach proved ineffective when we adopted com.android.kotlin.multiplatform.library. Consequently, we migrated to unitTestSources?.**kotlin**?.addGeneratedSourceDirectory for the KMP plugin. Unfortunately, when applying com.android.library, unitTestSources?.kotlin remains non-functional, so we must toggle between the two depending on the plugin.
Thank you for reporting this @​HLCaptain !

(This is our plugin code, you don't have to write this.)

  val isKmpLibrary = project.plugins.hasPlugin("com.android.kotlin.multiplatform.library")
  if (isKmpLibrary) {
    unitTestSources?.kotlin?.addGeneratedSourceDirectory(
      generateTestsTask,
      GenerateComposePreviewRobolectricTestsTask::outputDir
    )
  } else {
    unitTestSources?.java?.addGeneratedSourceDirectory(
      generateTestsTask,
      GenerateComposePreviewRobolectricTestsTask::outputDir
    )
  }
Bugfix: Compose Preview’s onSizeChanged{} wasn’t called when multiple windows exist.

There is a bug in which Compose Preview’s onSizeChanged{} fails to fire when multiple windows are present. This issue arises because we neglected to invoke

      composeTestRule.mainClock.advanceTimeByFrame()
      composeTestRule.waitForIdle()

Reproducing screenshots image

What's Changed

Full Changelog: takahirom/roborazzi@1.56.0...1.57.0

v1.56.0

Compare Source

Added AGP 9.0 compatibility to RoborazziPlugin

Roborazzi was previously using APIs and classes that have since been deprecated, such as Variant.unitTest and TestedExtension. We have now migrated to alternative, supported classes and methods. Thanks for reporting this, @​allanconda-mercari !

Behavior changes: Stabilized preview LaunchedEffect execution for Compose Preview support

Previously, screenshots occasionally differed from Android Studio Composable Preview when using LaunchedEffect. We now invoke composeTestRule.mainClock.advanceTimeByFrame() by default, so some screenshots may appear different. You can restore the previous behavior by implementing a custom tester as follows:

composeRuleFactory = { createAndroidComposeRule<RoborazziActivity>() as AndroidComposeTestRule<ActivityScenarioRule<out ComponentActivity>, *> },
What's Changed

Full Changelog: takahirom/roborazzi@1.55.0...1.56.0

v1.55.0

Compare Source

Bugfix: Fix WebP ClassCastException
What happened
  • Robolectric runs inside a custom class loader named SdkSandboxClassLoader.
  • Roborazzi's WebP support relies on ImageIO.getImageWritersByMIMEType, which internally caches writers in a static field. When the writer is first created, the code is executed by SdkSandboxClassLoader1.
  • Subsequently, when another test runs with a different SDK (e.g., 35), a second SdkSandboxClassLoader (SdkSandboxClassLoader2) is spawned. Because ImageIO's cached instance was loaded by a different class loader, attempting to cast it triggers a ClassCastException.

class com.luciad.imageio.webp.WebPWriteParam cannot be cast to class com.luciad.imageio.webp.WebPWriteParam (com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​1dbb650b; com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​3e48e859)

What we did

We leveraged reflection to force ImageIO.getImageWritersByMIMEType to use the System ClassLoader, thereby guaranteeing that the same class definition is shared irrespective of the current SdkSandboxClassLoader.
Many thanks to @​eygraber for reporting this bug!

What's Changed

Full Changelog: takahirom/roborazzi@1.54.0...1.55.0

v1.54.0

Compare Source

Breaking change: Report HTML and JSON paths have changed

The HTML report used to be at build/reports/roborazzi/index.html but is now located at build/reports/roborazzi/<build_variant>/index.html. This is a first step toward fixing a long-standing issue where running recordRoborazzi (instead of recordRoborazziDebug) could break test results; further work is still needed to make it fully reliable.

You should be able to fix it by adding /debug/ (or your build variant) to the path in your CI script. I believe the change is straightforward, but if you run into any cases where it's difficult please let me know.

Note: This change does not affect the paths of the generated screenshot images, so most users will not be impacted.

Thank you for your contribution, @​vladcudoidem!

Behavioral change: Fixed screenshot timing for Compose Preview Support

Previously, we used Espresso.onIdle() and ShadowLooper.idle(), but these APIs are not suitable for Compose. Consequently, screenshots could not be captured after onSizeChanged completed.

@&#8203;Preview
@&#8203;Composable
fun PreviewOnSizeChanged() {
  var size by remember { mutableStateOf("unknown") }
  Box(
    modifier = Modifier
      .size(100.dp)
      .background(Color.Blue)
      .onSizeChanged { size = "${it.width}x${it.height}" } // Now invoked! (It used to be skipped.)
  ) {
    Text(text = size, color = Color.White)
  }
}

If you encounter issues with infinite animations—such as CircularProgressIndicator—you can configure frame-based captures using @RoboComposePreviewOptions.

@&#8203;RoboComposePreviewOptions(
  manualClockOptions = [ManualClockOptions(advanceTimeMillis = 0L)]
)

Thank you for reporting this issue, @​savvasenok!

What's Changed

Full Changelog: takahirom/roborazzi@1.53.0...1.54.0

v1.53.0

Compare Source

New feature generatedTestClassCount and behavior changes to Compose Preview support

We've added the generatedTestClassCount option, which enables us to run Preview tests in parallel when you set maxParallelForks to a value greater than 1.

roborazzi {
  generateComposePreviewRobolectricTests {
    generatedTestClassCount = 4
  }
}

As the name generatedTestClassCount suggests, this option generates as many test classes as specified. It creates tests whose previewIndex % totalTestClassCount == testClassIndex. However, this option does not modify maxParallelForks, so you must also set maxParallelForks yourself to run tests in parallel. This is our policy: we never alter other plugin(AGP) settings in order to keep one single source of configuration.

Behavior changes: generatedTestClassCount now defaults to the same value as maxParallelForks. Therefore, if you already use maxParallelForks during testing, the behavior may change if your tests are non-deterministic—for example, if they depend on the order in which other tests run.

Last but not least, thanks to @​sergio-sastre for suggesting this feature, reviewing the code, and confirming the approach works!

Fix configuration-time resolution when using BOM to Compose Preview support

Fixed an error where the version verification logic triggered configuration-time resolution errors when using BOM (Bill of Materials) for dependency management.

The fix simplifies the verifyComposablePreviewScannerVersion method by removing the complex fallback logic that attempted to infer versions from test configurations. Instead, the plugin now only checks explicitly declared versions—when no version is specified (indicating BOM management), verification is skipped.

Thanks to @​igokoro for reporting this issue!

Fix iOS snapshot not creating parent directories before writing files

Fixed a critical bug where iOS snapshot tests weren't being recorded on the first run. The root cause was that NSData.writeToFile silently fails when parent directories don't exist.

The fix ensures parent directories are automatically created before writing files using NSFileManager.defaultManager.createDirectoryAtPath with withIntermediateDirectories = true. Additionally, error logging was added to report both successful and failed file operations, preventing silent failures.

Thanks to @​jl-jonas for reporting this issue!

What's Changed

Full Changelog: takahirom/roborazzi@1.52.0...1.53.0

v1.52.0

Compare Source

Support for com.android.kotlin.multiplatform.library plugin

Even though we can use androidUnitTest in Kotlin Multiplatform Plugin, there is a way to add Android target to KMP and this might become mainstream. Roborazzi did not add the task for this plugin so we added tasks like recordRoborazziAndroidHostTest. Thank you for reporting this issue @​xVemu !

Support for KMP testRuns API

When we add testRuns in build.gradle, that enables us to control dependencies for tests in KMP, Roborazzi used to fail with Cannot add task 'clearRoborazziJvm' as a task with that name already exists.. Thank you for reporting this issue as well @​xVemu !

Fix preview tests plugin when using Bom dependencies

There are patterns that we cannot build with Roborazzi due to configuration cache issues. We addressed this issue using a new API for configuration cache. Thank you for reporting this @​igokoro !

What's Changed

Full Changelog: takahirom/roborazzi@1.51.0...1.52.0

coil-kt/coil (io.coil-kt.coil3:coil-network-okhttp)

v3.4.0

Compare Source

  • New: Add ConcurrentRequestStrategy to support combining in-flight network requests for the same key. (#​2995, #​3326)
    • DeDupeConcurrentRequestStrategy enables this behavior and lets waiters wait for the results of an in-flight network request.
      • This behavior is experimental and is currently disabled by default.
      • Currently, requests are always combined based on their diskCacheKey.
    • OkHttpNetworkFetcherFactory, KtorNetworkFetcherFactory, and NetworkFetcher.Factory now accept concurrentRequestStrategy.
  • New: Decode images on JS/WASM using a web worker to avoid blocking the browser main thread. (#​3305)
  • New: Add support for Linux native targets (linuxX64 and linuxArm64) for non-Compose multiplatform artifacts. (#​3054)
  • New: Add Compose-only APIs to improve transitions between subsequent requests. (#​3141, #​3175)
    • ImageRequest.Builder.useExistingImageAsPlaceholder enables crossfading from the previous image when no placeholder is set.
    • ImageRequest.Builder.preferEndFirstIntrinsicSize lets CrossfadePainter prefer the end painter's intrinsic size.
  • New: Add ImageLoader.Builder.repeatCount(Int) in coil-gif to set a global animated image repeat count. (#​3143)
  • New: Add support for preferring embedded video thumbnails in coil-video. (#​3107)
  • New: Publish coil-lint with coil-core and add a lint check to catch accidental kotlin.error() calls in ImageRequest.Builder blocks. (#​3304)
  • Set Kotlin language version to 2.1. (#​3302)
  • Make BitmapFetcher available in common code. (#​3286)
  • Use applicationContext when creating the singleton ImageLoader on Android. (#​3246)
  • Cache eligible non-2xx HTTP responses by default (e.g. 404) and stop caching non-cacheable responses (e.g. 500). (#​3137, #​3139)
  • Fix potential race condition when consuming OkHttp response bodies. (#​3186)
  • Fix maxBitmapSize edge case to prevent oversized bitmap crashes on Android. (#​3259)
  • Update Kotlin to 2.3.10.
  • Update Compose to 1.9.3.
  • Update Okio to 3.16.4.
  • Update Skiko to 0.9.22.2.
  • Update kotlinx-io-okio to 0.9.0.
  • Update androidx.core to 1.16.0.
  • Update androidx.lifecycle to 2.9.4.
  • Update androidx.exifinterface to 1.4.2.
androidx/media (androidx.media3:media3-exoplayer-workmanager)

v1.10.0

Compare Source

This release includes the following changes since
1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to
      stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to
      stable.
    • Add Format.primaryTrackGroupId to identify the primary group of
      embedded Format instances
      (#​294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to
      better align scheduling work and CPU wake-cycles to when video frames
      can be processed. You can enable this using
      experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in
      the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in
      DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some
      default constants to ExoPlayer.Builder. Mocking this complex interface
      is not generally encouraged - only when the usage is
      minimal/simple/incidental
      (#​2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS
        from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline
      info to the player, and the queued periods unexpectedly get removed
      (#​3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when
      playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause
      re-buffers at the end of the on-demand content
      (#​3052).
    • Add support for Dolby Vision Profile 10
      (#​2830).
    • Fix bug where an uninitialized pre roll ad produced an
      ArrayIndexOutOfBoundsException
      (#​3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output
      frame rate for video, which is particularly helpful when increasing
      media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include
      the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of
      whether the corresponding primary track is selected
      (#​294).
    • Stabilize TrackSelectionParameters options for
      preferredVideoLanguages, preferredVideoLabels,
      preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like
      moov (#​3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4
      containers.
  • Inspector:
    • Breaking change: r

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM (* 0-3 * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


  • 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 89db000 to c81039d Compare November 26, 2025 16:35
@renovate renovate bot force-pushed the renovate/all branch 3 times, most recently from 75beb07 to f0fdb82 Compare December 5, 2025 11:08
@renovate renovate bot force-pushed the renovate/all branch 7 times, most recently from 9d8281b to 2fea6d7 Compare December 17, 2025 23:46
@renovate renovate bot force-pushed the renovate/all branch 2 times, most recently from 68fd968 to 13f396c Compare January 3, 2026 13:28
@renovate renovate bot force-pushed the renovate/all branch 2 times, most recently from fb2a73d to 94a6097 Compare January 9, 2026 17:15
@renovate renovate bot force-pushed the renovate/all branch 5 times, most recently from b0ce7e9 to 83951b3 Compare January 21, 2026 01:03
@renovate renovate bot force-pushed the renovate/all branch 4 times, most recently from ad3a3ab to 850ffaa Compare January 26, 2026 14:32
@renovate renovate bot force-pushed the renovate/all branch 7 times, most recently from 002bc78 to 7bcd50a Compare February 3, 2026 16:38
@renovate renovate bot force-pushed the renovate/all branch 3 times, most recently from 2fd1c3a to 24294b1 Compare February 11, 2026 22:13
@renovate renovate bot force-pushed the renovate/all branch 6 times, most recently from 030e77f to c3a1bc8 Compare March 3, 2026 18:16
@renovate renovate bot force-pushed the renovate/all branch 3 times, most recently from 30babaa to 2c3b5f4 Compare March 16, 2026 17:02
@renovate renovate bot force-pushed the renovate/all branch 4 times, most recently from ba4f408 to d6c8d39 Compare March 25, 2026 17:54
@renovate renovate bot force-pushed the renovate/all branch 2 times, most recently from 63cc195 to 309cd48 Compare March 27, 2026 13:15
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.

0 participants