Coil v1.2.0 Release Notes

Release Date: 2021-04-12 // 9 days ago
    • Important: Use an SVG's view bounds to calculate its aspect ratio in SvgDecoder. (#688)
      • Previously, SvgDecoder used an SVG's width/height elements to determine its aspect ratio, however this doesn't correctly follow the SVG specification.
      • To revert to the old behaviour set useViewBoundsAsIntrinsicSize = false when constructing your SvgDecoder.
    • ๐Ÿ†• New: Add VideoFrameDecoder to support decoding video frames from any source. (#689)
    • ๐Ÿ†• New: Support automatic SVG detection using the source's contents instead of just the MIME type. (#654)
    • ๐Ÿ†• New: Support sharing resources using ImageLoader.newBuilder(). (#653)
      • Importantly, this enables sharing memory caches between ImageLoader instances.
    • ๐Ÿ†• New: Add support for animated image transformations using AnimatedTransformation. (#659)
    • ๐Ÿ†• New: Add support for start/end callbacks for animated drawables. (#676)

    • ๐Ÿ›  Fix parsing EXIF data for HEIF/HEIC files. (#664)
    • ๐Ÿ›  Fix not using the EmptyBitmapPool implementation if bitmap pooling is disabled. (#638)
      • Without this fix bitmap pooling was still disabled properly, however it used a more heavyweight BitmapPool implementation.
    • ๐Ÿ›  Fix case where MovieDrawable.getOpacity would incorrectly return transparent. (#682)
    • 0๏ธโƒฃ Guard against the default temporary directory not existing. (#683)

    • ๐Ÿ— Build using the JVM IR backend. (#670)
    • โšก๏ธ Update Kotlin (1.4.32).
    • โšก๏ธ Update Coroutines (1.4.3).
    • โšก๏ธ Update OkHttp (3.12.13).
    • โšก๏ธ Update androidx.lifecycle:lifecycle-common-java8 to 2.3.1.

Previous changes from v1.1.1

    • ๐Ÿ›  Fix a case where ViewSizeResolver.size could throw an IllegalStateException due to resuming a coroutine more than once.
    • ๐Ÿ›  Fix HttpFetcher blocking forever if called from the main thread.
      • Requests that are forced to execute on the main thread using ImageRequest.dispatcher(Dispatchers.Main.immediate) will fail with a NetworkOnMainThreadException unless ImageRequest.networkCachePolicy is set to CachePolicy.DISABLED or CachePolicy.WRITE_ONLY.
    • ๐Ÿ“‡ Rotate video frames from VideoFrameFetcher if the video has rotation metadata.
    • โšก๏ธ Update Kotlin (1.4.21).
    • โšก๏ธ Update Coroutines (1.4.2).
    • โšก๏ธ Update Okio (2.10.0).
    • โšก๏ธ Update androidx.exifinterface:exifinterface (1.3.2).