Skip to content
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

[pull] master from SDWebImage:master #103

Open
wants to merge 548 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
548 commits
Select commit Hold shift + click to select a range
2d73e96
use @syncrhonized (self) in the whole checkDone method, no longer all…
Jul 28, 2023
0b225ea
Merge pull request #3572 from Mervin1024/redundant_url_requests
dreampiggy Jul 28, 2023
d25ee5b
Fix the CGImageCreateScaled to support 16/32 bits CGImage (RGB161616)…
dreampiggy Jul 28, 2023
68c5808
Added the complicated unit test `test22CGImageCreateScaledWithSize`
dreampiggy Jul 28, 2023
7e78633
Merge pull request #3575 from dreampiggy/bugfix/CGImageCreateScale
dreampiggy Jul 29, 2023
a986a77
Add better support for stateful view (UIButton) for image URL/progres…
dreampiggy Jul 30, 2023
1c92951
Fix the unit test about out-of-date behavior
dreampiggy Jul 31, 2023
5ef6c83
Merge pull request #3576 from dreampiggy/feature_set_image_state_api
dreampiggy Jul 31, 2023
c614dff
Update the comments and associated key
dreampiggy Jul 31, 2023
1550747
Add extra check for image data during URLSession data callback
dreampiggy Aug 23, 2023
507225e
Merge pull request #3587 from dreampiggy/bugfix/add_check_for_empty_data
dreampiggy Aug 23, 2023
b3e1637
Added `SDWebImageAvoidAutoCancelImage` to avoid cancel loading image …
dreampiggy Sep 1, 2023
44470a8
Added test cases for AvoidAutoCancelImage options
dreampiggy Sep 1, 2023
2db2c7a
Merge pull request #3592 from dreampiggy/feature/avoid_cancel_image_o…
dreampiggy Sep 2, 2023
a797da7
Added support for visionOS using platform macro detection
dreampiggy Jun 22, 2023
8000e23
Update readme and at least the xcconfig for visionOS
dreampiggy Sep 2, 2023
82cfc45
Merge pull request #3556 from dreampiggy/feature/visionOS
dreampiggy Sep 2, 2023
9ccedcc
Update xcodeproj to add support on MapKit for visionOS
dreampiggy Sep 2, 2023
36e484b
Bumped version to 5.18.0
dreampiggy Sep 2, 2023
9ff08a1
A quick ugly fix for JFIF image orientation bug
dreampiggy Sep 8, 2023
56b4379
Added test case for this down-orientation JFIF image file
dreampiggy Sep 8, 2023
f62ae2a
Merge pull request #3597 from dreampiggy/bugfix/jfif_orientation
dreampiggy Sep 11, 2023
35089a0
Added the visionOS support for "Build XCFramework" script target
dreampiggy Sep 11, 2023
b231b2c
Update the README.md about the installation guide
dreampiggy Sep 11, 2023
9977036
Update the build scripts with destination-based instead of sdk-based
dreampiggy Sep 11, 2023
50c8ace
Remove the script target output file, since it's dynamic based
dreampiggy Sep 11, 2023
345c935
Merge pull request #3598 from dreampiggy/bugfix/xros_script
dreampiggy Sep 11, 2023
57ebdea
Fix one warning because local variable shadows the variable outside o…
dreampiggy Sep 12, 2023
27b5f0f
Merge pull request #3599 from dreampiggy/bugfix/warning_garden
dreampiggy Sep 12, 2023
9faa68d
Added xcprivacy to framework target and SPM
dreampiggy Sep 12, 2023
eee4b6b
Merge pull request #3600 from dreampiggy/feature/xcprivacy
dreampiggy Sep 12, 2023
6e844d1
Bumped version to 5.18.1
dreampiggy Sep 12, 2023
0b8e0f6
Fix the SDDisplayLink on watchOS does not behave like other platform
dreampiggy Sep 21, 2023
5b14f51
Merge pull request #3607 from dreampiggy/bugfix/watchOS_displayLink
dreampiggy Sep 21, 2023
936f1c7
Bumped version to 5.18.2
dreampiggy Sep 21, 2023
4acf569
Update the convenient API for case when user encode the format the sa…
dreampiggy Oct 8, 2023
9078f31
Update the convenient API for UIImage (not SDAnimatedImage) to grab t…
dreampiggy Oct 8, 2023
8b8e70f
Merge pull request #3617 from dreampiggy/feat/convenient_encode_api_f…
dreampiggy Oct 10, 2023
cae43d7
Try to remove the unused NSNotification object filter, do filter by o…
dreampiggy Oct 10, 2023
db07b09
Merge pull request #3619 from dreampiggy/bugfix/try_remove_duplicate_…
dreampiggy Oct 10, 2023
970472e
Update the TargetConditional check for visionOS for Xcode 15.1
dreampiggy Oct 10, 2023
9a24bfd
Merge pull request #3620 from dreampiggy/feature/visionOS_15_1
dreampiggy Oct 10, 2023
1f06ef5
Bumped version to 5.18.3
dreampiggy Oct 10, 2023
42f35ca
SDAnimatedImage now supports static image like JPEG data
dreampiggy Oct 21, 2023
0a0f7e1
Update the behavior that SDAnimatedImage should pass the path and sca…
dreampiggy Oct 21, 2023
7550aa7
Merge pull request #3626 from dreampiggy/behavior/sdanimatedimage_jpe…
dreampiggy Oct 21, 2023
fd1950d
Bumped version to 5.18.4
dreampiggy Oct 27, 2023
d5dccae
Introduce the hacky workaround for iOS 17 ImageIO indexed color png c…
dreampiggy Nov 10, 2023
a95075b
Fix the iOS 17 UIKit behavior issue that UIImageView entering the bac…
dreampiggy Nov 14, 2023
526ec84
Merge pull request #3636 from dreampiggy/bugfix/ios17_animatedimagevi…
dreampiggy Nov 15, 2023
213be11
Merge pull request #3634 from dreampiggy/bugfix/workaround_hacky_imag…
dreampiggy Nov 15, 2023
9efacfe
Fix the sd_colorAtPoint return wrong value on pre-multiplied CGImage
dreampiggy Nov 15, 2023
2fa1e17
Fix the previous wrong changes of iOS 17 indexed PNG color workaround
dreampiggy Nov 15, 2023
471ee9d
Update the test case because of history wrong value
dreampiggy Nov 16, 2023
3e31c3d
Merge pull request #3637 from dreampiggy/bugfix/color_at_point
dreampiggy Nov 16, 2023
106a8d1
Use placehold.co to replace the down site via.placeholder.com
dreampiggy Nov 16, 2023
404d992
Update one failed test case during the 5.18 version changes
dreampiggy Nov 16, 2023
76a667f
Merge pull request #3639 from dreampiggy/test/update_placeholder_url
dreampiggy Nov 16, 2023
1b9a2e9
Bumped version to 5.18.5
dreampiggy Nov 16, 2023
191b94c
Update the code comments
dreampiggy Nov 16, 2023
112c74c
Use the new solution for CADisplayLink duration calculation based on …
dreampiggy Nov 29, 2023
40b3d7f
Remove the unused legacy code for weak retain
dreampiggy Nov 29, 2023
5dec404
Update the new test case for `testSDDisplayLink`
dreampiggy Nov 29, 2023
e4243aa
Ignore the availability warning
dreampiggy Nov 29, 2023
9d3330d
Merge pull request #3644 from dreampiggy/bugfix/display_link_duration…
dreampiggy Nov 29, 2023
0383fd4
Bumped version to 5.18.6
dreampiggy Dec 5, 2023
fbe7922
Added xcprivacy manifest to CocoaPods (#3649)
dreampiggy Dec 8, 2023
e278c13
Bumped version to 5.18.7
dreampiggy Dec 11, 2023
b10d4a2
Fix the issue when using the `sd_cancelCurrentImageLoad` on non-state…
dreampiggy Dec 27, 2023
fd010e5
Bumped version to 5.18.8
dreampiggy Dec 27, 2023
64c5ff5
Fix the behavior that query thumbnail from full size data does not sy…
dreampiggy Jan 8, 2024
0092f74
Added the assert to check the current behavior that thumbnail key sho…
dreampiggy Jan 8, 2024
9ae93e5
Update the test case for new behavior
dreampiggy Jan 9, 2024
a041469
Fix that PNG indexed color fix does not enable on Release Build confi…
dreampiggy Jan 10, 2024
be2a1c4
Merge pull request #3659 from dreampiggy/bugfix/indexed_png_debug_macro
dreampiggy Jan 10, 2024
e2701e4
Using os_log for our all log to replace the NSLog
dreampiggy Jan 10, 2024
3eb8dd1
Merge pull request #3657 from dreampiggy/bugfix/thumbnail_query_full_…
dreampiggy Jan 10, 2024
3782f77
Temp remove the assert when thumbnail cache key used with thumbnail c…
dreampiggy Jan 10, 2024
956e29c
Merge pull request #3661 from dreampiggy/project/remove_assert_thumbn…
dreampiggy Jan 10, 2024
c60958c
Merge pull request #3660 from dreampiggy/project/log_into_oslog
dreampiggy Jan 10, 2024
a6cce66
Update unit test
dreampiggy Jan 10, 2024
64d44f3
Fix that C API should use FOUNDATION_EXPORT for C++
dreampiggy Jan 10, 2024
69e573c
Bumped version to 5.18.9
dreampiggy Jan 10, 2024
b95b390
Update the unit test
dreampiggy Jan 10, 2024
8fc731e
Fix the warning during clang-analyze
dreampiggy Jan 11, 2024
749cdb1
Merge pull request #3664 from dreampiggy/fix/warning
dreampiggy Jan 11, 2024
59730af
Bumped version to 5.18.10
dreampiggy Jan 11, 2024
2ed8816
docs: typo
YoloMao Jan 19, 2024
5741618
docs: add signature step to manual installation guide
YoloMao Jan 19, 2024
a41be90
Merge pull request #3666 from YoloMao/master
dreampiggy Jan 19, 2024
8b836d5
Added the official visionOS CocoaPods podspec support
dreampiggy Feb 13, 2024
62e3491
Added visionOS official Demo and update Podfile
dreampiggy Feb 13, 2024
de88563
add missing break keyword to sd_imageFormatForImageData function whil…
adamwangxx Feb 13, 2024
f2936fc
Merge pull request #3672 from adamwangxx/master
dreampiggy Feb 13, 2024
ef399a5
Added visionOS official unit tests
dreampiggy Feb 13, 2024
01de674
Fix some strange behavior in visionOS, all tests passed
dreampiggy Feb 13, 2024
71b3d01
Update the GitHub actions to build visionOS Demo/Tests/Framework
dreampiggy Feb 13, 2024
aaad372
Fix the wrong changes for tvOS unit tests
dreampiggy Feb 13, 2024
288305e
Use the tricks to run visionOS simulator on x86_64 github action runner
dreampiggy Feb 13, 2024
6cab6ca
[CI] Upgrade the Demo to override the minOS of macOS (the i386 is no …
dreampiggy Feb 13, 2024
b11493f
Bumped version to 5.18.11
dreampiggy Feb 13, 2024
c349d78
Upgrade the test case because of simulator version upgrade
dreampiggy Feb 13, 2024
80c8b20
Merge pull request #3673 from dreampiggy/project/visionos_cocoapods
dreampiggy Feb 13, 2024
23b0751
[github action] Bumped to macos-14 and remove the unused visionOS dow…
dreampiggy Feb 23, 2024
af600c0
Merge pull request #3677 from dreampiggy/ci/macos14
dreampiggy Feb 23, 2024
3e553d1
Fix the issue that iOS 17 indexed PNG workaround breaks the 16bit RGB…
dreampiggy Feb 23, 2024
da55e08
Added test case about RGBA16 PNG
dreampiggy Feb 23, 2024
c99b60e
Fix the unit test compile issue
dreampiggy Feb 23, 2024
64d1296
Remove the SDWebImageWebPCoder to its own repo
dreampiggy Feb 24, 2024
d26ed45
[github-action] Change the github action to split unit test into 4 jo…
dreampiggy Feb 24, 2024
4a49e9a
[github-action] The unit tests fail for one platform should not cance…
dreampiggy Feb 24, 2024
9953745
Merge pull request #3678 from dreampiggy/bugfix/16bit-png-workaround-bug
dreampiggy Feb 24, 2024
2424848
Formally deprecate `sd_cancelCurrentImageLoad`, which cause misunders…
dreampiggy Dec 27, 2023
12a7c99
Update test case
dreampiggy Dec 29, 2023
963539c
Merge pull request #3654 from dreampiggy/bugfix/operation_key_depreca…
dreampiggy Feb 24, 2024
a22e841
[github-action] Try to workaround visionOS simulator bug in unit tests
dreampiggy Feb 24, 2024
684efe0
[github-action] Change to build and test-without-building
dreampiggy Feb 24, 2024
4bb2a0e
Disable visionOS unit test until Apple or GitHub Action fix the issue :(
dreampiggy Feb 24, 2024
7f05e21
Merge pull request #3679 from dreampiggy/ci/visionOS
dreampiggy Feb 24, 2024
8408b79
Added `SDWebImageWaitTransition` to wait for transition finished and …
dreampiggy Feb 24, 2024
00d58fa
Merge pull request #3680 from dreampiggy/feature/wait_transition
dreampiggy Feb 24, 2024
750b3f2
Bumped version to 5.18.12
dreampiggy Feb 24, 2024
73b9397
Bumped version to 5.19.0
dreampiggy Feb 24, 2024
9f3fe79
Update the README.md for visionOS package manager support
dreampiggy Feb 24, 2024
3565eb1
Update the github action for codecov flag
dreampiggy Feb 24, 2024
f761fc7
Fix the unit test `test31ThatMultipleRequestForSameURLFailedCallback`
dreampiggy Feb 27, 2024
74fa16f
Merge pull request #3684 from dreampiggy/test/fix
dreampiggy Feb 27, 2024
bc23f12
mark SDWebImageCacheKeyFilter default initializer unavailable
adamwangxx Feb 26, 2024
a8c61e2
add missing default case of `SDCallbackQueue` sync/async function
adamwangxx Feb 26, 2024
66a62e1
code gardening codebase with init/new pair
adamwangxx Feb 27, 2024
e7329c6
Merge pull request #3683 from adamwangxx/master
dreampiggy Feb 28, 2024
db1efed
Update README.md about JPEG-Xl
dreampiggy Feb 28, 2024
98d058a
url is kind of NSString and shouldUseWeakMemoryCache is YES, APP will…
aasdsjk Mar 14, 2024
b557de2
Update test case function `SDAssertCGImagePixelFormatEqual` to avoid …
dreampiggy Mar 25, 2024
b156318
Allows the transformer to preserve the UIImage metadata like image fo…
dreampiggy Mar 25, 2024
d5e3e7f
Replace NSFileManager.enumeratorAtPath with enumeratorAtURL for perfo…
ChengzhiHuang Mar 26, 2024
f6afa01
Bumped version to 5.19.1
dreampiggy Mar 26, 2024
ea2e3d5
Fix the wrong Swift syntax in documentation
dreampiggy Apr 26, 2024
e55cb04
Fix typo in SDImageCache.m (#3705)
wzxha Apr 28, 2024
fb7ded8
Update the behavior about `SDAnimatedImage` for the category metadata
dreampiggy May 6, 2024
7bf6a59
Update the behavior for `SDScaledImageForScaleFactor` on animated image
dreampiggy May 6, 2024
2c9deff
Update the behavior for SDAnimatedImageView for animated image
dreampiggy May 6, 2024
7536492
Added the new test case for fixed SDAnimatedImage behavior
dreampiggy May 6, 2024
cb75c08
Merge pull request #3708 from dreampiggy/bugfix/sdanimatedimage_check
dreampiggy May 7, 2024
8fec5b7
Try to fix the GitHub CI again because of macOS 14.4.1
dreampiggy May 7, 2024
11dcb29
Ignore the HEIC encoding unit test on GitHub CI environment
dreampiggy May 7, 2024
97357c0
Merge pull request #3710 from dreampiggy/ci/fix_watchos
dreampiggy May 7, 2024
50a3c91
Remove the override of Xcode project codesign config
dreampiggy May 7, 2024
201096d
Added self-sign for XCFramework
dreampiggy May 7, 2024
9ce5242
Added GitHub action for release XCFramework
dreampiggy May 7, 2024
619c5e8
Merge pull request #3711 from dreampiggy/project/self-sign-xcframework
dreampiggy May 7, 2024
48bb2c9
Update the Github CI for release
dreampiggy May 7, 2024
78fe228
Keep the dSYM when building XCFramework
dreampiggy May 8, 2024
b2d6372
Fix the unit test on macOS
dreampiggy May 8, 2024
b8b147d
Merge pull request #3712 from dreampiggy/bugfix/unit_test_macos
dreampiggy May 8, 2024
ad555bb
Bumped version to 5.19.2
dreampiggy May 8, 2024
3d7b003
Fix the CocoaPods podspec when using SDWebImage/Core only
dreampiggy May 8, 2024
905072a
Update the README about canonical binary XCFramework
dreampiggy May 8, 2024
5642d1f
Fix the symbolic link issue in XCFramework
dreampiggy May 8, 2024
b5cbc33
Update README.md
dreampiggy May 8, 2024
ed281e3
chore: use macos platform name with-in API_AVAILABLE macro
YoloMao May 17, 2024
a936e64
Merge pull request #3715 from YoloMao/chore/macro_platform_name
dreampiggy May 17, 2024
095fc63
Fix the detection of SVGImageRep on macOS AppKit
dreampiggy May 30, 2024
5f59901
Merge pull request #3716 from dreampiggy/bugfix/sd_svg_macos
dreampiggy May 30, 2024
b8523c1
Bumped version to 5.19.3
dreampiggy May 30, 2024
e665fb5
Fix the issue that SDAnimatedImage breaks the vector on macOS
dreampiggy Jul 1, 2024
bcbe72a
Added test case about SVG image
dreampiggy Jul 1, 2024
99dc9a8
[NFC] Fix the variable naming
dreampiggy Jul 1, 2024
6b629e1
Merge pull request #3724 from dreampiggy/bugfix/vector_sdanimatedImage
dreampiggy Jul 1, 2024
be0bcd7
Bumped version to 5.19.4
dreampiggy Jul 1, 2024
11dc8e8
Fix our HEIC coder to encode `timed image sequences` instead of `non-…
dreampiggy Jul 16, 2024
ed17b02
Use the new macro from Swift compiler and SDK to mark the UIImage/UII…
dreampiggy Jul 22, 2024
b26c962
Merge pull request #3731 from dreampiggy/project/UIImage_subclass_non…
dreampiggy Jul 23, 2024
cba8ec9
Merge pull request #3727 from dreampiggy/bugfix/heics_animated_encoding
dreampiggy Jul 23, 2024
f6771d8
Try to re-enable the HEIC encoding test and visionOS xctest
dreampiggy Jul 17, 2024
ce406a2
Disable the heics animated encoding on macOS Virtualization only (sti…
dreampiggy Jul 23, 2024
69cca49
Do a test again by only override the `kCGImagePropertyOrientation` wh…
dreampiggy Jul 23, 2024
11271d1
Use file url for some tests to avoid network issue
dreampiggy Jul 23, 2024
368723f
Fix some random unit test failure
dreampiggy Jul 23, 2024
c3b5e5f
Temp dsiable the test48CacheUseConcurrentIOQueue
dreampiggy Jul 24, 2024
02dde95
Merge pull request #3728 from dreampiggy/test/heic_encoding
dreampiggy Jul 24, 2024
86e9185
Bumped version to 5.19.5
dreampiggy Jul 24, 2024
49a2bba
Revert the test case url
dreampiggy Jul 26, 2024
600e1b6
Remove the unused code for iOS 9- polyfill
dreampiggy Aug 2, 2024
2b56a18
Merge pull request #3735 from dreampiggy/bugfix/image_renderer
dreampiggy Aug 2, 2024
ecedea2
Use the better way to detect lazy/non-lazy CGImage. Only do force dec…
dreampiggy Aug 2, 2024
0df663c
Update the test case
dreampiggy Aug 7, 2024
87b7a9a
Merge pull request #3736 from dreampiggy/performance/better_lazy_cgim…
dreampiggy Aug 7, 2024
5191b80
Bumped version to 5.19.6
dreampiggy Aug 7, 2024
6d098ee
Updated README about default animated image format
dreampiggy Aug 13, 2024
2a19d9c
fix a crash bug when image url is unavailable
Aug 14, 2024
95401e3
Use the new way to detect JFIF, and do not apply EXIF orientation to …
dreampiggy Aug 21, 2024
0a4f92c
Merge pull request #3743 from dreampiggy/bugfix/fix_jfif_orientation_…
dreampiggy Aug 22, 2024
99acb03
Merge pull request #3740 from zkforever/fixCrash
dreampiggy Aug 22, 2024
d42cc27
Fix the issue that some URL which has percent-encoding with \0 will c…
dreampiggy Aug 22, 2024
ab914e7
Merge pull request #3744 from dreampiggy/bugfix/disk_cache_nil_for_EO…
dreampiggy Aug 22, 2024
8a1be70
Bumped version to 5.19.7
dreampiggy Aug 22, 2024
d68b92d
Update the test case
dreampiggy Aug 23, 2024
a261180
build: download visionOS SDK before CI/CD (#3757)
YoloMao Oct 8, 2024
c8f74d2
Fix the test case on iOS 18.0 simulator
dreampiggy Oct 8, 2024
0993718
Add blend mode to UIImage+Transform tint color API
dreampiggy Sep 3, 2024
3c89a09
Added the blend mode to transformer API as well
dreampiggy Sep 3, 2024
7892f4c
Fix some CIFilter implementation
dreampiggy Sep 3, 2024
05e1840
Behavior changes: change the default tint transformer to use `sourceI…
dreampiggy Oct 8, 2024
d573278
Merge pull request #3749 from dreampiggy/feature/blend_mode
dreampiggy Oct 8, 2024
63c8d70
Update last access time of images when loaded from disk.
timonus Oct 7, 2024
e524ca0
Update default disk cleaning method to use content access date.
timonus Oct 7, 2024
dcd0c46
Update SDWebImageTestCache.m
timonus Oct 12, 2024
0cde158
Update SDWebImageTestCache.m
timonus Oct 12, 2024
0b10fcb
Merge pull request #3759 from lonepalm/lru-upstream
dreampiggy Oct 12, 2024
9741e33
Fix `sd_imageFormat` returns nil
lukmccall Oct 18, 2024
41dc9be
Added `animationTransformer` on SDAnimatedImageView
dreampiggy Oct 19, 2024
0b3a6b2
Remove unneeded override
lukmccall Oct 21, 2024
780aa6d
Merge pull request #3760 from lukmccall/patch-1
dreampiggy Oct 21, 2024
e669dee
Added test case for animationTransformer
dreampiggy Nov 1, 2024
1dea54c
Merge pull request #3761 from dreampiggy/feature/animationTransformer
dreampiggy Nov 1, 2024
10d06f6
Bumped version to 5.20.0
dreampiggy Nov 1, 2024
b4eeb0f
Deprecate dispatch_main_async_safe, UIView+WebCache API now supports …
dreampiggy Nov 8, 2024
ed1f0f8
Added `SDCallbackPolicyMainAsyncSafe` which has better compatibility …
dreampiggy Nov 11, 2024
2f39f8a
Introduce `SafeAsyncMainThread` policy
dreampiggy Nov 14, 2024
b4c741a
Change the SDCallbackQueue to allows easier usage. Only main queue us…
dreampiggy Nov 14, 2024
73c7e26
Add autoreleasepool to DisplayLinkCallback to release objects
renewedvision-kh Jan 3, 2025
15f6675
Merge pull request #3779 from renewedvision-kh/master
dreampiggy Jan 16, 2025
066163f
Fix the issue that previous optimization for special case (multiple s…
dreampiggy Jan 27, 2025
3797c8c
Update the test case `test15ThatQueryCacheTypeWork` to ensure the que…
dreampiggy Jan 27, 2025
503f047
Update the GitHub action for Demo build
dreampiggy Feb 14, 2025
3257ea2
Fix iOS unit test again
dreampiggy Feb 14, 2025
f3a1d91
Merge pull request #3788 from dreampiggy/bugfix/cache_query_type_opti…
dreampiggy Feb 14, 2025
e7d3256
Bumped version to 5.20.1
dreampiggy Feb 20, 2025
92a7ab9
Support decoding ISO HDR (avif/heic/jpeg-xl, etc) (#3778)
dreampiggy Feb 20, 2025
c085d53
Merge pull request #3766 from dreampiggy/bugfix/uiview_webcache_sdcal…
dreampiggy Feb 20, 2025
b64e80b
feat: Allows user to directly customize preserveImageMetadata for our…
dreampiggy Feb 20, 2025
d549538
test: update the test case, that test transformer already supports pr…
dreampiggy Feb 20, 2025
ee319fc
Change the default callback queue policy to SafeAsyncMainThread, don'…
dreampiggy Feb 21, 2025
ac3a61b
Merge pull request #3796 from dreampiggy/feature/transformer_preserve…
dreampiggy Feb 22, 2025
c184125
Merge pull request #3797 from dreampiggy/feature/remove_asyncMainQueue
dreampiggy Feb 22, 2025
09faa3a
fix: sd_colorAtPoint should early return when pixel format is not sup…
dreampiggy Feb 22, 2025
207a03c
test: added unit test for JPEG gain map HDR
dreampiggy Feb 22, 2025
e618417
Merge pull request #3798 from dreampiggy/bugfix/sd_colorAtPoint_early…
dreampiggy Feb 22, 2025
0d028c6
feat: added encodeToHDR related options for Apple ImageIO coder
dreampiggy Feb 22, 2025
9f766bc
test: added test case about Apple ImageIO HDR encoding
dreampiggy Feb 22, 2025
ba8b93f
feat: support backport to Xcode 15 SDK
dreampiggy Feb 22, 2025
a4dba8f
feat: Added SDImageHDRType enum, to make it more standard instead of …
dreampiggy Feb 24, 2025
0fe2bb7
Merge pull request #3799 from dreampiggy/feature/hdr_encoding
dreampiggy Feb 24, 2025
3c5ad5e
demo: added xcconfig for code sign
dreampiggy Feb 24, 2025
803bcb9
Bumped version to 5.21.0
dreampiggy Feb 24, 2025
bc58a9a
ci: Fix the GitHub Action cd release
dreampiggy Feb 24, 2025
69aa3bd
ci: update the script for better detection of running xcode version
dreampiggy Feb 24, 2025
82801cf
Merge pull request #3801 from dreampiggy/ci/cd
dreampiggy Feb 24, 2025
cac9a55
ci: re-trigger 5.21.0 binary XCFramework
dreampiggy Feb 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/CD.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: "SDWebImage CD"

on:
push:
# Pattern matched against refs/tags
tags:
- '*'

jobs:
Release:
name: Release XCFramework
runs-on: macos-15
env:
LC_ALL: en_US.UTF-8
CODESIGN_KEY_BASE64: "${{ secrets.CODESIGN_KEY_BASE64 }}"
DEVELOPER_DIR: /Applications/Xcode_16.0.app
XCODE_VERSION_MAJOR: 1600
XCODE_VERSION_MINOR: 1600
strategy:
fail-fast: true
matrix:
linkage: [dynamic, static]
include:
- linkage: dynamic
MACH_O_TYPE: mh_dylib
- linkage: static
MACH_O_TYPE: staticlib
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build XCFramework
run: |
set -o pipefail
export MACH_O_TYPE="${{ matrix.MACH_O_TYPE }}"
./Scripts/build-frameworks.sh
rm -rf ~/Library/Developer/Xcode/DerivedData/

- name: Create XCFramework
run: |
set -o pipefail
export MACH_O_TYPE="${{ matrix.MACH_O_TYPE }}"
./Scripts/create-xcframework.sh
./Scripts/sign-xcframework.sh

- name: Archive XCFramework
run: |
cd build
zip -r -y SDWebImage-${{ matrix.linkage }}.xcframework.zip SDWebImage.xcframework
cd ../
mv build/SDWebImage-${{ matrix.linkage }}.xcframework.zip SDWebImage-${{ matrix.linkage }}.xcframework.zip
rm -rf build

- uses: softprops/action-gh-release@v0.1.15
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_REPOSITORY: "${{ github.repository }}"
with:
files: "SDWebImage-${{ matrix.linkage }}.xcframework.zip"
148 changes: 76 additions & 72 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,30 @@ on:
branches:
- '*'

permissions:
contents: read

jobs:
Pods:
Lint:
name: Cocoapods Lint
runs-on: macos-11
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_13.0.app
LC_ALL: en_US.UTF-8
DEVELOPER_DIR: /Applications/Xcode_16.0.app
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Cocoapods
run: gem install cocoapods --no-document --quiet

- name: Install Xcpretty
run: gem install xcpretty --no-document --quiet

- name: Pod Update.
- name: Pod Update
run: pod repo update --silent

- name: Pod Install.
- name: Pod Install
run: pod install

- name: Run SDWebImage podspec lint
Expand All @@ -36,25 +40,22 @@ jobs:
pod lib lint SDWebImage.podspec --allow-warnings --skip-tests

Demo:
name: Run Demo
runs-on: macos-11
name: Cocoapods Demo
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_13.0.app
LC_ALL: en_US.UTF-8
DEVELOPER_DIR: /Applications/Xcode_16.0.app
WORKSPACE_NAME: SDWebImage.xcworkspace
OSXSCHEME: SDWebImage OSX Demo
iOSSCHEME: SDWebImage iOS Demo
TVSCHEME: SDWebImage TV Demo
WATCHSCHEME: SDWebImage Watch Demo
strategy:
matrix:
iosDestination: ["name=iPhone 13 Pro"]
tvOSDestination: ["name=Apple TV 4K"]
watchOSDestination: ["platform=watchOS Simulator,name=Apple Watch Series 7 - 45mm"]
macOSDestination: ["platform=macOS"]
macCatalystDestination: ["platform=macOS,arch=x86_64,variant=Mac Catalyst"]
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
iosDestination: generic/platform=iOS Simulator
macOSDestination: platform=macOS,arch=x86_64
macCatalystDestination: platform=macOS,arch=x86_64,variant=Mac Catalyst
tvOSDestination: generic/platform=tvOS Simulator
watchOSDestination: generic/platform=watchOS Simulator
visionOSDestination: generic/platform=visionOS Simulator
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Cocoapods
run: gem install cocoapods --no-document --quiet
Expand All @@ -71,37 +72,63 @@ jobs:
- name: Run demo for OSX
run: |
set -o pipefail
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.OSXSCHEME }}" -destination "${{ matrix.macOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "SDWebImage OSX Demo" -destination "${{ env.macOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

- name: Run demo for iOS
run: |
set -o pipefail
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.iOSSCHEME }}" -destination "${{ matrix.iosDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "SDWebImage iOS Demo" -destination "${{ env.iosDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

- name: Run demo for TV
run: |
set -o pipefail
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.TVSCHEME }}" -destination "${{ matrix.tvOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "SDWebImage TV Demo" -destination "${{ env.tvOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

- name: Run demo for Watch
run: |
set -o pipefail
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.WATCHSCHEME }}" -destination "${{ matrix.watchOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "SDWebImage Watch Demo" -destination "${{ env.watchOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

- name: Run demo for Vision
run: |
set -o pipefail
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "SDWebImage Vision Demo" -destination "${{ env.visionOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c

Test:
name: Unit Test
runs-on: macos-11
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_13.0.app
LC_ALL: en_US.UTF-8
DEVELOPER_DIR: /Applications/Xcode_16.0.app
WORKSPACE_NAME: SDWebImage.xcworkspace
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# use matrix to generate jobs for each platform
strategy:
fail-fast: false
matrix:
iosDestination: ["platform=iOS Simulator,name=iPhone 13 Pro"]
macOSDestination: ["platform=macOS,arch=x86_64"]
tvOSDestination: ["platform=tvOS Simulator,name=Apple TV 4K"]
platform: [iOS, macOS, tvOS, visionOS]
include:
- platform: iOS
destination: platform=iOS Simulator,name=iPhone 16 Pro Max
scheme: iOS
flag: ios
- platform: macOS
destination: platform=macOS,arch=x86_64
scheme: Mac
flag: macos
- platform: tvOS
destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation)
scheme: TV
flag: tvos
- platform: visionOS
destination: platform=visionOS Simulator,name=Apple Vision Pro
scheme: Vision
flag: visionos
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install Cocoapods
run: gem install cocoapods --no-document --quiet
Expand All @@ -114,61 +141,37 @@ jobs:

- name: Pod Install
run: pod install

- name: Clean DerivedData
run: |
rm -rf ~/Library/Developer/Xcode/DerivedData/
mkdir DerivedData

- name: Test - ${{ matrix.iosDestination }}
- name: Run test
run: |
set -o pipefail
xcodebuild test -workspace "${{ env.WORKSPACE_NAME }}" -scheme "Tests iOS" -destination "${{ matrix.iosDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/iOS

- name: Test - ${{ matrix.macOSDestination }}
run: |
set -o pipefail
xcodebuild test -workspace "${{ env.WORKSPACE_NAME }}" -scheme "Tests Mac" -destination "${{ matrix.macOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/macOS

- name: Test - ${{ matrix.tvOSDestination }}
run: |
set -o pipefail
xcodebuild test -workspace "${{ env.WORKSPACE_NAME }}" -scheme "Tests TV" -destination "${{ matrix.tvOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/tvOS
xcodebuild build-for-testing -workspace "${{ env.WORKSPACE_NAME }}" -scheme "Tests ${{ matrix.scheme }}" -destination "${{ matrix.destination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
xcodebuild test-without-building -workspace "${{ env.WORKSPACE_NAME }}" -scheme "Tests ${{ matrix.scheme }}" -destination "${{ matrix.destination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO
mv ~/Library/Developer/Xcode/DerivedData/ "./DerivedData/${{ matrix.platform }}"

- name: Code Coverage
run: |
set -o pipefail
export PATH="/usr/local/opt/curl/bin:$PATH"
curl --version
bash <(curl -s https://codecov.io/bash) -D './DerivedData/macOS' -J '^SDWebImage$' -c -X gcov -F macos
bash <(curl -s https://codecov.io/bash) -D './DerivedData/iOS' -J '^SDWebImage$' -c -X gcov -F ios
bash <(curl -s https://codecov.io/bash) -D './DerivedData/tvOS' -J '^SDWebImage$' -c -X gcov -F tvos
bash <(curl -s https://codecov.io/bash) -v -D "./DerivedData/${{ matrix.platform }}" -J '^SDWebImage$' -c -X gcov -F "${{ matrix.flag }}"

Build:
name: Build Library
runs-on: macos-11
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_13.0.app
LC_ALL: en_US.UTF-8
DEVELOPER_DIR: /Applications/Xcode_16.0.app
PROJECT_NAME: SDWebImage.xcodeproj
SCHEME_NAME: SDWebImage
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install Cocoapods
run: gem install cocoapods --no-document --quiet

- name: Install Xcpretty
run: gem install xcpretty --no-document --quiet

- name: Pod Update
run: pod repo update --silent

- name: Pod Install
run: pod install
uses: actions/checkout@v3

- name: Build the SwiftPM
run: |
Expand All @@ -179,14 +182,15 @@ jobs:
- name: Build as static library
run: |
set -o pipefail
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "SDWebImage static" -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "SDWebImage static" -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
rm -rf ~/Library/Developer/Xcode/DerivedData/
- name: Build as dynamic frameworks
run: |
set -o pipefail
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk macosx -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk appletvsimulator -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk watchsimulator -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -destination "platform=macOS,arch=x86_64,variant=Mac Catalyst" -configuration Release | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk macosx -configuration Debug | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk appletvsimulator -configuration Debug | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk watchsimulator -configuration Debug | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -destination "platform=macOS,arch=x86_64,variant=Mac Catalyst" -configuration Debug | xcpretty -c
xcodebuild build -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.SCHEME_NAME }}" -sdk xrsimulator -configuration Debug | xcpretty -c
rm -rf ~/Library/Developer/Xcode/DerivedData/
Loading