-
Notifications
You must be signed in to change notification settings - Fork 18
Commit 8b880e1
authored
Update roborazzi to v1.39.0 (#296)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://redirect.github.com/takahirom/roborazzi)
| `1.34.0` -> `1.39.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://redirect.github.com/takahirom/roborazzi)
| `1.34.0` -> `1.39.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://redirect.github.com/takahirom/roborazzi)
| `1.34.0` -> `1.39.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi](https://redirect.github.com/takahirom/roborazzi)
| `1.34.0` -> `1.39.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>
###
[`v1.39.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.39.0)
[Compare
Source](https://redirect.github.com/takahirom/roborazzi/compare/1.38.0...1.39.0)
##### Bug Fixes
##### Diff screenshots are now as large as the largest of the two
compared screenshots
Previously, when the size of a screenshot changed (e.g., became
smaller), the image diff would not appear because it was based on the
minimum size of each screenshot. This has been fixed so that the diff is
now based on the largest of the two compared screenshots. Thank you for
reporting this issue,
[@​outadoc](https://redirect.github.com/outadoc)!
##### Report HTML's image order is now deterministic
The image order in the HTML report used to be random. Thanks to
[@​mannodermaus](https://redirect.github.com/mannodermaus), it is
now sorted by name.
##### OpenAiAiAssertionModel is now Gemini compatible
Gemini has a compatibility mode with the OpenAI API
(https://ai.google.dev/gemini-api/docs/openai). By using
`https://generativelanguage.googleapis.com/v1beta/openai/` as the base
URL, we can essentially use Gemini. However, some properties are
different, so we had to modify the OpenAiAiAssertionModel to be
compatible with Gemini.
I'm currently developing another library called Arbigent, an AI agent
testing framework. I'm planning to add an AI image assertion feature
using [Roborazzi's AI-Powered Image
Assertion](https://takahirom.github.io/roborazzi/ai-powered-image-assertion.html),
and I needed this compatibility for that. This isn't directly related to
this project, but if you're interested in testing, check it out:
https://github.com/takahirom/arbigent
##### What's Changed
- \[No library update for users] Update dependency
androidx.compose.ui:ui-test to v1.7.6 by
[@​renovate](https://redirect.github.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/596](https://redirect.github.com/takahirom/roborazzi/pull/596)
- \[No library update for users] Update
JetBrains/writerside-github-action digest to
[`b96c8e6`](https://redirect.github.com/takahirom/roborazzi/commit/b96c8e6)
by [@​renovate](https://redirect.github.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/561](https://redirect.github.com/takahirom/roborazzi/pull/561)
- Sort capture results to achieve deterministic order in HTML report by
[@​mannodermaus](https://redirect.github.com/mannodermaus) in
[https://github.com/takahirom/roborazzi/pull/622](https://redirect.github.com/takahirom/roborazzi/pull/622)
- Refactor buildContextData by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/624](https://redirect.github.com/takahirom/roborazzi/pull/624)
- Show diff when size changed by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/625](https://redirect.github.com/takahirom/roborazzi/pull/625)
- Make OpenAiAiAssertionModel gemini API compatible by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/626](https://redirect.github.com/takahirom/roborazzi/pull/626)
**Full Changelog**:
takahirom/roborazzi@1.38.0...1.39.0
###
[`v1.38.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.38.0)
[Compare
Source](https://redirect.github.com/takahirom/roborazzi/compare/1.37.0...1.38.0)
##### Bugfix
##### Fix: Bug preventing the revival of deleted screenshot images
Thanks to
[@​pedromfmachado](https://redirect.github.com/pedromfmachado)'s
contribution, we've addressed a bug where deleted screenshot test images
would be erroneously revived. Previously, when screenshot tests were
removed and their corresponding images deleted from the output
directory, running the `record` task again would cause the Roborazzi
Gradle task to recreate the removed images. While this could be
temporarily resolved with `roborazzi.cleanupOldScreenshots=true`, that
approach was undesirable as it would also remove images when test
filters were used. This was a complex issue to solve, and we extend our
gratitude to
[@​pedromfmachado](https://redirect.github.com/pedromfmachado) for
the fix.
##### Fix: Made screenshot dump deterministic
We have a dump feature that allows us to check the properties or
hierarchy of views or composables in an image. We sorted the properties
to ensure a deterministic output. Thanks to
[@​siarhei-luskanau](https://redirect.github.com/siarhei-luskanau) for
this contribution.
##### New Feature
##### Feature: Added `RoborazziComposeActivityThemeOption`
Previously, changing the theme of `RoborazziTransparentActivity` was not
possible. We have now deprecated `RoborazziTransparentActivity` and
renamed it to `RoborazziActivity`. Additionally, we added
`RoborazziComposeActivityThemeOption` to enable changing the Activity's
theme. Thank you again,
[@​pedromfmachado](https://redirect.github.com/pedromfmachado),
for this feature.
You can now change the Activity theme like this:
```kotlin
@​OptIn(ExperimentalRoborazziApi::class)
@​Test
fun whenNonTransparentThemeItShouldHaveNonTransparentBackground() {
captureRoboImage(
roborazziComposeOptions = RoborazziComposeOptions {
activityTheme(android.R.style.Theme_Material_Light)
}
) {
Text("This composable function should NOT have transparent background!")
}
}
```
##### What's Changed
- Sort key order of ComposePrintToString to stabilize output in Dump
screenshots. by
[@​siarhei-luskanau](https://redirect.github.com/siarhei-luskanau)
in
[https://github.com/takahirom/roborazzi/pull/611](https://redirect.github.com/takahirom/roborazzi/pull/611)
- Added RoborazziComposeActivityThemeOption by
[@​pedromfmachado](https://redirect.github.com/pedromfmachado) in
[https://github.com/takahirom/roborazzi/pull/612](https://redirect.github.com/takahirom/roborazzi/pull/612)
- \[Code Style] Add JetCodeStyleSettings to codestyle setting by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/614](https://redirect.github.com/takahirom/roborazzi/pull/614)
- Removing files from intermediate dir to prevent old screenshots from
reappearing by
[@​pedromfmachado](https://redirect.github.com/pedromfmachado) in
[https://github.com/takahirom/roborazzi/pull/616](https://redirect.github.com/takahirom/roborazzi/pull/616)
- Rename theme() to activityTheme() by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/617](https://redirect.github.com/takahirom/roborazzi/pull/617)
##### New Contributors
- [@​pedromfmachado](https://redirect.github.com/pedromfmachado)
made their first contribution in
[https://github.com/takahirom/roborazzi/pull/612](https://redirect.github.com/takahirom/roborazzi/pull/612)
**Full Changelog**:
takahirom/roborazzi@1.37.0...1.38.0
###
[`v1.37.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.37.0)
[Compare
Source](https://redirect.github.com/takahirom/roborazzi/compare/1.36.0...1.37.0)
##### Bug Fixes and Workarounds
##### Compose AlertDialog Support
Support for capturing Alert Dialogs has been fixed, ensuring correct
screenshot display. `captureScreenRoboImage()`, which merges all
windows, is now used only when multiple windows are present. Thanks to
[@​ashughes](https://redirect.github.com/ashughes) for reporting
this and to [@​mhidaka](https://redirect.github.com/mhidaka) and
[@​hiroaki404](https://redirect.github.com/hiroaki404) for
bringing it to my attention at a Japan Android testing event.
<img width="366" alt="image"
src="https://github.com/user-attachments/assets/e339de2e-ea28-44e8-9946-a24fa22a5286"
/>
##### Workaround for Overlap Handling for SDK 35 Compose Screenshots
##### Problem
When updating to SDK 35 and using the default theme, the ActionBar is
included in screenshots, leading to overlap when using
`createComposeRule()`. This occurs because `createComposeRule()` uses
the default theme by default. Thank you for letting me know about this,
[@​keyboardsurfer](https://redirect.github.com/keyboardsurfer)!
<img width=400
src=https://github.com/user-attachments/assets/ba5f29ae-24bb-48f9-aa27-f335f80b784f
/>
I have filed an issue for this:
https://issuetracker.google.com/issues/383368165
##### Why this happens
SDK 35 enforces edge-to-edge display, which means it **does not provide
automatic padding for the ActionBar**.
##### How Roborazzi currently workarounds this
Roborazzi now automatically hides the ActionBar when taking screenshots
on SDK 35 and higher. This functions similarly to
`view.getActivity()?.actionBar?.hide()`. However, this workaround may
cause performance issues and should not be relied upon. Roborazzi
outputs warning logs with alternative suggestions. Thank you to
[@​sergio-sastre](https://redirect.github.com/sergio-sastre) for
advising on this workaround!
**If you need to include the ActionBar in screenshots,** Roborazzi
provides a flag, `roborazzi.compose.actionbar.overlap.fix=false`, that
can be added to your `gradle.properties` file.
##### What should we do?
A permanent solution will likely require changes from Google. In the
meantime, adding `<application
android:theme="@​style/android:Theme.Material.Light.NoActionBar"
/>` to the module's `src/test/AndroidManifest.xml` file changes the
Activity's default theme and resolves the issue. Thank you to
[@​mattinger](https://redirect.github.com/mattinger) for finding
this!
[https://github.com/takahirom/roborazzi/issues/598#issuecomment-2533372700](https://redirect.github.com/takahirom/roborazzi/issues/598#issuecomment-2533372700)
##### Stabilized Output for Dump Screenshots
Thanks to
[@​siarhei-luskanau](https://redirect.github.com/siarhei-luskanau)
for contributing an improvement that reduces unnecessary diffs for the
Roborazzi dump feature.
##### New Features
##### Add `inspectionMode()` for Compose Previews
Thanks to
[@​YusukeMoriJapan](https://redirect.github.com/YusukeMoriJapan)'s
contribution, `inspectionMode()` is now available in
`RoborazziComposeOptions`. This is particularly useful when working with
libraries that have specific preview implementations. This mode is off
by default to maintain high fidelity.
Here's how to enable it:
```kotlin
captureRoboImage(
roborazziComposeOptions = RoborazziComposeOptions {
inspectionMode(true)
}
) {
...
}
```
***
##### What's Changed
- Fix document build by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/597](https://redirect.github.com/takahirom/roborazzi/pull/597)
- Sort units and actions of ComposePrintToString to stabilize output in
Dump screenshots. by
[@​siarhei-luskanau](https://redirect.github.com/siarhei-luskanau)
in
[https://github.com/takahirom/roborazzi/pull/600](https://redirect.github.com/takahirom/roborazzi/pull/600)
- Update API version for sample by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/601](https://redirect.github.com/takahirom/roborazzi/pull/601)
- add localInspectionMode property to RoborazziComposeOptions by
[@​YusukeMoriJapan](https://redirect.github.com/YusukeMoriJapan)
in
[https://github.com/takahirom/roborazzi/pull/588](https://redirect.github.com/takahirom/roborazzi/pull/588)
- \[Refactor] Separate compose lambda test by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/606](https://redirect.github.com/takahirom/roborazzi/pull/606)
- Add elevation for PreviewNormal preview test by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/608](https://redirect.github.com/takahirom/roborazzi/pull/608)
- Fix alert dialog support by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/555](https://redirect.github.com/takahirom/roborazzi/pull/555)
- Add default theme test by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/603](https://redirect.github.com/takahirom/roborazzi/pull/603)
- Revert compileSdk and targetSdk for library by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/609](https://redirect.github.com/takahirom/roborazzi/pull/609)
- Add overlap workaround by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/604](https://redirect.github.com/takahirom/roborazzi/pull/604)
##### New Contributors
-
[@​siarhei-luskanau](https://redirect.github.com/siarhei-luskanau)
made their first contribution in
[https://github.com/takahirom/roborazzi/pull/600](https://redirect.github.com/takahirom/roborazzi/pull/600)
**Full Changelog**:
takahirom/roborazzi@1.36.0...1.37.0
###
[`v1.36.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.36.0)
[Compare
Source](https://redirect.github.com/takahirom/roborazzi/compare/1.35.0...1.36.0)
##### Behavior Changes to `roborazzi.outputDir.set(file("somedir"))` in
`build.gradle`
Previously, when modifying `roborazzi.outputDir`, such as setting it to
`src/screenshots`, this option also affected the paths for comparison
images, like `foo_compare.png`. This behavior often caused issues, such
as unintentionally saving comparison images to version control systems
(e.g., Git). To address this, we have discontinued this behavior.
Comparison images are now saved in `build/outputs/roborazzi` by default,
while the behavior for reference images remains unchanged.
For users who wish to customize the path for comparison images, we have
introduced a new option: `roborazzi.compare.outputDir`.
While I don't believe there are strong use cases for this, if you want
to save the comparison images in a custom directory as you did before,
you can specify `roborazzi.compare.outputDir` as follows:
```kotlin
roborazzi {
outputDir.set(file("src/screenshots"))
compare {
outputDir.set(file("src/screenshots"))
}
}
```
I believe this adjustment will be highly beneficial for most use cases
involving changes to `outputDir`.
> \[!NOTE]
> By default, when you use `captureRoboImage("image.png")`, the image
will be saved as `module/image.png`.\
> You can customize the file path strategy for the recorded image. The
default strategy is `relativePathFromCurrentDirectory`. If you select
`relativePathFromRoborazziContextOutputDirectory`, the file will be
saved in the output directory specified by `roborazzi.outputDir`.\
> This can be configured in your `gradle.properties` file:
>
> ```properties
>
roborazzi.record.filePathStrategy=relativePathFromRoborazziContextOutputDirectory
> ```
##### What's Changed
- \[Not library dependency update for users] Update dependency
org.robolectric:robolectric to v4.14.1 by
[@​renovate](https://redirect.github.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/583](https://redirect.github.com/takahirom/roborazzi/pull/583)
- Add roborazzi.compare.output.dir gradle.properties by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/592](https://redirect.github.com/takahirom/roborazzi/pull/592)
- Add README section of outputDir by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/593](https://redirect.github.com/takahirom/roborazzi/pull/593)
- Fix documentation README tag problem by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/594](https://redirect.github.com/takahirom/roborazzi/pull/594)
**Full Changelog**:
takahirom/roborazzi@1.35.0...1.36.0
###
[`v1.35.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.35.0)
[Compare
Source](https://redirect.github.com/takahirom/roborazzi/compare/1.34.0...1.35.0)
##### Add support for heightDp, widthDp, showBackground, and
backgroundColor of Compose Preview parameters
We have introduced [**Experimental Compose Preview Support in
1.22.0**](https://takahirom.github.io/roborazzi/preview-support.html),
but it does not yet support all parameters of the `@Preview` annotation.
Thanks to
[@​sergio-sastre](https://redirect.github.com/sergio-sastre) 's
pull request, the Experimental Compose Preview Support now includes
support for heightDp, widthDp, showBackground, and backgroundColor.
##### Introduce RoborazziComposeOptions
To accommodate the changes in preview parameters, we’ve made the API
more flexible.
We’ve added the `RoborazziComposeOptions` parameter to
`ComposablePreview<AndroidPreviewInfo>.captureRoboImage()` and the
composable function version, `captureRoboImage{}`. Previously, the API
was limited; for example, you couldn’t access the ActivityScenario or
the composable function directly. Now, you have full control over these
components. Thank you for your code review
[@​sergio-sastre](https://redirect.github.com/sergio-sastre)
Here’s an example of a custom option:
```kotlin
captureRoboImage(
roborazziComposeOptions = RoborazziComposeOptions {
// We have several options to configure the test environment.
fontScale(2f)
// We can also configure the activity scenario and the composable content.
addOption(
object : RoborazziComposeComposableOption,
RoborazziComposeActivityScenarioOption {
override fun configureWithActivityScenario(scenario: ActivityScenario<out Activity>) {
scenario.onActivity {
it.window.decorView.setBackgroundColor(Color.BLUE)
}
}
override fun configureWithComposable(content: @​Composable () -> Unit): @​Composable () -> Unit {
return {
Box(Modifier
.padding(10.dp)
.background(color = androidx.compose.ui.graphics.Color.Red)
.padding(10.dp)
) {
content()
}
}
}
}
)
},
) {
Text("Hello Compose!")
}
```

##### Breaking Change: `fun
ComposablePreview<AndroidPreviewInfo>.applyToRobolectricConfiguration()`
is now deprecated and marked as an error
As part of our updates to how composables are configured, the
`applyToRobolectricConfiguration()` function is now deprecated and
marked as an error. Instead, you can use one of the following
alternatives:
- `previewInfo.toRoborazziComposeOptions().apply(scenario,
composeContent)`
-
`ComposablePreview<AndroidPreviewInfo>.captureRoboImage(roborazziComposeOptions)`
We believe this feature is not widely used, and the migration should be
straightforward. However, if you encounter any issues, please don’t
hesitate to reach out.
##### Breaking Change: Composable `captureRoboImage{}` Behavior Change
We intended to use a transparent background for the Compose
`captureRoboImage` function, but it was not applied due to Robolectric's
resource merging mechanism. We have fixed this behavior; however, this
change will result in altered screenshots. You can now specify the
background in the new `RoborazziComposeOptions` as we had previously.
```kotlin
@​Test
fun captureComposeLambdaImage() {
captureRoboImage(
roborazziComposeOptions = RoborazziComposeOptions {
background(
showBackground = true
)
}
) {
Text("Hello Compose!")
}
}
```
##### What's Changed
- \[Not Library dependency Update] Update dependency
androidx.compose.runtime:runtime to v1.7.5 by
[@​renovate](https://redirect.github.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/548](https://redirect.github.com/takahirom/roborazzi/pull/548)
- Add .gitignore by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/578](https://redirect.github.com/takahirom/roborazzi/pull/578)
- Refactor Add support for heightDp, widthDp, showBackground,
backgroundColor by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/577](https://redirect.github.com/takahirom/roborazzi/pull/577)
- Add support for heightDp, widthDp, showBackground, backgroundColor by
[@​sergio-sastre](https://redirect.github.com/sergio-sastre) in
[https://github.com/takahirom/roborazzi/pull/576](https://redirect.github.com/takahirom/roborazzi/pull/576)
- Rename Applier to Config by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/579](https://redirect.github.com/takahirom/roborazzi/pull/579)
- Refactor naming by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/582](https://redirect.github.com/takahirom/roborazzi/pull/582)
- Add Assertion for minus or zero fontScale by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/584](https://redirect.github.com/takahirom/roborazzi/pull/584)
- Add a deprecated method of
ComposablePreview<AndroidPreviewInfo>.applyToRobolectricConfiguration()
as it was a ExperimentalApi by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/585](https://redirect.github.com/takahirom/roborazzi/pull/585)
- Adjustment for compose preview config by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/586](https://redirect.github.com/takahirom/roborazzi/pull/586)
- Refactor RoborazziComposeConfigBuilder by
[@​takahirom](https://redirect.github.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/590](https://redirect.github.com/takahirom/roborazzi/pull/590)
**Full Changelog**:
takahirom/roborazzi@1.34.0...1.35.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/EmergeTools/hackernews).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 4234325 commit 8b880e1Copy full SHA for 8b880e1
1 file changed
+1
-1
lines changedandroid/gradle/libs.versions.toml
Copy file name to clipboardExpand all lines: android/gradle/libs.versions.toml+1-1
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
9 |
| - | |
| 9 | + | |
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
|
0 commit comments