Fresco v2.3.0 Release Notes

Release Date: 2020-07-20 // 2 months ago
  • Highlights

    โฌ†๏ธ Bumped Fresco's minSdk to 14. We did not remove any Gingerbread-specific code yet, but will do so soon. 091e8b7

    ๐Ÿ‘ Proper nullability annotations for some classes by using new Infer annotations - this improves Kotlin support and null-safety.

    ๐Ÿ‘Œ Improved Java-only Fresco setup. 4a99615

    Lots of debug logging improvements: More reliable image origin, new MEMORY_BITMAP_SHORTCUT origin, more debug information available. These are available via ImagePerfData#getExtraData()

    โž• Added experimental option to recover from OOMs: f43d599

    โž• Added option to force a single image pipeline instance: 5f5c076

    ๐Ÿ”Œ Disk cache support for the Fresco Flipper images plugin.

    โฌ†๏ธ Bumped SoLoader version to 0.9.0.

    ๐Ÿ— Use buildSrc for Fresco's internal dependency management.

    ๐Ÿšง WIP: Lots of improvements for our new Fresco Vito UI components.

    Pull requests:

    • ๐Ÿ›  Fixed resource leak problem while using BlurPostProcessor. Thanks @FrancescoJo for the PR.
    • ๐Ÿ‘‰ Make sure there is at least one overlay in GenericDraweeHierarchy. Thanks @dengweichao for the PR.
    • โœ‚ Removed unused padding value. Thanks @erenulas for the PR.

    Cleanup

    • โœ‚ Removed Drawee-Volley module. If you're using Drawee-Volley, you can still continue using it by just copying the files removed with 7c2517e into your project. We did not significantly change these in a long time, so this has been stable.
    • โœ‚ Removed OkHttp2 image pipeline artifact. See deba7d1

    Full changelog: v2.2.0...v2.3.0


Previous changes from v2.0.0

  • ๐Ÿ’ฅ Breaking Dependency Change

    ๐Ÿ‘ We bumped the major version since Fresco is now using AndroidX support libraries.
    ๐Ÿ‘ If you are still using the previous support library, please use version 1.14.2 until you've migrated to AndroidX.

    ๐Ÿ†• New Flipper Images Plugin

    ๐Ÿ“š We've open sourced our Flipper images plugin, which makes it easy for you to debug images within your application. Take a look at the Flipper documentation here: https://fbflipper.com/docs/features/images-plugin.html
    It also allows you to track unclosed CloseableReferences if you're using the image pipeline directly.

    ๐Ÿ›  Fixes and Improvements

    Highlights:

    • โž• Added explicit color management (51efaa7). See #2323 for more information.
    • โž• Added API to get the size of the disk cache.
    • ๐Ÿ›  Fix scaling up image with RoundingParams.
    • Prevent Fresco from crashing for certain invalid GIFs.
    • โž• Added local content URI support for fetching encoded images.
    • โž• Added CloseableReference leak tracking. You can hook up your own listener to track unclosed references.
    • Video thumbnails: generate video thumbnail from content provider when we cannot get file path.
    • โšก๏ธ Updated the Showcase sample app to enable the Flipper images plugin and started using Kotlin.
    • Display Image URI in Fresco's debug overlay.
    • ๐Ÿ‘Œ Improved image origin listener accuracy.
    • โž• Added caller context verification to the ImagePipeline. You can now check whether proper image attribution (caller context) is set.

    Full changelog: v1.13.0...v2.0.0

    Thanks

    ๐Ÿš€ Thanks to the following for their pull requests which are included in this release: @otopba, @lpy and @kexuejin