Update all dependencies#840
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
6d63750 to
e0cffe1
Compare
dturner
approved these changes
Mar 19, 2026
3642b22 to
58cf231
Compare
3129112 to
e078b5d
Compare
b626af9 to
d4a6f2e
Compare
7628abc to
1d66b16
Compare
083fdfb to
0f41ddd
Compare
pflammertsma
requested changes
Jun 18, 2026
Member
There was a problem hiding this comment.
We need to bump this to 37.
Contributor
|
@android/devrel-xr There's an issue with the XR unit tests, can you look into it? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v6→v79.4.1→9.6.14.34.0→4.35.11.6.0→1.6.11.6.0→1.6.11.6.0→1.6.11.6.0→1.6.11.6.0→1.6.18.7.0→8.8.02.7.0-rc01→2.7.02.7.0-rc01→2.7.02.7.0-rc01→2.7.01.64.0→1.68.01.64.0→1.68.01.64.0→1.68.01.64.0→1.68.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.03.0.0-rc01→3.0.01.0.0-alpha06→1.0.0-alpha071.4.0→1.4.11.4.0→1.4.11.4.0→1.4.11.4.0→1.4.19.0.0→9.1.05.3.1→6.3.08.3.0→8.3.12.3.9→2.3.102.59.2→2.60.12.59.2→2.60.12.59.2→2.60.11.0.0-beta09→1.0.0-beta101.0.0-alpha12→1.0.0-alpha131.0.0-alpha12→1.0.0-alpha1334.15.0→34.16.017.13.0→17.14.01.5.12→1.6.01.0.0-alpha13→1.0.0-alpha141.0.0-alpha13→1.0.0-alpha141.0.0-alpha13→1.0.0-alpha141.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.11.3→1.11.41.3.0→1.4.01.1.3→1.1.41.1.3→1.1.41.3.0-alpha01→1.3.0-alpha021.3.0-alpha01→1.3.0-alpha021.3.0-alpha01→1.3.0-alpha021.3.0-alpha01→1.3.0-alpha021.3.0-alpha01→1.3.0-alpha021.3.0-alpha01→1.3.0-alpha021.0.0-alpha02→1.0.0-alpha031.11.3→1.11.42026.06.00→2026.06.011.0.0-alpha14→1.0.0-alpha151.0.0-alpha14→1.0.0-alpha15Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
actions/checkout (actions/checkout)
v7.0.0Compare Source
v7Compare Source
gradle/gradle (gradle)
v9.6.1Compare Source
v9.6.0Compare Source
v9.5.1: 9.5.1Compare Source
The Gradle team is excited to announce Gradle 9.5.1.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
atm1020,
mataha,
Adam,
Attila Kelemen,
Benedikt Ritter,
Björn Kautler,
Caro Silva Rode,
CHANHAN,
Dmitry Nezavitin,
Eng Zer Jun,
KugelLibelle,
Madalin Valceleanu,
Markus Gaisbauer,
Oliver Kopp,
Philip Wedemann,
ploober,
Roberto Perez Alcolea,
Rohit Anand,
Suvrat Acharya,
Ujwal Suresh Vanjare,
Victor Merkulov
Upgrade instructions
Switch your build to use Gradle 9.5.1 by updating your 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.5.0: 9.5.0Compare Source
The Gradle team is excited to announce Gradle 9.5.0.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
atm1020,
mataha,
Adam,
Attila Kelemen,
Benedikt Ritter,
Björn Kautler,
Caro Silva Rode,
CHANHAN,
Dmitry Nezavitin,
Eng Zer Jun,
KugelLibelle,
Madalin Valceleanu,
Markus Gaisbauer,
Oliver Kopp,
Philip Wedemann,
ploober,
Roberto Perez Alcolea,
Rohit Anand,
Suvrat Acharya,
Ujwal Suresh Vanjare,
Victor Merkulov
Upgrade instructions
Switch your build to use Gradle 9.5.0 by updating your 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.
takahirom/roborazzi (io.github.takahirom.roborazzi)
v1.68.0Compare Source
Compose Testing v2 (
ui-test-junit4v2) support (experimental)If you've upgraded to Compose 1.11.0, where the v2 testing APIs (
androidx.compose.ui.test.junit4.v2) are the default and the v1 rules are deprecated, Roborazzi now works with the v2 rule factories out of the box —createAndroidComposeRulefrom either package just works withRoborazziRule,captureRoboImage, and generated preview tests.If you have a custom
ComposePreviewTester, you can also delete the unchecked cast that used to be required:What you might need to change
Most users need no changes. The exception: the options APIs now accept the
ComposeTestRule/ComposeContentTestRuleinterfaces instead of the concreteAndroidComposeTestRule<...>type, socomposeTestRule.activityRuleis no longer reachable through them. Roborazzi finds your rule's activity automatically; if it can't, it fails loudly (instead of silently capturing the wrong activity) and tells you to pass the scenario yourself:composeTestRule(rule) { activityScenario }for direct capture callsJUnit4TestLifecycleOptions.activityScenarioProviderfor generated preview testsThe new
sample-compose-v2module shows both, running against stable Compose 1.11.0.Compatibility
Libraries compiled against 1.67.0 keep working — the old entry points are preserved as hidden binary-compat bridges. If you compile against 1.68.0, typical code compiles as-is (or gets simpler, as above). Known remaining binary-level changes on these
@ExperimentalRoborazziApisurfaces:JUnit4TestParameter.getComposeTestRule's return type and the data-classcopysignatures ofJUnit4TestLifecycleOptions/RoborazziComposeTestRuleOption; recompiling resolves them.@PreviewWrapperpreviews now appear correctly in screenshotsIf you use Compose UI 1.11's
@PreviewWrapperto wrap previews in a theme or background, those wrappers now show up in your Roborazzi preview screenshots with no extra setup — just use ComposablePreviewScanner 0.9.0 or later (#823):This is verified by a sample preview test, and the docs have a new PreviewWrapper support section. Huge thanks to @sergio-sastre for implementing the automatic wrapping in ComposablePreviewScanner 0.9.0!
What's Changed
Full Changelog: takahirom/roborazzi@1.67.0...1.68.0
v1.67.0Compare Source
New experimental feature - Record a video of your UI
You can now record how a UI evolves over virtual time -- animations, transitions, gestures, and any other time-driven change -- as an animated image that plays back in real time. Because Roborazzi runs under Robolectric's virtual clock, designers and reviewers can watch a transition or gesture actually play out frame by frame, instead of inferring motion from a strip of static screenshots.
Unlike
captureRoboGif(), which only records visually distinct states with a fixed 1-second delay,recordRoboVideo()pauses the Compose main clock and drives it frame by frame, so intermediate animation frames are captured with faithful timing. Interactions in the block run with the clock paused; calldelay()in the scope to advance virtual time while frames are recorded. After the block returns, recording keeps going until the UI settles, so a block that only performs a click still records the whole animation that click starts.A few things to know:
.gifproduces a GIF (256 colors; the default), and.pngproduces a lossless, full-color APNG (Animated PNG) -- prefer.pngwhen color fidelity matters. Only these animated-image formats are supported for now; the "video" name was chosen deliberately so real video formats (e.g. mp4) can be added later without renaming the API.fpswhose frame step (1000 / fps) is a multiple of 10ms (e.g. 10, 20, 25, 50) for exact GIF timing. APNG encodes the step exactly.RoboVideoOptionsexposesfps(default10),settleTimeoutMillis(extra virtual time to keep recording while the UI is still changing after the block ends; default3000), andbackgroundColor(ARGB fill for the fixed recording viewport when frames have different sizes; default white).@ExperimentalRoborazziApi). When the Roborazzi task runs in compare/verify mode it is a complete no-op -- the block is not executed and no image is recorded or verified.Whole-screen recording with
recordScreenRoboVideo()recordScreenRoboVideo()records all window roots instead of a single node, mirroring howcaptureScreenRoboImage()relates tocaptureRoboImage(). Prefer it when you want a stable, device-sized viewport for every frame, or when you need to capture window overlays such as dialogs added mid-recording or touch/tap indicators -- these live on separate window roots and are invisible to a node-scoped recording.Recording gestures
Because the recorder idles the Robolectric main Looper in lockstep with the Compose main clock, suspend-based gesture drivers make progress while frames are recorded. For example, you can drive a swipe with saket/touch-robot from a
LaunchedEffect, userecordScreenRoboVideo()so the touch indicator overlay is captured, and just pump virtual time in the block:composeTestRule.setContent { // A composable whose LaunchedEffect drives a touch-robot swipe on the root. DraggableBoxContent() } recordScreenRoboVideo( composeRule = composeTestRule, filePath = "build/outputs/roborazzi/swipe.gif", ) { // Pump virtual time so the LaunchedEffect gesture progresses while frames are captured. delay(1000) }https://redirect.github.com/takahirom/roborazzi/pull/863/changes#diff-42e66fda923fc339b289fbb6468a18e795d5bf16a09ecf97ccd9596329afe7e8R91
See the how-to guide for full details.
Maintenance - Bump AndroidX Compose to 1.8.3
The AndroidX Compose pins used by the samples and tests were bumped from 1.7.x to 1.8.3. This enables using libraries built against Compose 1.8+ (such as touch-robot, whose bytecode calls
Composer.shouldExecute, introduced in runtime 1.8.0). The JetBrains Compose Multiplatform version and Kotlin are untouched -- they are a separate axis.Bugfix - Custom
ComposePreviewTesterdocsAndroidComposePreviewTesteris final, so the previously documented subclassing approach didn't compile. The docs now show a minimal working setup using Kotlin class delegation (by AndroidComposePreviewTester(...)), and the example is compile-verified as a sample in the Gradle plugin integration-test project. Thanks @hiSandog for the feedback on making the docs example concrete and testable!What's Changed
Full Changelog: takahirom/roborazzi@1.66.0...1.67.0
v1.66.0Compare Source
New feature - iOS (Compose Multiplatform) screenshot testing now shares the full Roborazzi pipeline
Roborazzi's iOS support has been rebuilt on top of the same image pipeline used on Android and Desktop. Previously,
captureRoboImageon iOS was a separate implementation that only wrote a PNG and did a basic comparison. Now, iOS goes through the commonRoborazziOptionspipeline, so most options you already use on Android work on iOS too:What now works on iOS:
changeThreshold,resultValidator, customimageComparator(via dropbox/differ), andresizeScaleComparisonStyle.Gridwith grid lines and Reference/Diff/New labels, matching the JVM layoutcontextDataand customRoborazziReporters (theroborazzi.contextdataflag is honored on iOS too)recordRoborazziIos*/compareRoborazziIos*/verifyRoborazziIos*behave consistently with other targetsCurrent limitations on iOS (see the feature matrix for details):
applyDeviceCropare not applicablePixelBitConfig.Rgb565falls back to 8888 with a warningiOS support remains experimental, and behavior may be adjusted in future releases.
Note: if you already have recorded iOS golden images, please re-record them (
recordRoborazzi*) after upgrading — the capture and encoding path has changed, so existing baselines may report differences.Thanks to @eyedol and @vladcudoidem for building out the original iOS diffing and reporting infrastructure that this release builds upon, and thank you @jl-jonas and @kartikprakash1 for reporting iOS issues.
Bugfix - New golden images were misreported as "Changed" in recording tasks
When a recording task wrote a golden image for the first time, the report classified it as
Changedinstead ofAdded. The recording flow saves the actual image to the golden path before deciding the result status, so the existence check always saw the file as present. The check is now captured before any write, so newly added images are reported asAddedcorrectly.Bugfix - Descriptive error when AI assertions are used without configuration
Calling AI assertions without configuring
aiAssertionOptionsused to crash with an unhelpfulNullPointerException. It now throws a descriptive error explaining thataiAssertionOptionsneeds to be set up.What's Changed
Configuration
📅 Schedule: (UTC)
* 0-3 * * *)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.