Skip to content

fix(deps): update coil to v3.4.0#135

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/coil
Open

fix(deps): update coil to v3.4.0#135
renovate[bot] wants to merge 1 commit intomainfrom
renovate/coil

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jul 25, 2024

This PR contains the following updates:

Package Change Age Confidence
io.coil-kt.coil3:coil-compose 3.0.0-alpha083.4.0 age confidence
io.coil-kt.coil3:coil 3.0.0-alpha083.4.0 age confidence

Release Notes

coil-kt/coil (io.coil-kt.coil3:coil-compose)

v3.4.0

Compare Source

  • New: Add ConcurrentRequestStrategy to support combining in-flight network requests for the same key. (#​2995, #​3326)
    • DeDupeConcurrentRequestStrategy enables this behavior and lets waiters wait for the results of an in-flight network request.
      • This behavior is experimental and is currently disabled by default.
      • Currently, requests are always combined based on their diskCacheKey.
    • OkHttpNetworkFetcherFactory, KtorNetworkFetcherFactory, and NetworkFetcher.Factory now accept concurrentRequestStrategy.
  • New: Decode images on JS/WASM using a web worker to avoid blocking the browser main thread. (#​3305)
  • New: Add support for Linux native targets (linuxX64 and linuxArm64) for non-Compose multiplatform artifacts. (#​3054)
  • New: Add Compose-only APIs to improve transitions between subsequent requests. (#​3141, #​3175)
    • ImageRequest.Builder.useExistingImageAsPlaceholder enables crossfading from the previous image when no placeholder is set.
    • ImageRequest.Builder.preferEndFirstIntrinsicSize lets CrossfadePainter prefer the end painter's intrinsic size.
  • New: Add ImageLoader.Builder.repeatCount(Int) in coil-gif to set a global animated image repeat count. (#​3143)
  • New: Add support for preferring embedded video thumbnails in coil-video. (#​3107)
  • New: Publish coil-lint with coil-core and add a lint check to catch accidental kotlin.error() calls in ImageRequest.Builder blocks. (#​3304)
  • Set Kotlin language version to 2.1. (#​3302)
  • Make BitmapFetcher available in common code. (#​3286)
  • Use applicationContext when creating the singleton ImageLoader on Android. (#​3246)
  • Cache eligible non-2xx HTTP responses by default (e.g. 404) and stop caching non-cacheable responses (e.g. 500). (#​3137, #​3139)
  • Fix potential race condition when consuming OkHttp response bodies. (#​3186)
  • Fix maxBitmapSize edge case to prevent oversized bitmap crashes on Android. (#​3259)
  • Update Kotlin to 2.3.10.
  • Update Compose to 1.9.3.
  • Update Okio to 3.16.4.
  • Update Skiko to 0.9.22.2.
  • Update kotlinx-io-okio to 0.9.0.
  • Update androidx.core to 1.16.0.
  • Update androidx.lifecycle to 2.9.4.
  • Update androidx.exifinterface to 1.4.2.

v3.3.0

Compare Source

  • New: Introduce a new API to limit MemoryCache.maxSize on Android while the app is backgrounded.
    • If ImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground is set, the ImageLoader's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.
    • Images will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. AsyncImage, ImageView, etc.) it will still be present in the memory cache.
    • This API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.
  • New: Add an Svg.Parser argument to SvgDecoder.
    • This enables using custom SVG parsers if the default SVG parser doesn't meet your needs.
  • Add a density argument to SvgDecoder to support providing a custom density multiplier.
  • Add Uri.Builder to support copying and modifying Uris.
  • Add ImageLoader.Builder.mainCoroutineContext to support overriding Coil's Dispatchers.main.immediate usage in tests.
  • Fix CrossfadePainter.intrinsicSize changing when the start image is dereferenced at the end of the animation. This aligns with the behaviour of CrossfadeDrawable.
  • Fix ImageLoaders.executeBlocking being inaccessible from Java.
  • Use kotlinx.io's Okio interop module in coil-network-ktor3.
  • Update kotlinx-datetime to 0.7.1.
    • This release includes binary incompatible changes that only affect the coil-network-cache-control module. See here for more info.
  • Update Kotlin to 2.2.0.
  • Update Compose to 1.8.2.
  • Update Okio to 3.15.0.
  • Update Skiko to 0.9.4.2.

v3.2.0

Compare Source

Changes since 3.1.0:

  • Important: coil-compose and coil-compose-core now require Java 11 bytecode due to Compose 1.8.0 requiring it. See here for how to enable it.
  • Change AsyncImagePreviewHandler's functional constructor to return AsyncImagePainter.State.Success instead of AsyncImagePainter.State.Loading.
  • Fix cancellation in ConstraintsSizeResolver#size().
  • Fix warning for missing PlatformContext when building with R8.
  • Fix FakeImageLoaderEngine not setting Transition.Factory.NONE when the default FakeImageLoaderEngine response is returned.
  • Remove experimental annotation from ColorImage.
  • Parse network headers lazily in CacheControlCacheStrategy.
  • Refactor CircleCropTransformation and RoundedCornersTransformation to share common code.
  • Fall back to using BitmapFactory internally if ExifOrientationStrategy is not RESPECT_PERFORMANCE.
  • Update Kotlin to 2.1.20.
  • Update Compose to 1.8.0.
  • Update Okio to 3.11.0.
  • Update Skiko to 0.9.4.
  • Update Coroutines to 1.10.2.
  • Update accompanist-drawablepainter to 0.37.3.

Changes since 3.2.0-rc02:

  • Fall back to using BitmapFactory internally if ExifOrientationStrategy is not RESPECT_PERFORMANCE.
  • Update Compose to 1.8.0.
  • Update accompanist-drawablepainter to 0.37.3.

v3.1.0

Compare Source

  • Improve AsyncImage performance.
    • Runtime performance is improved by 25% to 40% depending on if the composable is being instantiated or reused. Allocations are also reduced by 35% to 48%. More info here.
  • Add ColorImage and deprecate FakeImage.
    • ColorImage is useful for returning a fake value in tests and previews. It solves the same use case as FakeImage, but is more easily accessible in coil-core instead of coil-test.
  • Remove coil-compose-core's dependency on Dispatchers.Main.immedate.
    • This also fixes a case where AsyncImagePainter would not execute ImageRequests synchronously in Paparazzi and Roborazzi screenshot tests.
  • Add support for data URIs with the format: data:[<mediatype>][;base64],<data>
  • Add AnimatedImageDecoder.ENCODED_LOOP_COUNT to support using the encoded repeat count in a GIF's metadata.
  • Add Extras to NetworkRequest to support custom extensions.
  • Add DiskCache.Builder.cleanupCoroutineContext and deprecate DiskCache.Builder.cleanupDispatcher.
  • Add ImageLoader.Builder.imageDecoderEnabled to optionally disable using android.graphics.ImageDecoder on API 29 and above.
  • Log a warning if there is no registered Keyer for an ImageRequest's data type.
  • Make CrossfadePainter public.
  • Support Transformations on all multiplatform targets.
  • Support 0 as Expires header value in CacheControlCacheStrategy.
  • Fix AsyncImage/SubcomposeAsyncImage/rememberAsyncImage not launching a new ImageRequest if its ContentScale changes to/from None.
  • Update Kotlin to 2.1.10.
    • NOTE: This release requires compiling with Kotlin 2.1.0 or greater if you use Kotlin native due to an LLVM update.
  • Update Compose to 1.7.3.
  • Update androidx.core to 1.15.0.

v3.0.4

Compare Source

  • Fix vector drawables not rendering in the Android Studio preview.
  • Fix potential memory cache miss for requests whose size exceeds maxBitmapSize.
  • Fix FakeImage not rendering on Android.
  • Fix not launching a new image request when the request's Transformations change when used with AsyncImage/rememberAsyncImagePainter/SubcomposeAsyncImage.
  • Fix ScaleDrawable and CrossfadeDrawable not respecting tint states.
  • Allow ImageDecoder to decode partial image sources. This matches the behavior in BitmapFactory.
  • Fix Bitmap.prepareToDraw() not being called after decoding.
  • SvgDecoder should not return isSampled = true for non-rasterized images.
  • Fall back to Dispatchers.Unconfined in Compose if an immediate main dispatcher is unavailable. This is only used in preview/test environments.
  • Update Ktor 2 to 2.3.13.

v3.0.3

Compare Source

  • Fix setting ImageRequest.scale based on an ImageView's ScaleType.
  • Fix edge case where DiskCache would not track removal of an entry after deleting its files.
  • Pass throwable to Logger when logging errors.
  • Don't replace kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 with kotlin-stdlib.

v3.0.2

Compare Source

  • Fix crash when invoking OkHttpNetworkFetcherFactory with a custom CacheStrategy on Android.
  • Fix CacheControlCacheStrategy computing the age of a cache entry incorrectly.
  • Fix case where ImageRequest.bitmapConfig would only be respected on >= API 28 if it was ARGB_8888 or HARDWARE.

v3.0.1

Compare Source

  • Fix crash when calling Image.toBitmap with a hardware bitmap-backed BitmapImage.
  • Fix AsyncImageModelEqualityDelegate.Default comparing equality incorrectly for non-ImageRequest models.

v3.0.0

Compare Source

Coil 3.0.0 is the next major release of Coil with full support for Compose Multiplatform.

For the full list of improvements and important changes in 3.0.0, check out the upgrade guide.

Changes since 3.0.0-rc02:

  • Remove remaining deprecated methods.

v3.0.0-rc02

Compare Source

For the full list of improvements and important changes in 3.x, check out the upgrade guide. Changes since 3.0.0-rc01:

  • Add BlackholeDecoder. This simplifies disk-cache only preloading.
  • Add remember functions for ConstraintsSizeResolver and DrawScopeSizeResolver.
  • Remove EqualityDelegate as a parameter to AsyncImage. Instead, it should be set through LocalAsyncImageModelEqualityDelegate.
  • Fix AsyncImage not rendering when parent composable uses IntrinsicSize.
  • Fix AsyncImage filling the available constraints when AsyncImagePainter has no child painter.
  • Fix rememberAsyncImagePainter recomposing infinitely when its state is observed due to EqualityDelegate being ignored.
  • Fix parsing File/Path paths with special characters.
  • Fix using custom FileSystem implementations with VideoFrameDecoder.
  • Update Ktor to 3.0.0.
  • Update androidx.annotation to 1.9.0.

v3.0.0-rc01

Compare Source

For the full list of improvements and important changes in 3.x, check out the upgrade guide. Changes since 3.0.0-alpha10:

  • BREAKING Disable addLastModifiedToFileCacheKey by default and allow it to be set per request. The behaviour can be reenabled with the same flag.
  • New: Introduce a new coil-network-cache-control artifact, which implements Cache-Control header support.
  • New: Add scaleToDensity property to SvgDecoder.Factory. This property ensure SVGs with intrinsic dimensions are multiplied by the devices density (only supported on Android).
  • Rename ExifOrientationPolicy to ExifOrientationStrategy.
  • Remove unshareable images from the MemoryCache on get.
  • Make ConstraintsSizeResolver public.
  • Stabilize setSingletonImageLoaderFactory.
  • Restore optimized JVM I/O functions in coil-network-ktor3
  • Add pdf to list of mime types.
  • Update compile sdk to 35.
  • Update Kotlin to 2.0.20.
  • Update Okio to 3.9.1.

v3.0.0-alpha10

Compare Source

  • BREAKING: Replace ImageLoader.Builder.networkObserverEnabled with a ConnectivityChecker interface for NetworkFetcher.
    • To disable the network observer, pass ConnectivityChecker.ONLINE to the constructor for KtorNetworkFetcherFactory/OkHttpNetworkFetcherFactory.
  • New: Support loading Compose Multiplatform resources on all platforms. To load a resource, use Res.getUri:
AsyncImage(
    model = Res.getUri("drawable/image.jpg"),
    contentDescription = null,
)
  • Add maxBitmapSize property to ImageLoader and ImageRequest.
    • This property defaults to 4096x4096 and provides a safe upper bound for the dimensions of an allocated bitmap. This helps accidentally loading very large images with Size.ORIGINAL and causing an out of memory exception.
  • Convert ExifOrientationPolicy to be an interface to support custom policies.
  • Fix Uri handling of Windows file paths.
  • Remove @ExperimentalCoilApi from the Image APIs.
  • Update Kotlin to 2.0.10.

v3.0.0-alpha09

Compare Source

  • 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.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

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

@renovate renovate bot enabled auto-merge (rebase) July 25, 2024 04:31
@renovate renovate bot force-pushed the renovate/coil branch from c654b39 to 09df2bf Compare July 26, 2024 00:02
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from 96e2ce9 to aa86a33 Compare August 7, 2024 22:06
@renovate renovate bot changed the title fix(deps): update coil to v3.0.0-alpha09 fix(deps): update coil to v3.0.0-alpha10 Aug 7, 2024
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from eb9595e to caff25b Compare August 15, 2024 15:15
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from 305fefa to 592c789 Compare August 23, 2024 17:06
@renovate renovate bot force-pushed the renovate/coil branch 4 times, most recently from 30f46b0 to 6e0d2ae Compare September 3, 2024 10:22
@renovate renovate bot force-pushed the renovate/coil branch 4 times, most recently from fa4f59b to d9fb4f1 Compare September 12, 2024 05:10
@renovate renovate bot force-pushed the renovate/coil branch 6 times, most recently from 018bacb to 6a30d75 Compare September 21, 2024 10:06
@renovate renovate bot force-pushed the renovate/coil branch 3 times, most recently from 2fdf272 to 1bd1eb8 Compare October 8, 2024 10:34
@renovate renovate bot changed the title fix(deps): update coil to v3.0.0-alpha10 fix(deps): update coil to v3.0.0-rc01 Oct 8, 2024
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from ba1481e to 2b22514 Compare October 12, 2024 07:04
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from 929c2c9 to b4752b8 Compare November 10, 2024 03:08
@renovate renovate bot changed the title fix(deps): update coil to v3.0.1 fix(deps): update coil to v3.0.2 Nov 10, 2024
@renovate renovate bot force-pushed the renovate/coil branch 3 times, most recently from 4c79e17 to 1c1a7ae Compare November 15, 2024 18:12
@renovate renovate bot changed the title fix(deps): update coil to v3.0.2 fix(deps): update coil Nov 15, 2024
@renovate renovate bot changed the title fix(deps): update coil fix(deps): update coil to v3.0.3 Nov 15, 2024
@renovate renovate bot force-pushed the renovate/coil branch 4 times, most recently from 11e37a5 to 2ca275e Compare November 26, 2024 23:12
@renovate renovate bot changed the title fix(deps): update coil to v3.0.3 fix(deps): update coil to v3.0.4 Nov 26, 2024
@renovate renovate bot force-pushed the renovate/coil branch 3 times, most recently from 6c4354d to 0286a8d Compare December 4, 2024 00:08
@renovate renovate bot force-pushed the renovate/coil branch 3 times, most recently from 80d6e36 to e064da0 Compare December 22, 2024 13:14
@renovate renovate bot force-pushed the renovate/coil branch 3 times, most recently from d4a4607 to b15c905 Compare January 12, 2025 12:33
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from 55e2bc4 to 7d59f2f Compare January 28, 2025 17:28
@renovate renovate bot force-pushed the renovate/coil branch 2 times, most recently from 610e940 to 6e4f442 Compare February 5, 2025 01:19
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Aug 2, 2025

@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants