Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 7, 2026

By approving this PR, you are confirming that you have adequately and effectively reviewed this change.

Searchable Hashes
  • 76a18703ed39c3827b9d1b803a6076b8
  • d15af31f7f550de9af52114de7c94f4a
  • 97e8c25f97f22f7a9512e78cc2c58d64
  • 9c3cc2f1f78d330b43888a68116dd42c
  • 928d068eae121c98dceaf63b347a42eb
  • 2352676cf21aa85814f7065b64eae971
  • a128161503456b9be126d7136723ec84
  • d4342784689874fcdd6b68dc17f3265d

The above information was added by dependabot-augmentor.

Bumps roborazzi from 1.54.0 to 1.55.0.
Updates io.github.takahirom.roborazzi:roborazzi-gradle-plugin from 1.54.0 to 1.55.0

Release notes

Sourced from io.github.takahirom.roborazzi:roborazzi-gradle-plugin's releases.

1.55.0

Bugfix: Fix WebP ClassCastException

What happened

  • Robolectric runs inside a custom class loader named SdkSandboxClassLoader.
  • Roborazzi's WebP support relies on ImageIO.getImageWritersByMIMEType, which internally caches writers in a static field. When the writer is first created, the code is executed by SdkSandboxClassLoader1.
  • Subsequently, when another test runs with a different SDK (e.g., 35), a second SdkSandboxClassLoader (SdkSandboxClassLoader2) is spawned. Because ImageIO's cached instance was loaded by a different class loader, attempting to cast it triggers a ClassCastException.

class com.luciad.imageio.webp.WebPWriteParam cannot be cast to class com.luciad.imageio.webp.WebPWriteParam (com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​1dbb650b; com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​3e48e859)

What we did

We leveraged reflection to force ImageIO.getImageWritersByMIMEType to use the System ClassLoader, thereby guaranteeing that the same class definition is shared irrespective of the current SdkSandboxClassLoader. Many thanks to @​eygraber for reporting this bug!

What's Changed

Full Changelog: takahirom/roborazzi@1.54.0...1.55.0

Commits
  • f904f6f Update VERSION_NAME to 1.55.0
  • 956c5dd Merge pull request #774 from takahirom/tm/fix-771-webp-classloader
  • a00d448 Bump Roborazzi idea plugin from 1.9.0 to 1.10.0
  • 17e14e0 Merge pull request #775 from takahirom/fix/intellij-plugin-crossplatform-path
  • e135358 Add boundary checks for iterator and compressionTypes in WebP writer
  • f9f11da Use File constructor for cross-platform path in IntelliJ plugin
  • a6d523b Merge branch 'main' into tm/fix-771-webp-classloader
  • 4bd6adf Fix WebP ClassCastException with multiple SDK configs
  • d919747 Add test reproducing issue #771 multi-SDK WebP ClassCastException
  • See full diff in compare view

Updates io.github.takahirom.roborazzi:roborazzi from 1.54.0 to 1.55.0

Release notes

Sourced from io.github.takahirom.roborazzi:roborazzi's releases.

1.55.0

Bugfix: Fix WebP ClassCastException

What happened

  • Robolectric runs inside a custom class loader named SdkSandboxClassLoader.
  • Roborazzi's WebP support relies on ImageIO.getImageWritersByMIMEType, which internally caches writers in a static field. When the writer is first created, the code is executed by SdkSandboxClassLoader1.
  • Subsequently, when another test runs with a different SDK (e.g., 35), a second SdkSandboxClassLoader (SdkSandboxClassLoader2) is spawned. Because ImageIO's cached instance was loaded by a different class loader, attempting to cast it triggers a ClassCastException.

class com.luciad.imageio.webp.WebPWriteParam cannot be cast to class com.luciad.imageio.webp.WebPWriteParam (com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​1dbb650b; com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​3e48e859)

What we did

We leveraged reflection to force ImageIO.getImageWritersByMIMEType to use the System ClassLoader, thereby guaranteeing that the same class definition is shared irrespective of the current SdkSandboxClassLoader. Many thanks to @​eygraber for reporting this bug!

What's Changed

Full Changelog: takahirom/roborazzi@1.54.0...1.55.0

Commits
  • f904f6f Update VERSION_NAME to 1.55.0
  • 956c5dd Merge pull request #774 from takahirom/tm/fix-771-webp-classloader
  • a00d448 Bump Roborazzi idea plugin from 1.9.0 to 1.10.0
  • 17e14e0 Merge pull request #775 from takahirom/fix/intellij-plugin-crossplatform-path
  • e135358 Add boundary checks for iterator and compressionTypes in WebP writer
  • f9f11da Use File constructor for cross-platform path in IntelliJ plugin
  • a6d523b Merge branch 'main' into tm/fix-771-webp-classloader
  • 4bd6adf Fix WebP ClassCastException with multiple SDK configs
  • d919747 Add test reproducing issue #771 multi-SDK WebP ClassCastException
  • See full diff in compare view

Updates io.github.takahirom.roborazzi:roborazzi-compose from 1.54.0 to 1.55.0

Release notes

Sourced from io.github.takahirom.roborazzi:roborazzi-compose's releases.

1.55.0

Bugfix: Fix WebP ClassCastException

What happened

  • Robolectric runs inside a custom class loader named SdkSandboxClassLoader.
  • Roborazzi's WebP support relies on ImageIO.getImageWritersByMIMEType, which internally caches writers in a static field. When the writer is first created, the code is executed by SdkSandboxClassLoader1.
  • Subsequently, when another test runs with a different SDK (e.g., 35), a second SdkSandboxClassLoader (SdkSandboxClassLoader2) is spawned. Because ImageIO's cached instance was loaded by a different class loader, attempting to cast it triggers a ClassCastException.

class com.luciad.imageio.webp.WebPWriteParam cannot be cast to class com.luciad.imageio.webp.WebPWriteParam (com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​1dbb650b; com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​3e48e859)

What we did

We leveraged reflection to force ImageIO.getImageWritersByMIMEType to use the System ClassLoader, thereby guaranteeing that the same class definition is shared irrespective of the current SdkSandboxClassLoader. Many thanks to @​eygraber for reporting this bug!

What's Changed

Full Changelog: takahirom/roborazzi@1.54.0...1.55.0

Commits
  • f904f6f Update VERSION_NAME to 1.55.0
  • 956c5dd Merge pull request #774 from takahirom/tm/fix-771-webp-classloader
  • a00d448 Bump Roborazzi idea plugin from 1.9.0 to 1.10.0
  • 17e14e0 Merge pull request #775 from takahirom/fix/intellij-plugin-crossplatform-path
  • e135358 Add boundary checks for iterator and compressionTypes in WebP writer
  • f9f11da Use File constructor for cross-platform path in IntelliJ plugin
  • a6d523b Merge branch 'main' into tm/fix-771-webp-classloader
  • 4bd6adf Fix WebP ClassCastException with multiple SDK configs
  • d919747 Add test reproducing issue #771 multi-SDK WebP ClassCastException
  • See full diff in compare view

Updates io.github.takahirom.roborazzi:roborazzi-junit-rule from 1.54.0 to 1.55.0

Release notes

Sourced from io.github.takahirom.roborazzi:roborazzi-junit-rule's releases.

1.55.0

Bugfix: Fix WebP ClassCastException

What happened

  • Robolectric runs inside a custom class loader named SdkSandboxClassLoader.
  • Roborazzi's WebP support relies on ImageIO.getImageWritersByMIMEType, which internally caches writers in a static field. When the writer is first created, the code is executed by SdkSandboxClassLoader1.
  • Subsequently, when another test runs with a different SDK (e.g., 35), a second SdkSandboxClassLoader (SdkSandboxClassLoader2) is spawned. Because ImageIO's cached instance was loaded by a different class loader, attempting to cast it triggers a ClassCastException.

class com.luciad.imageio.webp.WebPWriteParam cannot be cast to class com.luciad.imageio.webp.WebPWriteParam (com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​1dbb650b; com.luciad.imageio.webp.WebPWriteParam is in unnamed module of loader org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader @​3e48e859)

What we did

We leveraged reflection to force ImageIO.getImageWritersByMIMEType to use the System ClassLoader, thereby guaranteeing that the same class definition is shared irrespective of the current SdkSandboxClassLoader. Many thanks to @​eygraber for reporting this bug!

What's Changed

Full Changelog: takahirom/roborazzi@1.54.0...1.55.0

Commits
  • f904f6f Update VERSION_NAME to 1.55.0
  • 956c5dd Merge pull request #774 from takahirom/tm/fix-771-webp-classloader
  • a00d448 Bump Roborazzi idea plugin from 1.9.0 to 1.10.0
  • 17e14e0 Merge pull request #775 from takahirom/fix/intellij-plugin-crossplatform-path
  • e135358 Add boundary checks for iterator and compressionTypes in WebP writer
  • f9f11da Use File constructor for cross-platform path in IntelliJ plugin
  • a6d523b Merge branch 'main' into tm/fix-771-webp-classloader
  • 4bd6adf Fix WebP ClassCastException with multiple SDK configs
  • d919747 Add test reproducing issue #771 multi-SDK WebP ClassCastException
  • See full diff in compare view

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 <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps `roborazzi` from 1.54.0 to 1.55.0.

Updates `io.github.takahirom.roborazzi:roborazzi-gradle-plugin` from 1.54.0 to 1.55.0
- [Release notes](https://github.com/takahirom/roborazzi/releases)
- [Commits](takahirom/roborazzi@1.54.0...1.55.0)

Updates `io.github.takahirom.roborazzi:roborazzi` from 1.54.0 to 1.55.0
- [Release notes](https://github.com/takahirom/roborazzi/releases)
- [Commits](takahirom/roborazzi@1.54.0...1.55.0)

Updates `io.github.takahirom.roborazzi:roborazzi-compose` from 1.54.0 to 1.55.0
- [Release notes](https://github.com/takahirom/roborazzi/releases)
- [Commits](takahirom/roborazzi@1.54.0...1.55.0)

Updates `io.github.takahirom.roborazzi:roborazzi-junit-rule` from 1.54.0 to 1.55.0
- [Release notes](https://github.com/takahirom/roborazzi/releases)
- [Commits](takahirom/roborazzi@1.54.0...1.55.0)

---
updated-dependencies:
- dependency-name: io.github.takahirom.roborazzi:roborazzi-gradle-plugin
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.github.takahirom.roborazzi:roborazzi
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.github.takahirom.roborazzi:roborazzi-compose
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.github.takahirom.roborazzi:roborazzi-junit-rule
  dependency-version: 1.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code minor A new & backwards compatible feature/component labels Jan 7, 2026
Copilot AI review requested due to automatic review settings January 7, 2026 16:09
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code minor A new & backwards compatible feature/component labels Jan 7, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@skyscanner-backpack-bot skyscanner-backpack-bot bot removed the minor A new & backwards compatible feature/component label Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant