Coil

Frameworks & LibrariesApache-2.0

An image loading library for Android and Compose Multiplatform, built on coroutines.

Latest 3.6.2 · by CoilWritten in KotlinWebsitecoil-kt/coilRSS

Release activity

Release activity — 6 releases across 6 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026
MondayNo releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026
TuesdayNo releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 20261 release on Sep 1, 2026No releases on Sep 8, 2026
WednesdayNo releases on May 27, 2026No releases on Jun 3, 20261 release on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 20261 release on Aug 26, 2026No releases on Sep 2, 2026No releases on Sep 9, 2026
ThursdayNo releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026No releases on Sep 10, 2026
FridayNo releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 20261 release on Sep 4, 2026
SaturdayNo releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 2026No releases on Sep 5, 2026

6 releases in the last year

Changelog

3.6.2

Latest
Fixed 2
  • Fix DeDupeConcurrentRequestStrategy hanging requests for a key if a waiting request is cancelled
  • Fix a JS/WASM linkage error when using Compose Multiplatform 1.13

From Coil

  • Fix DeDupeConcurrentRequestStrategy hanging requests for a key if a waiting request is cancelled. (#3566)
  • Fix a JS/WASM linkage error when using Compose Multiplatform 1.13. (#3568)
View originalPermalink
How 3.6.2 went

3.6.1

Fixed 1
  • Fix JS builds failing when ES modules are enabled

From Coil

  • Fix JS builds failing when ES modules are enabled. (#3558)
View originalPermalink
How 3.6.1 went

3.6.0

Added 2
  • Add support for loading blob: URLs (object URLs) on JS/WASM
  • Add ImageRequest.Builder.allowPartialImage and ImageLoader.Builder.allowPartialImage to configure whether StaticImageDecoder on Android accepts partial images
Changed 8
  • Use Runtime.maxMemory() to determine the maximum memory cache size on JVM instead of assuming 512 MB of available memory
  • Bundle ProGuard rules with the non-Android JVM artifact
  • Update the Android compile SDK to 37
  • Update Kotlin to 2.4.10
  • Update Compose to 1.12.0
  • Update Okio to 3.18.1
  • Update Skiko to 0.150.1
  • Update kotlinx-io-okio to 0.9.1
Fixed 4
  • Fix AsyncImage crashing when measured with inverted constraints
  • Fix Compose filterQuality not being applied to drawable-backed images, including GIFs
  • Fix a JS/WASM image decoder memory leak
  • Fix images failing to render with GenericViewTarget in R8 9.0+ optimized builds

From Coil

  • New: Add support for loading blob: URLs (object URLs) on JS/WASM. (#3504)
  • New: Add ImageRequest.Builder.allowPartialImage and ImageLoader.Builder.allowPartialImage to configure whether StaticImageDecoder on Android accepts partial images. This is enabled by default, which is the same behavior in previous Coil releases. (#3494)
  • Fix AsyncImage crashing when measured with inverted constraints. (#3470)
  • Fix Compose filterQuality not being applied to drawable-backed images, including GIFs. (#3469)
  • Fix a JS/WASM image decoder memory leak. (#3503)
  • Fix images failing to render with GenericViewTarget in R8 9.0+ optimized builds. (#3518)
  • Use Runtime.maxMemory() to determine the maximum memory cache size on JVM instead of assuming 512 MB of available memory. (#3458)
  • Bundle ProGuard rules with the non-Android JVM artifact. (#3476)
  • Update the Android compile SDK to 37.
  • Update Kotlin to 2.4.10.
  • Update Compose to 1.12.0.
  • Update Okio to 3.18.1.
  • Update Skiko to 0.150.1.
  • Update kotlinx-io-okio to 0.9.1.
View originalPermalink
How 3.6.0 went

3.5.0

Added 1
  • Add fast WebP size extraction on JS/WASM to avoid falling back to a full Skia decode
Changed 9
  • Increase Android's minimum SDK version to 23
  • Remove experimental annotation from ImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground
  • Update the Android compile SDK to 36
  • Update the Kotlin language version to 2.2
  • Update Kotlin to 2.4.0
  • Update Compose to 1.11.1
Fixed 2
  • Fix CacheStrategy implementations being unable to refresh cached failure responses
  • Look up ContinuationInterceptor instead of CoroutineDispatcher in coroutine contexts
Removed 1
  • Remove iosX64 and macosX64 targets

From Coil

Changes since 3.4.0:

  • Important: Remove iosX64 and macosX64 targets. (#3386)
  • Important: Increase Android's minimum SDK version to 23. (#3283)
  • New: Add fast WebP size extraction on JS/WASM to avoid falling back to a full Skia decode. (#3341)
  • Remove experimental annotation from ImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground. (#3439)
  • Fix CacheStrategy implementations being unable to refresh cached failure responses (e.g. expired cached 404 responses). (#3401)
  • Look up ContinuationInterceptor instead of CoroutineDispatcher in coroutine contexts. (#3415)
  • Update the Android compile SDK to 36.
  • Update the Kotlin language version to 2.2.
  • Update Kotlin to 2.4.0.
  • Update Compose to 1.11.1.
  • Update Okio to 3.17.0.
  • Update Skiko to 0.144.6.
  • Update androidx.annotation to 1.10.0.

Changes since 3.5.0-beta01:

  • Remove experimental annotation from ImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground. (#3439)
  • Look up ContinuationInterceptor instead of CoroutineDispatcher in coroutine contexts. (#3415)
  • Update the Kotlin language version to 2.2.
  • Update Kotlin to 2.4.0.
  • Update Compose to 1.11.1.
  • Update Skiko to 0.144.6.
View originalPermalink
How 3.5.0 went

3.5.0-beta01

Pre-release
Added 1
  • Add fast WebP size extraction on JS/WASM to avoid falling back to a full Skia decode
Changed 7
  • Increase Android's minimum SDK version to 23
  • Update compile SDK to 36
  • Update Kotlin to 2.3.21
  • Update Compose to 1.11.0-beta03
  • Update Okio to 3.17.0
  • Update Skiko to 0.144.5
  • Update androidx.annotation to 1.10.0
Fixed 1
  • Fix CacheStrategy implementations being unable to refresh cached failure responses (e.g. expired cached 404 responses)
Removed 1
  • Remove iosX64 and macosX64 targets

From Coil

  • Remove iosX64 and macosX64 targets. (#3386)
  • Increase Android's minimum SDK version to 23. (#3283)
  • Add fast WebP size extraction on JS/WASM to avoid falling back to a full Skia decode. (#3341)
  • Fix CacheStrategy implementations being unable to refresh cached failure responses (e.g. expired cached 404 responses). (#3401)
  • Update compile SDK to 36.
  • Update Kotlin to 2.3.21.
  • Update Compose to 1.11.0-beta03.
  • Update Okio to 3.17.0.
  • Update Skiko to 0.144.5.
  • Update androidx.annotation to 1.10.0.
View originalPermalink
How 3.5.0-beta01 went

3.4.0

Added 9
  • Add ConcurrentRequestStrategy to support combining in-flight network requests for the same key
  • Add DeDupeConcurrentRequestStrategy to enable combining requests and let waiters wait for results of in-flight network requests (experimental and disabled by default)
  • Decode images on JS/WASM using a web worker to avoid blocking the browser main thread
  • Add support for Linux native targets (linuxX64 and linuxArm64) for non-Compose multiplatform artifacts
  • Add ImageRequest.Builder.useExistingImageAsPlaceholder to enable crossfading from the previous image when no placeholder is set
  • Add ImageRequest.Builder.preferEndFirstIntrinsicSize to let CrossfadePainter prefer the end painter's intrinsic size
Changed 4
  • Set Kotlin language version to 2.1
  • Make BitmapFetcher available in common code
  • Use applicationContext when creating the singleton ImageLoader on Android
  • Cache eligible non-2xx HTTP responses by default (e.g. 404) and stop caching non-cacheable responses (e.g. 500)
Fixed 2
  • Fix potential race condition when consuming OkHttp response bodies
  • Fix maxBitmapSize edge case to prevent oversized bitmap crashes on Android

From Coil

  • 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.
View originalPermalink
How 3.4.0 went

3.3.0

Added 5
  • Introduce a new API to limit MemoryCache.maxSize on Android while the app is backgrounded via ImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground
  • Add an Svg.Parser argument to SvgDecoder to support custom SVG parsers
  • 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
Changed 6
  • Use kotlinx.io's Okio interop module in coil-network-ktor3
  • Update kotlinx-datetime to 0.7.1
  • 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
Fixed 2
  • Fix CrossfadePainter.intrinsicSize changing when the start image is dereferenced at the end of the animation
  • Fix ImageLoaders.executeBlocking being inaccessible from Java

From Coil

  • 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.
View originalPermalink
How 3.3.0 went

3.2.0

Changed 11
  • coil-compose and coil-compose-core now require Java 11 bytecode due to Compose 1.8.0 requiring it
  • AsyncImagePreviewHandler's functional constructor now returns AsyncImagePainter.State.Success instead of AsyncImagePainter.State.Loading
  • 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
Fixed 3
  • 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
Removed 1
  • Remove experimental annotation from ColorImage

From Coil

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.
View originalPermalink
How 3.2.0 went

3.2.0-rc02

Pre-release
Fixed 1
  • Fix image requests failing with ClosedByteChannelException when loading an image with KtorNetworkFetcherFactory (Ktor 3) on non-JVM targets

From Coil

  • Fix image requests failing with ClosedByteChannelException when loading an image with KtorNetworkFetcherFactory (Ktor 3) on non-JVM targets.
View originalPermalink
How 3.2.0-rc02 went

3.2.0-rc01

Pre-release
Changed 10
  • coil-compose and coil-compose-core now require Java 11 bytecode due to Compose 1.8.0 requiring it
  • AsyncImagePreviewHandler's functional constructor now returns AsyncImagePainter.State.Success instead of AsyncImagePainter.State.Loading
  • Parse network headers lazily in CacheControlCacheStrategy
  • Refactor CircleCropTransformation and RoundedCornersTransformation to share common code
  • Use kotlinx.io's Okio interop module in coil-network-ktor2 and coil-network-ktor3
  • Update Kotlin to 2.1.20
Fixed 3
  • 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
Removed 1
  • Remove experimental annotation from ColorImage

From Coil

  • 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.
  • Use kotlinx.io's Okio interop module in coil-network-ktor2 and coil-network-ktor3.
  • Update Kotlin to 2.1.20.
  • Update Compose to 1.8.0-rc01.
  • Update Okio to 3.11.0.
  • Update Skiko to 0.9.4.
  • Update Coroutines to 1.10.2.
View originalPermalink
How 3.2.0-rc01 went

3.1.0

Added 10
  • Add ColorImage for returning fake values in tests and previews
  • 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
  • Add ImageLoader.Builder.imageDecoderEnabled to optionally disable using android.graphics.ImageDecoder on API 29 and above
Changed 5
  • Improve AsyncImage performance by 25% to 40% runtime improvement and 35% to 48% allocation reduction
  • Remove coil-compose-core's dependency on Dispatchers.Main.immediate
  • Update Kotlin to 2.1.10
  • Update Compose to 1.7.3
  • Update androidx.core to 1.15.0
Fixed 2
  • Fix AsyncImagePainter not executing ImageRequests synchronously in Paparazzi and Roborazzi screenshot tests
  • Fix AsyncImage/SubcomposeAsyncImage/rememberAsyncImage not launching a new ImageRequest if its ContentScale changes to/from None
Deprecated 2
  • Deprecate FakeImage in favor of ColorImage
  • Deprecate DiskCache.Builder.cleanupDispatcher

From Coil

  • 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.
View originalPermalink
How 3.1.0 went

3.0.4

Changed 3
  • Allow ImageDecoder to decode partial image sources to match the behavior in BitmapFactory
  • Fall back to Dispatchers.Unconfined in Compose if an immediate main dispatcher is unavailable in preview/test environments
  • Update Ktor 2 to 2.3.13
Fixed 7
  • 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
  • Fix Bitmap.prepareToDraw() not being called after decoding
  • Fix SvgDecoder returning isSampled = true for non-rasterized images

From Coil

  • 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.
View originalPermalink
How 3.0.4 went

3.0.3

Changed 2
  • Pass throwable to Logger when logging errors
  • Don't replace kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 with kotlin-stdlib
Fixed 2
  • 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

From Coil

  • 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.
View originalPermalink
How 3.0.3 went
View all

Discussion

If you publish Coil, you can claim this product by proving you administer its repository.