SDWebImage

Asynchronous image downloader with cache support as a UIImageView category

MIT License

Stars
24.9K
Committers
321

Bot releases are visible (Hide)

SDWebImage - 5.19.3 - 5.19 Patch Latest Release

Published by github-actions[bot] 5 months ago

See all tickets marked for the 5.19.3 release

Fixes

  • Fix the detection of SVGImageRep on macOS AppKit #3716
SDWebImage - 5.19.2 - Canonical Binary XCFramework

Published by github-actions[bot] 5 months ago

See all tickets marked for the 5.19.2 release

Fixes

  • [Important] Fix some performance regression when SDAnimatedImage created with static format like JPEG #3708
  • Fix that colorSpaceGetDeviceRGB cache the color space even when active display changed #3712

Project

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