Skip to content

Conversation

@slack-oss-bot
Copy link
Collaborator

@slack-oss-bot slack-oss-bot commented Dec 31, 2025

This PR contains the following updates:

Package Change Age Confidence
io.github.takahirom.roborazzi 1.52.01.54.0 age confidence
io.github.takahirom.roborazzi:roborazzi-junit-rule 1.52.01.54.0 age confidence
io.github.takahirom.roborazzi:roborazzi-compose 1.52.01.54.0 age confidence
io.github.takahirom.roborazzi:roborazzi 1.52.01.54.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

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

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


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


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

This PR has been generated by Renovate Bot.

@slack-oss-bot slack-oss-bot force-pushed the renovate/roborazzi branch 4 times, most recently from f942dc6 to e6d2b7d Compare January 4, 2026 08:11
@slack-oss-bot slack-oss-bot changed the title fix(deps): update roborazzi to v1.53.0 fix(deps): update roborazzi to v1.54.0 Jan 4, 2026
@slack-oss-bot slack-oss-bot added this pull request to the merge queue Jan 5, 2026
Merged via the queue into main with commit f8d40db Jan 5, 2026
5 checks passed
@slack-oss-bot slack-oss-bot deleted the renovate/roborazzi branch January 5, 2026 23:13
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.

3 participants