Skip to content

Releases: facebook/fresco

Version 2.4.0

21 Jan 14:22
Compare
Choose a tag to compare
v2.4.0

Version 2.4.0

Version 2.3.0

20 Jul 17:21
Compare
Choose a tag to compare

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

Version 2.2.0

16 Apr 16:38
Compare
Choose a tag to compare

Fixes and Improvements

  • Add reportData methods for debugging and crash reporting
  • Add support for work instrumentation
  • Fix animatable drawables not playing
  • Improve debug overlay
  • Show Encoded Cache in Flipper Image plugin
  • Add option to disable/override encoded cache
  • Migrate many deps to use buildSrc

Thanks

Thanks to the following for their pull requests which are included in this release: @iadeelzafar, @xinghui, @JLLeitschuh, @jkcailteux

The full changelog is here.

Version 2.1.0

21 Jan 16:44
Compare
Choose a tag to compare

Fresco 2.1.0 comes with tons of improvements, including a Java-only Fresco version.

Highlights

  • A Java-only Fresco version. See below for Gradle setup. Note: If you display animated GIFs, you can use animated-gif-lite instead of animated-gif for Java-only GIF support.
  • SoLoader is now optional again. We've worked on a new NativeLoader interface to load native code on Android. Now, with Fresco 2.1.0 all the changes are available for people to use, see below for the Gradle setup. If you want to employ a custom native loading mechanism, just implement a NativeLoaderDelegate and call NativeLoader.init(yourDelegate) before Fresco is initialized.
  • New ProducerListener2 and RequestListener2. They give you significantly more flexibility since they allow you to access more image information.
  • The possibility to pass down the UI component ID (e.g. Drawee ID / Vito ID) through the whole image pipeline, which, in combination with listeners above, can for example be used for debugging or logging.
  • A new memory type for encoded images and byte buffers: Ashmem. Now you can either use Java memory, native memory or Ashmem.
  • Faster circular native rounding.
  • Improved concurrency handling for deferred releasing - and much more.
  • You can look at the full changelog here.

Java-Fresco Gradle setup:

implementation('com.facebook.fresco:fresco:2.1.0') {
    exclude group: 'com.facebook.soloader', module: 'soloader'
    exclude group: 'com.facebook.fresco', module: 'soloader'
    exclude group: 'com.facebook.fresco', module: 'nativeimagefilters'
    exclude group: 'com.facebook.fresco', module: 'nativeimagetranscoder'
    exclude group: 'com.facebook.fresco', module: 'memory-type-native'
    exclude group: 'com.facebook.fresco', module: 'imagepipeline-native'
}

Custom SoLoader Gradle setup:

implementation('com.facebook.fresco:fresco:2.1.0') {     
      exclude group: 'com.facebook.soloader', module: 'soloader'
      exclude group: 'com.facebook.fresco', module: 'soloader'    
 }

Version 2.0.0

03 Jul 20:03
Compare
Choose a tag to compare

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.13.0 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

Version 1.14.2

22 Jun 15:44
Compare
Choose a tag to compare
  • Added leak tracking for CloseableRefererences. You can hook up your custom leak handler for unclosed CloseableReferences which is triggered when a reference is GCed without being explicitly closed.
  • You can also use the new Flipper images plugin (https://github.com/facebook/flipper) to track these leaks.

Version 1.13.0

01 Mar 19:10
Compare
Choose a tag to compare
  • Open sourced our Fresco Flipper plugin.
  • Updated target SDK to 28.
  • Replaced gnustl_static with c++_static.
  • Updated various dependencies.

Version 1.12.1

06 Feb 10:47
Compare
Choose a tag to compare

This is a hotfix release including changes below

  • Optionally downsample gif frames to drawable dimensions 7479a6f
  • Expose hasCachedImage for ImagePipeline 90f7aa6

Version 1.12.0

04 Feb 11:47
Compare
Choose a tag to compare

Fixes and Improvements

  • SoLoader updated to v0.6.0 with support for App Bundles 6fc071d
  • New native image transcoder module (native-imagetranscoder) a6b47b9
  • Added new "critically low" foreground memory trim level 9745eb8
  • Expose ID generation and submitFetchRequest 7d67c7f
  • New function in BitmapUtil to get the dimensions of an image from its Uri 1205892
  • Added option to show all FadeDrawable layers per default a340566
  • Register LruBitmapPool as memory trimmable 839b5a1
  • Added GifAnimationBackend that improves the GIF Lite variant 027f95d
  • Add option to control prefetching to bitmap cache per request 6ca0fa9
  • Add image request option to override default network images resizing d503601
  • okhttp updated to 3.12.1 0866e81

Thanks

Thanks to @dulmandakh for your pull request!

Release Notes v1.11.0

16 Oct 10:33
Compare
Choose a tag to compare

Fixes and Improvements

  • Moved native image filters into a separate gradle module (native-filters)
  • Fix for OkHttp disk caching (allows you to disable Fresco disk cache and use OkHttp)
  • Made most native code optional (jpeg transcoder and native memory chunks)
  • Proper support for GIFs when using a RetainingDataSource
  • Fix to disable caching for unknown image types
  • Fix bug when using DownSample and RegionDecoder together
  • Fixed image origin in debug overlay
  • Color space support
  • Improved HEIF support (on devices which supports decoding them)
  • Fixes for Android Studio layout preview
  • Improved blurring and rounding with antialiasing (see showcase app)
  • Add support for windows ICO image format
  • libjpeg update to 1.5.3
  • libwebp updated to 1.0.0
  • libpng updated to 1.6.35

Thanks

Thanks to the following for their pull requests which are included in this release: @Crysis21, @JuniperPhoton, @dryganets, @Yrlec, @s1rius, @qhyuan1992, @xjy2061, @zjupure