Skip to content

build(deps): bump com.facebook.fresco:fresco from 3.7.0 to 3.9.0 - #364

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/com.facebook.fresco-fresco-3.9.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/com.facebook.fresco-fresco-3.9.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 1, 2026

Copy link
Copy Markdown
Contributor

Bumps com.facebook.fresco:fresco from 3.7.0 to 3.9.0.

Release notes

Sourced from com.facebook.fresco:fresco's releases.

v3.9.0

Highlights

  • Updates the Fresco source-build toolchain to Android Gradle Plugin 9.2.1, Gradle 9.4.1, and NDK r28c (28.2.13676358) (d74afa8eb22518830776f75e2a864d83e421aecb)
  • Adds a ProducerFactory.newBitmapMemoryCacheKeyMultiplexProducer overload that accepts an explicit CacheKeyFactory, allowing delegated cache requests to be multiplexed with their own cache-key factory (c361d615c1200c46c1d8c0163cfae97d8221427e)
  • Adds exact-key removal for memory caches and introduces UnifiedEncodedMemoryCache; Fresco's encoded-memory-cache producer now uses the shared cache boundary (745298f652d28ce219043977cdb9412af17d57ac, 53dc796565b8ad3902c8e2e304cadc0c47a175ba)
  • Generalizes EncodedCountingMemoryCacheFactory to create caches for custom encoded value types through a ValueDescriptor (53dc796565b8ad3902c8e2e304cadc0c47a175ba)
  • Adds a Vito warning when a CloseableBitmap has a null underlyingBitmap, helping diagnose images that may already be closed (028280873e8bfc554d6fa776215927aedadf4bbc)

Breaking

Source builds only:

  • The repository moves from AGP 8.10.1, Gradle 8.11.1, and NDK r27b to AGP 9.2.1, Gradle 9.4.1, and NDK r28c. The build now relies on AGP 9's built-in Kotlin support instead of applying kotlin-android, and annotation-processing modules use com.android.legacy-kapt instead of kotlin-kapt. Source-build automation or patches that depend on the previous wrapper or plugin IDs must be updated (d74afa8eb22518830776f75e2a864d83e421aecb)

Full Changelog: meta/fresco@v3.8.0...v3.9.0

v3.8.0

Highlights

  • Adds an encoded-image request transformation hook and makes disk-cache write producer creation overridable (58ac45fa33e37b9ac1521a9124b783a6144582d7)
  • Adds EncodedImageDimensionsDecoder and a registry for custom image-dimension decoding (b0742d60175f8dc799169daf01ebff673ad101fc)
  • Adds MultiPostprocessor for applying multiple postprocessors in sequence (ddc1db1f2707445e17fced4c303bd3bbd6a2b4fe)
  • Adds EmptyImageSource.isExpectedEmpty so intentional empty Vito sources can retain their placeholders without reporting failures (0b0bc9dadb3835edcccec2c579a0d9e4ce0f55a5, d8380341736fdcc0e89e82b23e2adc2babfb3617)
  • Lets custom producer-sequence factories handle decoded HTTP(S) requests and encoded network prefetches (793dabcffca074797603aff5d0ac475191fef4ac, 6bcf6e3fb166bfdf8204a07a31cdad8da9dfea9c)
  • Adds framework-neutral cache-key generation with UnifiedCacheKeyGenerator (f650f5d18c5fc407200ef481a7ec803bbc8bc7b1)
  • Adds request creation from complete SingleImageSource instances and request-based cache eviction that honors custom cache keys (7bf53dff1cc146c2cd2681399ec0a4f8bbce1f53, 8366d2701fa71b674704f3e53aad76afb49caeed)
  • Adds opt-in streaming image decoding with byte- and time-based partial-result throttling (9e2b4595ad1d8f228c36c5fba993b270efe6133a, f2d88bbb48552450fe368c3f2e2846fd4272ffcd)
  • Adds an option to keep the progress indicator visible while intermediate Vito images are displayed (624a167075555f63b38e3a1f72cf9ade74fb9d56)
  • Exposes the configured memory-chunk pool through PoolFactory.getMemoryChunkPool (06140ac8a11678cec7aea4d0262505fbd42a1e2a)
  • Adds PrefetchData and prefetch telemetry plumbing (936699641f3cf8b306eaa62265724e0d8aefc0ed)
  • Reduces final-image latency by letting completed decode results bypass the progressive-decode interval (02414e429ec1df1c3a2a633f6e206d8361034c85, e0ecb758083bcfcc3e19aadc41780a7b3333dca9)
  • Supports building the OkHttp backend against both OkHttp 3.x and 4.x (288a34c60a35d2d99912d43e2b6559af1e3fa61e, bc35d331f1646dcb00b7876e4daa9b48055e5413)
  • Fixes an Android 16 null dereference when creating the default Vito drawable factory (7b7b29a3b325126c538b044d1d7afc49cc4c53f1)
  • Hardens native WebP decoding against invalid dimensions, oversized canvases, negative lengths, and unsafe byte-array ranges (a160b3b1bbfb3f4032bd2efc423e37f637be215b, 1566dd8f87a637907cc42cf13a5faefa8f46ea90)
  • Fixes recycled-bitmap rendering in Vito (41905be2a1cdf43a466a2623ae48165bdc25eb04)
  • Fixes races and invalid-dimension handling in on-demand animations (762ed58dcf6f97f71cf4fabc820e06ea210bb880, b57c87456345409ee144def24da82667a6aaa30f)
  • Fixes concurrency-related null dereferences in request listeners and Vito image tracking (2baa5d40651f8881f5982fd6ab11789baeac32d9, c6620d772e0e4fad72429a0db986508bb3a30bb6)
  • Fixes source builds with JDK 25 and aligns the OSS Gradle build with Kotlin 2.2 (288cdbb6870c7ffd2f6ff9ae714c9fbd63524383, c90d7f069174259d6d4567e04dd9f78b07dc1c8c, 0209f2496f362d2380437f1e3a6ef220fe76410b, 15df97e435f104f80b6ab8cabdc614e1b39d63de)

