[!WARNING]
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
cashapp/paparazzi (app.cash.paparazzi)
### [`v1.3.3`](https://togithub.com/cashapp/paparazzi/blob/HEAD/CHANGELOG.md#133---2024-03-01)
[Compare Source](https://togithub.com/cashapp/paparazzi/compare/1.3.2...1.3.3)
##### New
- Migrate Paparazzi to layoutlib Hedgehog 2023.1.1
- Compose 1.5.8
- Kotlin 1.9.22
- \[Gradle Plugin] Gradle 8.6
- \[Gradle Plugin] Android Gradle Plugin 8.2.1
##### Fixed
- Update the DeviceConfig screenWidth internally for accessibility tests
- Fix variant caching issues in new resource/asset loading mechanisms
- Remove legacy resources/assets loading mechanism
- Set HardwareConfig width and height based on orientation
- Apply round screen qualifier to device config
- Restrict Paparazzi's public API
- Remove obsolete NEXUS\_5\_LAND DeviceConfig
- Fix formatting so that all digits show upon failure
- Stop resolving dependencies at configuration time
- Use our own internal HandlerDispatcher for Compose Ui tests
- Include generated string resources
- Reset logger to prevent swallowing exceptions
Kudos to [@gamepro65](https://togithub.com/gamepro65), [@kevinzheng-ap](https://togithub.com/kevinzheng-ap), [@BrianGardnerAtl](https://togithub.com/BrianGardnerAtl), [@adamalyyan](https://togithub.com/adamalyyan), and others for contributions this release!
### [`v1.3.2`](https://togithub.com/cashapp/paparazzi/blob/HEAD/CHANGELOG.md#132---2024-01-13)
[Compare Source](https://togithub.com/cashapp/paparazzi/compare/1.3.1...1.3.2)
##### NOTE: Due to a known issue with [how Guava now publishes its artifact](https://togithub.com/google/guava/issues/6567), you will need to apply the following snippet workaround to your root build.gradle:
subprojects {
plugins.withId("app.cash.paparazzi") {
// Defer until afterEvaluate so that testImplementation is created by Android plugin.
afterEvaluate {
dependencies.constraints {
add("testImplementation", "com.google.guava:guava") {
attributes {
attribute(
TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE,
objects.named(TargetJvmEnvironment, TargetJvmEnvironment.STANDARD_JVM)
)
}
because("LayoutLib and sdk-common depend on Guava's -jre published variant." +
"See https://github.com/cashapp/paparazzi/issues/906.")
}
}
}
}
}
See also: [https://github.com/google/guava/issues/6801](https://togithub.com/google/guava/issues/6801).
##### New
- Support for pseudolocalization tests! To get started:
```agsl
@RunWith(TestParameterInjector::class)
class PseudolocalizationTest(
@TestParameter locale: Locale
) {
@get:Rule val paparazzi = Paparazzi(
deviceConfig = DeviceConfig.PIXEL_5.copy(locale = locale.tag)
)
@Test fun test() {
paparazzi.snapshot { SomeComposable() }
}
enum class Locale(val tag: String?) {
Default(null),
Accent("en-rXA"),
Bidi("ar-rXB")
}
}
```
- Migrate Paparazzi to layoutlib Giraffe 2022.3.1
- Compose 1.5.0
- Kotlin 1.9.0
- \[Gradle Plugin] Gradle 8.5
- \[Gradle Plugin] Android Gradle Plugin 8.1.1
##### Fixed
- Fix relativePath bug in port of ResourceFile
- Resolve report dir from ReportingExtension instead of hardcoding
- Make report folder variant-aware
- Remove reliance on kotlinx.coroutines.main.delay
- Use a class file locator that queries the system class loader
- Filter out unrecognized java-symbol tag warning
- Skip synthetic fields in R classes
- Update task inputs for resources and assets to account for file renames and moves
- Update delta images to support showing diff when width and height differ
Kudos to [@kevinzheng-ap](https://togithub.com/kevinzheng-ap), [@TWiStErRob](https://togithub.com/TWiStErRob), [@gamepro65](https://togithub.com/gamepro65), [@adamalyyan](https://togithub.com/adamalyyan), [@larryng](https://togithub.com/larryng), and others for contributions this release!
Configuration
š Schedule: Branch creation - "on friday" in timezone Asia/Tokyo, 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 this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.3.1
->1.3.3
Release Notes
cashapp/paparazzi (app.cash.paparazzi)
### [`v1.3.3`](https://togithub.com/cashapp/paparazzi/blob/HEAD/CHANGELOG.md#133---2024-03-01) [Compare Source](https://togithub.com/cashapp/paparazzi/compare/1.3.2...1.3.3) ##### New - Migrate Paparazzi to layoutlib Hedgehog 2023.1.1 - Compose 1.5.8 - Kotlin 1.9.22 - \[Gradle Plugin] Gradle 8.6 - \[Gradle Plugin] Android Gradle Plugin 8.2.1 ##### Fixed - Update the DeviceConfig screenWidth internally for accessibility tests - Fix variant caching issues in new resource/asset loading mechanisms - Remove legacy resources/assets loading mechanism - Set HardwareConfig width and height based on orientation - Apply round screen qualifier to device config - Restrict Paparazzi's public API - Remove obsolete NEXUS\_5\_LAND DeviceConfig - Fix formatting so that all digits show upon failure - Stop resolving dependencies at configuration time - Use our own internal HandlerDispatcher for Compose Ui tests - Include generated string resources - Reset logger to prevent swallowing exceptions Kudos to [@gamepro65](https://togithub.com/gamepro65), [@kevinzheng-ap](https://togithub.com/kevinzheng-ap), [@BrianGardnerAtl](https://togithub.com/BrianGardnerAtl), [@adamalyyan](https://togithub.com/adamalyyan), and others for contributions this release! ### [`v1.3.2`](https://togithub.com/cashapp/paparazzi/blob/HEAD/CHANGELOG.md#132---2024-01-13) [Compare Source](https://togithub.com/cashapp/paparazzi/compare/1.3.1...1.3.2) ##### NOTE: Due to a known issue with [how Guava now publishes its artifact](https://togithub.com/google/guava/issues/6567), you will need to apply the following snippet workaround to your root build.gradle: subprojects { plugins.withId("app.cash.paparazzi") { // Defer until afterEvaluate so that testImplementation is created by Android plugin. afterEvaluate { dependencies.constraints { add("testImplementation", "com.google.guava:guava") { attributes { attribute( TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, objects.named(TargetJvmEnvironment, TargetJvmEnvironment.STANDARD_JVM) ) } because("LayoutLib and sdk-common depend on Guava's -jre published variant." + "See https://github.com/cashapp/paparazzi/issues/906.") } } } } } See also: [https://github.com/google/guava/issues/6801](https://togithub.com/google/guava/issues/6801). ##### New - Support for pseudolocalization tests! To get started: ```agsl @RunWith(TestParameterInjector::class) class PseudolocalizationTest( @TestParameter locale: Locale ) { @get:Rule val paparazzi = Paparazzi( deviceConfig = DeviceConfig.PIXEL_5.copy(locale = locale.tag) ) @Test fun test() { paparazzi.snapshot { SomeComposable() } } enum class Locale(val tag: String?) { Default(null), Accent("en-rXA"), Bidi("ar-rXB") } } ``` - Migrate Paparazzi to layoutlib Giraffe 2022.3.1 - Compose 1.5.0 - Kotlin 1.9.0 - \[Gradle Plugin] Gradle 8.5 - \[Gradle Plugin] Android Gradle Plugin 8.1.1 ##### Fixed - Fix relativePath bug in port of ResourceFile - Resolve report dir from ReportingExtension instead of hardcoding - Make report folder variant-aware - Remove reliance on kotlinx.coroutines.main.delay - Use a class file locator that queries the system class loader - Filter out unrecognized java-symbol tag warning - Skip synthetic fields in R classes - Update task inputs for resources and assets to account for file renames and moves - Update delta images to support showing diff when width and height differ Kudos to [@kevinzheng-ap](https://togithub.com/kevinzheng-ap), [@TWiStErRob](https://togithub.com/TWiStErRob), [@gamepro65](https://togithub.com/gamepro65), [@adamalyyan](https://togithub.com/adamalyyan), [@larryng](https://togithub.com/larryng), and others for contributions this release!Configuration
š Schedule: Branch creation - "on friday" in timezone Asia/Tokyo, 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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.