3.8.2 Patch release for 3.8.0 on Sep 5th, 2016
Fixes:
- Fixed #1608 #1623 #1644 Crash in
[NSURLCache cachedResponseForRequest:]
- the fix is actually avoiding to accessNSURLCache
which appears to generate a race condition. We only call it if necesarry (SDWebImageRefreshCached
is used and the image cannot be cached by the system when it's too big or behind authentication)
3.8.1 Patch release for 3.8.0 on Jun 7th, 2016
Fixes:
- SDWebImage 3.8.0 get wrong image #1589 - the issue was caused by the changes in 3.8.0 (Removed the URL query params from the filename (key) fb0cdb6d 1bf62d47 #1584 - fixes #1433 #1553 #1583 #1585) - Reverted.
- Note: The solution for those issues (i.e. #1433 #1553) is to set the
SDWebImageManager
cacheKeyFilter
block and do their own calculations there.
3.8.0 Minor release - Replaces NSURLConnection (deprecated) with NSURLSession - on Jun 6th, 2016
Infrastructure:
- Had to update the iOS deployment target to 7.0 from 5 - 6545a3ab
Features:
- Replace deprecated
NSURLConnection
withNSURLSession
#1578 #1586 - fixes #1291 #1318 #823 #1566 #1515 - Allow to customise cache and image downloader instances used with
SDWebImageManager
86fc47bf - fixes #1398 #870
Fixes:
- Removed the URL query params from the filename (key) fb0cdb6d 1bf62d47 #1584 - fixes #1433 #1553 #1583 #1585
- Fixed the WebP build with the official 1.0.0 CocoaPods release f1a471e9 - fixes #1444
- Updated doc:
removeImageForKey:
not synchronous e6e5c515 - fixes #1379 #1415
3.7.6 Patch release for 3.7.0 on May 8th, 2016
Infrastructure:
- Changed the libwebp git url so that people from China can access it - #1390 (from
https://chromium.googlesource.com/webm/libwebp
tohttps://github.com/webmproject/libwebp
)
Features:
- Added
cancelAllDownloads
method toSDWebImageDownloader
#1504 - Added API to save image
NSData
to disk cache:[SDImageCache storeImageDataToDisk:forKey:]
#1453
Fixes:
- Fix #1449: Version 3.7.5 breaks semantic versioning (removes public API). Re-added
sd_setImageWithPreviousCachedImageWithURL:andPlaceholderImage:options:progress:completed:
and deprecated it. Will remove it in 4.0.0 b40124c9 - Fix
CGContextDrawImage: invalid context 0x0
- #1496 (fixes #1401 #1454 #1457) - Fix
CGBitmapContextCreateImage: invalid context 0x0
- #1464 (fixes #1423) - Fix changed image size when loading from disk #1540 (fixes #1437)
- Repair memory release in the iPad environment #1549 (had to switch
#if TARGET_OS_IPHONE
to#if TARGET_OS_IOS
) - Fixed completion logic in
MKAnnotationView+WebCache
#1547 - Optimize the decoder to avoid unwanted blended layer - #1527 (fixes #1524)
- Protect against malformed frame for GIFs - #1447
- updated doc: #1462 #1466 #1486 #1532 #1461
3.7.5 Patch release for 3.7.0 on Jan 21st, 2016
- fixed #1425 and #1426 - Continuation of Fix #1366, addresses #1350 and reverts a part of #1221 - from commit 6406d8e5, the wrong usage of
dispatch_apply
- fixed #1422 - Added a fallback for #976 so that if there are images saved with the old format (no extension), they can still be loaded
3.7.4 Patch release for 3.7.0 with tvOS support on Jan 8th, 2016
Updates
- bumped
libwep
version to0.4.4
Features:
- added tvOS support #1327 and #1358 - fix #1368 and #1302
Fixes:
- #1217 contains several of the above fixes
- fix #391 -> option to cache only on Disk. will replace #1130
- fix #343 -> iCloud backup Option
- fix #371 -> CGBitmapContextCreate: unsupported parameter combination + #1268 #1412 #1340
- fix #576 -> scale set to screen scale
- fix #1035 -> progress queue with dispatch_async
- new feature -> activity indicator using auto layout. The activity indicator feature will replace #131
- #1218 progress callbacks now report on main thread - fixes #1035
- #1321 Added a new constructor to SDWebImagePrefetcher - replaces #956
- #976 append the original path extension to the hash filename - fixes #967
- replaced #999 with #1221
- added cache tests #1125
- #1236 fixes #1203
- bf899e22 fixes #1261 #1263 compilation issue CocoaPods vs non-CocoaPods
- #1367 fixes a bug where image scale & orientation are ignored when decoding / decompressing an image
- cac21e10 fixes #1366, addresses #1350 and reverts a part of #1221 - from commit 6406d8e5, the wrong usage of dispatch_apply
- #1363 fixes #1361 sd_cancelBackgroundImageLoadForState
- #1348 Create a strong ref of weakOperation in the entry of The image download subOperation, use the strong ref instead weakOperation. At the same time, repair some logic of the 'If cancelled'
- dcb7985c replaces #1345 - Load local credential file
- #1323 don't to perform download if url is "" but not nil
- #1310 Added support for SDWebImageAvoidAutoSetImage option to UIButton and highlighted UIImageView categories
- #1308 Added Swift installation tips
- 32923fa2 Xcode 7.1 updates
- #1297 cleaner implementation of failedUrl error handling - fixes #1275
- #1280 Fix sd_animatedImageByScalingAndCroppingToSize
- Remove logging from the image prefetcher - #1276
- Fix typos #1256 #1257 #1258 #1331 #1290
3.7.3 Patch release for 3.7.0 with iOS8+ framework and Carthage on Jun 13th, 2015
Adds support for iOS 8+ Framework and Carthage #1071 #1081 #1101
[Refactor] Use
NSMutableSet
for failed URLs' storage instead of array #1076Make a constant for the error domain #1011
Improve operation behavior #988
Bug fix:
Collection <__NSArrayM: > was mutated while being enumerated
#985added
SDWebImageAvoidAutoSetImage
option to avoid automatic image addition inUIImageView
and let developer to do it himself #1188Added support for custom disk cache folder with fall back for caches directory #1153
Added some files to the workspace so they are easier to edit 8431481
[Memory Issue] Clear
SDWebImagePrefetcher
progressBlock
when it has completed #1017avoid warning
<Error>: ImageIO: CGImageSourceCreateWithData data parameter is nil
ifimageData
is nil 88ee3c6 #1018allow override
diskCachePath
#1041Use
__typeof(self)
when assigningweak
reference for block #1054[Refactor] Implement cache cost calculation as a inline function #1075
Fix parenthesis to avoid crashes #1104
Add
NSCache
countLimit property #1140failedURLs
can be removed at the appropriate time #1111Purge
NSCache
on system memory notifications #1143Determines at runtime is
UIApplication
is available as per #1082 #1085Fixes http://git.chromium.org/webm/libwebp.git/info/refs not valid #1175 + Reverted #1193 + #1177
404 image url was causing the test to fail 0e761f4
Fix for transparency being lost in transformed images. #1121
Add handling for additional error codes that shouldn't be considered a permanent failure #1159
add webp accepted content type only if
WebP
enabled #1178fix
ImageIO: CGImageSourceCreateWithData
data parameter is nil #1167Applied patch for issue #1074 SDWebImage residing in swift module breaks the debugger #1138
Fixed URLs with trailing parameters get assigned an incorrect image scale value #1157 #1158
Add newline to avoid compiler warning in
WebImage.h
#1199
3.7.2 Updated patch release for 3.7.0 on Mar 17th, 2015
Updates
- bumped
libwep
version to0.4.3
Features:
- implement
SDWebImageDownloaderAllowInvalidSSLCertificates
option - #937 - flag to transform animated images (
SDWebImageTransformAnimatedImage
) - #703 - allows user to override default
SDWebImageDownloaderOperation
- #876 - adds option to decompress images and select prefetcher queue - #996
Fixes:
- fixed #809
cancelAll
crash - #838 - fixed #900 by adding a new flag
SD_LOG_NONE
that allows silencing the SD logs from the Prefetcher - fixed #895 unsafe setImage in
setImageWithURL:
- #896 - fix
NSNotificationCenter
dispatch on subthreads - #987 - fix
SDWebImageDownloader
threading issue - #1046 - fixed duplicate failed urls are added into
failedURLs
- #994 - increased default
maxConcurrentOperationCount
, fixes #527 - #897 - handle empty urls
NSArray
- #929 - decoding webp, depends on source image data alpha status - #936
- fix #610 display progressive jpeg issue - #840
- the code from
SDWebImageDownloaderOperation connection:didFailWithError:
should match the code fromconnectionDidFinishLoading:
. This fixes #872 - 7f39e5e -
304 - Not Modified
HTTP status code handling - #942 - cost compute fix - #941
- initialise
kPNGSignatureData
data - #981
Documentation
- documentation updated
3.7.1 Patch release for 3.7.0 on Jul 23rd, 2014
- fixed
sd_imageOrientationFromImageData:
crash if imageSource is nil - #819 #813 #808 #828 - temporary fix - fixed
SDWebImageCombinedOperation cancel
crash (also visible asSDWebImageManager cancelAll
) - 28109c4 #798 #809 - fixed duplicate symbols when using with webp via pods - #795
- fixed missing
mark
frompragma mark
- #827
3.7.0 Xcode6, arm64, highlight UIImageView, imageURL ref, NTLM, ... on Jul 14th, 2014
Features
- Add category for imageView's highlighted state
UIImageView+HighlightedWebCache
- #646 #765 - Keep a reference to the image URL - #560
- Pass imageURL in completedBlock - #770
- Implemented NTLM auth support. Replaced deprecated auth challenge methods from
NSURLConnectionDelegate
- #711 50c4d1d - Ability to suspend image downloaders
SDWebImageDownloader setSuspended:
- #734 - Delay the loading of the placeholder image until after load - #701
- Ability to save images to cache directly - #714
- Support for image orientation - #764
- Added async
SDImageCache removeImageForKey:withCompletion:
- #732 cd4b925 - Exposed cache paths - #339
- Exposed
SDWebImageManager cacheKeyForURL:
- 5fd21e5 - Exposing
SDWebImageManager
instance from theSDWebImagePrefetcher
class - 6c409cd -
SDWebImageManager
uses the shared instance ofSDWebImageDownloader
- 0772019 - Refactor the cancel logic - #771 6d01e80 23874cd a6f11b3
- Added method
SDWebImageManager cachedImageExistsForURL:
to check if an image exists in either the disk OR the memory cache - #644 - Added option to use the cached image instead of the placeholder for
UIImageView
. Replaces #541 - #599 30f6726 - Created workspace + added unit tests target
- Updated documentation - #476 #384 #526 #376 a8f5627
Bugfixes
- Fixed Xcode 6 builds - #741 0b47342
- Fixed
diskImageExistsWithKey:
deadlock - #625 6e4fbaf For consistency, added async methods inSDWebImageManager
cachedImageExistsForURL:completion:
anddiskImageExistsForURL:completion:
- Fixed race condition that causes cancellation of one download operation to stop a run loop that is now used for another download operation. Race is introduced through
performSelector:onThread:withObject:waitUntilDone:
- #698 - Fixed race condition between operation cancelation and loading finish - 39db378 #621 #783
- Fixed race condition in SDWebImageManager if one operation is cancelled - f080e38 #699
- Fixed issue where cancelled operations aren't removed from
runningOperations
- #68 - Should not add url to failedURLs when timeout, cancel and so on - #766 #707
- Fixed potential object mutated while being enumerated crash - #727 #728 (revert a threading fix from #727)
- Fixed
NSURLConnection
response statusCode not valid (e.g. 404), downloader never stops its runloop and hangs the operation queue - #735 - Fixed
SDWebImageRefreshCached
bug for large images - #744 - Added proper handling for
SDWebImageDownloaderLowPriority
- #713 #745 - Fixed fixing potential bug when sending a nil url for UIButton+WebCache - #761 #763
- Fixed issue #529 - if the
cacheKeyFilter
was set, this was ignored when computing thescaledImageForKey
. For most of the developers that did not setcacheKeyFilter
, the code will work exactly the same - eb91fdd - Returning error in setImage completedBlock if the url was nil. Added
dispatch_main_async_safe
macro - #505 af3e4f8 - Avoid premature completion of prefetcher if request fails - #751
- Return nil from
SDScaledImageForKey
if the input image is nil - #365 #750 - Do not load placeholder image if
SDWebImageDelayPlaceholder
option specified - #780 - Make sure we call the
startPrefetchingAtIndex:
method from main queue - #694 - Save image in cache before calling completion block - #700
- Fixed arm64 warnings - #685 #720 #721 #687
- Improved logging - #721
- Added
SDWebImageCompat.m
toSDWebImage+MKAnnotation
target
3.6 Fix and cleanup on Mar 24th, 2014
3.5.4 ARM64 Support on Feb 24th, 2014
3.5.3 on Jan 7th, 2014
3.5.2 on Jan 2nd, 2014
3.5.1 on Dec 3rd, 2013
3.5 WebP Target, iOS 7, Fixes on Oct 4th, 2013
- Fix iOS 7 related issues
- Move
WebP
support to a dedicated target - Removed strong reference to
UIImageView
which was causing a crash in the nested block - Fix timeout issue
- Add some methods that allow to check if an image exists on disk without taking it off disk and decompressing it first
3.4 Animated image category, bug fixes on Aug 13th, 2013
- Add
calculateSizeWithCompletionBlock
- Add multiple download of images for animationImages property of
UIImageView
- Add background task for disk cleanup #306
- Fix dead thread issue on iOS 5 #444, #399, #466
- Make IO operations cancelable to fix perf issue with heavy images #462
- Fix crash
Collection <__NSArrayM: ...> was mutated while being enumerated.
#471
3.3 WebP, Animated GIF and more on Jun 14th, 2013
- WebP image format support #410
- Animated GIF support #375
- Custom image cache search paths #156
- Bug fixes
3.2 Bug fixes on Mar 13th, 2013
-
SDWebImageRefreshCached
download option #326 - New
SDWebImageManager
delegate methods ebd63a88c1 - Fix long standing issue with alpha en JPEGs #299
- Add synchronous disk-cache loading method #297
- Fix
SDWebImageCacheMemoryOnly
flag - Bug fixes
3.1 Bug fixes on Jan 21st, 2013
3.0 Complete rewrite on Nov 29th, 2012
- Complete rewrite of the library using
GCD
,ARC
,NSCache
and blocks - Drop compatibility with iOS 3 and 4