-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix the iOS 12 crash because the underlyingQueue is nil #3434
Merged
dreampiggy
merged 1 commit into
SDWebImage:master
from
dreampiggy:bugfix/underlying_queue_crash_ios12
Nov 10, 2022
Merged
Fix the iOS 12 crash because the underlyingQueue is nil #3434
dreampiggy
merged 1 commit into
SDWebImage:master
from
dreampiggy:bugfix/underlying_queue_crash_ios12
Nov 10, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dreampiggy
force-pushed
the
bugfix/underlying_queue_crash_ios12
branch
from
November 10, 2022 11:59
8a1c18f
to
5c9746c
Compare
Use NSOperation dependency to solve this issue
dreampiggy
force-pushed
the
bugfix/underlying_queue_crash_ios12
branch
from
November 10, 2022 14:03
5c9746c
to
d96ea39
Compare
3 tasks
yonatanreiss-lightricks
added a commit
to yonatanreiss-lightricks/SDWebImage
that referenced
this pull request
Apr 3, 2023
Squashed commit of the following: commit fb50c1d20f24db5322b2f8f379de3618f75fe08e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 23:12:01 2023 +0800 Bumped version to 5.15.5 update CHANGELOG commit 4a3ce34c27d6b85cbd1cdd6b5b2cda8fe7c51639 Merge: 14b36f80 e0b7cc52 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 23:10:53 2023 +0800 Merge pull request #3506 from dreampiggy/bugfix/fix_blur_effect Fix the blur effect logic by avoid color convert and always use three box-blur methodology commit e0b7cc524113637c6334ef5e558aba685e0754dc Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 18:54:08 2023 +0800 Fix the blur effect logic by avoid color convert and always use three box-blur methodology commit 14b36f8096ac14785c3fc556a3b71e14a9022384 Merge: a812079a 8d09564f Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 15:29:17 2023 +0800 Merge pull request #3505 from dreampiggy/bugfix/cache_nil_key Protect the disk operation when input key is nil commit 8d09564f27884bfd50632b8f57dfdd8989fbb76e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 15:10:42 2023 +0800 Protect the disk operation when input key is nil commit a812079ae91a7f2e627364c42ea7b98abfa366ed Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 21:14:53 2023 +0800 GravatarBumped version to 5.15.4 update CHANGELOG commit 011fe7403101031cd6996ff15867752c4ced383f Merge: 554e05a4 5bb64eae Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 21:09:42 2023 +0800 Merge pull request #3500 from dreampiggy/bugfix/sd_callbackqueue_escaping Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block commit 5bb64eae39ff6cad6be6422b80250d7d86a533f6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 19:12:12 2023 +0800 Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block This may cause the wrong lifecycle for block (earily release) commit 554e05a4415fe20add53531c21e593c403685c3d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 19:49:14 2023 +0800 Bumped version to 5.15.3 update CHANGELOG commit 748def0a0c5d6cd589a411451cd4e2ea29b3ee4f Merge: 940f991c 856ecd62 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 19:36:15 2023 +0800 Merge pull request #3496 from dreampiggy/temp/try_fix_promotion Try to fix the SDAnimatedImageView playback speed issue in Promotion devices (iPhone Pro) commit 856ecd6235186fffb70f0125987518bcce374c11 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 18:07:07 2023 +0800 Fix leak of display mode commit 3440b7c0fbea6ba00acc5e8d0a4a59dc81ce5645 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:56:34 2023 +0800 Update test case for display link and revert the protect code commit 940f991ca1d6724aec2610af07d5e58608515997 Merge: 9cf8d125 9bc52079 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:57:14 2023 +0800 Merge pull request #3497 from dreampiggy/bugfix/same_url_failed_callback_times Fix the issue when multiple request for same url failed, the completedBlock will callback more times commit 9bc52079792f2ab63bdb98d56578e42777ee4dff Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:33:59 2023 +0800 Added test case `test31ThatMultipleRequestForSameURLFailedCallback` to ensure behavior commit b25864cc71560f5a0070b871ce337fde751431c0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:27:13 2023 +0800 Fix the issue when multiple request for same url failed, the completedBlock will callback more times commit 9cf8d125f522df0a7c3956f3828522ef2b6975fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:02:34 2023 +0800 Update README.md Added the explanation for SD prefix commit 271e8d8b12569b3af3c428ff2f8ca6913f6604d9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Feb 12 02:51:55 2023 +0800 Try to fix display link callback duration calculation issue, using next timestamp for iOS 10+ / watchOS, previous timestamp for iOS 9 commit 8bd4e72c331ff082a3add70a6e2dab206fcd6c08 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Feb 12 02:46:50 2023 +0800 Fix macOS Demo applicationDidFinishLaunching not called commit a47bc00770240901a1c99a26c0dad638fa899917 Merge: 7ccdcb02 205b57cc Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 21:08:22 2023 +0800 Merge pull request #3489 from SDWebImage/ci Try to fix codecov upload issue using token commit 205b57cc1df07c6f825c3739ad630a95913cbc6e Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 16:13:32 2023 +0800 Try to fix codecov upload issue using token commit 7ccdcb02fb0ab47409a6602769cea0486be2a209 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 15:20:33 2023 +0800 Bumped version to 5.15.2 update CHANGELOG commit 2382c58421f86cd226a0b1eb4d590ef8f8d7a09a Merge: 6b25d985 f2d76101 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 15:00:02 2023 +0800 Merge pull request #3484 from dreampiggy/garden/objc_bool_yes_no Code garden to change Objc bool from true/false to YES/NO commit 6b25d9854aef0a8a9df29d9ac69d8786a8f26f8d Merge: 1f48e5a3 7cec27ba Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 14:59:20 2023 +0800 Merge pull request #3483 from dreampiggy/bugfix/atomic_logic_fix Fix the atomic logic between downloader and operation again commit f2d76101815904b9f82665f6ea7f1dbb4b5339a8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 02:32:11 2023 +0800 Change Objc BOOL true/false into correct YES/NO commit 7cec27bab922dc91a310dbb7ba5f3eb61a237ad3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 02:16:00 2023 +0800 Fix the atomic logic between downloader and operation again Remove the wrong logic to modify queue priority when re-use operation commit 1f48e5a37959de4ea240c12b68227c10f6c4d6e2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:57:16 2023 +0800 Bumped version to 5.15.1 update CHANGELOG commit eecc7e43800da45cc34e2814a99c298218c5b7ab Merge: 247cbcfd fbe8880a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:50:28 2023 +0800 Merge pull request #3480 from dreampiggy/bugfix/data_copy_crash Remove the unused extra copy for `SDAnimatedImage` data initializer commit 247cbcfd9729a4e9d1e06366be081bdaa9387b75 Merge: a0521643 02969011 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:49:43 2023 +0800 Merge pull request #3479 from dreampiggy/bugfix/fix_async_block_operation_race Try to fix the SDAsyncBlockOperation's race condition commit fbe8880ab7277df8f4f54cc5ba6a41e3313db152 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:11:59 2023 +0800 Remove the unused extra copy for `SDAnimatedImage` data initializer commit 02969011b09a4af9a0d1dc0c45cd655fd599f82c Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 18:07:00 2023 +0800 Try to fix the SDAsyncBlockOperation's race condition Use the correct way for subclassing NSOperation commit a052164350a6542eb7245ed1341972b4d84623e0 Merge: f25cc6bb 1ec6cd06 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 20:41:10 2023 +0800 Merge pull request #3477 from dreampiggy/bugfix/ensure_downloader_callback_atomic Ensure the Downloader and DownloaderOperation callback the completion in atomic and never miss one commit 1ec6cd06f70110daadffaeb7671fd15ee6f3d881 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 18:54:56 2023 +0800 Change all placeholder.com sample from http into https commit b6910be155de74fecd43992fceb99cd65157bd51 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 17:29:08 2023 +0800 Added test case `test31ThatMultipleRequestForSameURLNeverSkipCallback` to ensure all download request for same url always callback commit 0c94e540bcded53fef6aba0ad3882844ab72a1ce Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 16:09:07 2023 +0800 Revert back the NSOperationQueue, seems has better performance on this cases (may dispatch multiple block but not important, one finished is OK) commit 6e1fee7834276add072674f0802a824f8b040a41 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 15:06:54 2023 +0800 Try not introduce new public API for operation, attach the `isCompleted` property using associated object from downloader, ensure compatibility commit 43b94130c7f94a497f39001f17a4fa2499c3874c Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Feb 3 19:02:07 2023 +0800 Ensure the DownloaderOperation callback the completion in atomic and never miss one The downloader will now check and ignore a `transferedDataFinished` operation (which is callbacking its own completion), because it's not safe in multi-thread environment, create new network request instead commit f25cc6bb1c595ef0165039360534d587e451ff8a Merge: 8a6dcf88 a66ff8e5 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 14:12:35 2023 +0800 Merge pull request #3474 from dreampiggy/bugfix/atomic_fix Avoid compiler generate the wrong property attribute with non-atomic commit a66ff8e5c9bfa32067c9f5c840efdb89d9104bad Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:45:19 2023 +0800 Avoid compiler generate the wrong property attribute with non-atomic commit 8a6dcf88820754e529e22c054c160089ded6fece Merge: 6f8121c6 a80af99d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:43:31 2023 +0800 Merge pull request #3473 from dreampiggy/bugfix/create_options Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint commit a80af99d0af5873bf017ff15a89072ca1f20add9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:23:18 2023 +0800 Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint commit 6f8121c604ce580c5968f117f8829ef0a83d3071 Merge: 6c6b9518 5b34168e Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 19 12:08:08 2023 +0800 Merge pull request #3471 from GiddyGoatGaming/patch-1 Bump actions/checkout to v3 commit 5b34168e645618f4d97f46d5fd6c8d40b2834b98 Author: Spencer Comfort <109806759+GiddyGoatGaming@users.noreply.github.com> Date: Tue Jan 17 06:50:50 2023 -0500 Bump actions/checkout to v3 commit 6c6b951845a520fa7e8356e28adb5339c0f008d3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 17:10:01 2023 +0800 Bumped version to 5.15.0 update CHANGELOG commit 975502b4a6dc9629027fc08ff085bc97efb1d7d6 Merge: a01715e1 9dd8b6c0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:50:50 2023 +0800 Merge pull request #3469 from dreampiggy/feat/animated_image_encode Added encodeWithFrames API for animation encoding in custom coder, better for usage commit 9dd8b6c08b2d70103741044bfbee78eac2f7bacf Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:50:16 2023 +0800 Update test case commit a01715e19605bc8d657174d553fd3781c01a74ef Merge: 7c63bad4 c0f70234 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:20:07 2023 +0800 Merge pull request #3468 from dreampiggy/feat/decode_solution_change Update the decode solution to allows CoreGraphics avoid using any UIKit method commit 0bdb7865c77599803a55966816d232a02576096f Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:18:17 2023 +0800 Change the immutable frames array commit 985c84be75530dc18e999cc42b050ba700d08226 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:16:09 2023 +0800 Opt the macOS legacy animated encode, with the weak assigned frames to avoid re-decode again It's still recommended to use the new API commit 8ec3bc83d7c13828abed5efb63fb2dc212ca69da Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 15:24:39 2023 +0800 Added encodeWithFrames API for animation encoding in custom coder, better for usage The exist API need wrap the frames into a new image and extract, consume RAM and CPU commit c0f70234725b7a9f49a3489c17b66e8834f26687 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 14:38:00 2023 +0800 Update the decode solution to allows CoreGraphics avoid using any UIKit method This is back compatible to old version's RAM behavior commit 7c63bad41c0cde5ccc023f70a61ef434c726da4c Merge: 05f7fb9b 911a9a86 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 16:35:50 2023 +0800 Merge pull request #3466 from dreampiggy/feat/encode_options Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API. Seperate the SDImageCache encode queue and IO queue to match waitStoreCache behavior commit 911a9a86a0392231155990b4b67f7b29c9ef51d3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 15:20:51 2023 +0800 Fix the wrong test because now ioQueue and encodeQueue is different thing, we should not assume calling storeImage and queryDiskCache get the data (they are not guarded by the same serial queue) commit e083ab293fc591526805d95d1ae9f431252747e6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 14:49:02 2023 +0800 Fix the wrong behavior after 5.15.0 cache changes commit 78fa0a9cb5a7eedfe82a0a5b3aea2ebff0ed5100 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 16:38:00 2023 +0800 Update test case test08ThatImageTransformerWork with encode options commit 08ec6cf2534388b5d41f90501e9b1a20301213a8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 16:00:16 2023 +0800 Adjustment for manager && cache call, add deprecation commit 246cfa935d326ee7dc8a6898f4377c814175e942 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 15:32:04 2023 +0800 Change the cache's encoding in global queue to avoid block ioQueue for IO read/write, performance related commit d93a08fc917e251497173388a8e2b0744f96a5da Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 15:08:31 2023 +0800 Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API commit 05f7fb9b0d96696e31bdbb0bd3928183f151dbef Merge: 4178d12a 720a0974 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 10 14:38:00 2023 +0800 Merge pull request #3465 from dreampiggy/feat/callback_queue Added context option `callbackQueue` and `SDCallbackQueue` wrapper for advanced user to control which queue to callback commit 720a0974d48e83797a1d654191d585eaef74f01d Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 10 12:49:20 2023 +0800 Fix SwiftPM issue commit 397f8512403e28f0f79e9fa20e3f2d256b2ed0fd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 22:14:53 2023 +0800 Update test case commit e21e9f19e61efcf29bb2edf0ded2b77ee5c8002a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:56:15 2023 +0800 Update Carthage project commit e1e0841102c60101ebd37acee6dbe1837ebd9a42 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:46:20 2023 +0800 Rename the internal property to avoid misleading commit 007100d18ff5aec992a81581ab23ab9f774e80d5 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:42:32 2023 +0800 Supports the old store cache API without context, which does not supports callback queue customization commit 1b086711aedc4a66c80ae39cb3fd3d794190396f Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 18:44:33 2023 +0800 Fix the issue because of main queue label hack commit 43d74211c3bce2964f28668e9d0f5c4498280851 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 18:31:56 2023 +0800 Added test case `testSDCallbackQueue` commit 90eeb4d8306470eb178bafce8c3a0be7b6e4a82d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 17:45:52 2023 +0800 Deprecate SDWebImagePrefetcher.delegateQueue, translate to use context[SDWebImageContextCallbackQueue] instead commit 5a4b4cf16db34328b4e6ddad41fa3e095c3f8efb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 17:24:13 2023 +0800 Change the asyncSafe to the queue level configuration, introduce SDCallbackPolicy commit 67520b9f55b064ab8e63d55eddd0e97a2bf34e58 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:49:35 2023 +0800 Fix the new added storeCache API which passing callbackQueue commit fdd9a98210f2591901a57eff51c539d61bbcc06f Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:34:37 2023 +0800 Do not check nil block, useless in our use case commit 57403c9d3fb5ebf14dbfad843e0fa9cf026917f2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:09:39 2023 +0800 Rename to use `dispatch_block_t` alias commit b5d712a3783911ed427faef1903c6aa54fd0aa56 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 18:41:29 2023 +0800 Implements the Callback queue dispatch Fix some missing components commit 43ec4726e112ce7cb85b28b3751f1e07492801ef Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 4 18:47:50 2023 +0800 Added context option `callbackQueue` for advanced user to control which queue to callback This is used for user who call SDWebImage outside from main queue and need precise queue control, such as avoid chain queue blocking (like AVKit lazy load) commit 4178d12a44691182c2eb79c70281b14cb73f4cbf Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 20:03:04 2022 +0800 Bumped version to 5.14.3 update CHANGELOG commit 8be9f2c3f93142362e94117ef2cdbf019dbb4976 Merge: 7bc087b0 d2221403 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:57:48 2022 +0800 Merge pull request #3461 from dreampiggy/bugfix/yuv420_jpeg_hevc Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization commit d2221403e10fb9c6d8f10141db98aaaaf1f88679 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:55:12 2022 +0800 Removed the unused options for CGImageSourceCopyPropertiesAtIndex commit a53eb929886b11658bac15f5908021c61ee340c1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:23:58 2022 +0800 Update the test case `test23ThatThumbnailEncodeCalculation` This regression test should also been reverted commit a99c0de68d58cb68257b449c2c835ebdabb2f61a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 18:14:13 2022 +0800 Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization The lazyDecode logic effect the static image as well. Should roll back and only check for animated image commit 7bc087b081e28cf42b65ef10c3c718ce1697df44 Merge: 0274aa85 ffc91663 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:57:09 2022 +0800 Merge pull request #3460 from dreampiggy/feat/ioqueue_concurrent_config Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue commit ffc91663bf6c85e54faecd5f8dd2196b56e529fe Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:37:07 2022 +0800 Added test case `test48CacheUseConcurrentIOQueue` commit c60e6714dd34af904065bad943ea868dbd3a40b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:24:07 2022 +0800 Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue commit 0274aa85fe69a997eae3a4de9275225762d56a22 Merge: 707db2e0 a15f5948 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 16:51:54 2022 +0800 Merge pull request #3452 from kinarobin/fetch-frame-early-for-animated-image-render [Performance]when frame timestamp not reached, we should prefetch frame in advance for image render. commit 707db2e01669605602d72e50a8454e7782a4e789 Merge: 3312bf5e 71746145 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 15:47:17 2022 +0800 Merge pull request #3459 from dreampiggy/bugfix/player_cache_poster_image The poster image should not trigger a frameChange callback commit 717461459fe51ad7eda1f804e50d3c417c92cbfd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Dec 26 19:05:39 2022 +0800 Hack the first frame to ensure it always displayed in first screen refresh commit b5db7fac682c3c4d7af8a9188cafce20f301a47d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Dec 26 18:50:05 2022 +0800 The poster image should not trigger a frameChange callback commit a15f594869f8ea56f86d77a30fc7678d5f8bd01d Author: kinarobin <kinarobin@outlook.com> Date: Fri Dec 2 21:24:36 2022 +0800 prefetch image in advance commit 3312bf5e67b52fbce7c3caf431b0cda721a9f7bb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 18:49:54 2022 +0800 Bumped version to 5.14.2 update CHANGELOG commit 430ef4d73ca268d8efcefad08d3ac020af91c750 Merge: 80683c20 9c0c715d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 18:47:05 2022 +0800 Merge pull request #3443 from dreampiggy/project/move_assert_check_to_demo_tests Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only commit 9c0c715d6aba8bfaec5f5440c4e2cd581b321bae Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 17:07:29 2022 +0800 Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only This does not effects user who use this framework, only useful for ourselves to ensure Apple does not break our code commit 80683c20d8f15e10ac1ce605cca5008a295846bd Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 15:35:47 2022 +0800 Bumped version to 5.14.1 update CHANGELOG commit a97d5023041ff0cf59f25d07dfbf78fd68d90036 Merge: bc3f09cc 736f3f41 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 15:30:36 2022 +0800 Merge pull request #3439 from dreampiggy/bugfix/thread_safe_callback Fix the missing lock for callbackTokens which may cause thread-safe issue commit 736f3f41f74c70a5c82546238cc25d377cb51436 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:29:20 2022 +0800 Move block before sending to the main queue This can avoid some life cycle issue and increase performance commit 384b2d7c8be97bb52eed789662b4b97f5a58ab17 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:22:49 2022 +0800 Fix the missing lock for callbackTokens which may cause thread-safe issue commit bc3f09ccbd4b09d343c86e9071029946ac34313f Merge: 8a26bb3f 30f165ab Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:17:17 2022 +0800 Merge pull request #3436 from dreampiggy/bugfix/ios16_pdf_use_coregraphics Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue commit 30f165abd5444cf83a8e30f239139c820dd926e6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 00:07:32 2022 +0800 Change from instance method to class method commit f4706453d6de61b2b397e1fee26d517cd9f4e6b3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 23:47:34 2022 +0800 Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue We no longer use ImageIO to decode PDF, seems they don't maintain that kSDCGImageSourceRasterizationDPI Copy the code from SDWebImagePDFCoder, need to update commit 8a26bb3f3d22dd503052834fb6c82eff98b4f7aa Merge: b6aa428b d96ea392 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 22:41:26 2022 +0800 Merge pull request #3434 from dreampiggy/bugfix/underlying_queue_crash_ios12 Fix the iOS 12 crash because the underlyingQueue is nil commit d96ea392d16b509a9c63ccee61ae6d28b0b36d08 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 19:55:18 2022 +0800 Fix the iOS 12 crash because the underlyingQueue is nil Use NSOperation dependency to solve this issue commit b6aa428b7d01a36e7857b09b4acb320ad7ee5170 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:48:52 2022 +0800 Bumped version to 5.14.0 update CHANGELOG commit 35b28d417938a712b2e4af4fcf5331d43349e16c Merge: 03b46475 bfa91a29 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:42:00 2022 +0800 Merge pull request #3430 from dreampiggy/feat/add_is_thumbnail Added the helper convenient API `sd_isThumbnail` commit bfa91a291bd530048f8546e782d9f45941550e55 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:39:57 2022 +0800 Added the helper convenient API `sd_isThumbnail` Fix the metadata does not saved commit 03b46475eb95d96cc7159f7ae47de3507fa1c603 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:49:26 2022 +0800 Revert #2792, the autoreleasepool does not solve the issue commit 6ce59aa8c118c19a497f712a7bc97e7479238ee7 Merge: 359036ea 7ddf3214 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:44:07 2022 +0800 Merge pull request #3429 from dreampiggy/perf/remove_conforms_to_protocol Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance commit 7ddf3214e6529471c352dc61db26ad8fb3c957c6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:18:20 2022 +0800 Fix the test case again on below iOS 15 commit f8d353b50ca1356e385ba9e3b3751bd1f7fe3875 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 20:04:36 2022 +0800 Update test case `test06ThatUsingACustomDownloaderOperationWorks` commit 9aa27b61e8573fac9259fa6e99d2feb299a109ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 19:45:21 2022 +0800 Replace conformsToProtocol call with appropriate respondsToSelector check This effect API called with multiple times, for some one-time setup and important check, the conformsToProtocol is remained commit 359036eae97b456cceedfa2b0fa101820bb4040c Merge: 9599a78f 6a9b5783 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 19:16:05 2022 +0800 Merge pull request #3428 from dreampiggy/opt/avoid_store_again_when_origin_disk_exits Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size commit 6a9b578369595eea596abc2f2c5c94dcf5de298a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 17:08:34 2022 +0800 Added test case `test21ThatQueryOriginalDiskCacheFromThumbnailShouldNotWriteBackDiskCache` commit 9599a78ff99b32021c012a014397e5562399c4da Author: riv1r <514068775@qq.com> Date: Tue Nov 8 17:29:49 2022 +0800 Fix del redundant autoreleasepool (#3388) * fix:del redundant autoreleasepool, because frameProperties is not a __autoreleasing reference object, for-Loop does not cause untimely release * fix:del redundant autoreleasepool, because frame is strongly referenced by frames, for-Loop does not cause untimely release * fix:del redundant autoreleasepool, because sourceTileImageRef is released by CGImageRelease, for-Loop does not cause untimely release Co-authored-by: chendongran06039 <chendongran06039@hellobike.com> Co-authored-by: DreamPiggy <lizhuoli1126@126.com> commit f93cf968327635b61bf0a9fac5cc0de0dcc398ec Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:44:40 2022 +0800 Avoid store original disk cache again when using thumbnail or transformer from the full size data This solve #3395 commit 5a89f80816729be295915e9edad2712d748f4438 Merge: cdd77d5e 0d1c603d Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:41:40 2022 +0800 Merge pull request #3427 from dreampiggy/bugfix/logic_nullable_check Add the possible nullable logic check when the force-decode/copy failed commit cdd77d5ebeab885b85f8df1342480eeeab295a52 Merge: f6769186 c81aec4c Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:20:33 2022 +0800 Merge pull request #3426 from dreampiggy/bugfix/UTI_hint_ignore_dynamic_log Ignore the dynamic UTI type hint to avoid extra log commit 0d1c603d5068ed7ab6761d3e5cc794fa8bdb5bf7 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:19:49 2022 +0800 Add the possible nullable logic check when the force-decode/copy failed commit c81aec4ccda5d34fd729a59132e40f200e708406 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 14:57:18 2022 +0800 Ignore the dynamic UTI type hint to avoid extra log commit f6769186b9952c00aa3c1d9d201db88e4bdca9db Merge: ddcf347c 6c836968 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 14:36:55 2022 +0800 Merge pull request #3425 from dreampiggy/feature/imageio_force_decode_option_control Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO. Introduce new workaround to strip CGImage retained CGImageSource on iOS 15 commit 6c836968008e2316730fcbbdaef82112dfbce205 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 18:39:33 2022 +0800 Update test case `test17ThatMinimumProgressIntervalWorks` to make it more stable commit 7c4649c7cc7bfd1656e01b075809650c3aa5f657 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 15:25:52 2022 +0800 Update the test case `test23ThatThumbnailEncodeCalculation` commit 136d05fce8713155823aaaaa3aa721c3312a32d1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 12:42:32 2022 +0800 Add extra check when user provide SDImageCoderDecodeUseLazyDecoding commit 3000dd5098158f2575d695270b99a67469425a5d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 12:20:04 2022 +0800 Fix the `sd_isDecoded` did not set after we use SDCGImageCreateCopy commit db25af95060acf6fc759134efd07a1b2cf510fdf Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 3 19:16:30 2022 +0800 Recovery the assert check on only iPhone/TV simulator in debug mode commit abc06f020ad619c76ad8cd4ba152fe3a8cf32706 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 3 19:10:12 2022 +0800 Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO or not Defaults to NO for animated image coder but YES for static image coder to match current behavior This also use another way to solve iOS 15+'s CGImageGetImageSource issue commit ddcf347c7dfaad3e8d6d81ac79e72b99118b48eb Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 1 14:20:44 2022 +0800 Update README about GitHub action status commit 5ee6ac2476ac59e3f36ed75fb0f5ca4106b269ad Merge: 4a72e4fe 279f636a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 1 00:14:17 2022 +0800 Merge pull request #3423 from dreampiggy/feature/refactor_thumbnail_hack_with_decode_options Refactor the hack for multiple thumbnail image request at the same time commit 279f636ac561ff5bcf3eb4c9539fa93115980976 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 23:41:46 2022 +0800 Minor check the logic that UTI has high priority than path extension commit e3c6cfa066a0cab867e5f7877d5ace6258e873b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 23:03:29 2022 +0800 Update test case to make clear that transformed image and thumbnailed image will callback without data commit 980e0dd14adf46378b18065b905b04ee62b91345 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 22:54:38 2022 +0800 Added test case test30ThatDifferentThumbnailLoadShouldCallbackDifferentSize commit 2fd75638fe4723677ed2abee64a3f50795404132 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 19:58:35 2022 +0800 Refactor the hack for multiple thumbnail image request at the same time 1. Put the hack logic into SDWebImageDownloadOperation, each different thumbnail image request will have its callback with desired size of image using different decoding call. 2. Progressive Thumbnail decoding (use together) does not have this behavior, because I think progressive thumbnail is really rare and tolerant, people just use the first thumbnail size image for preview and OK. 3. The manager logic refactor with separate steps, focus on clear to understand the complicated logic and maintainess 4. The thumbnail decode/transformed will callback valid image, but with nil data, this matches the behavior as wiki pages. commit 4a72e4fee29c8600053eee760a297e06e80e5939 Merge: b014808d 851b60e0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Oct 30 18:34:30 2022 +0800 Merge pull request #3421 from dreampiggy/feature/decode_options_in_from_loader_instead Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext commit 851b60e0f3c1fc98af8301e143bbff1e5937bb54 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Oct 30 17:54:03 2022 +0800 Added test case `test20ThatContextPassDecodeOptionsWorks` commit 2f3652dc2e17f32ae12a9eef3bdf542b6bd3c5ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 19:09:08 2022 +0800 Feature: Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext This can solve the retain cycle from the scratch, instead of hacking commit b014808ddd52dc3ac70bcb24817a3c651928be10 Merge: 3a52ef5a 318cca55 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:40:00 2022 +0800 Merge branch '5.13.x' of github.com:SDWebImage/SDWebImage # Conflicts: # SDWebImage/Core/SDImageCacheDefine.m commit 318cca556b0489aede0cd98d8d0c7f1408ab7bd6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:34:04 2022 +0800 Fix the issue that progressive decode logic does not get updated commit 55a380941296727c5042f2d365b8104f726bc46c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:26:05 2022 +0800 Bumped version to 5.13.5 update CHANGELOG commit 34f2a9b823927520ad7a214d698d694d39f62f7a Merge: 9248fe56 b46fe38c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:22:21 2022 +0800 Merge pull request #3420 from dreampiggy/fix_5.13_retain_cycle_web_context Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option commit b46fe38c7257a534d02311192411e6dae43beca6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 19:50:45 2022 +0800 Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option Now the SDImageCoderWebImageContext does not pass the built-in options, only custom options will be passed, and deprecated in 5.14.0 commit 3a52ef5aeb3ce89b1f0b37359e7f39b460e1df10 Merge: 9248fe56 8dd6e25c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 18:34:56 2022 +0800 Merge pull request #3419 from dreampiggy/feature/tiff_uti_hint Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size commit 8dd6e25cd86556178c22a33e97013fcbdad6a2da Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 18:13:36 2022 +0800 Added NEF test case, as well as BMP type enum The file extension hint works on iOS/macOS for current commit b1b16a17b36c3ecd5f81bf43cf115c8c9f30f375 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Oct 27 11:09:29 2022 +0800 Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size This is because file extension will cause ImageIO use different codec, which does not support all of them without context commit 9248fe561a2a153916fb9597e3af4434784c6d32 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 20:57:44 2022 +0800 Bumped version to 5.13.4 update CHANGELOG commit 3c7c949637cecb4eef79cd543309a2d5b261e46f Merge: 484bc774 364034d1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 20:55:27 2022 +0800 Merge pull request #3408 from dreampiggy/threadsafe_fix_imageio_incremental_animation Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF) commit 364034d11aaa6415e8611faaa1739e24c6fb0383 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 18:43:26 2022 +0800 Fix test cases `test15CancelQueryShouldCallbackOnceInSync` commit 080db1afb916e68edbe5e7c3089fbfaae58bf831 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 18:24:41 2022 +0800 Try to investigate test case failure issue commit 9b2ddc9ea84434741c1491bce6440f80d86612fa Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 17:34:55 2022 +0800 [NFC] A little optimization for MutableArray creation commit 347cf1d1cc4feed24971e78dd68763fb132c1950 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 17:32:25 2022 +0800 Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF) This patch from the SDWebImageWebPCoder/pull/68 commit 484bc774e1091f622c4856e576ff957b29403676 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:35:34 2022 +0800 Bumped version to 5.13.3 update CHANGELOG commit 9f9d226083875af45f3624393882f49f915eb75d Merge: 524d4f53 ea9f5737 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:30:51 2022 +0800 Merge pull request #3387 from dreampiggy/thread_safe_ios15_animation_cgimage_retain_source Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing commit ea9f573744810f7bd4ac390b639136b40a6a98bb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:29:57 2022 +0800 Remove the temp assert code (for debugging usage) commit 89178a7d89ecde64a79df11faa496bddf6c656c4 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Aug 26 17:48:51 2022 +0800 Update to force decode CGImage before any UIImage initialization on iOS 15+ commit 3994006cb46eb5e20517d66bb59c673769ec7e23 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Aug 11 14:51:02 2022 +0800 Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing This used to work on iOS 14 commit 524d4f53ebbbbbddaf830ebd9467b0b724f645f2 Merge: 122c3d7c 6b8075a2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:20:06 2022 +0800 Merge pull request #3403 from dreampiggy/revert_isCancelled_block_with_recursive Fix the crash because of SDWebImageCombinedOperation recursive lock commit 6b8075a2e1849ffff5bde0496f3cd841e16364ec Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:33:04 2022 +0800 Using the same synchornized to guard _cancelled status, which need recursive lock DO NOT USE SD_LOCK (os_unfair_lock), which not support recursive commit ad592765cbbd3b4dcc12fa014062625630c83104 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:28:38 2022 +0800 Revert "Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race." This reverts commit 5a18c84529dd5cd9cd45c8689d55b62d3b73b54a. commit 122c3d7ca57a21650c01b61f3ea42e5de4168f91 Merge: d3b111de 61c3c5ba Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:23:56 2022 +0800 Merge pull request #3402 from dreampiggy/fix_macOS_animatedview_render Fix the switching from animated image rendering to static image does not works on macOS 11+ commit 61c3c5ba2d3c6b94e79fa4195fcccd9d5568db73 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 16:27:21 2022 +0800 Fix the switching from animated image rendering to static image does not works on macOS 11+ We should always provide a fallback solution to handle built-in NSImageView logic commit d3b111deb10fc8ecb87e82a3fff5c2cf9dabcefb Merge: 3a6e01ab 6eb74a17 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 14:30:03 2022 +0800 Merge pull request #3401 from dreampiggy/fix_unlock_unbalanced Fix the unbalanced lock which cause crash commit 6eb74a177fffc6991b283ddcfbf1884e046ff620 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 12:05:41 2022 +0800 Fix the unbalanced lock which cause crash commit 3a6e01ab20b5b93b763b285e670e720510a30f7a Merge: 3e48cb68 5a18c845 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Sep 9 18:15:44 2022 +0800 Merge pull request #3393 from alexander-gaidukov/synchronize_operation_cancellation Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation commit 5a18c84529dd5cd9cd45c8689d55b62d3b73b54a Author: Alexander Gaidukov <alexander.gaidukov@gmail.com> Date: Mon Sep 5 16:32:32 2022 +0700 Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race. commit 3e48cb68d8e668d146dc59c73fb98cb628616236 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 23:09:12 2022 +0800 Bumped version to 5.13.2 update CHANGELOG commit 7d7debbd262ddac7c75c9d40c78e929839dcbad0 Merge: b88d576f bcaf918b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 23:04:55 2022 +0800 Merge pull request #3380 from dreampiggy/bugfix_edge_case_cancel_cache_callback_twice Fix the rare case when cancel an async disk cache query may cause twice callback commit bcaf918b8393dc13917a39be49929e44a08b2491 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 22:43:01 2022 +0800 Fix the old test case warning commit 62e3a8f52a9ce7b38c641118328c5593468a641e Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 22:05:49 2022 +0800 Update test case about the cacheOperation and loaderOperation commit 3d1197b820d29200e49d194e8e965b9c7419df71 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:59:14 2022 +0800 When download start, mark the query cache operation finished to avoid bug behavior commit 2729096221edcd7eeea1add6f5e9ea6273950c95 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:26:18 2022 +0800 Added test case `test15CancelQueryShouldCallbackOnceInSync` commit 0643cb81c37f54384325fe6caff3ac118affff42 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:08:55 2022 +0800 Fix the rare case when cancel an async disk cache query may cause twice callback One is sync and another is async commit b88d576f756e0ad27a926df155d44f74377bd639 Merge: cc1995b7 2bad528b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 16:39:13 2022 +0800 Merge pull request #3379 from amonshiz/patch-1 Fix pragma mark typo commit 2bad528bfb907cc8182e596115fe222f1a29848f Author: Andrew Monshizadeh <1282845+amonshiz@users.noreply.github.com> Date: Fri Jul 22 21:49:09 2022 -0600 Fix pragma mark typo Built and noticed this warning ``` external/SDWebImage/SDWebImage/Core/NSButton+WebCache.m:152:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma mar - Private ^ ``` commit cc1995b73883a1f97931366879d862c53a32bf82 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:51:48 2022 +0800 Bumped version to 5.13.1 update CHANGELOG commit 7269107908da3ddeca360adce36f66032bba3662 Merge: d0f3c393 07572418 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:46:17 2022 +0800 Merge pull request #3373 from dreampiggy/fix_clang_analyze_issue Fix the clang analyze issue commit 0757241822ea079faffe82b6a9e30a6f03cc11e9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:43:48 2022 +0800 Fix the clang analyze issue commit d0f3c393350c1cdc0e2e307bed9f9327eade2d0a Merge: 3277824d a88e6694 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:33:46 2022 +0800 Merge pull request #3368 from dreampiggy/optimize_force_decode_solution Added `SDImageCoder.defaultDecodeSolution` to control the force decode solution. Automatic by default commit a88e6694229b627ef32c2cfdee956a8999eb1159 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 16:27:30 2022 +0800 Added SDImageCoderDecodeSolutionAutomatic, which check image format as well This avoid the unwanted CMPhoto log commit 213a8b8def68d594338d34c067d9d47e221f14ef Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jul 11 16:28:10 2022 +0800 Added `SDImageCoder.defaultDecodeSolution` to control the force decode solution, defaults to CoreGraphics (the same as 5.12) For user who want new UIKit solution, you can opt-in to change the `defaultDecodeSolution` case commit ff6b3b9bb59613d1acde21258d45bfe83bd44fab Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jul 11 15:50:55 2022 +0800 Change only ImageIO decoded CGImage should enter the `Force Decode` logic Others coder, like WebP, should not use this approach commit 3277824d431a0d35e596f28487765746978328e3 Merge: 4d4e6311 1ed76f4f Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 18:01:54 2022 +0800 Merge pull request #3372 from dreampiggy/bugfix_color_at_point_grayscale Fix sd_colorAtPoint and sd_colorsWithRect support for grayscale image (white and alpha) commit 1ed76f4f47d52aacdb690f34549a2d436ee83e99 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 17:43:48 2022 +0800 Fix the bitmapInfo support for greyscale color, update test case commit 34236ac5221fa20e06ecca328c918a398d095791 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 17:27:04 2022 +0800 Fix sd_colorAtPoint and sd_colorsWithRect support for grayscale image (white and alpha) This fix the test cases for #3368 commit 4d4e631183d2e3a9f4e59f6458ea080eda028335 Merge: c4b8660b 2fe3879b Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jul 14 15:24:11 2022 +0800 Merge pull request #3370 from dreampiggy/bugfix_pdf_draw_bitmap_dpi Fix the PDF image without thumbnailPixelSize will result huge bitmap size, now fixed into 72 DPI matching PDFKit commit 2fe3879b1582e455044d2903fcbaa03415676028 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jul 14 14:52:26 2022 +0800 Fix the case that provided DPI cause `kCGImagePropertyPixelWidth` return non-zero value This will cause re-check thumbnail, and may result the wrong pixel size commit f1fe4ca8b85928b458437d10e035995e192fdd67 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jul 13 18:18:21 2022 +0800 Calculate the DPI based on PDF mediaBox, support thumbnailPixelSize Move the vector code from ImageIOAnimatedCoder to ImageIOCoder, since it's not animatable :) commit f91d35ef8d703a861644d7c406e717a6b21ae112 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jul 13 16:04:29 2022 +0800 Fix the PDF image without thumbnailPixelSize will result huge bitmap size, now fixed into 72 DPI matching PDFKit commit c4b8660bb3ef543fe4bdcaac0db956b32dc5583f Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 02:37:44 2022 +0800 Bumped version to 5.13.0 update CHANGELOG commit 0805bc0f4d3c0c2af15f305ad2da215d3413f114 Merge: 16cf1576 3358859b Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 02:33:45 2022 +0800 Merge pull request #3364 from dreampiggy/bugfix_thumbnail_full_loading_same_time_cache_issue Fix the issue when thumbnail and full size loading at the same time, the thumbnail image will write to memory with wrong key commit 3358859b468fef42e7916eba6e2fe57c1899546d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 01:26:03 2022 +0800 Fix the issue when thumbnail first and full size loading at the same time, the thumbnail image will write to memory with wrong key The disk cache key is correct and does not get effected by this issue commit 282714883e32f73c5285319c7445ce24bf6a4b8d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 23:55:12 2022 +0800 Update the Demo project commit 16cf157658b48eab413a8783df0759861e54245b Merge: d58a1006 ad953cdc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 23:52:55 2022 +0800 Merge pull request #3363 from dreampiggy/fix_multiple_cancel_cache_callback_order Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass commit ad953cdcc5e57c2dcc8003aea0d5aae66fa8f436 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 19:51:51 2022 +0800 Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass This PR introduce 2 API changes: 1. Cache query now return cache token and callback sync when called from main queue, unlike NSOperation always callback async 2. Expose the set image operation, and update the documentation behavior about that `SDWebImageDelayPlaceholder` commit d58a1006c21a20ef1e37c36ea31d49a5bc33a988 Merge: 0b661344 071a8934 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 15:29:55 2022 +0800 Merge pull request #3362 from dreampiggy/behavior_thumbnail_store_cache Feature: Change thumbnail cache behavior as expected, share cache through different loading pipeline without extra download commit 071a8934e3b15082b19d2fe12ba2e318d02143fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 23:41:36 2022 +0800 Fix the assert case when loader callback nil image data commit 69acd5a15873b69891261a498b33747536364b4c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 23:20:36 2022 +0800 Added all the 3 test cases test17ThatThumbnailCacheQueryNotWriteToWrongKey test18ThatThumbnailLoadingCanUseFullSizeCache test19ThatDifferentThumbnailLoadShouldCallbackDifferentSize commit 31c4a09430caa27eb6c5ac1a59bec46b2069dd1a Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:59:16 2022 +0800 Fix one bug that callback the wrong cache type commit c47158362d04e09cd83b09d82097c693462770eb Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:52:48 2022 +0800 Limit the re-deocde case only when image was downloaded, avoid when thumbnail hit cache commit ecac56b7263f341bf06b93d980dc3c84afc216b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:13:24 2022 +0800 Use the new solution, store the original decode options, when multiple loading pipeline share the same URL callback, check it and re-decode if needed commit 911328c1b4c149c5a4bf7adef675c1abe3ba162c Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 19:37:13 2022 +0800 Fix the case when previous pipeline use thumbnail transformer use together, second pipeline use the full size loading commit 2c9290f109b91dc36133668e68f47345b4bd10ee Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 18:46:21 2022 +0800 Added sd_isThumbnail to mark metadata, avoid the case when full size image request re-use the image from thumbnail decoding for the same URL I think this is a temp workaround commit e7e9268a7e9c2f1157f1cea1b88465bc1589b4f9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 17:54:27 2022 +0800 Fix the case that query full size key with thumbnail, cause the write back of thumnail to memory cache with wrong key commit 613a2bf98890b283ec7e39a2efeb889b00c51e7e Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 02:50:30 2022 +0800 Opt the thumbnail cache behavior, now it prefers to store/query original data from disk, thumbnail image from memory Separate the thumbnail from transformer, they are for different use case commit 0b661344fe83e1c8e3d8716527f727ee6210260c Merge: 19b4b47c 1f3ee8e9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 22 17:56:22 2022 +0800 Merge pull request #3359 from dreampiggy/api_thumbnail_scale_calculation Added new API for custom coder better handling the thumbnail size commit 1f3ee8e9d5a7e181db41759c0975b2a5dcb375b1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 22 16:53:40 2022 +0800 Added new API for custom coder better handling the thumbnail size The current WebP/HEIF/AVIF coder both copy paste the same code multiple times and have to fix one by one commit 19b4b47c6063184ff65b353c3d9aeabec07ecfe7 Merge: 3746c5d4 018cf32a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 21:01:07 2022 +0800 Merge pull request #3357 from dreampiggy/bugfix_encode_max_pixel_size Fix the encodeMaxPixelSize logic commit 018cf32ab3c7e9ec814bf413e08d3a11468cbcbf Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 18:20:34 2022 +0800 Added test23ThatThumbnailEncodeCalculation test case commit fcb53cb5ff8b2480e495947ec8c25df30c4a15cc Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 18:02:38 2022 +0800 Fix the encodeMaxPixelSize logic Allows user to provide size which one dimension is larger than image size size Example - maxPixelSize: (200, 200), imageSize: (100, 400), result: (50, 200) commit 3746c5d4c6f1741bae5ebeab18a92ead3b149247 Merge: b729cc14 9362505a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:33:00 2022 +0800 Merge branch 'master' of https://github.com/SDWebImage/SDWebImage commit 9362505aeb0255177dea2b2e055801ece3e34366 Merge: 8743cdd6 a66972bd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:18:42 2022 +0800 Merge pull request #3336 from Insofan/feat/store_data feat: store image data commit 8743cdd6333388a7e3d04b6a929b2808a69f4235 Merge: eeb25d6e 9b9fc6fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:17:10 2022 +0800 Merge pull request #3355 from dreampiggy/feature_support_uiimage_preparefordisplay Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding commit b729cc14f65e1412efc781a4cc46bd7f4720a3ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 18:28:19 2022 +0800 Bumped version to 5.12.6 update CHANGELOG commit 9b9fc6fc9bbd5bee2a431062ead34176eb34135c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 18:13:30 2022 +0800 Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding This API seems support both async/sync version, SD use sync version here because we already call them on global queue The API mark available on watchOS, but header does not pass that __has_include, a little strange commit eeb25d6e9c1ecedbcbdc6694a6e40eaa8dcddbb5 Merge: 91c9966d 3b0b2326 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:11:14 2022 +0800 Merge pull request #3354 from dreampiggy/bugfix_thumbnail_calculate Fix the thumbnail pixel size calculation when preserveAspectRatio is true commit a66972bdc830103cd556c465599dc704d8ec5053 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:10:23 2022 +0800 Update SDImageCache.m Little logic check for nil value commit 754de4d7c8b07d39dcd8e8886f9547e53e370254 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:04:52 2022 +0800 Update SDImageCache.m Remove extra toDisk param commit 2fc131c44bf8af283561dcb0b77d42d96b8ea28b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:03:04 2022 +0800 Update SDImageCache.h Remove extra toDisk param commit 3b0b2326165cc2e4b34f8c301b58a99d96dc1df6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 16:44:21 2022 +0800 Added test case test22ThatThumbnailPreserveAspectRatio commit f90373ce14341da40c5bd730bd5c241d1d2e8405 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 16:32:33 2022 +0800 Fix the thumbnail pixel size calculation when preserveAspectRatio is true commit 91c9966d77d8f82219fbf5e59f3f22c9fbfd828c Merge: 362ba2d4 c2313209 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 8 23:08:20 2022 +0800 Merge pull request #3353 from amonshiz/amonshiz/fix-3352 Fix #3352 Include necessary CoreImage import commit c2313209136a735147a3807423bbbccf00b47853 Author: Andrew Monshizadeh <amonshiz@thebrowser.company> Date: Tue Jun 7 14:33:18 2022 -0400 Include necessary CoreImage import commit 362ba2d43f7ac410819859dbd728db5ea471e133 Merge: fda0a57d 24d4cda8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 1 14:46:44 2022 +0800 Merge pull request #3349 from turrisxyz/Pinned-Dependencies-GitHub chore: Set permissions for GitHub actions commit 24d4cda885335374d6d34f7205cefc3c3d01bbbe Author: naveen <172697+naveensrinivasan@users.noreply.github.com> Date: Wed Jun 1 00:29:19 2022 +0000 chore: Set permissions for GitHub actions Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> commit fda0a57de98d391e8244cc0f80c583e2c67d9e8f Merge: d01eb3f8 484de40e Author: Kinarobin <kinarobin@outlook.com> Date: Tue May 17 14:13:43 2022 +0800 Merge pull request #3346 from timonus/faster-file-url Small performance improvement to generating file URLs in SDDiskCache -setData:forKey: commit 484de40e3b803a09fceca3351c2fbc8820776cfd Author: Tim Johnsen <tim@patreon.com> Date: Thu May 12 15:42:17 2022 -0700 Small performance improvement to generating file URLs in SDDiskCache -setData:forKey:. commit d01eb3f8aca843146f17b5530cef49be8bd01b78 Merge: 2e63d006 30c95635 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Apr 2 17:48:17 2022 +0800 Merge pull request #3337 from GetToSet/ethanwong/nsscreen-thread Fix a crash of accessing -[NSScreen backingScaleFactor] from background thread. commit 30c95635112836059f4b76d287913484631563b8 Author: Ethan Wong <e1hanw0ng@gmail.com> Date: Mon Mar 28 20:17:53 2022 +0800 Fix crash of accessing mainScreen from background thread on 10.11. commit 7c66265ee82fdffe72c851395f8d61211f02bdc6 Author: Inso <insofan3156@gmail.com> Date: Wed Mar 30 15:24:32 2022 +0800 refactor: refactor store data to memory cache logic commit 6a2eaf707e82bb3adb16884b799906600096f85d Author: Inso <insofan3156@gmail.com> Date: Mon Mar 28 12:41:22 2022 +0800 feat: store image data commit 2e63d0061da449ad0ed130768d05dceb1496de44 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 15:58:50 2022 +0800 Bumped version to 5.12.5 update CHANGELOG commit 4974524a47e6c169cfc5340e4f6ab3428824263a Merge: 02283906 874b674c Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 15:55:31 2022 +0800 Merge pull request #3334 from dreampiggy/bugfix_force_decode_use_image_renderer_and_argb8888 Workaround iOS 15+ force decode again using Image Renderer(preferred) and RGB888 commit 874b674cb648c533f2401ab3e124510176538fcd Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 14:56:34 2022 +0800 Unify the colorspace on macOS/watchOS choosen for draw to use sRGB firstly Remove the unused OS version check commit 368825eff64e6bac3b7b36a8be54abd1a406ea1b Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:56:03 2022 +0800 Update the test case, now when using force decode, the image orientation is always UP commit c0cc2456323cfa6ee736b24bf630cf7823962a53 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:35:52 2022 +0800 Update AppKit SDGraphics convenient API to use main screen colorspace Update macOS demo URL as well commit fce270631f412376438761d203fe9cedbe1ab663 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:01:49 2022 +0800 Use RGBX8888 for non-alpha image force decoding, which workaround iOS 15+ issue commit 51d1b50ef4b396dfa45183bdd1fb21fd8905dea3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 17:54:44 2022 +0800 Fix the false decode implementation using the ImageRenderer instead of directly create CGContext commit 02283906996de3de7e582c885d98e4aff60f18b0 Author: lizhuoli <lizhuoli@bytedance.com> Date: Tue Mar 8 15:26:41 2022 +0800 Bumped version to 5.12.4 update CHANGELOG commit ba66c41fd672435132c1aa53677925ff82227978 Merge: 020481d5 3eb553d2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 8 15:17:04 2022 +0800 Merge pull request #3332 from dreampiggy/workaround_prefer_input_cgimage_bitmap_info Workaround the iOS 15+ Force Decode may return black image because of CoreGraphics commit 3eb553d251a336aa0d18149078540286c328cb88 Author: lizhuoli <lizhuoli@bytedance.com> Date: Fri Mar 4 17:55:07 2022 +0800 Update the test case again for checking non-blank image commit 6dcbec2b87487df99946c329f7283e1a8d0b61fb Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 22:06:04 2022 +0800 Update the test case and use Xcode 13.2.1 with iOS 15.3+ simulator commit 64902962e38d0c793e6548c5664c2e9815d79e2e Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 21:49:49 2022 +0800 Fix the test case by adding a little inaccuracy for blur effect result commit 1b0fdd8cb65fd71e86a773a541dcee546625bff4 Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 20:49:57 2022 +0800 Fix the iOS 15+ draw image blank because that CoreGraphics may not transcode on BGRX8888 pixel format context commit 4589048fdd926f3c1518e3246fb2d13f4fbb8338 Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 19:35:35 2022 +0800 Fix the some transform test case does not check the color hex commit 020481d5c8cbc153652de778541665821be5c5fa Merge: 2c53f531 4302777c Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Mar 3 18:27:06 2022 +0800 Merge pull request #3327 from soondl/fix/imageView_blink_diskDataSync Fix imageView blinks with option 'SDImageCacheQueryDiskDataSync' commit 4302777c6f66e713fac20705aa956481a8bb0088 Author: soondl <soondl@gmail.com> Date: Sun Feb 20 19:01:12 2022 +0900 Add test case `testUIImageViewSetImageWithURLDiskSync` commit 8445f2b1a702678b9831be1cc9c3c76b701555ec Author: soondl <soondl@gmail.com> Date: Sun Feb 20 16:08:40 2022 +0900 Fix imageView blinks with option 'SDImageCacheQueryDiskDataSync' commit 2c53f531f1bedd253f55d85105409c28ed4a922c Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Jan 27 21:46:56 2022 +0800 Bumped version to 5.12.3 update CHANGELOG commit 81ea1c9a9cb81a5f732b889361ab37dc07cda699 Merge: 0cd9a648 33ff352d Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 27 21:34:48 2022 +0800 Merge pull request #3321 from ty0x2333/fix_scale_down_image Fix #3320 `decodedAndScaledDownImageWithImage` does not render the image completely commit 33ff352d4ecc2cf05ffae0e6378615f85c1e3c98 Author: ty0x2333 <luckytianyiyan@gmail.com> Date: Wed Jan 26 15:46:21 2022 +0800 Add test case: test07ThatDecodeAndScaleDownAlwaysCompleteRendering commit 8ce13403bc13e1b0aede614328228a6f64017db7 Author: ty0x2333 <luckytianyiyan@gmail.com> Date: Wed Jan 26 07:12:35 2022 +0800 Fix the bug that `decodedAndScaledDownImageWithImage` does not render the image completely due to the loss of precision. commit 0cd9a6485acb6964330cce773fc93be7452ac2c8 Merge: 0fff0d75 aa99c377 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 19 15:01:01 2022 +0800 Merge pull request #3318 from zakishaheen/patch-1 update URL for SDWebImageSVGKitPlugin in readme commit aa99c377990bf2a140e377d34cf99069e8e527f7 Author: Zaki <zakishaheen@users.noreply.github.com> Date: Tue Jan 18 16:53:30 2022 -0800 update URL for SDWebImageSVGKitPlugin commit 0fff0d7505b5306348263ea64fcc561253bbeb21 Author: lizhuoli <lizhuoli@bytedance.com> Date: Fri Dec 31 17:21:57 2021 +0800 GravatarBumped version to 5.12.2 update CHANGELOG commit 89313b997ebab1fe6062bd291160e534287d1e6f Merge: 8d558cb7 cecc984e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Dec 31 16:28:32 2021 +0800 Merge pull request #3312 from JPlay/fix_animated_image_total_duration_calculate fix: Eliminates accumulated floating point errors. commit cecc984e3f08ede8dd940f504f572e60d1dbe3a4 Author: zhuoyan <zhuoyan@gaoding.com> Date: Thu Dec 30 11:31:54 2021 +0800 fix: Eliminates accumulated floating point errors. commit 8d558cb79f44c00bc75e71a509021b9551941aed Merge: 602af159 b02f6f9e Author: Kinarobin <kinarobin@outlook.com> Date: Fri Nov 26 10:07:39 2021 +0800 Merge pull request #3304 from mmdock/patch-2 Don't copy image data commit b02f6f9e45eff0685f04d224defc274fb7ba7098 Author: Morgan Dock <mmdock@users.noreply.github.com> Date: Thu Nov 25 00:17:08 2021 -0600 Don't copy image data commit 602af15947106c9c7a6066138b4e907df91c8acb Merge: a72df484 c0fbe7e3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Oct 19 11:15:56 2021 +0800 Merge pull request #3293 from dreampiggy/bugfix_image_loaders_can_request Fix the support for `SDImageLoadersManager` for canRequest API check, should be compatible with both old and new API commit c0fbe7e3efa7f88389f746a36b39d525ae3652f8 Author: lizhuoli <lizhuoli@bytedance.com> Date: Mon Oct 18 21:44:01 2021 +0800 Update test case commit 4274158949e67ce15d9c92abba1460359c8d3997 Author: lizhuoli <lizhuoli@bytedance.com> Date: Mon Oct 18 21:30:34 2021 +0800 Fix the support for `SDImageLoadersManager` for canRequest API check, should be com…
yonatanreiss-lightricks
added a commit
to yonatanreiss-lightricks/SDWebImage
that referenced
this pull request
Apr 3, 2023
commit fb50c1d20f24db5322b2f8f379de3618f75fe08e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 23:12:01 2023 +0800 Bumped version to 5.15.5 update CHANGELOG commit 4a3ce34c27d6b85cbd1cdd6b5b2cda8fe7c51639 Merge: 14b36f80 e0b7cc52 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 23:10:53 2023 +0800 Merge pull request #3506 from dreampiggy/bugfix/fix_blur_effect Fix the blur effect logic by avoid color convert and always use three box-blur methodology commit e0b7cc524113637c6334ef5e558aba685e0754dc Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 18:54:08 2023 +0800 Fix the blur effect logic by avoid color convert and always use three box-blur methodology commit 14b36f8096ac14785c3fc556a3b71e14a9022384 Merge: a812079a 8d09564f Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 15:29:17 2023 +0800 Merge pull request #3505 from dreampiggy/bugfix/cache_nil_key Protect the disk operation when input key is nil commit 8d09564f27884bfd50632b8f57dfdd8989fbb76e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Mar 3 15:10:42 2023 +0800 Protect the disk operation when input key is nil commit a812079ae91a7f2e627364c42ea7b98abfa366ed Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 21:14:53 2023 +0800 GravatarBumped version to 5.15.4 update CHANGELOG commit 011fe7403101031cd6996ff15867752c4ced383f Merge: 554e05a4 5bb64eae Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 21:09:42 2023 +0800 Merge pull request #3500 from dreampiggy/bugfix/sd_callbackqueue_escaping Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block commit 5bb64eae39ff6cad6be6422b80250d7d86a533f6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 21 19:12:12 2023 +0800 Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block This may cause the wrong lifecycle for block (earily release) commit 554e05a4415fe20add53531c21e593c403685c3d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 19:49:14 2023 +0800 Bumped version to 5.15.3 update CHANGELOG commit 748def0a0c5d6cd589a411451cd4e2ea29b3ee4f Merge: 940f991c 856ecd62 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 19:36:15 2023 +0800 Merge pull request #3496 from dreampiggy/temp/try_fix_promotion Try to fix the SDAnimatedImageView playback speed issue in Promotion devices (iPhone Pro) commit 856ecd6235186fffb70f0125987518bcce374c11 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 18:07:07 2023 +0800 Fix leak of display mode commit 3440b7c0fbea6ba00acc5e8d0a4a59dc81ce5645 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:56:34 2023 +0800 Update test case for display link and revert the protect code commit 940f991ca1d6724aec2610af07d5e58608515997 Merge: 9cf8d125 9bc52079 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:57:14 2023 +0800 Merge pull request #3497 from dreampiggy/bugfix/same_url_failed_callback_times Fix the issue when multiple request for same url failed, the completedBlock will callback more times commit 9bc52079792f2ab63bdb98d56578e42777ee4dff Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:33:59 2023 +0800 Added test case `test31ThatMultipleRequestForSameURLFailedCallback` to ensure behavior commit b25864cc71560f5a0070b871ce337fde751431c0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:27:13 2023 +0800 Fix the issue when multiple request for same url failed, the completedBlock will callback more times commit 9cf8d125f522df0a7c3956f3828522ef2b6975fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Feb 18 17:02:34 2023 +0800 Update README.md Added the explanation for SD prefix commit 271e8d8b12569b3af3c428ff2f8ca6913f6604d9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Feb 12 02:51:55 2023 +0800 Try to fix display link callback duration calculation issue, using next timestamp for iOS 10+ / watchOS, previous timestamp for iOS 9 commit 8bd4e72c331ff082a3add70a6e2dab206fcd6c08 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Feb 12 02:46:50 2023 +0800 Fix macOS Demo applicationDidFinishLaunching not called commit a47bc00770240901a1c99a26c0dad638fa899917 Merge: 7ccdcb02 205b57cc Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 21:08:22 2023 +0800 Merge pull request #3489 from SDWebImage/ci Try to fix codecov upload issue using token commit 205b57cc1df07c6f825c3739ad630a95913cbc6e Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 16:13:32 2023 +0800 Try to fix codecov upload issue using token commit 7ccdcb02fb0ab47409a6602769cea0486be2a209 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 15:20:33 2023 +0800 Bumped version to 5.15.2 update CHANGELOG commit 2382c58421f86cd226a0b1eb4d590ef8f8d7a09a Merge: 6b25d985 f2d76101 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 15:00:02 2023 +0800 Merge pull request #3484 from dreampiggy/garden/objc_bool_yes_no Code garden to change Objc bool from true/false to YES/NO commit 6b25d9854aef0a8a9df29d9ac69d8786a8f26f8d Merge: 1f48e5a3 7cec27ba Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 14:59:20 2023 +0800 Merge pull request #3483 from dreampiggy/bugfix/atomic_logic_fix Fix the atomic logic between downloader and operation again commit f2d76101815904b9f82665f6ea7f1dbb4b5339a8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 02:32:11 2023 +0800 Change Objc BOOL true/false into correct YES/NO commit 7cec27bab922dc91a310dbb7ba5f3eb61a237ad3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Feb 7 02:16:00 2023 +0800 Fix the atomic logic between downloader and operation again Remove the wrong logic to modify queue priority when re-use operation commit 1f48e5a37959de4ea240c12b68227c10f6c4d6e2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:57:16 2023 +0800 Bumped version to 5.15.1 update CHANGELOG commit eecc7e43800da45cc34e2814a99c298218c5b7ab Merge: 247cbcfd fbe8880a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:50:28 2023 +0800 Merge pull request #3480 from dreampiggy/bugfix/data_copy_crash Remove the unused extra copy for `SDAnimatedImage` data initializer commit 247cbcfd9729a4e9d1e06366be081bdaa9387b75 Merge: a0521643 02969011 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:49:43 2023 +0800 Merge pull request #3479 from dreampiggy/bugfix/fix_async_block_operation_race Try to fix the SDAsyncBlockOperation's race condition commit fbe8880ab7277df8f4f54cc5ba6a41e3313db152 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 21:11:59 2023 +0800 Remove the unused extra copy for `SDAnimatedImage` data initializer commit 02969011b09a4af9a0d1dc0c45cd655fd599f82c Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 18:07:00 2023 +0800 Try to fix the SDAsyncBlockOperation's race condition Use the correct way for subclassing NSOperation commit a052164350a6542eb7245ed1341972b4d84623e0 Merge: f25cc6bb 1ec6cd06 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 20:41:10 2023 +0800 Merge pull request #3477 from dreampiggy/bugfix/ensure_downloader_callback_atomic Ensure the Downloader and DownloaderOperation callback the completion in atomic and never miss one commit 1ec6cd06f70110daadffaeb7671fd15ee6f3d881 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 18:54:56 2023 +0800 Change all placeholder.com sample from http into https commit b6910be155de74fecd43992fceb99cd65157bd51 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 17:29:08 2023 +0800 Added test case `test31ThatMultipleRequestForSameURLNeverSkipCallback` to ensure all download request for same url always callback commit 0c94e540bcded53fef6aba0ad3882844ab72a1ce Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 16:09:07 2023 +0800 Revert back the NSOperationQueue, seems has better performance on this cases (may dispatch multiple block but not important, one finished is OK) commit 6e1fee7834276add072674f0802a824f8b040a41 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Feb 6 15:06:54 2023 +0800 Try not introduce new public API for operation, attach the `isCompleted` property using associated object from downloader, ensure compatibility commit 43b94130c7f94a497f39001f17a4fa2499c3874c Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Feb 3 19:02:07 2023 +0800 Ensure the DownloaderOperation callback the completion in atomic and never miss one The downloader will now check and ignore a `transferedDataFinished` operation (which is callbacking its own completion), because it's not safe in multi-thread environment, create new network request instead commit f25cc6bb1c595ef0165039360534d587e451ff8a Merge: 8a6dcf88 a66ff8e5 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 14:12:35 2023 +0800 Merge pull request #3474 from dreampiggy/bugfix/atomic_fix Avoid compiler generate the wrong property attribute with non-atomic commit a66ff8e5c9bfa32067c9f5c840efdb89d9104bad Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:45:19 2023 +0800 Avoid compiler generate the wrong property attribute with non-atomic commit 8a6dcf88820754e529e22c054c160089ded6fece Merge: 6f8121c6 a80af99d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:43:31 2023 +0800 Merge pull request #3473 from dreampiggy/bugfix/create_options Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint commit a80af99d0af5873bf017ff15a89072ca1f20add9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jan 22 11:23:18 2023 +0800 Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint commit 6f8121c604ce580c5968f117f8829ef0a83d3071 Merge: 6c6b9518 5b34168e Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 19 12:08:08 2023 +0800 Merge pull request #3471 from GiddyGoatGaming/patch-1 Bump actions/checkout to v3 commit 5b34168e645618f4d97f46d5fd6c8d40b2834b98 Author: Spencer Comfort <109806759+GiddyGoatGaming@users.noreply.github.com> Date: Tue Jan 17 06:50:50 2023 -0500 Bump actions/checkout to v3 commit 6c6b951845a520fa7e8356e28adb5339c0f008d3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 17:10:01 2023 +0800 Bumped version to 5.15.0 update CHANGELOG commit 975502b4a6dc9629027fc08ff085bc97efb1d7d6 Merge: a01715e1 9dd8b6c0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:50:50 2023 +0800 Merge pull request #3469 from dreampiggy/feat/animated_image_encode Added encodeWithFrames API for animation encoding in custom coder, better for usage commit 9dd8b6c08b2d70103741044bfbee78eac2f7bacf Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:50:16 2023 +0800 Update test case commit a01715e19605bc8d657174d553fd3781c01a74ef Merge: 7c63bad4 c0f70234 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:20:07 2023 +0800 Merge pull request #3468 from dreampiggy/feat/decode_solution_change Update the decode solution to allows CoreGraphics avoid using any UIKit method commit 0bdb7865c77599803a55966816d232a02576096f Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:18:17 2023 +0800 Change the immutable frames array commit 985c84be75530dc18e999cc42b050ba700d08226 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 16:16:09 2023 +0800 Opt the macOS legacy animated encode, with the weak assigned frames to avoid re-decode again It's still recommended to use the new API commit 8ec3bc83d7c13828abed5efb63fb2dc212ca69da Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 15:24:39 2023 +0800 Added encodeWithFrames API for animation encoding in custom coder, better for usage The exist API need wrap the frames into a new image and extract, consume RAM and CPU commit c0f70234725b7a9f49a3489c17b66e8834f26687 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 17 14:38:00 2023 +0800 Update the decode solution to allows CoreGraphics avoid using any UIKit method This is back compatible to old version's RAM behavior commit 7c63bad41c0cde5ccc023f70a61ef434c726da4c Merge: 05f7fb9b 911a9a86 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 16:35:50 2023 +0800 Merge pull request #3466 from dreampiggy/feat/encode_options Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API. Seperate the SDImageCache encode queue and IO queue to match waitStoreCache behavior commit 911a9a86a0392231155990b4b67f7b29c9ef51d3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 15:20:51 2023 +0800 Fix the wrong test because now ioQueue and encodeQueue is different thing, we should not assume calling storeImage and queryDiskCache get the data (they are not guarded by the same serial queue) commit e083ab293fc591526805d95d1ae9f431252747e6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 12 14:49:02 2023 +0800 Fix the wrong behavior after 5.15.0 cache changes commit 78fa0a9cb5a7eedfe82a0a5b3aea2ebff0ed5100 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 16:38:00 2023 +0800 Update test case test08ThatImageTransformerWork with encode options commit 08ec6cf2534388b5d41f90501e9b1a20301213a8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 16:00:16 2023 +0800 Adjustment for manager && cache call, add deprecation commit 246cfa935d326ee7dc8a6898f4377c814175e942 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 15:32:04 2023 +0800 Change the cache's encoding in global queue to avoid block ioQueue for IO read/write, performance related commit d93a08fc917e251497173388a8e2b0744f96a5da Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 11 15:08:31 2023 +0800 Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API commit 05f7fb9b0d96696e31bdbb0bd3928183f151dbef Merge: 4178d12a 720a0974 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 10 14:38:00 2023 +0800 Merge pull request #3465 from dreampiggy/feat/callback_queue Added context option `callbackQueue` and `SDCallbackQueue` wrapper for advanced user to control which queue to callback commit 720a0974d48e83797a1d654191d585eaef74f01d Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Jan 10 12:49:20 2023 +0800 Fix SwiftPM issue commit 397f8512403e28f0f79e9fa20e3f2d256b2ed0fd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 22:14:53 2023 +0800 Update test case commit e21e9f19e61efcf29bb2edf0ded2b77ee5c8002a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:56:15 2023 +0800 Update Carthage project commit e1e0841102c60101ebd37acee6dbe1837ebd9a42 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:46:20 2023 +0800 Rename the internal property to avoid misleading commit 007100d18ff5aec992a81581ab23ab9f774e80d5 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 21:42:32 2023 +0800 Supports the old store cache API without context, which does not supports callback queue customization commit 1b086711aedc4a66c80ae39cb3fd3d794190396f Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 18:44:33 2023 +0800 Fix the issue because of main queue label hack commit 43d74211c3bce2964f28668e9d0f5c4498280851 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 18:31:56 2023 +0800 Added test case `testSDCallbackQueue` commit 90eeb4d8306470eb178bafce8c3a0be7b6e4a82d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 17:45:52 2023 +0800 Deprecate SDWebImagePrefetcher.delegateQueue, translate to use context[SDWebImageContextCallbackQueue] instead commit 5a4b4cf16db34328b4e6ddad41fa3e095c3f8efb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jan 9 17:24:13 2023 +0800 Change the asyncSafe to the queue level configuration, introduce SDCallbackPolicy commit 67520b9f55b064ab8e63d55eddd0e97a2bf34e58 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:49:35 2023 +0800 Fix the new added storeCache API which passing callbackQueue commit fdd9a98210f2591901a57eff51c539d61bbcc06f Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:34:37 2023 +0800 Do not check nil block, useless in our use case commit 57403c9d3fb5ebf14dbfad843e0fa9cf026917f2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 19:09:39 2023 +0800 Rename to use `dispatch_block_t` alias commit b5d712a3783911ed427faef1903c6aa54fd0aa56 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Jan 6 18:41:29 2023 +0800 Implements the Callback queue dispatch Fix some missing components commit 43ec4726e112ce7cb85b28b3751f1e07492801ef Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 4 18:47:50 2023 +0800 Added context option `callbackQueue` for advanced user to control which queue to callback This is used for user who call SDWebImage outside from main queue and need precise queue control, such as avoid chain queue blocking (like AVKit lazy load) commit 4178d12a44691182c2eb79c70281b14cb73f4cbf Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 20:03:04 2022 +0800 Bumped version to 5.14.3 update CHANGELOG commit 8be9f2c3f93142362e94117ef2cdbf019dbb4976 Merge: 7bc087b0 d2221403 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:57:48 2022 +0800 Merge pull request #3461 from dreampiggy/bugfix/yuv420_jpeg_hevc Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization commit d2221403e10fb9c6d8f10141db98aaaaf1f88679 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:55:12 2022 +0800 Removed the unused options for CGImageSourceCopyPropertiesAtIndex commit a53eb929886b11658bac15f5908021c61ee340c1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 19:23:58 2022 +0800 Update the test case `test23ThatThumbnailEncodeCalculation` This regression test should also been reverted commit a99c0de68d58cb68257b449c2c835ebdabb2f61a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 18:14:13 2022 +0800 Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization The lazyDecode logic effect the static image as well. Should roll back and only check for animated image commit 7bc087b081e28cf42b65ef10c3c718ce1697df44 Merge: 0274aa85 ffc91663 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:57:09 2022 +0800 Merge pull request #3460 from dreampiggy/feat/ioqueue_concurrent_config Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue commit ffc91663bf6c85e54faecd5f8dd2196b56e529fe Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:37:07 2022 +0800 Added test case `test48CacheUseConcurrentIOQueue` commit c60e6714dd34af904065bad943ea868dbd3a40b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 17:24:07 2022 +0800 Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue commit 0274aa85fe69a997eae3a4de9275225762d56a22 Merge: 707db2e0 a15f5948 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 16:51:54 2022 +0800 Merge pull request #3452 from kinarobin/fetch-frame-early-for-animated-image-render [Performance]when frame timestamp not reached, we should prefetch frame in advance for image render. commit 707db2e01669605602d72e50a8454e7782a4e789 Merge: 3312bf5e 71746145 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Dec 27 15:47:17 2022 +0800 Merge pull request #3459 from dreampiggy/bugfix/player_cache_poster_image The poster image should not trigger a frameChange callback commit 717461459fe51ad7eda1f804e50d3c417c92cbfd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Dec 26 19:05:39 2022 +0800 Hack the first frame to ensure it always displayed in first screen refresh commit b5db7fac682c3c4d7af8a9188cafce20f301a47d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Dec 26 18:50:05 2022 +0800 The poster image should not trigger a frameChange callback commit a15f594869f8ea56f86d77a30fc7678d5f8bd01d Author: kinarobin <kinarobin@outlook.com> Date: Fri Dec 2 21:24:36 2022 +0800 prefetch image in advance commit 3312bf5e67b52fbce7c3caf431b0cda721a9f7bb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 18:49:54 2022 +0800 Bumped version to 5.14.2 update CHANGELOG commit 430ef4d73ca268d8efcefad08d3ac020af91c750 Merge: 80683c20 9c0c715d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 18:47:05 2022 +0800 Merge pull request #3443 from dreampiggy/project/move_assert_check_to_demo_tests Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only commit 9c0c715d6aba8bfaec5f5440c4e2cd581b321bae Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 14 17:07:29 2022 +0800 Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only This does not effects user who use this framework, only useful for ourselves to ensure Apple does not break our code commit 80683c20d8f15e10ac1ce605cca5008a295846bd Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 15:35:47 2022 +0800 Bumped version to 5.14.1 update CHANGELOG commit a97d5023041ff0cf59f25d07dfbf78fd68d90036 Merge: bc3f09cc 736f3f41 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 15:30:36 2022 +0800 Merge pull request #3439 from dreampiggy/bugfix/thread_safe_callback Fix the missing lock for callbackTokens which may cause thread-safe issue commit 736f3f41f74c70a5c82546238cc25d377cb51436 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:29:20 2022 +0800 Move block before sending to the main queue This can avoid some life cycle issue and increase performance commit 384b2d7c8be97bb52eed789662b4b97f5a58ab17 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:22:49 2022 +0800 Fix the missing lock for callbackTokens which may cause thread-safe issue commit bc3f09ccbd4b09d343c86e9071029946ac34313f Merge: 8a26bb3f 30f165ab Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 14:17:17 2022 +0800 Merge pull request #3436 from dreampiggy/bugfix/ios16_pdf_use_coregraphics Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue commit 30f165abd5444cf83a8e30f239139c820dd926e6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Nov 11 00:07:32 2022 +0800 Change from instance method to class method commit f4706453d6de61b2b397e1fee26d517cd9f4e6b3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 23:47:34 2022 +0800 Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue We no longer use ImageIO to decode PDF, seems they don't maintain that kSDCGImageSourceRasterizationDPI Copy the code from SDWebImagePDFCoder, need to update commit 8a26bb3f3d22dd503052834fb6c82eff98b4f7aa Merge: b6aa428b d96ea392 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 22:41:26 2022 +0800 Merge pull request #3434 from dreampiggy/bugfix/underlying_queue_crash_ios12 Fix the iOS 12 crash because the underlyingQueue is nil commit d96ea392d16b509a9c63ccee61ae6d28b0b36d08 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 10 19:55:18 2022 +0800 Fix the iOS 12 crash because the underlyingQueue is nil Use NSOperation dependency to solve this issue commit b6aa428b7d01a36e7857b09b4acb320ad7ee5170 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:48:52 2022 +0800 Bumped version to 5.14.0 update CHANGELOG commit 35b28d417938a712b2e4af4fcf5331d43349e16c Merge: 03b46475 bfa91a29 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:42:00 2022 +0800 Merge pull request #3430 from dreampiggy/feat/add_is_thumbnail Added the helper convenient API `sd_isThumbnail` commit bfa91a291bd530048f8546e782d9f45941550e55 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 22:39:57 2022 +0800 Added the helper convenient API `sd_isThumbnail` Fix the metadata does not saved commit 03b46475eb95d96cc7159f7ae47de3507fa1c603 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:49:26 2022 +0800 Revert #2792, the autoreleasepool does not solve the issue commit 6ce59aa8c118c19a497f712a7bc97e7479238ee7 Merge: 359036ea 7ddf3214 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:44:07 2022 +0800 Merge pull request #3429 from dreampiggy/perf/remove_conforms_to_protocol Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance commit 7ddf3214e6529471c352dc61db26ad8fb3c957c6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 21:18:20 2022 +0800 Fix the test case again on below iOS 15 commit f8d353b50ca1356e385ba9e3b3751bd1f7fe3875 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 20:04:36 2022 +0800 Update test case `test06ThatUsingACustomDownloaderOperationWorks` commit 9aa27b61e8573fac9259fa6e99d2feb299a109ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 19:45:21 2022 +0800 Replace conformsToProtocol call with appropriate respondsToSelector check This effect API called with multiple times, for some one-time setup and important check, the conformsToProtocol is remained commit 359036eae97b456cceedfa2b0fa101820bb4040c Merge: 9599a78f 6a9b5783 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 19:16:05 2022 +0800 Merge pull request #3428 from dreampiggy/opt/avoid_store_again_when_origin_disk_exits Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size commit 6a9b578369595eea596abc2f2c5c94dcf5de298a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 17:08:34 2022 +0800 Added test case `test21ThatQueryOriginalDiskCacheFromThumbnailShouldNotWriteBackDiskCache` commit 9599a78ff99b32021c012a014397e5562399c4da Author: riv1r <514068775@qq.com> Date: Tue Nov 8 17:29:49 2022 +0800 Fix del redundant autoreleasepool (#3388) * fix:del redundant autoreleasepool, because frameProperties is not a __autoreleasing reference object, for-Loop does not cause untimely release * fix:del redundant autoreleasepool, because frame is strongly referenced by frames, for-Loop does not cause untimely release * fix:del redundant autoreleasepool, because sourceTileImageRef is released by CGImageRelease, for-Loop does not cause untimely release Co-authored-by: chendongran06039 <chendongran06039@hellobike.com> Co-authored-by: DreamPiggy <lizhuoli1126@126.com> commit f93cf968327635b61bf0a9fac5cc0de0dcc398ec Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:44:40 2022 +0800 Avoid store original disk cache again when using thumbnail or transformer from the full size data This solve #3395 commit 5a89f80816729be295915e9edad2712d748f4438 Merge: cdd77d5e 0d1c603d Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:41:40 2022 +0800 Merge pull request #3427 from dreampiggy/bugfix/logic_nullable_check Add the possible nullable logic check when the force-decode/copy failed commit cdd77d5ebeab885b85f8df1342480eeeab295a52 Merge: f6769186 c81aec4c Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:20:33 2022 +0800 Merge pull request #3426 from dreampiggy/bugfix/UTI_hint_ignore_dynamic_log Ignore the dynamic UTI type hint to avoid extra log commit 0d1c603d5068ed7ab6761d3e5cc794fa8bdb5bf7 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 16:19:49 2022 +0800 Add the possible nullable logic check when the force-decode/copy failed commit c81aec4ccda5d34fd729a59132e40f200e708406 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 14:57:18 2022 +0800 Ignore the dynamic UTI type hint to avoid extra log commit f6769186b9952c00aa3c1d9d201db88e4bdca9db Merge: ddcf347c 6c836968 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 8 14:36:55 2022 +0800 Merge pull request #3425 from dreampiggy/feature/imageio_force_decode_option_control Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO. Introduce new workaround to strip CGImage retained CGImageSource on iOS 15 commit 6c836968008e2316730fcbbdaef82112dfbce205 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 18:39:33 2022 +0800 Update test case `test17ThatMinimumProgressIntervalWorks` to make it more stable commit 7c4649c7cc7bfd1656e01b075809650c3aa5f657 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 15:25:52 2022 +0800 Update the test case `test23ThatThumbnailEncodeCalculation` commit 136d05fce8713155823aaaaa3aa721c3312a32d1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 12:42:32 2022 +0800 Add extra check when user provide SDImageCoderDecodeUseLazyDecoding commit 3000dd5098158f2575d695270b99a67469425a5d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Nov 7 12:20:04 2022 +0800 Fix the `sd_isDecoded` did not set after we use SDCGImageCreateCopy commit db25af95060acf6fc759134efd07a1b2cf510fdf Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 3 19:16:30 2022 +0800 Recovery the assert check on only iPhone/TV simulator in debug mode commit abc06f020ad619c76ad8cd4ba152fe3a8cf32706 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Nov 3 19:10:12 2022 +0800 Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO or not Defaults to NO for animated image coder but YES for static image coder to match current behavior This also use another way to solve iOS 15+'s CGImageGetImageSource issue commit ddcf347c7dfaad3e8d6d81ac79e72b99118b48eb Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 1 14:20:44 2022 +0800 Update README about GitHub action status commit 5ee6ac2476ac59e3f36ed75fb0f5ca4106b269ad Merge: 4a72e4fe 279f636a Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Nov 1 00:14:17 2022 +0800 Merge pull request #3423 from dreampiggy/feature/refactor_thumbnail_hack_with_decode_options Refactor the hack for multiple thumbnail image request at the same time commit 279f636ac561ff5bcf3eb4c9539fa93115980976 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 23:41:46 2022 +0800 Minor check the logic that UTI has high priority than path extension commit e3c6cfa066a0cab867e5f7877d5ace6258e873b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 23:03:29 2022 +0800 Update test case to make clear that transformed image and thumbnailed image will callback without data commit 980e0dd14adf46378b18065b905b04ee62b91345 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 22:54:38 2022 +0800 Added test case test30ThatDifferentThumbnailLoadShouldCallbackDifferentSize commit 2fd75638fe4723677ed2abee64a3f50795404132 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Oct 31 19:58:35 2022 +0800 Refactor the hack for multiple thumbnail image request at the same time 1. Put the hack logic into SDWebImageDownloadOperation, each different thumbnail image request will have its callback with desired size of image using different decoding call. 2. Progressive Thumbnail decoding (use together) does not have this behavior, because I think progressive thumbnail is really rare and tolerant, people just use the first thumbnail size image for preview and OK. 3. The manager logic refactor with separate steps, focus on clear to understand the complicated logic and maintainess 4. The thumbnail decode/transformed will callback valid image, but with nil data, this matches the behavior as wiki pages. commit 4a72e4fee29c8600053eee760a297e06e80e5939 Merge: b014808d 851b60e0 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Oct 30 18:34:30 2022 +0800 Merge pull request #3421 from dreampiggy/feature/decode_options_in_from_loader_instead Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext commit 851b60e0f3c1fc98af8301e143bbff1e5937bb54 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Oct 30 17:54:03 2022 +0800 Added test case `test20ThatContextPassDecodeOptionsWorks` commit 2f3652dc2e17f32ae12a9eef3bdf542b6bd3c5ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 19:09:08 2022 +0800 Feature: Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext This can solve the retain cycle from the scratch, instead of hacking commit b014808ddd52dc3ac70bcb24817a3c651928be10 Merge: 3a52ef5a 318cca55 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:40:00 2022 +0800 Merge branch '5.13.x' of github.com:SDWebImage/SDWebImage # Conflicts: # SDWebImage/Core/SDImageCacheDefine.m commit 318cca556b0489aede0cd98d8d0c7f1408ab7bd6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:34:04 2022 +0800 Fix the issue that progressive decode logic does not get updated commit 55a380941296727c5042f2d365b8104f726bc46c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:26:05 2022 +0800 Bumped version to 5.13.5 update CHANGELOG commit 34f2a9b823927520ad7a214d698d694d39f62f7a Merge: 9248fe56 b46fe38c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 20:22:21 2022 +0800 Merge pull request #3420 from dreampiggy/fix_5.13_retain_cycle_web_context Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option commit b46fe38c7257a534d02311192411e6dae43beca6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 19:50:45 2022 +0800 Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option Now the SDImageCoderWebImageContext does not pass the built-in options, only custom options will be passed, and deprecated in 5.14.0 commit 3a52ef5aeb3ce89b1f0b37359e7f39b460e1df10 Merge: 9248fe56 8dd6e25c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 18:34:56 2022 +0800 Merge pull request #3419 from dreampiggy/feature/tiff_uti_hint Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size commit 8dd6e25cd86556178c22a33e97013fcbdad6a2da Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Oct 29 18:13:36 2022 +0800 Added NEF test case, as well as BMP type enum The file extension hint works on iOS/macOS for current commit b1b16a17b36c3ecd5f81bf43cf115c8c9f30f375 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Oct 27 11:09:29 2022 +0800 Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size This is because file extension will cause ImageIO use different codec, which does not support all of them without context commit 9248fe561a2a153916fb9597e3af4434784c6d32 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 20:57:44 2022 +0800 Bumped version to 5.13.4 update CHANGELOG commit 3c7c949637cecb4eef79cd543309a2d5b261e46f Merge: 484bc774 364034d1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 20:55:27 2022 +0800 Merge pull request #3408 from dreampiggy/threadsafe_fix_imageio_incremental_animation Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF) commit 364034d11aaa6415e8611faaa1739e24c6fb0383 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 18:43:26 2022 +0800 Fix test cases `test15CancelQueryShouldCallbackOnceInSync` commit 080db1afb916e68edbe5e7c3089fbfaae58bf831 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 18:24:41 2022 +0800 Try to investigate test case failure issue commit 9b2ddc9ea84434741c1491bce6440f80d86612fa Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 17:34:55 2022 +0800 [NFC] A little optimization for MutableArray creation commit 347cf1d1cc4feed24971e78dd68763fb132c1950 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 26 17:32:25 2022 +0800 Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF) This patch from the SDWebImageWebPCoder/pull/68 commit 484bc774e1091f622c4856e576ff957b29403676 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:35:34 2022 +0800 Bumped version to 5.13.3 update CHANGELOG commit 9f9d226083875af45f3624393882f49f915eb75d Merge: 524d4f53 ea9f5737 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:30:51 2022 +0800 Merge pull request #3387 from dreampiggy/thread_safe_ios15_animation_cgimage_retain_source Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing commit ea9f573744810f7bd4ac390b639136b40a6a98bb Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:29:57 2022 +0800 Remove the temp assert code (for debugging usage) commit 89178a7d89ecde64a79df11faa496bddf6c656c4 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Aug 26 17:48:51 2022 +0800 Update to force decode CGImage before any UIImage initialization on iOS 15+ commit 3994006cb46eb5e20517d66bb59c673769ec7e23 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Aug 11 14:51:02 2022 +0800 Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing This used to work on iOS 14 commit 524d4f53ebbbbbddaf830ebd9467b0b724f645f2 Merge: 122c3d7c 6b8075a2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 18:20:06 2022 +0800 Merge pull request #3403 from dreampiggy/revert_isCancelled_block_with_recursive Fix the crash because of SDWebImageCombinedOperation recursive lock commit 6b8075a2e1849ffff5bde0496f3cd841e16364ec Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:33:04 2022 +0800 Using the same synchornized to guard _cancelled status, which need recursive lock DO NOT USE SD_LOCK (os_unfair_lock), which not support recursive commit ad592765cbbd3b4dcc12fa014062625630c83104 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:28:38 2022 +0800 Revert "Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race." This reverts commit 5a18c84529dd5cd9cd45c8689d55b62d3b73b54a. commit 122c3d7ca57a21650c01b61f3ea42e5de4168f91 Merge: d3b111de 61c3c5ba Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 17:23:56 2022 +0800 Merge pull request #3402 from dreampiggy/fix_macOS_animatedview_render Fix the switching from animated image rendering to static image does not works on macOS 11+ commit 61c3c5ba2d3c6b94e79fa4195fcccd9d5568db73 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 16:27:21 2022 +0800 Fix the switching from animated image rendering to static image does not works on macOS 11+ We should always provide a fallback solution to handle built-in NSImageView logic commit d3b111deb10fc8ecb87e82a3fff5c2cf9dabcefb Merge: 3a6e01ab 6eb74a17 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 14:30:03 2022 +0800 Merge pull request #3401 from dreampiggy/fix_unlock_unbalanced Fix the unbalanced lock which cause crash commit 6eb74a177fffc6991b283ddcfbf1884e046ff620 Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Sep 19 12:05:41 2022 +0800 Fix the unbalanced lock which cause crash commit 3a6e01ab20b5b93b763b285e670e720510a30f7a Merge: 3e48cb68 5a18c845 Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Sep 9 18:15:44 2022 +0800 Merge pull request #3393 from alexander-gaidukov/synchronize_operation_cancellation Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation commit 5a18c84529dd5cd9cd45c8689d55b62d3b73b54a Author: Alexander Gaidukov <alexander.gaidukov@gmail.com> Date: Mon Sep 5 16:32:32 2022 +0700 Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race. commit 3e48cb68d8e668d146dc59c73fb98cb628616236 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 23:09:12 2022 +0800 Bumped version to 5.13.2 update CHANGELOG commit 7d7debbd262ddac7c75c9d40c78e929839dcbad0 Merge: b88d576f bcaf918b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 23:04:55 2022 +0800 Merge pull request #3380 from dreampiggy/bugfix_edge_case_cancel_cache_callback_twice Fix the rare case when cancel an async disk cache query may cause twice callback commit bcaf918b8393dc13917a39be49929e44a08b2491 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 22:43:01 2022 +0800 Fix the old test case warning commit 62e3a8f52a9ce7b38c641118328c5593468a641e Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 22:05:49 2022 +0800 Update test case about the cacheOperation and loaderOperation commit 3d1197b820d29200e49d194e8e965b9c7419df71 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:59:14 2022 +0800 When download start, mark the query cache operation finished to avoid bug behavior commit 2729096221edcd7eeea1add6f5e9ea6273950c95 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:26:18 2022 +0800 Added test case `test15CancelQueryShouldCallbackOnceInSync` commit 0643cb81c37f54384325fe6caff3ac118affff42 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 21:08:55 2022 +0800 Fix the rare case when cancel an async disk cache query may cause twice callback One is sync and another is async commit b88d576f756e0ad27a926df155d44f74377bd639 Merge: cc1995b7 2bad528b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 23 16:39:13 2022 +0800 Merge pull request #3379 from amonshiz/patch-1 Fix pragma mark typo commit 2bad528bfb907cc8182e596115fe222f1a29848f Author: Andrew Monshizadeh <1282845+amonshiz@users.noreply.github.com> Date: Fri Jul 22 21:49:09 2022 -0600 Fix pragma mark typo Built and noticed this warning ``` external/SDWebImage/SDWebImage/Core/NSButton+WebCache.m:152:9: warning: unknown pragma ignored [-Wunknown-pragmas] #pragma mar - Private ^ ``` commit cc1995b73883a1f97931366879d862c53a32bf82 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:51:48 2022 +0800 Bumped version to 5.13.1 update CHANGELOG commit 7269107908da3ddeca360adce36f66032bba3662 Merge: d0f3c393 07572418 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:46:17 2022 +0800 Merge pull request #3373 from dreampiggy/fix_clang_analyze_issue Fix the clang analyze issue commit 0757241822ea079faffe82b6a9e30a6f03cc11e9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:43:48 2022 +0800 Fix the clang analyze issue commit d0f3c393350c1cdc0e2e307bed9f9327eade2d0a Merge: 3277824d a88e6694 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 19:33:46 2022 +0800 Merge pull request #3368 from dreampiggy/optimize_force_decode_solution Added `SDImageCoder.defaultDecodeSolution` to control the force decode solution. Automatic by default commit a88e6694229b627ef32c2cfdee956a8999eb1159 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 16:27:30 2022 +0800 Added SDImageCoderDecodeSolutionAutomatic, which check image format as well This avoid the unwanted CMPhoto log commit 213a8b8def68d594338d34c067d9d47e221f14ef Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jul 11 16:28:10 2022 +0800 Added `SDImageCoder.defaultDecodeSolution` to control the force decode solution, defaults to CoreGraphics (the same as 5.12) For user who want new UIKit solution, you can opt-in to change the `defaultDecodeSolution` case commit ff6b3b9bb59613d1acde21258d45bfe83bd44fab Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jul 11 15:50:55 2022 +0800 Change only ImageIO decoded CGImage should enter the `Force Decode` logic Others coder, like WebP, should not use this approach commit 3277824d431a0d35e596f28487765746978328e3 Merge: 4d4e6311 1ed76f4f Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 18:01:54 2022 +0800 Merge pull request #3372 from dreampiggy/bugfix_color_at_point_grayscale Fix sd_colorAtPoint and sd_colorsWithRect support for grayscale image (white and alpha) commit 1ed76f4f47d52aacdb690f34549a2d436ee83e99 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 17:43:48 2022 +0800 Fix the bitmapInfo support for greyscale color, update test case commit 34236ac5221fa20e06ecca328c918a398d095791 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jul 16 17:27:04 2022 +0800 Fix sd_colorAtPoint and sd_colorsWithRect support for grayscale image (white and alpha) This fix the test cases for #3368 commit 4d4e631183d2e3a9f4e59f6458ea080eda028335 Merge: c4b8660b 2fe3879b Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jul 14 15:24:11 2022 +0800 Merge pull request #3370 from dreampiggy/bugfix_pdf_draw_bitmap_dpi Fix the PDF image without thumbnailPixelSize will result huge bitmap size, now fixed into 72 DPI matching PDFKit commit 2fe3879b1582e455044d2903fcbaa03415676028 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jul 14 14:52:26 2022 +0800 Fix the case that provided DPI cause `kCGImagePropertyPixelWidth` return non-zero value This will cause re-check thumbnail, and may result the wrong pixel size commit f1fe4ca8b85928b458437d10e035995e192fdd67 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jul 13 18:18:21 2022 +0800 Calculate the DPI based on PDF mediaBox, support thumbnailPixelSize Move the vector code from ImageIOAnimatedCoder to ImageIOCoder, since it's not animatable :) commit f91d35ef8d703a861644d7c406e717a6b21ae112 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jul 13 16:04:29 2022 +0800 Fix the PDF image without thumbnailPixelSize will result huge bitmap size, now fixed into 72 DPI matching PDFKit commit c4b8660bb3ef543fe4bdcaac0db956b32dc5583f Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 02:37:44 2022 +0800 Bumped version to 5.13.0 update CHANGELOG commit 0805bc0f4d3c0c2af15f305ad2da215d3413f114 Merge: 16cf1576 3358859b Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 02:33:45 2022 +0800 Merge pull request #3364 from dreampiggy/bugfix_thumbnail_full_loading_same_time_cache_issue Fix the issue when thumbnail and full size loading at the same time, the thumbnail image will write to memory with wrong key commit 3358859b468fef42e7916eba6e2fe57c1899546d Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 27 01:26:03 2022 +0800 Fix the issue when thumbnail first and full size loading at the same time, the thumbnail image will write to memory with wrong key The disk cache key is correct and does not get effected by this issue commit 282714883e32f73c5285319c7445ce24bf6a4b8d Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 23:55:12 2022 +0800 Update the Demo project commit 16cf157658b48eab413a8783df0759861e54245b Merge: d58a1006 ad953cdc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 23:52:55 2022 +0800 Merge pull request #3363 from dreampiggy/fix_multiple_cancel_cache_callback_order Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass commit ad953cdcc5e57c2dcc8003aea0d5aae66fa8f436 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 19:51:51 2022 +0800 Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass This PR introduce 2 API changes: 1. Cache query now return cache token and callback sync when called from main queue, unlike NSOperation always callback async 2. Expose the set image operation, and update the documentation behavior about that `SDWebImageDelayPlaceholder` commit d58a1006c21a20ef1e37c36ea31d49a5bc33a988 Merge: 0b661344 071a8934 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 26 15:29:55 2022 +0800 Merge pull request #3362 from dreampiggy/behavior_thumbnail_store_cache Feature: Change thumbnail cache behavior as expected, share cache through different loading pipeline without extra download commit 071a8934e3b15082b19d2fe12ba2e318d02143fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 23:41:36 2022 +0800 Fix the assert case when loader callback nil image data commit 69acd5a15873b69891261a498b33747536364b4c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 23:20:36 2022 +0800 Added all the 3 test cases test17ThatThumbnailCacheQueryNotWriteToWrongKey test18ThatThumbnailLoadingCanUseFullSizeCache test19ThatDifferentThumbnailLoadShouldCallbackDifferentSize commit 31c4a09430caa27eb6c5ac1a59bec46b2069dd1a Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:59:16 2022 +0800 Fix one bug that callback the wrong cache type commit c47158362d04e09cd83b09d82097c693462770eb Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:52:48 2022 +0800 Limit the re-deocde case only when image was downloaded, avoid when thumbnail hit cache commit ecac56b7263f341bf06b93d980dc3c84afc216b2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Jun 25 22:13:24 2022 +0800 Use the new solution, store the original decode options, when multiple loading pipeline share the same URL callback, check it and re-decode if needed commit 911328c1b4c149c5a4bf7adef675c1abe3ba162c Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 19:37:13 2022 +0800 Fix the case when previous pipeline use thumbnail transformer use together, second pipeline use the full size loading commit 2c9290f109b91dc36133668e68f47345b4bd10ee Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 18:46:21 2022 +0800 Added sd_isThumbnail to mark metadata, avoid the case when full size image request re-use the image from thumbnail decoding for the same URL I think this is a temp workaround commit e7e9268a7e9c2f1157f1cea1b88465bc1589b4f9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 17:54:27 2022 +0800 Fix the case that query full size key with thumbnail, cause the write back of thumnail to memory cache with wrong key commit 613a2bf98890b283ec7e39a2efeb889b00c51e7e Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jun 23 02:50:30 2022 +0800 Opt the thumbnail cache behavior, now it prefers to store/query original data from disk, thumbnail image from memory Separate the thumbnail from transformer, they are for different use case commit 0b661344fe83e1c8e3d8716527f727ee6210260c Merge: 19b4b47c 1f3ee8e9 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 22 17:56:22 2022 +0800 Merge pull request #3359 from dreampiggy/api_thumbnail_scale_calculation Added new API for custom coder better handling the thumbnail size commit 1f3ee8e9d5a7e181db41759c0975b2a5dcb375b1 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 22 16:53:40 2022 +0800 Added new API for custom coder better handling the thumbnail size The current WebP/HEIF/AVIF coder both copy paste the same code multiple times and have to fix one by one commit 19b4b47c6063184ff65b353c3d9aeabec07ecfe7 Merge: 3746c5d4 018cf32a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 21:01:07 2022 +0800 Merge pull request #3357 from dreampiggy/bugfix_encode_max_pixel_size Fix the encodeMaxPixelSize logic commit 018cf32ab3c7e9ec814bf413e08d3a11468cbcbf Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 18:20:34 2022 +0800 Added test23ThatThumbnailEncodeCalculation test case commit fcb53cb5ff8b2480e495947ec8c25df30c4a15cc Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 18:02:38 2022 +0800 Fix the encodeMaxPixelSize logic Allows user to provide size which one dimension is larger than image size size Example - maxPixelSize: (200, 200), imageSize: (100, 400), result: (50, 200) commit 3746c5d4c6f1741bae5ebeab18a92ead3b149247 Merge: b729cc14 9362505a Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:33:00 2022 +0800 Merge branch 'master' of https://github.com/SDWebImage/SDWebImage commit 9362505aeb0255177dea2b2e055801ece3e34366 Merge: 8743cdd6 a66972bd Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:18:42 2022 +0800 Merge pull request #3336 from Insofan/feat/store_data feat: store image data commit 8743cdd6333388a7e3d04b6a929b2808a69f4235 Merge: eeb25d6e 9b9fc6fc Author: DreamPiggy <lizhuoli1126@126.com> Date: Mon Jun 20 17:17:10 2022 +0800 Merge pull request #3355 from dreampiggy/feature_support_uiimage_preparefordisplay Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding commit b729cc14f65e1412efc781a4cc46bd7f4720a3ae Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 18:28:19 2022 +0800 Bumped version to 5.12.6 update CHANGELOG commit 9b9fc6fc9bbd5bee2a431062ead34176eb34135c Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 18:13:30 2022 +0800 Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding This API seems support both async/sync version, SD use sync version here because we already call them on global queue The API mark available on watchOS, but header does not pass that __has_include, a little strange commit eeb25d6e9c1ecedbcbdc6694a6e40eaa8dcddbb5 Merge: 91c9966d 3b0b2326 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:11:14 2022 +0800 Merge pull request #3354 from dreampiggy/bugfix_thumbnail_calculate Fix the thumbnail pixel size calculation when preserveAspectRatio is true commit a66972bdc830103cd556c465599dc704d8ec5053 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:10:23 2022 +0800 Update SDImageCache.m Little logic check for nil value commit 754de4d7c8b07d39dcd8e8886f9547e53e370254 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:04:52 2022 +0800 Update SDImageCache.m Remove extra toDisk param commit 2fc131c44bf8af283561dcb0b77d42d96b8ea28b Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 17:03:04 2022 +0800 Update SDImageCache.h Remove extra toDisk param commit 3b0b2326165cc2e4b34f8c301b58a99d96dc1df6 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 16:44:21 2022 +0800 Added test case test22ThatThumbnailPreserveAspectRatio commit f90373ce14341da40c5bd730bd5c241d1d2e8405 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sun Jun 12 16:32:33 2022 +0800 Fix the thumbnail pixel size calculation when preserveAspectRatio is true commit 91c9966d77d8f82219fbf5e59f3f22c9fbfd828c Merge: 362ba2d4 c2313209 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 8 23:08:20 2022 +0800 Merge pull request #3353 from amonshiz/amonshiz/fix-3352 Fix #3352 Include necessary CoreImage import commit c2313209136a735147a3807423bbbccf00b47853 Author: Andrew Monshizadeh <amonshiz@thebrowser.company> Date: Tue Jun 7 14:33:18 2022 -0400 Include necessary CoreImage import commit 362ba2d43f7ac410819859dbd728db5ea471e133 Merge: fda0a57d 24d4cda8 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jun 1 14:46:44 2022 +0800 Merge pull request #3349 from turrisxyz/Pinned-Dependencies-GitHub chore: Set permissions for GitHub actions commit 24d4cda885335374d6d34f7205cefc3c3d01bbbe Author: naveen <172697+naveensrinivasan@users.noreply.github.com> Date: Wed Jun 1 00:29:19 2022 +0000 chore: Set permissions for GitHub actions Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> commit fda0a57de98d391e8244cc0f80c583e2c67d9e8f Merge: d01eb3f8 484de40e Author: Kinarobin <kinarobin@outlook.com> Date: Tue May 17 14:13:43 2022 +0800 Merge pull request #3346 from timonus/faster-file-url Small performance improvement to generating file URLs in SDDiskCache -setData:forKey: commit 484de40e3b803a09fceca3351c2fbc8820776cfd Author: Tim Johnsen <tim@patreon.com> Date: Thu May 12 15:42:17 2022 -0700 Small performance improvement to generating file URLs in SDDiskCache -setData:forKey:. commit d01eb3f8aca843146f17b5530cef49be8bd01b78 Merge: 2e63d006 30c95635 Author: DreamPiggy <lizhuoli1126@126.com> Date: Sat Apr 2 17:48:17 2022 +0800 Merge pull request #3337 from GetToSet/ethanwong/nsscreen-thread Fix a crash of accessing -[NSScreen backingScaleFactor] from background thread. commit 30c95635112836059f4b76d287913484631563b8 Author: Ethan Wong <e1hanw0ng@gmail.com> Date: Mon Mar 28 20:17:53 2022 +0800 Fix crash of accessing mainScreen from background thread on 10.11. commit 7c66265ee82fdffe72c851395f8d61211f02bdc6 Author: Inso <insofan3156@gmail.com> Date: Wed Mar 30 15:24:32 2022 +0800 refactor: refactor store data to memory cache logic commit 6a2eaf707e82bb3adb16884b799906600096f85d Author: Inso <insofan3156@gmail.com> Date: Mon Mar 28 12:41:22 2022 +0800 feat: store image data commit 2e63d0061da449ad0ed130768d05dceb1496de44 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 15:58:50 2022 +0800 Bumped version to 5.12.5 update CHANGELOG commit 4974524a47e6c169cfc5340e4f6ab3428824263a Merge: 02283906 874b674c Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 15:55:31 2022 +0800 Merge pull request #3334 from dreampiggy/bugfix_force_decode_use_image_renderer_and_argb8888 Workaround iOS 15+ force decode again using Image Renderer(preferred) and RGB888 commit 874b674cb648c533f2401ab3e124510176538fcd Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Mar 16 14:56:34 2022 +0800 Unify the colorspace on macOS/watchOS choosen for draw to use sRGB firstly Remove the unused OS version check commit 368825eff64e6bac3b7b36a8be54abd1a406ea1b Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:56:03 2022 +0800 Update the test case, now when using force decode, the image orientation is always UP commit c0cc2456323cfa6ee736b24bf630cf7823962a53 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:35:52 2022 +0800 Update AppKit SDGraphics convenient API to use main screen colorspace Update macOS demo URL as well commit fce270631f412376438761d203fe9cedbe1ab663 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 22:01:49 2022 +0800 Use RGBX8888 for non-alpha image force decoding, which workaround iOS 15+ issue commit 51d1b50ef4b396dfa45183bdd1fb21fd8905dea3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 15 17:54:44 2022 +0800 Fix the false decode implementation using the ImageRenderer instead of directly create CGContext commit 02283906996de3de7e582c885d98e4aff60f18b0 Author: lizhuoli <lizhuoli@bytedance.com> Date: Tue Mar 8 15:26:41 2022 +0800 Bumped version to 5.12.4 update CHANGELOG commit ba66c41fd672435132c1aa53677925ff82227978 Merge: 020481d5 3eb553d2 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Mar 8 15:17:04 2022 +0800 Merge pull request #3332 from dreampiggy/workaround_prefer_input_cgimage_bitmap_info Workaround the iOS 15+ Force Decode may return black image because of CoreGraphics commit 3eb553d251a336aa0d18149078540286c328cb88 Author: lizhuoli <lizhuoli@bytedance.com> Date: Fri Mar 4 17:55:07 2022 +0800 Update the test case again for checking non-blank image commit 6dcbec2b87487df99946c329f7283e1a8d0b61fb Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 22:06:04 2022 +0800 Update the test case and use Xcode 13.2.1 with iOS 15.3+ simulator commit 64902962e38d0c793e6548c5664c2e9815d79e2e Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 21:49:49 2022 +0800 Fix the test case by adding a little inaccuracy for blur effect result commit 1b0fdd8cb65fd71e86a773a541dcee546625bff4 Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 20:49:57 2022 +0800 Fix the iOS 15+ draw image blank because that CoreGraphics may not transcode on BGRX8888 pixel format context commit 4589048fdd926f3c1518e3246fb2d13f4fbb8338 Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Mar 3 19:35:35 2022 +0800 Fix the some transform test case does not check the color hex commit 020481d5c8cbc153652de778541665821be5c5fa Merge: 2c53f531 4302777c Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Mar 3 18:27:06 2022 +0800 Merge pull request #3327 from soondl/fix/imageView_blink_diskDataSync Fix imageView blinks with option 'SDImageCacheQueryDiskDataSync' commit 4302777c6f66e713fac20705aa956481a8bb0088 Author: soondl <soondl@gmail.com> Date: Sun Feb 20 19:01:12 2022 +0900 Add test case `testUIImageViewSetImageWithURLDiskSync` commit 8445f2b1a702678b9831be1cc9c3c76b701555ec Author: soondl <soondl@gmail.com> Date: Sun Feb 20 16:08:40 2022 +0900 Fix imageView blinks with option 'SDImageCacheQueryDiskDataSync' commit 2c53f531f1bedd253f55d85105409c28ed4a922c Author: lizhuoli <lizhuoli@bytedance.com> Date: Thu Jan 27 21:46:56 2022 +0800 Bumped version to 5.12.3 update CHANGELOG commit 81ea1c9a9cb81a5f732b889361ab37dc07cda699 Merge: 0cd9a648 33ff352d Author: DreamPiggy <lizhuoli1126@126.com> Date: Thu Jan 27 21:34:48 2022 +0800 Merge pull request #3321 from ty0x2333/fix_scale_down_image Fix #3320 `decodedAndScaledDownImageWithImage` does not render the image completely commit 33ff352d4ecc2cf05ffae0e6378615f85c1e3c98 Author: ty0x2333 <luckytianyiyan@gmail.com> Date: Wed Jan 26 15:46:21 2022 +0800 Add test case: test07ThatDecodeAndScaleDownAlwaysCompleteRendering commit 8ce13403bc13e1b0aede614328228a6f64017db7 Author: ty0x2333 <luckytianyiyan@gmail.com> Date: Wed Jan 26 07:12:35 2022 +0800 Fix the bug that `decodedAndScaledDownImageWithImage` does not render the image completely due to the loss of precision. commit 0cd9a6485acb6964330cce773fc93be7452ac2c8 Merge: 0fff0d75 aa99c377 Author: DreamPiggy <lizhuoli1126@126.com> Date: Wed Jan 19 15:01:01 2022 +0800 Merge pull request #3318 from zakishaheen/patch-1 update URL for SDWebImageSVGKitPlugin in readme commit aa99c377990bf2a140e377d34cf99069e8e527f7 Author: Zaki <zakishaheen@users.noreply.github.com> Date: Tue Jan 18 16:53:30 2022 -0800 update URL for SDWebImageSVGKitPlugin commit 0fff0d7505b5306348263ea64fcc561253bbeb21 Author: lizhuoli <lizhuoli@bytedance.com> Date: Fri Dec 31 17:21:57 2021 +0800 GravatarBumped version to 5.12.2 update CHANGELOG commit 89313b997ebab1fe6062bd291160e534287d1e6f Merge: 8d558cb7 cecc984e Author: DreamPiggy <lizhuoli1126@126.com> Date: Fri Dec 31 16:28:32 2021 +0800 Merge pull request #3312 from JPlay/fix_animated_image_total_duration_calculate fix: Eliminates accumulated floating point errors. commit cecc984e3f08ede8dd940f504f572e60d1dbe3a4 Author: zhuoyan <zhuoyan@gaoding.com> Date: Thu Dec 30 11:31:54 2021 +0800 fix: Eliminates accumulated floating point errors. commit 8d558cb79f44c00bc75e71a509021b9551941aed Merge: 602af159 b02f6f9e Author: Kinarobin <kinarobin@outlook.com> Date: Fri Nov 26 10:07:39 2021 +0800 Merge pull request #3304 from mmdock/patch-2 Don't copy image data commit b02f6f9e45eff0685f04d224defc274fb7ba7098 Author: Morgan Dock <mmdock@users.noreply.github.com> Date: Thu Nov 25 00:17:08 2021 -0600 Don't copy image data commit 602af15947106c9c7a6066138b4e907df91c8acb Merge: a72df484 c0fbe7e3 Author: DreamPiggy <lizhuoli1126@126.com> Date: Tue Oct 19 11:15:56 2021 +0800 Merge pull request #3293 from dreampiggy/bugfix_image_loaders_can_request Fix the support for `SDImageLoadersManager` for canRequest API check, should be compatible with both old and new API commit c0fbe7e3efa7f88389f746a36b39d525ae3652f8 Author: lizhuoli <lizhuoli@bytedance.com> Date: Mon Oct 18 21:44:01 2021 +0800 Update test case commit 4274158949e67ce15d9c92abba1460359c8d3997 Author: lizhuoli <lizhuoli@bytedance.com> Date: Mon Oct 18 21:30:34 2021 +0800 Fix the support for `SDImageLoadersManager` for canRequest API check, should be compatible with both old and new API commit a72df…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New Pull Request Checklist
I have read and understood the CONTRIBUTING guide
I have read the Documentation
I have searched for a similar pull request in the project and found none
I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)
I have added the required tests to prove the fix/feature I am adding
I have updated the documentation (if necessary)
I have run the tests and they pass
I have run the lint and it passes (
pod lib lint
)This merge request fixes #3433
Pull Request Description
Use NSOperation dependency to solve this issue