All Versions
141
Latest Version
Avg Release Cycle
65 days
Latest Release
162 days ago

Changelog History
Page 1

  • v5.21.7 Changes

    February 26, 2026

    ๐Ÿš€ See all tickets marked for the 5.21.7 release

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix AppKit SDImageCoderHelper does not use APNG instead of GIF for animated image creation #3870 #3871 @ijunfly
  • v5.21.6 Changes

    February 06, 2026

    ๐Ÿš€ See all tickets marked for the 5.21.6 release

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix the issue that thumbnail decoding will store the fulll image data into thumbnail key, which effect next time query from disk #3866

    ๐Ÿ”„ Changes

    • Image cache query API for disk type, no longer write back image to memory cache automatically. Call storeImageToMemory if you need.
    • โž• Added support to encode APNG instead of GIF, when no animated image format provided #3867
  • v5.21.5 Changes

    December 03, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.5 release

    ๐Ÿ›  Fixes

    • ๐Ÿ”’ Try to move the SDWebImageDownloaderOperation dataTask property initialization into synchronized lock to avoid thread-safe issue #3856 #3842
  • v5.21.4 Changes

    November 28, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.4 release

    ๐Ÿ›  Fixes

    • ๐Ÿ”’ Using @synchronized to always lock the cache/loader operation to ensure thread-safe. Fix crash issue on iOS 26 #3855 #3849
  • v5.21.3 Changes

    October 09, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.3 release

    ๐Ÿ›  Fixes

    • Switched image encoding to a context-aware approach with a safe fallback, allowing per-request encoder selection without changing the public API. #3844 @CloudlessMoon
  • v5.21.2 Changes

    August 29, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.2 release

    ๐Ÿ›  Fixes

    • Do not ignore blendMode in SDImageTintTransformer #3831 @bdaz
    • ๐Ÿ›  Fix the retryFailed option does not get modified by optionsProcessor #3829 @AirBlack
    • Avoid self if be nil in block. #3826 @hawk0620
  • v5.21.1 Changes

    June 10, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.1 release

    Projects

    • ๐Ÿ— [Xcode 26] - Fix watchOS build error with UITraitCollection in the new SDK #3819

    ๐ŸŽ Performance

    • โฌ‡๏ธ Reduce memory peak when playing the GIF on SDAnimatedImageView #3813

    Note

    โšก๏ธ If you use the self-signed binary XCFramework below in the GitHub action attachment, the certificate fingerprint has been updated to B5 88 AB D0 A0 B3 6E 8D 36 A3 05 6D C7 4D E7 46 2F 75 E4 9E 1D 83 03 D0 13 A9 94 AF 35 C2 D2 6F (SHA-256)

  • v5.21.0 Changes

    February 24, 2025

    ๐Ÿš€ See all tickets marked for the 5.21.0 release

    ๐Ÿ”‹ Features

    HDR Decoding

    - ๐Ÿ‘Œ Supports HDR decoding on Apple ImageIO coder (avif/heic/jpeg-xl, etc) #3778

    • Note: Defaults to always use SDR, if you want HDR decoding, pass SDWebImageContextDecodeToHDR: @(YES) to context option. Pay attention even decoded CGImage is HDR ready, full rendering require display hardware support and per-image-view level control, it's recommended to read WWDC23 and use proper API to check for current display headroom to turn on HDR.

    • Note: Apple ImageIO coder requires macOS 14/iOS 17+ for HDR decoding. For lower firmware you can consider AVIF/HEIF/JPEG-XL third-party codec

    HDR Encoding

    - ๐Ÿ‘Œ Supports HDR encoding on Apple ImageIO coder #3799

    • Note: Defaults to always use SDR, if you want HDR dencoding, pass SDImageCoderEncodeToHDR: @(SDImageHDRTypeISOHDR) for ISO HDR encoding. And SDImageHDRTypeISOGainMap for ISO Gain Map based HDR encoding (like JPEG for compatibility)

    • Note: Apple ImageIO coder requires macOS 15/iOS 18+ for HDR encoding. For lower firmware you can consider AVIF/HEIF/JPEG-XL third-party codec

    Transformer

    • ๐Ÿ‘ Allows user to directly customize preserveImageMetadata for our built-in transformers #3796

    ๐Ÿ’ป UI Category

    - ๐Ÿ”„ Change the default callback queue policy to SafeAsyncMainThread, don't need main queue check at all #3797

    • Note: This should make sd_setImageWithURL related UI API to work on case like UICollectionViewDiffableDataSource , which is running on main thread but not main queue.

    ๐Ÿ›  Fixes

    - fix: sd_colorAtPoint/sd_colorsWithRect should early return when pixel format is not supported #3798

    • Note: In history this may return a wrong color for RGB10/RGB16 pixel format. Now it just return nil, which may supported in the future.
  • v5.20.1 Changes

    February 20, 2025

    ๐Ÿš€ See all tickets marked for the 5.20.1 release

    ๐Ÿ›  Fixes

    • ๐ŸŽ (macOS) Fix SDAnimatedImagePlayer leaking SDDisplayLink instances and leaving CVDisplayLink threads running #3776 #3779
    • ๐Ÿ›  Fix the issue that previous optimization for special case (multiple same URL in prefetcher list) breaks the queryCacheType option sematic #3788
  • v5.20.0 Changes

    November 01, 2024

    ๐Ÿš€ See all tickets marked for the 5.20.0 release

    ๐Ÿ”‹ Features

    Animation Transformer
    • ๐Ÿ‘ SDAniamtedImageView now supports to apply transformer (post-processing of frame), with the SDAnimatedImage. #3761

    - You can apply transform like blurs, tint, CIFilters on animation frames.

    • Detailed behavior: Transform is applied just after the frame been decoded, on the global decode queue.

    • Detailed behavior: The transformed image replace the original decoded one, and re-use the design of maxBufferSize on SDAnimatedImageView

    Disk Cache

    - ๐Ÿ‘Œ Supports LRU eviction on disk cache, change the default expire type to accessDate instead of modificationDate #3759

    • In previous versions, the disk cache does not actually supports LRU (The NSFileManager read API does not update the accessDate), this version fix this issue and change the default behavior to use accessDate
    Tint Color

    - โž• Add blend mode to UIImage+Transform tint color API, default blend mode changed to sourceIn #3749

    • In previous versions, the blend mode use sourceAtop and does not match UIKit's tintColor naming. We now use sourceIn to match it.

    • Due to this changes, the SDWebImageTintTransformer defaults to use sourceIn blend mode as well. You can use transformer to tint SDAnimatedImageView as well

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix sd_imageFormat sometimes returns undefined on static image #3760