Coil v0.9.0 Release Notes

Release Date: 2019-12-30 // over 4 years ago
    • ๐Ÿ’ฅ Breaking: Transformation.transform now includes a Size parameter. This is to support transformations that change the size of the output Bitmap based on the size of the Target. Requests with transformations are now also exempt from image sampling.
    • ๐Ÿ’ฅ Breaking: Transformations are now applied to any type of Drawable. Before, Transformations would be skipped if the input Drawable was not a BitmapDrawable. Now, Drawables are rendered to a Bitmap before applying the Transformations.
    • ๐Ÿ’ฅ Breaking: Passing null data to ImageLoader.load is now treated as an error and calls Target.onError and Request.Listener.onError with a NullRequestDataException. This change was made to support setting a fallback drawable if data is null. Previously the request was silently ignored.
    • ๐Ÿ’ฅ Breaking: RequestDisposable.isDisposed is now a val.

    • ๐Ÿ†• New: Support for custom transitions. See here for more info. Transitions are marked as experimental as the API is incubating.
    • ๐Ÿ†• New: Add RequestDisposable.await to support suspending while a LoadRequest is in progress.
    • ๐Ÿ†• New: Support setting a fallback drawable when request data is null.
    • ๐Ÿ†• New: Add Precision. This makes the size of the output Drawable exact while enabling scaling optimizations for targets that support scaling (e.g. ImageViewTarget). See its documentation for more information.
    • ๐Ÿ†• New: Add RequestBuilder.aliasKeys to support matching multiple cache keys.

    • ๐Ÿ›  Fix: Make RequestDisposable thread safe.
    • ๐Ÿ›  Fix: RoundedCornersTransformation now crops to the size of the target then rounds the corners.
    • ๐Ÿ›  Fix: CircleCropTransformation now crops from the center.
    • ๐Ÿ›  Fix: Add several devices to the hardware bitmap blacklist.
    • ๐Ÿ›  Fix: Preserve aspect ratio when converting a Drawable to a Bitmap.
    • ๐Ÿ›  Fix: Fix possible memory cache miss with Scale.FIT.
    • ๐Ÿ›  Fix: Ensure Parameters iteration order is deterministic.
    • ๐Ÿ›  Fix: Defensive copy when creating Parameters and ComponentRegistry.
    • ๐Ÿ›  Fix: Ensure RealBitmapPool's maxSize >= 0.
    • ๐Ÿ›  Fix: Show the start drawable if CrossfadeDrawable is not animating or done.
    • ๐Ÿ›  Fix: Adjust CrossfadeDrawable to account for children with undefined intrinsic size.
    • ๐Ÿ›  Fix: Fix MovieDrawable not scaling properly.

    • โšก๏ธ Update Kotlin to 1.3.61.
    • โšก๏ธ Update Kotlin Coroutines to 1.3.3.
    • โšก๏ธ Update Okio to 2.4.3.
    • โšก๏ธ Update AndroidX dependencies:
      • androidx.exifinterface:exifinterface -> 1.1.0