Repository navigation
v3.7.0
·
0 commits
to c54fc84a538da1c182d83733463b26102f6b8f90
since this release
Highlights
- Adds client-side AVIF transcoding (a19f4cd)
- Adds
intermediateImageBitmapTransformationAPI to Fresco (ad877d5) - Adds a quality-aware
BitmapTransformationAPI and default transformation for intermediate images
(de4f23c) - Adds
SimilarImageLookupinterface and wires it intoImagePipelineConfig(d04a77d) - Adds
UnifiedCacheKeyFactorywith a pluggableUriNormalizer(55ad40a) - Adds
EfficientPlatformDecoderand aRawBitmapDecoderinterface for unified byte-array-to-Bitmap decoding
(cd773ee) - Adds
ZoomableVitoViewto the zoomable library (e6ce122) - Adds
DrawableResImageSource,RetainingImageSource, andColorImageSourceimage sources
(0b41741) - Adds
ScaleType.DISABLEDand a newMatrixScaleType(8cf2538) - Adds loop-count control and static-thumbnail fallback for animated images (8cbe470)
- Adds an API to delete all files from a disk cache (209d705)
- Adds the ability to specify a custom cache key on
ImageRequest/ImageRequestBuilder
(2da616f) - Adds a circuit breaker for consecutive frame-drop failures in animations (1d3adb6)
- Replaces deprecated
setDownsampleEnabled()withsetDownsampleMode()(fd2b684) - Bumps Kotlin to
2.2.0(6a14e11) - Hardens native decoding against OOB reads, use-after-free, integer overflow, and a GIF-parsing memory leak in
webp_bitmapfactory(6328781) - Removes
CallerContextfrom cache keys to prevent caller-context leaks (d14c122) - Fixes an ANR by preventing synchronous network fetches on Litho layout threads (45a60ce)
- Fixes recycled-bitmap crashes via an
isRecycled()check inDefaultDrawableFactory(a122b06) - Fixes a postprocessor not being applied during decoded-image prefetch (6544cc6)
- Fixes image info being fetched after drawable creation to avoid
IllegalStateException(#2839)
(64f3ca9) - Fixes the loop variable in
DropFramesFrameScheduler(#2850) (4ed6d91)
Breaking
Nullability changes:
- Marks
getUnderlyingBitmaponCloseableImageandcloneUnderlyingBitmapReferenceonCloseableStaticBitmapnullable (ad1dab9)
Removed classes:
- Removes the unused
MultiUriclass (0eb4503) - Removes the legacy
GingerbreadPurgeableDecoder(1d801a7),HoneycombBitmapFactory(9b971a433af0a7024a94d26c97ef5f1fbc3b4af2), andKitKatPurgeableDecoder(removed as part of minSdk raise sweep) - Removes
PoolSizeViolationExceptionandignoreHardCap(537cd77) - Removes
LegacyOnFadeListenerand relatedsetLoggingListener/getLoggingListeneronAbstractDraweeControllerandAbstractDraweeControllerBuilder(6653bfead9de8d1dcdb01aa13dfb1fe5daa7be41, dd81c0c) - Removes
AnimationBackendDelegateWithInactivityCheckinactivity API (91702f7) - Removes
AnimatedImageFactoryImpl(d291ae3)
Removed methods:
- Removes
PipelineDraweeControllerBuilder.setImageOriginListener(3998f18) - Removes
PipelineDraweeController.removeImageOriginListener(made private) (a925053) - Removes
DraweeSpanStringBuilder.setImageSpan,hasDraweeSpans,getDraweeSpans(dd99560) - Removes
AnimationListener.onAnimationReset(Drawable)(eeae326) - Removes
KAnimatedDrawable2.DrawListener.onDraw(f0dc700) - Removes
ImagePipelineExperiments.setWebpSupportEnabled/isWebpSupportEnabled(b0ebc93) - Removes
DefaultImageDecoder.decodeGif/decodeAnimatedWebp(4a5a554) - Removes
AbstractAdaptiveCountingMemoryCache.reportData()(94346a6) - Removes
DefaultCacheKeyFactory.setShouldRemoveCallerContextFromCacheKey(21a3f60) - Removes
ImageRequest.recordHashCode(30e7642) - Removes
RenderScriptBlurFilter.canUseRenderScript()(099f21c) - Removes
PoolStatsTracker.onSoftCapReached/onHardCapReached(d5c9d20)
Enum changes:
- Removes
ImageRenderingInfra.VITO_V1enum value (1a8b9e6)
Behavioral changes:
- Bitmap pool
ignoreHardCapnow defaults totrue(b196965)
Full Changelog: v3.6.0...v3.7.0