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](takahirom/roborazzi#243).
New Experimental Features
Introduction of captureScreenRoboImage() Function:
This function executes screenshot tests that include dialogs on the screen, offering an alternative to the conventional use of Espresso's ViewInteraction or Compose Test's SemanticsNodeInteraction captureRoboImage(). Thank you, @nelletto, for bringing this issue with dialog screenshots to our attention.
RoborazziTaskType Property:
I developed Roborazzi to facilitate layout viewing during UI tests, addressing the limitations in Robolectric's layout visibility. Initially, Roborazzi couldn't support just viewing layouts during the verification task (roborazziVerifyDebug). Hence, I've introduced a feature allowing task type alteration during test executions.
Adjustments for Upcoming Robolectric Shadow Rendering Support:
While Robolectric is in the process of introducing technical support for shadow rendering, Roborazzi is adapting its screenshot capture method accordingly. We're shifting towards using the PixelCopy class more extensively instead of relying solely on the View draw method. If you notice any issues with this change, please report them to us. Thank you, @sergio-sastre, for highlighting the advantages of using PixelCopy.
Bug Fixes
Fixed Potential Memory Leak:
Addressed a memory leak issue occurring when using compose captureRoboImage{} multiple times within a single test. (Thanks for reporting this @vetoketju )
Resolved File Path Duplication:
Corrected an issue where not specifying a file path with relativePathFromRoborazziContextOutputDirectory resulted in duplicated file paths, like build/output/roborazzi/build/output/roborazzi/xxxx.png.
Fixed a bug in window ordering for screenshots: Windows are now accurately layered by type for more reliable and consistent screenshot results.
Fixed the issue where captureScreenRoboImage() failed to capture Material3 Compose dialogs and bottom sheets.
@marianeum Thank you for reporting this issue!
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](takahirom/roborazzi#243).
New Experimental Features
Introduction of captureScreenRoboImage() Function:
This function executes screenshot tests that include dialogs on the screen, offering an alternative to the conventional use of Espresso's ViewInteraction or Compose Test's SemanticsNodeInteraction captureRoboImage(). Thank you, @nelletto, for bringing this issue with dialog screenshots to our attention.
RoborazziTaskType Property:
I developed Roborazzi to facilitate layout viewing during UI tests, addressing the limitations in Robolectric's layout visibility. Initially, Roborazzi couldn't support just viewing layouts during the verification task (roborazziVerifyDebug). Hence, I've introduced a feature allowing task type alteration during test executions.
Adjustments for Upcoming Robolectric Shadow Rendering Support:
While Robolectric is in the process of introducing technical support for shadow rendering, Roborazzi is adapting its screenshot capture method accordingly. We're shifting towards using the PixelCopy class more extensively instead of relying solely on the View draw method. If you notice any issues with this change, please report them to us. Thank you, @sergio-sastre, for highlighting the advantages of using PixelCopy.
Bug Fixes
Fixed Potential Memory Leak:
Addressed a memory leak issue occurring when using compose captureRoboImage{} multiple times within a single test. (Thanks for reporting this @vetoketju )
Resolved File Path Duplication:
Corrected an issue where not specifying a file path with relativePathFromRoborazziContextOutputDirectory resulted in duplicated file paths, like build/output/roborazzi/build/output/roborazzi/xxxx.png.
Fixed a bug in window ordering for screenshots: Windows are now accurately layered by type for more reliable and consistent screenshot results.
Fixed the issue where captureScreenRoboImage() failed to capture Material3 Compose dialogs and bottom sheets.
@marianeum Thank you for reporting this issue!
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps
takahirom-roborazzi
from 1.8.0 to 1.9.0. Updatesio.github.takahirom.roborazzi:roborazzi
from 1.8.0 to 1.9.0Release notes
Sourced from io.github.takahirom.roborazzi:roborazzi's releases.
... (truncated)
Commits
89c2286
1.9.0a70c066
Merge pull request #249 from takahirom/takahirom/pass-default-output-dir-from...604af99
Add ExperimentalRoborazziApi2abaa6e
Fix function name56f08c8
Fix test039ded2
Add provider to avoid using project38c727f
Fix relative path problemac9f71f
Restore removed test07b3a07
Pass default output dir from Gradle33ebe87
Merge pull request #241 from GisoBartels/compose-test-rule-interfaceUpdates
io.github.takahirom.roborazzi
from 1.8.0 to 1.9.0Release notes
Sourced from io.github.takahirom.roborazzi's releases.
... (truncated)
Commits
89c2286
1.9.0a70c066
Merge pull request #249 from takahirom/takahirom/pass-default-output-dir-from...604af99
Add ExperimentalRoborazziApi2abaa6e
Fix function name56f08c8
Fix test039ded2
Add provider to avoid using project38c727f
Fix relative path problemac9f71f
Restore removed test07b3a07
Pass default output dir from Gradle33ebe87
Merge pull request #241 from GisoBartels/compose-test-rule-interfaceDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show