SDWebImage

Asynchronous image downloader with cache support as a UIImageView category

MIT License

Stars
24.9K
Committers
321

Bot releases are hidden (Show)

SDWebImage - 5.19.1 - 5.9 Patch

Published by dreampiggy 7 months ago

See all tickets marked for the 5.19.1 release

Features

  • Allows the transformer to preserve the UIImage metadata like image format #3688
  • Add a protect when NSString passed into sd_setImageWithURL API (which should be NSURL instance) #3686 @aasdsjk

Performance

  • Replace NSFileManager.enumeratorAtPath with enumeratorAtURL for performance and RAM saving #3690 @ChengzhiHuang

Warnings

  • mark SDWebImageCacheKeyFilter default initializer unavailable & add missing default case of SDCallbackQueue sync/async function #3683 @adamwangxx
SDWebImage - 5.19.0 - CocoaPods X VisionOS

Published by dreampiggy 8 months ago

See all tickets marked for the 5.19.0 release

Project

  • [Part 2]Added the official visionOS support with CocoaPods, include Demo/Tests/CI #3673
  • This need CocoaPods 1.13.0+
  • Next: We'll bump other SDWebImage.org Pods, like SDWebImageSwiftUI, SDWebImageWebPCoder, libwebp on CocoaPods with the visionOS podspec support.

Features

  • Added SDWebImageWaitTransition to wait for transition finished and then callback completedBlock #3680

Changes

  • Formally deprecate sd_cancelCurrentImageLoad on UIView category, which cause misunderstanding for the same overloaded method in UIImageView category #3654
SDWebImage - 5.18.12 - 5.8 Patch

Published by dreampiggy 8 months ago

See all tickets marked for the 5.18.12 release

Fixes

  • Fix the issue that iOS 17 indexed PNG workaround breaks the 16bit RGBA PNG #3678
SDWebImage - 5.18.11 - 5.18 Patch

Published by dreampiggy 8 months ago

See all tickets marked for the 5.18.11 release

Fixes

  • Add missing break keyword while converting NSData to SDImageFormat #3672 @adamwangxx
SDWebImage - 5.18.10 - 5.8 Patch

Published by dreampiggy 9 months ago

See all tickets marked for the 5.18.10 release

Warning

  • Fix the warning during clang-analyze #3664 #3663
SDWebImage - 5.18.9 - 5.8 Bugfix

Published by dreampiggy 9 months ago

See all tickets marked for the 5.18.9 release

Fixes

  • Fix that PNG indexed color fix does not enable on Release Build configuration #3659 #3658
    • The fix was introduced in 5.18.5, but accidentally only enabled in Debug configuration :)
  • Fix the behavior that query thumbnail from full size data does not sync back the thumbnail image into memory cache #3657 #3656
    • The bug was introduced in 5.14.0, please upgrade if you use thumbnail decoding.
  • Temp remove the assert when thumbnail cache key used with thumbnail context , this may be changed later #3661

Project

  • Using os_log for our all log to replace the NSLog #3660
SDWebImage - 5.18.8 - 5.8 Patch

Published by dreampiggy 10 months ago

See all tickets marked for the 5.18.8 release

Fixes

  • Fix the issue when using the sd_cancelCurrentImageLoad on non-stateful view (like UIImageView.image) #3653
SDWebImage - 5.18.7 - CocoaPods Privacy Manifest

Published by dreampiggy 10 months ago

See all tickets marked for the 5.18.7 release

Project

  • Added xcprivacy manifest to CocoaPods #3649
    • Now all the 3 integration supports the privacy manifest. Check README about usage.
SDWebImage - 5.18.6 - ProMotion/Vision Fix

Published by dreampiggy 11 months ago

See all tickets marked for the 5.18.6 release

Fixes

  • Use the new solution for CADisplayLink duration calculation and fix 90Hz/120Hz display (iPhone Pro or Vision Pro) #3644 #3579
SDWebImage - 5.18.5 - iOS 17 Workaround

Published by dreampiggy 11 months ago

See all tickets marked for the 5.18.5 release

Fixes

  • Introduce the hacky workaround for iOS 17/macOS 14 ImageIO indexed color png decode (Apple's bug) #3634
    • This will use runtime detection (accurate and safe), and fix the wrong CGImageAlphaInfo when created from PNG using ImageIO decoder. Currently bug exists on iOS 17.0-17.2
    • Please help to fire radar to Apple, let them fix this problem as soon as possible.
  • Fix the iOS 17 UIKit issue that UIImageView entering the background will reset CALayer's contents, which cause SDAnimatedImageView render issue (out-of-sync) #3636
  • Fix the sd_colorAtPoint/sd_colorsWithRect return wrong value on pre-multiplied CGImage #3637
    • Previous version this may return the premultiplied color, which is wrong. Should always return the un-premultiplied color.

Tests

  • [Unit test] Use placehold.co to replace the down site via.placeholder.com #3639
SDWebImage - 5.18.4 - 5.18 Fix

Published by dreampiggy 12 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
SDWebImage - 5.18.3 - 5.18 Fix

Published by dreampiggy about 1 year 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
SDWebImage - 5.18.2 - 5.18 Fix

Published by dreampiggy about 1 year ago

See all tickets marked for the 5.18.2 release

Fixes

  • Fix the SDDisplayLink on watchOS does not behave like other platform #3607
SDWebImage - 5.18.1 - Privacy Manifest

Published by dreampiggy about 1 year 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
SDWebImage - 5.18.0 - VisionOS and more

Published by dreampiggy about 1 year 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
SDWebImage - 5.17.0 - Reduce RAM with Force Decode

Published by dreampiggy over 1 year 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
SDWebImage - 5.16.0 - Limit Bytes && Frame Pool

Published by dreampiggy over 1 year 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
SDWebImage - 5.15.8 - Fix macOS Crash

Published by dreampiggy over 1 year 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
SDWebImage - 5.15.7 - Fix Crash

Published by dreampiggy over 1 year 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
SDWebImage - 5.15.6 - Fix watchOS

Published by dreampiggy over 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