v3.7.0
Highlights
- Adds client-side AVIF transcoding (a19f4cd5a745fa06ebbefc4ef12751a4fadf3ef5)
- Adds
intermediateImageBitmapTransformationAPI to Fresco (ad877d58d6bb52cb4ef689fa027a3bd7ebcc2626) - Adds a quality-aware
BitmapTransformationAPI and default transformation for intermediate images (de4f23c336b58748551b6f30ea58ea151952f4ad) - Adds
SimilarImageLookupinterface and wires it intoImagePipelineConfig(d04a77de3391c72c0ff6180a9dfb4a104da860b8) - Adds
UnifiedCacheKeyFactorywith a pluggableUriNormalizer(55ad40a9a2767923b9dd5b2e94383855617d7f0b) - Adds
EfficientPlatformDecoderand aRawBitmapDecoderinterface for unified byte-array-to-Bitmap decoding (cd773ee521f5db8a843411e2dddbc709e88cecc8) - Adds
ZoomableVitoViewto the zoomable library (e6ce122ac04565f98d3dadeb2a510d985b4b033d) - Adds
DrawableResImageSource,RetainingImageSource, andColorImageSourceimage sources (0b41741251705a3b7faedba9fe735e1b7cc1c2fe) - Adds
ScaleType.DISABLEDand a newMatrixScaleType(8cf25386a360a202a12cc5c67f1dd121ad68368d) - Adds loop-count control and static-thumbnail fallback for animated images (8cbe47096cf9a32a0d55d586bde5786901d7a2bc)
- Adds an API to delete all files from a disk cache (209d705677edb3b5bab0abebd259c10815f63939)
- Adds the ability to specify a custom cache key on
ImageRequest/ImageRequestBuilder(2da616f686ed2ebb2ca98897b949aa6bf519d825) - Adds a circuit breaker for consecutive frame-drop failures in animations (1d3adb69512d01032b42e682309add584b1fda75)
- (Breaking) Removes the unused
MultiUriclass (0eb4503febf0a3dde92f20ca9f619a8a977f4c63) - (Breaking) Removes the legacy
GingerbreadPurgeableDecoderandHoneycombBitmapFactory(1d801a7217a43ad382914c344455934975d3091f) - (Breaking) Removes
PoolSizeViolationExceptionandignoreHardCap(537cd77fe80783b83a07ed1fd2a6683926e49075) - Replaces deprecated
setDownsampleEnabled()withsetDownsampleMode()(fd2b68410754bd15c270270a42847477a9b87b67) - Bumps Kotlin to
2.2.0(6a14e114e5854f5a7dfb3e71e78ec8beb3311396) - Hardens native decoding against OOB reads, use-after-free, integer overflow, and a GIF-parsing memory leak in
webp_bitmapfactory(63287810684f32d237b9f7b1ad6f2c10d22fee5f) - Removes
CallerContextfrom cache keys to prevent caller-context leaks (d14c122db80250e4a4be81737035e593f99a5009) - Fixes an ANR by preventing synchronous network fetches on Litho layout threads (45a60ceeb94b9b20223a56d653b4792d45ee38f1)
- Fixes recycled-bitmap crashes via an
isRecycled()check inDefaultDrawableFactory(a122b06169f269f95e16ee716ddb0dfe16569113) - Fixes a postprocessor not being applied during decoded-image prefetch (6544cc65710c5ccf1f0b73713e62b3a6245a4f13)
- Fixes image info being fetched after drawable creation to avoid
IllegalStateException(#2839) (64f3ca9bebdb76838e569daaf47a120ea1eb1f36) - Fixes the loop variable in
DropFramesFrameScheduler(#2850) (4ed6d91aa0ae49535af2a6ae73dd4a61b3073cd6)
Full Changelog: https://github.com/facebook/fresco/compare/v3.6.0...v3.7.0
v3.6.0
Highlights
- Adds AVIF image format support (0e05952ef4f4262cea935f8b92d53f1ebf1f0501)
- (Breaking) Adds constructor argument to
PipelineDraweeControllerfor providing a drawable factory for XML (e6b052610aab461601cfabc00f7240758a415878) - Marked
AnimatedDrawable2andKAnimatedDrawable2open for custom subclasses (76bde19d8f337bbfd7b6ef1136e4ed1f3b9e97a5) - Fixes infinite invalidation of drawables (aade8e8d1525bd06a66b44a2fb9afd3d44eb274f)
- Fixes issue with XML format support not enabling when custom decoder is provided (7896b72ad9d75b272dcfb6c85f01a09341c70cdb)
Full Changelog: https://github.com/facebook/fresco/compare/v3.5.0...v3.6.0
v3.5.0
Highlights
- Added experimental support for XML drawables (bf62ecb18e8cb459a6da7f19bd249018aa53d9a4)
- Added disk cache read timeout support (2535bb3dda44fb2f042fec535c5275d700c9f9a2)
- Added new API for evicting images from Vito cache (973d3fb833e918ec56515568c3052a0d50b9f08e)
- Fixed a file descriptor memory leak when reading image metadata (96089bca0b5a04027a4201c899d1296f3c235bb7)
Full Changelog: https://github.com/facebook/fresco/compare/v3.4.0...v3.5.0
v3.4.0
Highlights
- Bump to AGP 8.5.2 and Gradle 8.7 (f5d7c9960c0c0792107a68b56c7b050bb8fa2a72)
- Bump to NDK 27 + 16 KB page size (766a877dde9967a55238f55bb725ee7d7be7e41e)
- Native binaries are now 16KB page aligned and is still compatible with existing Android OS using 4KB page size
- This will enable Fresco to run on Android 15 devices that choose to use a page size of 16KB
- See here for more details: Android Developers - Support 16KB page size
Full Changelog: https://github.com/facebook/fresco/compare/v3.3.0...v3.4.0
v3.3.0
Full Changelog: https://github.com/facebook/fresco/compare/v3.2.0...v3.3.0
A few highlights:
- Updated AGP to 8.2.2 (51d672c6d56a7510dd6d66988ee5aecdfa8762d5)
- Improved null safety and performed Kotlin conversions on both Drawable and Vito internals (e1eaf426e5a4f680f59dd7af5ad4a5e01c139ee5, 197426edf834b44ef301978f4e9f81404c22685f, 552d09f8a42b1847890437aa01ec6a6e71e452fa, 5b4b73caeabd2a6c2b0f051613540d362fa5f2bb, d30dff32056bcb0a48c8c3ff263e76435b22a084, 5382afcea02bcac5a3dae8d523171b3dad45bc17, ad2ce43a603fb5bb8bd333403e29dcf2ddabe117, c8ba3fef2a1c83e2b2b9bfd64fbe87084fb4495e, 5b1cb2ade94f1aee792a8bff474567ed28f0c30b, 850830794b40746daccb06a043ac4b32b5b6cebc, ae7cba8986378480459a4818a531eddf1ccffa8b, 3895af5eb99fd5ab5ddc77821821518db4786e79, 572f32079020c238587361fdaf8c3f367890f2f5, f19831c8421dfab0e470da18cb27112cccac79a1, cbf842e48b88c459e86e9aa27c287b3fa100c4f3)
- Added support for tint color to drawable image types (ca6dac19d9595b4537f20c2394bc9fff985f8ff7)
- Added an override for disabling downsampling on image requests (9c577385312f665b889d2957b43b77a84bd4e434)
- Added support for dynamic caches to image pipeline (affc542a515887c4ac90c06c5e615aa03dd91ab4)
- Added option to selectively disable image release callbacks for Vito (dc64f210d231d9bf7565dfbacfdd5a81d42afbb9)
- Fixed placeholder images for Vito (6947f273d5d8f44108a1fd3c4839333aa3baf60b)
- Added functionality to display partial images instead of placeholder if in cache (fe331253ca6155b32bc719404b96e4eebbf29639)
- Added new FrescoVitoSetup interface to set up Vito (60b8ca95479235d06ac380b537fd1535e4f68d73)
v3.2.0
- Upgraded libjpeg-turbo to 2.1.5.1 (no longer associated with CVE-2018-14498)
- Upgraded AGP to 8.1.1
- Setup Github Actions workflows
- More: https://github.com/facebook/fresco/compare/v3.1.3...v3.2.0
v3.1.3
Full Changelog: https://github.com/facebook/fresco/compare/v3.1.2...v3.1.3