SDWebImage Versions Save

Asynchronous image downloader with cache support as a UIImageView category

5.18.4

6 months ago

See all tickets marked for the 5.18.4 release

Changes

  • SDAnimatedImage now supports static image like JPEG data #3626 #3625
    • Previous version the initializer will return nil and has to use UIImage/NSImage instead

5.18.3

6 months ago

See all tickets marked for the 5.18.3 release

Project

  • Update the TargetConditionals check for visionOS on Xcode 15.1 #3620

Fixes

  • Update the convenient API for case when user encode the format the same as image format, provide better quick return #3617
  • Try to remove the unused NSNotification object filter, do filter by ourself #3619

5.18.2

7 months ago

See all tickets marked for the 5.18.2 release

Fixes

  • Fix the SDDisplayLink on watchOS does not behave like other platform #3607

5.18.1

7 months ago

See all tickets marked for the 5.18.1 release

Project

  • Added the visionOS support for "Build XCFramework" script target #3598
  • Added xcprivacy to framework target and SPM #3600

Fixes

  • Fix the JFIF image orientation bug (which does not use EXIF but JFIF metadata) #3597

Warnings

  • Fix one warning because local variable shadows the variable outside of block #3599

5.18.0

8 months ago

See all tickets marked for the 5.18.0 release

VisionOS

  • Support to build for visionOS (no package manager support) #3556
    • Note this does not include CocoaPods/SwiftPM support. You need Xcode 15+ Beta to open SDWebImage project and build by yourself

Features

UI Category

  • Added SDWebImageAvoidAutoCancelImage to avoid cancel loading image requests for the same operation key #3592 @mTz0206
  • Add better support for stateful view (UIButton) for image URL/progres s state management #3576

Downloader

  • Fix redundant requests for the same url during decoding time #3572 @Mervin1024

Decoder

  • Expose the data and format when SDAnimatedImageRep created with APNG/GIF/WebP/HEICS #3573
  • Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575

Fixes

  • Add extra check for empty data during URLSession data callback #3587

5.17.0

9 months ago

See all tickets marked for the 5.17.0 release

Performance

  • Refactory the logic to handle force decode logic to avoid CA copy frame buffer, introduce SDImageForceDecodePolicy detailed control #3559 #3417
    • This fix the issue that non-ImageIO coder (means, WebPCoder) will cause CA to copy bitmap buffers and increase memory usage.
    • You can still custom the behavior using the new SDImageForceDecodePolicy, defaults to automatic.
  • For coder plugin who want to opt-in to avoid CA::copy_image, use the new preferredPixelFormat: and do byte alignment and colorspace convert.

Fixes

  • Fix macOS bug that SDImageCoderDecodeScaleDownLimitBytes still use the AnimatedImageRep and beyond the byte limit #3561
  • Change macOS sd_colorAtPoint/sd_colorsWithRect which may loss colorspace information. Now it correctly convert to sRGB colorspace always.
  • Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575

5.16.0

11 months ago

See all tickets marked for the 5.16.0 release

Features

Animated Image

  • Performance: Introduce frame pool for SDAnimatedImage playback. Solve when multiple image view references the same URL image cause un-wanted decode which waste RAM/CPU #3524
    • Note this currently does not expose the frame pool API. Fire issue if you're facing issues about this change.

Decoder

  • Introduce the automatically calculation of thumbnail (include animated/static image) using SDImageCoderDecodeScaleDownLimitBytes #3537
    • This calculation of the UIKit-based animated image frame count as well (only UIAnimatedImage, not SDAnimatedImage, because SDAnimatedImage manage frames dynamically). Fire issue if you're facing issues about this change.
    • The .scaleDownLargeImages implementation has switched to use this instead of .thumbnailPixelSize (5.5.0 - 5.16.0)
    • Note this introduce new API and need Coder Plugin update (like WebP/AVIF)

Documentations

  • Update some comments to allows SwiftDocC generate better page #3547

5.15.8

11 months ago

See all tickets marked for the 5.15.8 release

Fixes

  • Try to fix macOS SDDisplayLink crash because of accessing the deallocated objc pointer during CVDisplayLinkRef callback #3531

Changes

  • Update the implementation SDScaledImageForScaleFactor to support SDAnimatedImage #3535

5.15.7

11 months ago

See all tickets marked for the 5.15.7 release

Fixes

  • Try to solve the strange dispatch group crash in SDSafeExecute by removing inline #3526

Performance

  • Opt when multiple same URLs queried in parallel, which may cause duplicated decode and store disk operation #3523

5.15.6

1 year ago

See all tickets marked for the 5.15.6 release

Performance

  • Small improvements to SDDiskCache write perf #3517
    • Note this slightly change the behavior when you manual grab the SDImageCache.diskCachePath and remove it without creating new directory, next disk cache write operation will fail, before the restart of App.

Fixes

  • Revert the SDDisplayLink for watchOS, fix the animated image duration bug #3520 #3511

Warnings

  • Fix the warning of C function with no param #3519