Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi) | plugin | minor | `1.7.0` -> `1.8.0` | | [io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.7.0` -> `1.8.0` | | [io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.7.0` -> `1.8.0` | | [io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.7.0` -> `1.8.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary> ### [`v1.8.0`](https://togithub.com/takahirom/roborazzi/releases/tag/1.8.0) [Compare Source](https://togithub.com/takahirom/roborazzi/compare/1.7.0...1.8.0) ##### Announcement: Simplified Release Strategy for Roborazzi We're making some changes to our release strategy to enhance your experience. Moving forward, we will be streamlining our versioning system. **Instead of maintaining separate `alpha/rc/stable` versions, we will integrate experimental features directly into stable releases, marked with clear experimental annotations**. This approach aims to simplify updates and improve clarity while ensuring you still have access to the latest features and improvements. We value your input and experience. If you have any thoughts or feedback on this change, please feel free to share them with us on [GitHub Issue #​243](https://togithub.com/takahirom/roborazzi/issues/243). ##### Fix from 1.8.0-rc-1 - Use ComposeTestRule interface instead of concrete AndroidComposeTestRule class. [@​GisoBartels](https://togithub.com/GisoBartels), Thank you for your code contribution! [https://github.com/takahirom/roborazzi/pull/241](https://togithub.com/takahirom/roborazzi/pull/241)/241 ##### New Feature from 1.7 ##### Introducing the experimental `roboOutputName()` function Streamline the customization of Roborazzi image file names. This utility is especially effective in parameterized tests, allowing for dynamic file naming based on test parameters. For an example of its usage, see the snippet below, which demonstrates generating screenshots before and after UI interactions. ```kotlin @​Test fun launchScreen() { // Generates a file named "org.your.pkg.TestClassName.launchScreen_before.png" onView(ViewMatchers.isRoot()).captureRoboImage("${roboOutputName()}_before.png") // Replace with specific actions, e.g., onView(xxx).performClick() // Generates a file named "org.your.pkg.TestClassName.launchScreen_after.png" onView(ViewMatchers.isRoot()).captureRoboImage("${roboOutputName()}_after.png") } ``` Tailor your file naming convention in `gradle.properties` for even more control, such as omitting the package name. Set `roborazzi.record.namingStrategy=testClassAndMethod` for a streamlined naming pattern. Learn more: [Roborazzi Documentation](https://togithub.com/takahirom/roborazzi#roborazzirecordnamingstrategy) ##### Enhanced Comparison with Grid and Labels 🚀 This update introduces a new grid and label feature, making visual comparisons more intuitive and effective. The grid layout provides a structured view, while labels offer clear identification, streamlining the testing process. You can use the old style by setting ComparisonStyle to ComparisonStyle.Simple in RoborazziOptions ```kotlin data class CompareOptions( ... val comparisonStyle: ComparisonStyle = ComparisonStyle.Grid(), ) { @​ExperimentalRoborazziApi sealed interface ComparisonStyle { @​ExperimentalRoborazziApi data class Grid( val bigLineSpaceDp: Int? = 16, val smallLineSpaceDp: Int? = 4, val hasLabel: Boolean = true ) : ComparisonStyle object Simple : ComparisonStyle } ``` ![image](https://togithub.com/takahirom/roborazzi/assets/1386930/a792a49e-b401-4200-800c-938d7525cf80) ##### Make Roborazzi's ImageComparator customizable. You can now modify the ImageComparator using CompareOptions.imageComparator. ##### Behavior changes 🔧 Set the default value of CompareOptions.changeThreshold to zero. This means it will detect even a single pixel change. ##### What's Changed - Make Roborazzi's ImageComparator customizable by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/182](https://togithub.com/takahirom/roborazzi/pull/182) - Set Default Value of CompareOptions.changeThreshold to Zero by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/183](https://togithub.com/takahirom/roborazzi/pull/183) - Fixed a bug where options set via RoborazziRule were ignored by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/187](https://togithub.com/takahirom/roborazzi/pull/187) - Fix the issue of keeping the previous test reports by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/189](https://togithub.com/takahirom/roborazzi/pull/189) - \[CI]Speed up integration tests by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/190](https://togithub.com/takahirom/roborazzi/pull/190) - Refactor processOutputImageAndReport by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/191](https://togithub.com/takahirom/roborazzi/pull/191) - Fix the bug where the test reports are not updated when the tests fail by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/194](https://togithub.com/takahirom/roborazzi/pull/194) - Add a document about experimental output parameter by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/195](https://togithub.com/takahirom/roborazzi/pull/195) - Migrate Robolectric to gradle version catalog by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/196](https://togithub.com/takahirom/roborazzi/pull/196) - Add default parameter for CompareOptions.resultValidator by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/203](https://togithub.com/takahirom/roborazzi/pull/203) - Enhance Flexibility with Custom File Naming in Roborazzi via roboOutputName() Function by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/205](https://togithub.com/takahirom/roborazzi/pull/205) - Fix the issue where errors are ignored and occur when changing the size during GIF recording. by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/210](https://togithub.com/takahirom/roborazzi/pull/210) - Add labels and grid lines for the comparison image by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/206](https://togithub.com/takahirom/roborazzi/pull/206) - Fix simple comparison image by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/213](https://togithub.com/takahirom/roborazzi/pull/213) **Full Changelog**: takahirom/roborazzi@1.7.0...1.8.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNDEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE0MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
- Loading branch information