Breaking

Method signature changes:

  • Changes ProducerFactory.newDiskCacheWriteProducer to return Producer<EncodedImage> instead of DiskCacheWriteProducer (58ac45fa33e37b9ac1521a9124b783a6144582d7)

Removed classes and options:

  • Removes EfficientPlatformDecoder, EfficientRawBitmapDecoder, DecodeValidationUtils, and the PlatformDecoderOptions.useEfficientDecoder and useBitmapFactoryDecoder options (d7ed19ab1705c63d4bed185d0efb990cb3f9833f, 5bc48b675f5cc3715d71ccd1009d03447df54f8c, d4f73938ace28184415aed5bdda915901aac2e5d)

Kotlin migration changes:

  • Makes MatrixDrawable and RoundedBitmapDrawable final and makes several previously overridable FadeDrawable methods final (f60d58d71149ab007be7d76d5b9c0fada650dfc2, dc82282e214b331d24b926ae6965f3a982a1cff7, 9926a960d86d3ad6097ca2ef362e0b8518690ac1)
  • Makes StreamUtil and UriUtil singletons; their static operations remain available, but construction and subclassing are no longer supported (e708aed9aa6f6d440a18b62d838a423d44283d77, 5f2b04b83d93833dd302322b50aeca40bd845b73)
  • Makes NativeJpegTranscoderFactory final and NativeJpegTranscoderSoLoader a singleton (f69ccbc66bafe6b64b6301142ca0f5739e1c7a0f)
  • Changes selected Kotlin getter calls on FrameScheduler, GifFrame, and WebPFrame to property access (d30727c402a6f9c5b8e03add5ced46abb80484de, 0f7acde029049f8e5864dbba2fef66fab501301b, 0266179cb9bfe420d8d434043c0989f3e43cf61a)

... (truncated)

Commits
  • 71ed329 Prepare Fresco 3.9.0 release
  • d74afa8 bump agp to 9.2.1 and ndk to r28c (#2866)
  • 0282808 Warn on null underlyingBitmap in mapper
  • 1dcbd5a Document fetch contracts on FrescoController2
  • 53dc796 Adopt unified encoded cache in Fresco
  • 745298f Add shared encoded memory cache boundary
  • bbb388e Inject the byte-array pool into image infra
  • eac351c Update Fresco docs to 3.8.0
  • c361d61 Multiplex delegated CacheRequests
  • ab8128b Fix Fresco release workflow SDK setup
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [com.facebook.fresco:fresco](https://github.com/facebook/fresco) from 3.7.0 to 3.9.0.
- [Release notes](https://github.com/facebook/fresco/releases)
- [Commits](meta/fresco@v3.7.0...v3.9.0)

---
updated-dependencies:
- dependency-name: com.facebook.fresco:fresco
  dependency-version: 3.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Oct 1, 2026
@sonarqubecloud

sonarqubecloud Bot commented Oct 1, 2026

Copy link
Copy Markdown

@mergify

mergify Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants