msasikanth / twine

Twine: A multiplatform RSS reader built using Kotlin and Compose
Apache License 2.0
1.78k stars 73 forks source link

Update coil to v3.0.0-SNAPSHOT #654

Closed renovate[bot] closed 4 months ago

renovate[bot] commented 4 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.coil-kt.coil3:coil-svg 3.0.0-alpha04 -> 3.0.0-SNAPSHOT age adoption passing confidence
io.coil-kt.coil3:coil-network-ktor 3.0.0-alpha04 -> 3.0.0-SNAPSHOT age adoption passing confidence
io.coil-kt.coil3:coil-compose 3.0.0-alpha04 -> 3.0.0-SNAPSHOT age adoption passing confidence

Release Notes

coil-kt/coil (io.coil-kt.coil3:coil-svg) ### [`v3.0.0-alpha09`](https://togithub.com/coil-kt/coil/blob/HEAD/CHANGELOG.md#300-alpha09---July-23-2024) [Compare Source](https://togithub.com/coil-kt/coil/compare/3.0.0-alpha08...3.0.0-alpha09) - **BREAKING**: Rename the `io.coil-kt.coil3:coil-network-ktor` artifact to `io.coil-kt.coil3:coil-network-ktor2` which depends on Ktor 2.x. Additionally, introduce `io.coil-kt.coil3:coil-network-ktor3` which depends on Ktor 3.x. `wasmJs` support is only available in Ktor 3.x. - **New**: Add `AsyncImagePainter.restart()` to manually restart an image request. - Remove `@ExperimentalCoilApi` from `NetworkClient` and related classes. - Optimize `ImageRequest` to avoid unnecessary `Extras` and `Map` allocations. ### [`v3.0.0-alpha08`](https://togithub.com/coil-kt/coil/blob/HEAD/CHANGELOG.md#300-alpha08---July-8-2024) [Compare Source](https://togithub.com/coil-kt/coil/compare/3.0.0-alpha07...3.0.0-alpha08) - **BREAKING**: Rename `ImageRequest` and `ImageLoader` `dispatcher` methods to `coroutineContext`. For instance, `ImageRequest.Builder.dispatcher` is now `ImageRequest.Builder.coroutineContext`. This was renamed as the method now accepts any `CoroutineContext` and no longer requires a `Dispatcher`. - Fix: Fix `IllegalStateException: Reading a state that was created after the snapshot was taken or in a snapshot that has not yet been applied` which could occur due to a race condition. - NOTE: This reintroduces a soft dependency on `Dispatchers.Main.immediate`. As a result you should re-add a dependency on [`kotlinx-coroutines-swing`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-swing/) on JVM. If it's not imported then `ImageRequest`s won't be dispatched immediately and will have one frame of delay before setting the `ImageRequest.placeholder` or resolving from the memory cache. ### [`v3.0.0-alpha07`](https://togithub.com/coil-kt/coil/blob/HEAD/CHANGELOG.md#300-alpha07---June-26-2024) [Compare Source](https://togithub.com/coil-kt/coil/compare/3.0.0-alpha06...3.0.0-alpha07) - **BREAKING**: `AsyncImagePainter` no longer waits for `onDraw` by default and instead uses `Size.ORIGINAL`. - This fixes [compatibility issues with Roborazzi/Paparazzi](https://togithub.com/coil-kt/coil/issues/1910) and overall improves test reliability. - To revert back to waiting for `onDraw`, set `DrawScopeSizeResolver` as your `ImageRequest.sizeResolver`. - **BREAKING**: Refactor the multiplatform `Image` API. Notably, `asCoilImage` has been renamed to `asImage`. - **BREAKING**: `AsyncImagePainter.state` has been changed to `StateFlow`. Use `collectAsState` to observe its value. This improves performance. - **BREAKING**: `AsyncImagePainter.imageLoader` and `AsyncImagePainter.request` have been combined into `StateFlow`. Use `collectAsState` to observe its value. This improves performance. - **BREAKING**: Remove support for `android.resource://example.package.name/drawable/image` URIs as it prevents resource shrinking optimizations. - If you still needs its functionality you can [manually include `ResourceUriMapper` in your component registry](https://togithub.com/coil-kt/coil/blob/main/coil-core/src/androidInstrumentedTest/kotlin/coil3/map/ResourceUriMapper.kt). - **New**: Introduce `AsyncImagePreviewHandler` to support controlling `AsyncImagePainter`'s preview rendering behavior. - Use `LocalAsyncImagePreviewHandler` to override the preview behavior. - As part of this change and other `coil-compose` improvements, `AsyncImagePainter` now attempts to execute execute the `ImageRequest` by default instead of defaulting to displaying `ImageRequest.placeholder`. [Requests that use the network or files are expected to fail](https://developer.android.com/develop/ui/compose/tooling/previews#preview-limitations) in the preview environment, however Android resources should work. - **New**: Support extracting video image by frame index. ([#​2183](https://togithub.com/coil-kt/coil/pull/2183)) - **New**: Support passing `CoroutineContext` to any `CoroutineDispatcher` methods. ([#​2241](https://togithub.com/coil-kt/coil/pull/2241)). - **New**: Support the weak reference memory cache on JS and WASM JS. - Don't dispatch to `Dispatchers.Main.immediate` in Compose. As a side-effect, [`kotlinx-coroutines-swing`](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-swing/) no longer needs to be imported on JVM. - Don't call `async` and create a disposable in Compose to improve performance (thanks [@​mlykotom](https://togithub.com/mlykotom)!). ([#​2205](https://togithub.com/coil-kt/coil/pull/2205)) - Fix passing global `ImageLoader` extras to `Options`. ([#​2223](https://togithub.com/coil-kt/coil/pull/2223)) - Fix `crossfade(false)` not working on non-Android targets. - Fix VP8X feature flags byte offset ([#​2199](https://togithub.com/coil-kt/coil/pull/2199)). - Convert `SvgDecoder` on non-Android targets to render to a bitmap instead of render the image at draw-time. This improves performance. - This behavior can be controlled using `SvgDecoder(renderToBitmap)`. - Move `ScaleDrawable` from `coil-gif` to `coil-core`. - Update Kotlin to 2.0.0. - Update Compose to 1.6.11. - Update Okio to 3.9.0. - Update Skiko to 0.8.4. - [For the full list of important changes in 3.x, check out the upgrade guide.](https://coil-kt.github.io/coil/upgrading_to_coil3/) ### [`v3.0.0-alpha06`](https://togithub.com/coil-kt/coil/blob/HEAD/CHANGELOG.md#300-alpha06---February-29-2024) [Compare Source](https://togithub.com/coil-kt/coil/compare/3.0.0-alpha05...3.0.0-alpha06) - Downgrade Skiko to 0.7.93. - [For the full list of important changes in 3.x, check out the upgrade guide.](https://coil-kt.github.io/coil/upgrading_to_coil3/) ### [`v3.0.0-alpha05`](https://togithub.com/coil-kt/coil/blob/HEAD/CHANGELOG.md#300-alpha05---February-28-2024) [Compare Source](https://togithub.com/coil-kt/coil/compare/3.0.0-alpha04...3.0.0-alpha05) - **New**: Support the `wasmJs` target. - Create `DrawablePainter` and `DrawableImage` to support drawing `Image`s that aren't backed by a `Bitmap` on non-Android platforms. - The `Image` APIs are experimental and likely to change between alpha releases. - Update `ContentPainterModifier` to implement `Modifier.Node`. - Fix: Lazily register component callbacks and the network observer on a background thread. This fixes slow initialization that would typically occur on the main thread. - Fix: Fix `ImageLoader.Builder.placeholder/error/fallback` not being used by `ImageRequest`. - Update Compose to 1.6.0. - Update Coroutines to 1.8.0. - Update Okio to 3.8.0. - Update Skiko to 0.7.94. - [For the full list of important changes in 3.x, check out the upgrade guide.](https://coil-kt.github.io/coil/upgrading_to_coil3/)

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.



This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] commented 4 months ago

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (3.0.0-SNAPSHOT). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.