Update all dependencies#53
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
1337fab to
547e905
Compare
32a500f to
00e890f
Compare
442165d to
bb9b5cc
Compare
f152fcb to
c23e8c2
Compare
ad37f5c to
3248902
Compare
2703f37 to
54f523d
Compare
b701c59 to
747c66b
Compare
2c8dab6 to
096e652
Compare
5e01c25 to
78d3a1e
Compare
36624e8 to
4373d54
Compare
1b2ee0e to
4b63625
Compare
b61e542 to
dfa0f71
Compare
dfa0f71 to
961dfb8
Compare
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.1v5→v61.59.0→1.67.01.59.0→1.67.01.59.0→1.67.01.59.0→1.67.01.10.2→1.11.06.2.3→6.3.02.3.20→2.4.02.3.6→2.3.94.34.0→4.35.12.9.7→2.9.82.9.7→2.9.82.10.0→2.11.02.10.0→2.11.02026.03.00→2026.06.012.59.2→2.60.12.10.0→2.11.04.34.0→4.35.11.10.0→1.11.02.3.20→2.4.01.18.0→1.19.02.3.20→2.4.01.3.0→1.4.02.59.2→2.60.12.59.2→2.60.12.59.2→2.60.11.10.5→1.11.40.9.6→0.10.03.4.0→3.5.03.4.0→3.5.09.1.0→9.2.19.1.0→9.2.1Release 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.
gradle/actions (gradle/actions)
v6.2.0Compare Source
Highlights
This release brings significant behaviour improvements to Enhanced caching, improvements to the generated Job Summary, and a number of correctness and security fixes.
What's Changed
New Contributors
Full Changelog: gradle/actions@v6.1.1...v6.2.0
v6.1.1Compare Source
This release updates various dependency versions, resolving several reported security vulnerabilities.
No functional changes are included
What's Changed
Full Changelog: gradle/actions@v6.1.0...v6.1.1
v6.1.0Compare Source
New: Basic Cache Provider
A new MIT-licensed Basic Caching provider is now available as an alternative to the proprietary Enhanced Caching provided by
gradle-actions-caching. Choose Basic Caching by settingcache-provider: basiconsetup-gradleordependency-submissionactions.@actions/cache-- fully open source~/.gradle/cachesand~/.gradle/wrapperdirectories*.gradle*,gradle-wrapper.properties, etc.)Limitations vs Enhanced Caching: No cache cleanup, no deduplication of cached content, cached content is fixed unless build files change.
Revamped Licensing & Distribution Documentation
What's Changed
Full Changelog: gradle/actions@v6.0.1...v6.1.0
v6.0.1Compare Source
Summary
The license changes in v6 introduced a
gradle-actions-cachinglicense notice that is printed in logs and in each job summary.With this release, the license notice will be muted if build-scan terms have been accepted, or if a Develocity access key is provided.
What's Changed
Full Changelog: gradle/actions@v6.0.0...v6.0.1
v6.0.0Compare Source
Summary
gradle-actions-cachinglibrary, and is no longer open-source. See this blog post for more context.gradle-actions-caching.What's Changed
gradle-actions-cachingcomponent by @bigdaz in #885Full Changelog: gradle/actions@v5.0.2...v6.0.0
v6Compare Source
takahirom/roborazzi (io.github.takahirom.roborazzi)
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
Full Changelog: takahirom/roborazzi@1.65.0...1.66.0
v1.65.0Compare Source
New experimental feature - Separate output directories per variant/target
You can now opt in to giving each Roborazzi task its own output directory:
roborazzi { @​OptIn(ExperimentalRoborazziApi::class) separateOutputDirs.set(true) }When enabled, each Roborazzi task gets its own output and intermediate subdirectory (e.g.
build/outputs/roborazzi/debug/,build/outputs/roborazzi/desktop/) instead of sharing a single directory across every variant/target. It defaults tofalse, so existing behavior is unchanged.Why: When multiple Roborazzi test tasks run in a single Gradle invocation (e.g.
check, KMP'sallTests), they race over the shared output directory: one task's finalizer copy can delete files while another task fingerprints them as input. On Gradle 9 this hard-fails withCannot access input property 'roborazziImageInput'(NoSuchFileException). Separating the directories removes the race at the root.Note: If you enable this option, your golden images move to per-task subdirectories, so you'll need to re-record them (or move the existing files).
Thank you, @boiler23, @F43nd1r, and @vladcudoidem for reporting these issues.
Maintenance - Binary compatibility validation
Roborazzi now uses the kotlinx binary-compatibility-validator in CI, so any unintended change to the published JVM API surface fails CI instead of slipping into a release. This has no effect on your project, but it makes upcoming refactoring for iOS/KMP support safer.
What's Changed
Full Changelog: takahirom/roborazzi@1.64.0...1.65.0
v1.64.0Compare Source
New feature - Filtering previews by annotation
You can now control which Compose Previews are captured with
annotationFilter.To use the built-in
@RoboPreviewExclude/@RoboPreviewIncludeannotations, add theroborazzi-annotationsdependency:implementation("io.github.takahirom.roborazzi:roborazzi-annotations:[version]")By default, previews annotated with
@RoboPreviewExcludeare skipped and everything else is captured:Set
annotationFiltertoRoboPreviewIncludeto instead capture only previews annotated with@RoboPreviewInclude:roborazzi { @​OptIn(ExperimentalRoborazziApi::class) generateComposePreviewRobolectricTests { enable = true packages = listOf("com.example") annotationFilter = AnnotationFilter.Filter.RoboPreviewInclude } }You can also filter by your own annotations by passing their fully qualified class names:
Thanks, @sergio-sastre for your contribution. Thank you, @alecarnevale, @as6o for reporting this issue.
Bugfix - filter test image input to known extensions
What: Restrict the test task's tracked image input (roborazziImageInput) to known image extensions (png, gif, jpg, jpeg, webp), so unrelated files (e.g. .DS_Store) written by an OS indexer/IDE mid-snapshot can't trip Gradle 9's stricter input validation.
Why: Gradle 9 hardened input-snapshot validation so that a file disappearing from a tracked directory between the listing and the content-hashing phases now hard-fails with Cannot access input property '$N' of task ... java.nio.file.NoSuchFileException.
Thanks, @boiler23 for letting me know this issue.
Bugfix
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.