Fresco Versions Save

An Android library for managing images and the memory they use.

v2.1.0

4 years ago

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'    
 }

v2.0.0

4 years ago

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 (51efaa75f410a390566f72596099c35d85a42216). 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: https://github.com/facebook/fresco/compare/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

v1.14.2

4 years ago
  • 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.

v1.13.0

5 years ago
  • Open sourced our Fresco Flipper plugin.
  • Updated target SDK to 28.
  • Replaced gnustl_static with c++_static.
  • Updated various dependencies.

v1.12.1

5 years ago

This is a hotfix release including changes below

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

v1.12.0

5 years ago

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!

v1.11.0

5 years ago

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

v1.10.0

5 years ago

Release Notes v1.10.0

Breaking

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

Fixes and Improvements

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

Thanks

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

v1.9.0

6 years ago

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

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!

v1.8.1

6 years ago

Version 1.8.1 is a bug-fix release following the main 1.8.0 release. In particular, it addresses the following issues: