Skip to content

Releases: facebook/fresco

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

Version 1.10.0

23 Jul 09:14
Compare
Choose a tag to compare

Release Notes v1.10.0

Breaking

  • Remove media variations
  • Pass DraweeController down to data source generation: a7796de

Fixes and Improvements

  • Updated Comparison app
  • Do not cache images if they are of unknown format 7a874c1
  • Fix webp add round draw out of bound (#2132) (thanks wangfang) 5357424
  • Fix GIF images scaling with FIT_XY scale type 6898a9c
  • Get rid of internal android Predicate (Prepare for Android P) API 0a93ffc
  • Control memory cache per request d2474bc
  • Add configuration option for bitmap count limit 3ccf021
  • Handle multiple copies of Fresco 54556c9
  • Interstitial shows on profile in MediaGallery (thanks Young Kim) d560881
  • Mark object passed in .equals() as nullable (thanks Christopher Frazier) e1145cfce57bb1b31dbd88d59a353a484a91cc808ef0
  • Many updates for perf logging
  • Update SoLoader to 0.5.0 8e9243e
  • Added RoundedNinepatchDrawable e1aa81f
  • Extend Fresco's ImageFormats to detect HEIF images 84ace37

Thanks

Thanks to the following for their pull requests which are included in this release: @cucbin, @chibatching, @mariotaku, @hetovar, @Naman-Bhalla, @woyunowuyuda, @hearsilent

Version 1.9.0

11 Apr 17:21
Compare
Choose a tag to compare

Updated to MIT license

Breaking Changes

  • Inlined ProGuard rules such that you no longer need to manually copy-over the Fresco proguard file (thanks @gengjiawen). If you are manually adding Fresco-specific ProGuard files in your Gradle files, you can now remove them

  • Added isSameImageRequest() to DraweeController

New APIs

  • Added API to pass an ImageRequest to SimpleDraweeView(53c6151 (53c6151), thanks @bkpavan)
  • Added configurable timeout for HttpUrlConnection network fetcher (005f38a, thanks @jnawaz)

Improvements and bugfixes

  • Added image load time to debug overlay
  • Updated libwebp to 0.6.1 (thanks @eldk)
  • Updated OkHttp to 3.10.0 (thanks @NightlyNexus)
  • Updated GifLib to 5.1.4
  • Fixed GIF rendering for missing color maps
  • Fixed WebP native memory leak (thanks @howardpang)
  • Improved equality handling for controllers and ImageRequests
  • Made bitmap decoding more robust
  • Various other improvements & sample app updates

Thanks

Thanks to the following for their pull requests which are included in this release: @bkpavan, @eldk, @gengjiawen, @howardpang, @jnawaz, @NightlyNexus, @sophiebits!