SDWebImage Versions Save

Asynchronous image downloader with cache support as a UIImageView category

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

5.15.5

1 year ago

See all tickets marked for the 5.15.5 release

Fixes

  • Protect the disk operation when input key is nil and cause exception #3505 #3504
  • Fix the blur effect logic by avoid color convert and always use three box-blur methodology #3506

5.15.4

1 year ago

See all tickets marked for the 5.15.4 release

Fixes

  • Fix the crash because of wrong usage of NS_NOESCAPE for SDCallbackQueue async block, should matching DispatchQueue #3500
    • This crash only occurs in specified version of clang compiler. But still recommended to update

5.15.3

1 year ago

See all tickets marked for the 5.15.3 release

Fixes

  • Fix the issue when multiple request for same url failed, the completedBlock will callback more times #3497 #3493
  • Try to fix the SDAnimatedImageView playback speed issue in Promotion devices (iPhone Pro) #3496 #3491

5.15.2

1 year ago

See all tickets marked for the 5.15.2 release

Fixes

  • Fix the atomic logic between downloader and operation again #3483

Warnings

  • Code garden to change Objc bool from true/false to YES/NO #3484

5.15.1

1 year ago

See all tickets marked for the 5.15.1 release

Fixes

  • Ensure the Downloader and DownloaderOperation callback the completion in atomic and never miss one #3477
    • This fix a long-term issue when multiple download request for same URL at the same time, some callbacks will missing. After fix, this will cause a brand new HTTP request but never miss any callbacks.
  • Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint #3473
  • Try to fix the SDAsyncBlockOperation's race condition #3479 #3275
  • Avoid compiler generate the wrong property attribute with non-atomic #3474

Performance

  • Remove the unused extra copy for SDAnimatedImage data initializer #3480

5.15.0

1 year ago

See all tickets marked for the 5.15.0 release

Features

Encoder

  • Added encodeWithFrames API for animation encoding in custom coder, better for usage #3469
    • Previously you have to wrap SDImageFrame array into temp image object for encoding, this cause wrap/unwrap performance cost (even bad on macOS because it implicit triggers temp GIF encoding). Now you can directly pass it into new encodedDataWithFrames: APIs.

Decoder

  • Update the decode solution to allows CoreGraphics avoid using any UIKit method #3468

Cache

  • Seperate the SDImageCache encode queue and IO queue to match waitStoreCache behavior #3466
    • Now, the encode process does not block IO queue and query disk cache faster. Previously SDWebImageWaitStoreCache is useless when you use transformer or cache serializer. Now you MUST pass this if you want to query disk cache inside completionBlock.

Manager/Cache/Loader

  • Added context option callbackQueue and SDCallbackQueue wrapper for advanced user to control which queue to callback #3465 #3457
    • If you want SDWebImage callback your completion in current non-main queue, pass .context[.callbackQueue] = SDCallbackQueue.current
  • Added SDWebImageContextImageEncodeOptions to pass encode options like compression quality to SDImageCache storeImage API #3466
    • The re-encode and store cache logic happens if you use transformer or custom cache serializer, now you can pass the encode options.

5.14.3

1 year ago

See all tickets marked for the 5.14.3 release

Performance

  • Added ioQueueAttributes to use concurrent or control QoS for image cache internal IO Queue #3460
  • When frame timestamp not reached, we should prefetch frame in advance for image render #3452

Fixes

  • Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization #3461
  • The poster image should not trigger a frameChange callback #3459

5.14.2

1 year ago

See all tickets marked for the 5.14.2 release

Fixes

  • Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only #3443 #3442 #3441

5.14.1

1 year ago

See all tickets marked for the 5.14.1 release

Fixes

  • Fix the iOS 12 crash because the underlyingQueue is nil #3434 #3433
  • Fix the missing lock for callbackTokens which may cause thread-safe issue #3439 #3438
  • Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue #3436