Changelog History
Page 8
-
v5.0.0-beta3 Changes
August 30, 2018🚀 See all tickets marked for the 5.0.0 release
🔋 Features
- Minimum progress interval config for
SDWebImageDownloader
#2415 #2437 1d8454d - 🔋 Feature disk cache migration from 4.x #2417 #2433
- ➕ Add
SDImageFormatHEIF
representmif1
&&msf1
brands #2423 (imported from 4.4.3) - ➕ Add default
HTTP User-Agent
for specific system #2409 (imported from 4.4.3) - Replace
valueForKey
withobjectForKey
when access NSDictionary #2399 - 👌 Improved unit tests #2438 #2434
- ✨ Enhanced contributing guide #2416
- Adopt all the protocol APIs which contains getter value to use property instead, to make the API easy to use or Swift user #2452
- ✂ Remove
sd_setAnimationImagesWithURLs
API, because its cause ambiguity, behave not consistently and have rare use case #2459 - 👌 Improved
SDAnimatedImage
protocol withinitWithData:scale:options:
#2453 - Extra args for
SDSetImageBlock
(addedcacheType
andimageURL
) #2449
🛠 Fixes
- Fix that using
NS_TYPED_ENUM
onSDImageFormat
cause the existing Swift API (sd_UTTypeFromImageFormat
) naming changed #2413 - 🛠 Fix that downloader options about image decoding is not correctly set #2414
- 👉 Make download receive response notification only dispatch to specific observer #2426
- 🛠 Fix a race condition during progressive animation load in
SDAnimatedImageView
#2435 - 🛠 Fix the bug that
SDWebImageContextCacheKeyFilter
wrongly be used as cache serializer and cause crash #2451 - 🛠 Fix resource key invalid when clean cached disk file #2462
- ➕ Add no expiration file support of disk cache #2461
- Minimum progress interval config for
-
v5.0.0-beta2 Changes
July 31, 2018🚀 See all tickets marked for the 5.0.0 release
🔋 Features
- ➕ Add
SDImageCoderWebImageContext
coder option, which allow custom coder plugin, to receive the context option from top-level API #2405 - 🚀 Updated all existing diagrams for 5.0 release + added new ones (small detailed diagrams for the most important components) #2407
🛠 Fixes
- 🛠 Fix nullable key for
sd_imageLoadOperationForKey
#2389 - Replace
__bridge_transfer
with__bridge
when convert fromCFStringRef
toNSString
#2392 - Rename
sd_UTTypeFromSDImageFormat
tosd_UTTypeFromImageFormat
#2395 - Change
SDImageFormat
to useNS_TYPED_EXTENSIBLE_ENUM
instead of fixed enum, to allow custom coder plugins to extend it #2400
- ➕ Add
-
v5.0.0-beta Changes
July 17, 2018🚀 See all tickets marked for the 5.0.0 release
Infrastructure
- the new requirements are iOS 8.0+ and macOS 10.10+ #2147
- Xcode 9+
Backwards incompatible changes
⚡️ See the 5.0 Migration Guide for a list of comprehensive changes and the way to update your code
🔋 Features
- 🔨 Introduce
SDAnimatedImageView
,SDAnimatedImage
and refactor the way we handle animated images #2140 - ➕ Added APNG support via dedicated coder
SDImageAPNGCoder
#2149 - 🔨 Refactored
SDWebImageDownloader
configs, separated them into a dedicatedSDWebImageDownloaderConfig
object #2263 - 🔨 Refactored the way we work with the scale factor #2266
- Created request and response modifier #2261
- 🔨 Refactor Cache Path API #2276
- 🔨 Refactor custom cache serializer & headers filter for request level #2280
- 🔨 Refactor cache - Support custom memory cache & disk cache #2282
- 🔨 Refactor cache - Support custom web cache #2278
- 🔨 Refactor - custom image loader - Supports loader protocol #2256
👉 Use
SDWebImageAvoidDecodeImage
to allow user to control force decode feature for individual image request #2283👀
SDImageCache
supports disk cache writing options. SeeSDImageCacheConfig diskCacheWritingOptions
#2148SDImageCache
now usesNSData writeToFile:options:error
instead ofNSFileManager createFileAtPath:contents:attributes
#2148🚚 Moved
SDImageCache maxMemoryCost
andSDImageCache maxMemoryCountLimit
toSDImageCacheConfig
#2151➕ Added
SDImageCache diskImageDataExistsWithKey:
synchronous method #2151Moved
UIImage sd_imageLoopCount
andUIImage isGIF
(and renamed tosd_isAnimated
) toUIImage+Metadata
category, removed the outdated methods #2152🚚 Move context and other type definitions to a separate header (
SDWebImageDefine
) to allow to be included without dependency #2188Pass
context
arg from the top level APIs to the bottom level APIs to allow specify logic in the future #2189 d6a3e2c c24c3d3🔨 Refactor the image indicator by creating
SDWebImageIndicator
andSDWebImageProgressIndicator
protocols and two concrete classes that implement activity and progress indicators for both UIKit and AppKit #2185 46b62cf🔨 Refactor the implementation of
SDWebImagePrefetcher
so it behaves more like a "shared instance" object, similar to other platform classes. Each instance will manage its own list of urls. #2191 1efc247 92f3d2c bc164d6🔨 Refactored and enhanced the way we allow image transformations. Switched from a single delegate method to composition of
SDImageTransformer
#2219💅 API style refactoring - #2250
- Use property instead of setters and getters to make the property available in Swift
- Use class property with the correct name instead of
+(instanceType)sharedInstance
in singleton to make it more easy to use in Swift. The generated interface should be simpleopen class var shared { get }
- Add all nullability annotation to avoid any
AnyObject!
implicitly unwrapped optionals (Except thatnull_resettable
) - Add all Core Foundation Ownership using
CF_RETURNS_RETAINED
for Get Rule andCF_RETURNS_NOT_RETAINED
for Create Rule to avoid anyUnmanaged
CF value - Change all key for Dictionary with
NS_STRING_ENUM
to make it easy to use in Swift with dot syntax - Change all global value type which represent enum with
NS_TYPED_ENUM
to make it easy to use in Swift with dot syntax
✂ Remove the extra calculation of image orientation for ImageIO coder & Fix macOS image orientation #2271
Added
SDWebImageError
(defined asNS_ERROR_ENUM
) to group all our errors together #2290➕ Added tests for macOS
➕ Add the
SDWebImageContextStoreCacheType
context option to specify target cache type when the image is downloaded by manager and will store to cache #2360🔋 Feature watchOS
WKInterfaceImage
withsd_setImageWithURL
#2331➕ Add options to specify query cache sync/async behavior #2312
🛠 Fixes
SDWebImageManager loadImageWithURL:options:progress:completed:
changed thecompleted
param requirement fromnullable
tononnull
#2164
-
v4.4.8 Changes
December 27, 2019🛠 Fixes
-
v4.4.7 Changes
June 05, 2019 -
v4.4.6 Changes
February 26, 2019🚀 See all tickets marked for the 4.4.6 release
🛠 Fixes
- 🛠 Fix the unused user header search path warning for CocoaPods 1.6.0. #2622
- 🛠 Fix that WebP with custom ICC Profile will randomly crash, because
CGColorSpaceCreateWithICCProfile
does not copy the ICC data pointer #2621 - 🛠 Fix the issue when WebP contains the ICC Profile with colorSpace other than RGB, which cause the CGImageCreate failed #2627
Project
- ⚡️ Update the libwebp dependency to support using 1.0 version and above #2625
🐎 Performances
- 🆓 Nil imageData before decode process to free memory #2624
-
v4.4.5 Changes
January 31, 2019🚀 See all tickets marked for the 4.4.5 release
🛠 Fixes
- ⏪ Revert the modular framework, try to fix some user's install issue when using SDWebImage in prefix header #2604
- 🛠 Fix wrong decompression scale calculation #2608
- 🛠 Fix shouldDecode check when image format is GIF #2606
- 🛠 Fix modify data pointer if webp image scaled down #2607
-
v4.4.4 Changes
January 26, 2019🚀 See all tickets marked for the 4.4.4 release
🛠 Fixes
- 🛠 Fix memory cache image cost miscalculation for 4.x #2486
- 🛠 Fix background download for 4.x #2570
- 🛠 Fix race condition for creation of download operation when isCancelled is YES but isFinished is NO #2574
- 🛠 Fix the current image cost (pixels) for FLAnimatedImage #2558
- 🛠 Fix the FLAnimatedImage compatible code issue by introduce a private API #2588
- 🛠 Fix that WebP image with ICC Profile does not show color correctly, should use the profile colorspace instead of device colorspace #2585
- 🛠 Fix potential memory leaks for ICCP && optimize ICCP handler #2596
- 🛠 Fix that WebP decoder in master branch, does not consider the global
shouldDecompressImages
config and always do pre-draw for static WebP images #2592 - 🛠 Fix rare crash when NSMapTable empty keys #2556
- Retain operation when post download related notifications (Hopefully fix, but if you face crash, please open a issue) #2576
🐎 Performances
- Prioritize SDWebImageDownloaderHighPriority if operation already exists #2575
Project
- Let SD can be imported using static library by CocoaPods using
DEFINES_MODULE
#2549
-
v4.4.3 Changes
November 25, 2018🚀 See all tickets marked for the 4.4.3 release
🛠 Fixes
- ⏪ Revert the hack code for
FLAnimatedImage
, because of theFLAnimatedImage
initializer method blocks the main queue #2441 - 🛠 Fix extention long length of file name #2516 6c6d848
- 🛠 Fix resource key invalid when clean cached disk file #2463
- 🛠 Fix the test case
testFLAnimatedImageViewSetImageWithURL
because of remote resource is not available #2450 - ➕ Add default
HTTP User-Agent
for specific system #2409 - ➕ Add
SDImageFormatHEIF
representmif1
&&msf1
brands #2423 - ✂ remove
addProgressCallback
, addcreateDownloaderOperationWithUrl
#2336 - 🛠 Fix the bug when
FLAnimatedImageView
firstly show one EXIF rotation JPEGUIImage
, later animated GIFFLAnimatedImage
will also be rotated #2406 - Replace
SDWebImageDownloaderOperation
withNSOperation<SDWebImageDownloaderOperationInterface>
to make generic #2397 - 🛠 Fix wrong image cache type when disk and memory cache missed #2529
- 🛠 Fix FLAnimatedImage version check issue for custom property
optimalFrameCacheSize
&&predrawingEnabled
#2543
🐎 Performances
- ➕ Add autoreleasepool to release autorelease objects in advance when using GCD for 4.x #2475
- ⚡️ Optimize when scale = 1 #2520
📄 Docs
- ⚡️ Updated URLs after project was transfered to SDWebImage organization #2510 f9d05d9
- Tidy up spacing for
README.md
#2511 - ✂ Remove versioneye from README #2424
- ⏪ Revert the hack code for
-
v4.4.2 Changes
July 18, 2018🚀 See all tickets marked for the 4.4.2 release
🔋 Features
- Ability to change the clear cache option
SDImageCacheConfig.diskCacheExpireType
#2357 - ➕ Add option to enable or disable weak memory cache for
SDImageCache
viaSDImageCacheConfig.shouldUseWeakMemoryCache
#2379 - ➕ Add cache control for
FLAnimatedImage
, this allow user to disable memory cache for associatedFLAnimatedImage
instance #2378 - ➕ Add
diskImageDataForKey:
sync API forSDImageCache
to directly get the image data from disk #2391
🛠 Fixes
-
SDWebImageManager.runningOperations
type changed fromArray
toSet
#2382 - Keep the information about image's original compressed format #2390
- 🛠 Fix
FLAnimatedImageView+WebCache
delayed draw due to #2047 which is now reverted #2393 - Check for nullable key when cancel image load operation #2386
- Replace
__bridge_transfer
with__bridge
when convert fromCFStringRef
toNSString
#2394
- Ability to change the clear cache option