Releases: facebook/fresco
Release list
Version 0.11.0
- Image pipeline
- Split out ImagePipelineExperiments from ImagePipelineConfig
- Volley is now integrated as a backend for the image pipeline as an alternative to OkHttp or HttpUrlConnection
- Resumed requests occur in their original order
- Fixed a bug where the OkHttp backend could leak non-successful responses
- Cache
- Added details of each event to CacheEventListener methods
- Added caller context as a parameter for CacheKeyFactory methods
- Added support for synchronous disk cache checks
- Drawee
- Added support for the hotspot so ripple drawables work as expected in Lollipop and up.
- GenericDraweeHierarchy now has setter methods supporting resource IDs
- Fixed drawee scale type transitions when using activity transitions
- Added support for dynamically changing backgrounds and overlays
- Samples
- Improved gesture handling in the zoomable sample code
- Added a new sample app to test scroll performance
- Also
- Changed Bolts dependency to the smaller Tasks module
- And a variety of other fixes and improvements
Breaking changes
Experimental config options
To make it clearer which options in ImagePipelineConfig are included for experimental purposes, these have been moved into a separate ImagePipelineExperiments class. Options here should be expected to be volatile and liable to be changed or removed in future releases. Changing these values from their defaults is not recommended in most cases.
These methods are still available in a chain while building your config so if you had the following before:
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(context)
.setForceSmallCacheThresholdBytes(maxSmallImageBytes)
you can fix it by changing it as follows:
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(context)
.experiment().setForceSmallCacheThresholdBytes(maxSmallImageBytes)
CacheEventListener
All CacheEventListener methods now receive a new CacheEvent object.
If you have a custom implementation you will need to add the extra parameter to each method. In the case of onEviction() the old parameters have been replaced so you will also need to extract the values from the event if you are making use of them.
CacheKeyFactory
All CacheKeyFactory methods now receive an extra parameter with the caller context object that can be specified when the image is requested.
If you have a custom implementation you will simply need to add the extra parameter to each method.
Multiple drawee backgrounds
It was previously possible to specify multiple backgrounds in a drawee hierarchy. This is still possible but deprecated and if you specify multiple backgrounds these can no longer be rounded.
Thanks
Thanks to the following for their pull requests which are included in this release: @chethann, @droidekas, @sagartrehan, @froxCZ, @nborodikhin, @Ribesg, @dmitrychistyakov, @plamenko, @szpnygo, @s1rius and @Rexee.
Version 0.10.0
- decreased library size by making animated GIF and animated WebP modules optional
- decreased library size by optimizing native code
- custom scale type support for Drawee
- improved and simplified zoomable functionality: added support for tap listeners and inflation from XML
- OkHttp 3 support
- added ability to disable disk cache for certain requests (for security purposes)
- several bug fixes
Breaking change!
If you are using animated images (animated GIFs or animated WebPs) you need to add the following dependencies to your Gradle file:
animated GIF support:
compile 'com.facebook.fresco:animated-gif:0.10.0'
animated WebP support:
compile 'com.facebook.fresco:animated-webp:0.10.0'
if you’re using Gingerbread you also need to add:
compile 'com.facebook.fresco:animated-base-support:0.10.0'
Drawee changes
If you've been using R.styleable.GenericDraweeView, you now have to use R.styleable.GenericDraweeHierarchy instead.
Version 0.9.0
- reduced library size (made webp support for Jelly Bean and below optional)
- added Stetho plugin
- upgrade to OkHttp 2.6
- rounding is applied to all branches of DraweeHierarchy
- several bug fixes
Breaking change! If you're using webp images below Jelly Bean read this migration guide
Version 0.8.1
- Quick re-release to sort out problems that occurred in v0.8.0 upload
- A few bug fixes
Version 0.8.0
- Allow Bitmap.Config to be set by caller
- New BaseBooleanSubscriber class
- New experimental code to put encoded images in ashmem (JellyBean and below)
- New experimental code to decode WebP directly on older platforms instead of transcoding
- New sample apps to demonstrate shared transitions and write-you-own uri
- Added AQuery to comparison app
- Lotsa bug fixes
Version 0.7.0
- New simpler API to determine if an image is in cache
- Improvements to the comparison app
- Upgrade some deps
- Some bug fixes
Version 0.6.1
- Fixed file-descriptors issue
- Fixed closing-streams issue
- Fixed some issues with rounding
- Other small fixes
Version 0.6.0
- Significant performance improvements, especially for local camera images
- Ability to cache postprocessed images
- Map of ImageFormats to standard file extensions
- Simpler API for clearing cache, and invalidating individual entries
- Remove some no-longer-used classes
Version 0.5.3
- Remove some time utils from fbcore
- Slight speedup in local images
- Fix some bugs