Skip to content
This repository was archived by the owner on Feb 22, 2026. It is now read-only.

Update coil to v3.3.0#187

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

Update coil to v3.3.0#187
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/coil

Conversation

@renovate
Copy link
Copy Markdown

@renovate renovate bot commented Oct 8, 2024

This PR contains the following updates:

Package Change Age Confidence
io.coil-kt.coil3:coil-network-ktor2 3.0.0-alpha10 -> 3.3.0 age confidence
io.coil-kt.coil3:coil-compose 3.0.0-alpha10 -> 3.3.0 age confidence
io.coil-kt.coil3:coil 3.0.0-alpha10 -> 3.3.0 age confidence

Release Notes

coil-kt/coil (io.coil-kt.coil3:coil-network-ktor2)

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.

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 changed the title Update coil to v3.0.0-rc01 Update coil to v3.0.0-rc02 Oct 28, 2024
@renovate renovate bot changed the title Update coil to v3.0.0-rc02 Update coil Nov 5, 2024
@renovate renovate bot changed the title Update coil Update coil to v3.0.0 Nov 6, 2024
@renovate renovate bot changed the title Update coil to v3.0.0 Update coil to v3.0.1 Nov 7, 2024
@renovate renovate bot changed the title Update coil to v3.0.1 Update coil to v3.0.2 Nov 10, 2024
@renovate renovate bot changed the title Update coil to v3.0.2 Update coil Nov 15, 2024
@renovate renovate bot changed the title Update coil Update coil to v3.0.3 Nov 15, 2024
@renovate renovate bot changed the title Update coil to v3.0.3 Update coil Nov 26, 2024
@renovate renovate bot changed the title Update coil Update coil to v3.0.4 Nov 26, 2024
@renovate renovate bot changed the title Update coil to v3.0.4 Update coil to v3.1.0 Feb 5, 2025
@renovate renovate bot force-pushed the renovate/coil branch from fd09738 to 749cea2 Compare April 19, 2025 13:25
@renovate renovate bot force-pushed the renovate/coil branch from 749cea2 to 89c1e6a Compare May 13, 2025 08:02
@renovate renovate bot changed the title Update coil to v3.1.0 Update coil to v3.2.0 May 13, 2025
@renovate renovate bot force-pushed the renovate/coil branch from 89c1e6a to 6b4689d Compare July 22, 2025 09:05
@renovate renovate bot changed the title Update coil to v3.2.0 Update coil to v3.3.0 Jul 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants