facebook/fresco
 Watch   
 Star   
 Fork   
2026-06-12 23:02:57
fresco

v3.7.0

Highlights

  • Adds client-side AVIF transcoding (a19f4cd5a745fa06ebbefc4ef12751a4fadf3ef5)
  • Adds intermediateImageBitmapTransformation API to Fresco (ad877d58d6bb52cb4ef689fa027a3bd7ebcc2626)
  • Adds a quality-aware BitmapTransformation API and default transformation for intermediate images (de4f23c336b58748551b6f30ea58ea151952f4ad)
  • Adds SimilarImageLookup interface and wires it into ImagePipelineConfig (d04a77de3391c72c0ff6180a9dfb4a104da860b8)
  • Adds UnifiedCacheKeyFactory with a pluggable UriNormalizer (55ad40a9a2767923b9dd5b2e94383855617d7f0b)
  • Adds EfficientPlatformDecoder and a RawBitmapDecoder interface for unified byte-array-to-Bitmap decoding (cd773ee521f5db8a843411e2dddbc709e88cecc8)
  • Adds ZoomableVitoView to the zoomable library (e6ce122ac04565f98d3dadeb2a510d985b4b033d)
  • Adds DrawableResImageSource, RetainingImageSource, and ColorImageSource image sources (0b41741251705a3b7faedba9fe735e1b7cc1c2fe)
  • Adds ScaleType.DISABLED and a new MatrixScaleType (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 MultiUri class (0eb4503febf0a3dde92f20ca9f619a8a977f4c63)
  • (Breaking) Removes the legacy GingerbreadPurgeableDecoder and HoneycombBitmapFactory (1d801a7217a43ad382914c344455934975d3091f)
  • (Breaking) Removes PoolSizeViolationException and ignoreHardCap (537cd77fe80783b83a07ed1fd2a6683926e49075)
  • Replaces deprecated setDownsampleEnabled() with setDownsampleMode() (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 CallerContext from 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 in DefaultDrawableFactory (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

2025-01-09 03:26:00
fresco

v3.6.0

Highlights

  • Adds AVIF image format support (0e05952ef4f4262cea935f8b92d53f1ebf1f0501)
  • (Breaking) Adds constructor argument to PipelineDraweeController for providing a drawable factory for XML (e6b052610aab461601cfabc00f7240758a415878)
  • Marked AnimatedDrawable2 and KAnimatedDrawable2 open 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

2024-11-25 22:45:48
fresco

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

2024-10-14 15:43:01
fresco

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

2024-10-07 23:20:40
fresco

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)
2024-06-04 23:54:55
fresco

v3.2.0

2023-10-16 23:43:56
fresco
2023-09-29 23:35:58
fresco
2023-09-18 19:17:20
fresco