Avg Release Cycle
16 days ago
- ➕ Added the URLSessionTaskMetrics support for downloader && operation, which can be used for network metrics #2937
- Typically you use custom operation class to collect all metrics in your app. You can also collect metrics for single url request level. Check the #2937 example code to grab the download token and check metrics.
- 🔋 Feature - better support for vector format detection, now PDF rasterized bitmap is built-in #2936
.thumbnailPixelSizeto control the PDF bitmap size. If you want vector PDF rendering, you still need to use SDWebImagePDFCoder.
- Vector image like SVG (via SDWebImageSVGCoder) and PDF (via SDWebImagePDFCoder), or system symbol images, can be detected by new API
- 0️⃣ Vector image does not pass to transformer by default, because they support dynamic size changing. Pass
.transformVectorImageoption to allow transformation.
- ➕ Add a better check to handle the cases when call
storeImagewithout imageData #2953
- Which means, if you store image to disk without data, we will use extra information via
sd_imageFormator custom image class, to choose the the image format (including GIF and PDF) for encoding. Previously we only encode it into PNG or JPEG.
- 🔋 Feature add context option for cache, loader and coder, deprecated SDWebImageContextCustomManager #2955
- This makes it easy to use custom loader, cache, and decoder, without need to create a dummy SDWebImageManager instance.
- 🛠 Fix the rare case when call
SDWebImageDownloaderOperation.cancel, the completion block may callback twice #2954
- 🚀 Suppress the deprecation warning when min deployment target version set to iOS 13+ or macCatalyst
- Complete all the SDWebImage error code with the localized description, make it easy for debugging #2948
- 👌 Supports to load the large web image with thumbnail, control the limit size and aspect ratio #2922 #2810
- 👍 Better than resize transformer, which does not allocate full pixel RAM and faster on CPU. If you've already use transformer to generate thumbnail, you'd better have a try
- Works for both animated images and progressive images, each frame using the thumbnail decoding
- 👀 Applies for Vector Format like SVG/PDF as well, see more in Coder Plugin List
- 👌 Support all transformer method on CIImage based UIImage/NSImage #2918
- For CIImage based UIImage/NSImage, using the CIFilter to take shortcut, which is faster and lazy (rasterize on demand)
- 👌 Support to use the creation date and the change date to determine the disk cache expire date compare #2915
- Using UIGraphicsImageRenderer on iOS 10+, save memory when image bitmap is RGB(-25%) or Grayscale(-75%) #2907
- 🍎 Provide the polyfill APIs for firmware iOS 10- and macOS. If you already use
SDGraphicsBeginImageContextfor drawing, you'd better replace that instead.
- 🛠 Fix Gaussian Blur's bug which take half of the blur radius compared to the standard, should match Core Image's behavior #2927
- 👍 Allows advanced user to read/write extended metadata associated with image data from disk cache #2898
- 📇 This metadata will be processed at the same time when store or query the image. The metadata should conforms to
NSCodingfor archive and unarchive.
- ➕ Add
SDWebImageWaitStoreCache, which wait for all the async disk cache written finished and then callback, useful for advanced user who want to touch the cache right in completion block #2900