Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update roborazzi to v1.32.2 #1100

Merged
merged 1 commit into from
Nov 15, 2024
Merged

Update roborazzi to v1.32.2 #1100

merged 1 commit into from
Nov 15, 2024

Conversation

slack-oss-bot
Copy link
Collaborator

This PR contains the following updates:

Package Type Update Change
io.github.takahirom.roborazzi plugin minor 1.30.1 -> 1.32.2
io.github.takahirom.roborazzi:roborazzi-core dependencies minor 1.30.1 -> 1.32.2
io.github.takahirom.roborazzi:roborazzi-compose dependencies minor 1.30.1 -> 1.32.2
io.github.takahirom.roborazzi:roborazzi-junit-rule dependencies minor 1.30.1 -> 1.32.2
io.github.takahirom.roborazzi:roborazzi dependencies minor 1.30.1 -> 1.32.2
io.github.takahirom.roborazzi:roborazzi-compose-desktop dependencies minor 1.30.1 -> 1.32.2

Release Notes

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

v1.32.2

Compare Source

WebP Image Comparison Improvements

Improved handling for transparent pixels in WebP image comparisons. Previously, transparent pixels in WebP images were sometimes returned with unexpected color values (e.g., r = 1, g = 0, b = 0, a = 0), which caused inconsistencies in image comparisons. The comparison logic now correctly handles transparent pixels by interpreting them as fully transparent black (r = 0, g = 0, b = 0, a = 0) to ensure consistent results across comparisons.

Special thanks to @​ArcaNO93 for identifying and reporting this issue!

What's Changed

Full Changelog: takahirom/roborazzi@1.32.1...1.32.2

v1.32.1

Compare Source

Experimental WebP support and other image formats

Now, you can set roborazzi.record.image.extension to webp in your gradle.properties file to generate WebP images.

roborazzi.record.image.extension=webp

To enable WebP support, add testImplementation("io.github.darkxanter:webp-imageio:0.3.3") to your build.gradle.kts file.
WebP is a lossy image format by default, which can make managing image differences challenging. To address this, we provide a lossless WebP image feature.
WebP lossless images are reported to be 26% smaller in size compared to PNGs.

onView(ViewMatchers.withId(R.id.textview_first))
  .captureRoboImage(
    roborazziOptions = RoborazziOptions(
      recordOptions = RoborazziOptions.RecordOptions(
        imageIoFormat = LosslessWebPImageIoFormat(),
      ),
    )
  )

You can also use other image formats by implementing your own AwtImageWriter and AwtImageLoader.

data class JvmImageIoFormat(
  val awtImageWriter: AwtImageWriter,
  val awtImageLoader: AwtImageLoader
) : ImageIoFormat

Thank you, @​ArcaNO93, for providing this suggestion and the code review!

Adjustments to AI-Powered Image Assertion

In version 1.30.0, we introduced Roborazzi AI-Powered Image Assertion.
We made some adjustments to the AI-Powered Image Assertion

  • The OpenAiAiAssertionModel, which utilizes OpenAI APIs, previously lacked a timeout specification, leading to frequent timeout issues. We have now implemented a customizable timeout setting.
  • The provideRoborazziContext().option was marked as InternalRoborazziApi despite being documented in the README. We have now changed it to ExperimentalRoborazzi API.
Changes from 1.32.0

API Key Masking in Logs for OpenAiAiAssertionModel
For users enabling logging through OpenAiAiAssertionModel.loggingEnabled, API keys in log outputs are now masked to improve security. Previously, API keys could appear in logs, which could unintentionally expose them, especially in test reports. With this update, sensitive data is automatically masked, helping users avoid accidental exposure.

What's Changed

Full Changelog: takahirom/roborazzi@1.31.0...1.32.1

v1.32.0

Compare Source

Please refer to the 1.32.1 release at https://github.com/takahirom/roborazzi/releases/tag/1.32.1

v1.31.0

Compare Source

Added Experimental Support for Cleaning Up Old Screenshots

This release introduces the roborazzi.cleanupOldScreenshots=true option in gradle.properties, allowing users to automatically remove outdated screenshots. By default, this is set to false to prevent accidental deletions when running filtered tests. Please note that enabling this option may result in unintended deletions when running filtered tests. You can use -Proborazzi.cleanupOldScreenshots=true for CI configurations to clean up screenshots only in CI runs without affecting local settings.
This cleanup implementation may affect the cache mechanism. We have some integration tests in place, but if you notice any issues, please let us know.
Thank you, @​JackEblan, for suggesting the cleanup feature!

Improve AI Assertion Error Message

In the previous release, we introduced Roborazzi AI-Powered Image Assertion.
When an AI assertion fails, it’s important to review the screenshots to understand what went wrong with the images. Therefore, I enhanced the error message to include the file paths of the images.

image

What's Changed

Full Changelog: takahirom/roborazzi@1.30.1...1.31.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 added this pull request to the merge queue Nov 15, 2024
Merged via the queue into main with commit 6f855dd Nov 15, 2024
4 checks passed
@slack-oss-bot slack-oss-bot deleted the test-renovate/roborazzi branch November 15, 2024 18:17
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.

2 participants