- 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)
- 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 1bf62d4 #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.
- Had to update the iOS deployment target to 7.0 from 5 - 6545a3a
- Replace deprecated
NSURLConnection
withNSURLSession
#1578 #1586 - fixes #1291 #1318 #823 #1566 #1515 - Allow to customise cache and image downloader instances used with
SDWebImageManager
86fc47bf7b - fixes #1398 #870
- Removed the URL query params from the filename (key) fb0cdb6d 1bf62d4 #1584 - fixes #1433 #1553 #1583 #1585
- Fixed the WebP build with the official 1.0.0 CocoaPods release f1a471e - fixes #1444
- Updated doc:
removeImageForKey:
not synchronous e6e5c51 - fixes #1379 #1415
- 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
)
- Added
cancelAllDownloads
method toSDWebImageDownloader
#1504 - Added API to save image
NSData
to disk cache:[SDImageCache storeImageDataToDisk:forKey:]
#1453
- 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 b40124c - 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
- fixed #1425 and #1426 - Continuation of Fix #1366, addresses #1350 and reverts a part of #1221 - from commit 6406d8e, 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
- bumped
libwep
version to0.4.4
- added tvOS support #1327 and #1358 - fix #1368 and #1302
- #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
- bf899e2 fixes #1261 #1263 compilation issue CocoaPods vs non-CocoaPods
- #1367 fixes a bug where image scale & orientation are ignored when decoding / decompressing an image
- cac21e1 fixes #1366, addresses #1350 and reverts a part of #1221 - from commit 6406d8e, 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'
- dcb7985 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
- 32923fa 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
-
Adds support for iOS 8+ Framework and Carthage #1071 #1081 #1101
-
[Refactor] Use
NSMutableSet
for failed URLs' storage instead of array #1076 -
Make a constant for the error domain #1011
-
Improve operation behavior #988
-
Bug fix:
Collection <__NSArrayM: > was mutated while being enumerated
#985 -
added
SDWebImageAvoidAutoSetImage
option to avoid automatic image addition inUIImageView
and let developer to do it himself #1188 -
Added 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 #1017 -
avoid warning
<Error>: ImageIO: CGImageSourceCreateWithData data parameter is nil
ifimageData
is nil 88ee3c6 #1018 -
allow override
diskCachePath
#1041 -
Use
__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 #1140 -
failedURLs
can be removed at the appropriate time #1111 -
Purge
NSCache
on system memory notifications #1143 -
Determines at runtime is
UIApplication
is available as per #1082 #1085 -
Fixes 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 #1178 -
fix
ImageIO: CGImageSourceCreateWithData
data parameter is nil #1167 -
Applied 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
- bumped
libwep
version to0.4.3
- 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
- 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 updated
- 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
- 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
- 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
- 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
- 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
- WebP image format support #410
- Animated GIF support #375
- Custom image cache search paths #156
- Bug fixes
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
- Complete rewrite of the library using
GCD
,ARC
,NSCache
and blocks - Drop compatibility with iOS 3 and 4