All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Xcode 26 Compliant (Update SDWebImage to 5.21.1) #354
- Fixed old version compiler does not support automatic self capture in Xcode 14.2 and Swift 5.7.2 #340
- Fix the data race because progress block is called in non-main queue #341
- Allows easy to use WebImage with isAnimating default to false and change to true later #333
- Note: This changes WebImage's internal loaded image from
UIImage/NSImagetoSDAnimatedImage, which is compatible forUIImageView/NSImageView
- Fix the transition visual jump between placeholderImage and final image for AnimatedImage #326
- Re-implements the aspectRatio support on AnimatedImage, fix issue like cornerRadius #324
- Add Image scale support in WebImage init #323
- Update platform names in
availableattributes #321 -
- This is source compatible but binary incompatible version
- Trying to move the initial state setup before onAppear to fix the watchOS switching url or any other state issue #316
- This solve a issue in history when sometimes SwiftUI does not trigger the
onAppearand cause state error, like #312 #314
- Added totally empty privacy manifest #315
- People who facing the issue because of Privacy Manifest declaration during ITC validation can try this version
- Fix the assert crash then when using Data/Name in AnimatedImage #309
- Fix the issue for WebImage/AnimatedImage when url is nil will not cause the reloading #304
- This is the first release for 3.x version. Bump the min deplouyment from SwiftUI 1.0 to 2.0 (means iOS 14/macOS 11/tvOS 14/watchOS 7/visionOS 1)
- Fix AnimatedImage aspectRatio issue when ratio is nil #301
- Upgrade to support visionOS on CocoaPods #298
- Update the AnimatedImage API to expose the SDAnimatedImageView #285
- Fix the AnimatedImgae rendering mode about compatible with SDWebImage 5.18+
- Update the WebImage API to match SwiftUI.AsyncImage #275 @Kyle-Ye
- Allows to use UIImage/NSImage as defaults when init the AnimatedImage with JPEG data #277
WebImage.placeholder<T>(@ViewBuilder content: () -> T) -> WebImageWebImage.placeholder(_ image: Image) -> WebImageAnimatedImage.placeholder<T>(@ViewBuilder content: () -> T) -> AnimatedImageAnimatedImage.placeholder(_ image: PlatformImage) -> AnimatedImage
- (Part 1) Support compile for visionOS (no package manager support) #267
- Drop iOS 13/macOS 10.15/tvOS 13/watchOS 6 support #250
- ProgressIndicator and ActivityIndicator is removed. Use
ProgressViewinstead - Availability is changed to iOS 14/macOS 11/tvOS 11/watchOS 7
- Embed
SwiftUIBackportsdependency is removed.
- Fix the issue that Static Library + Library Evolution cause the build issue on Swift 5.8 #263
- Fix the bug that isAnimating control does not works on WebImage #251
- Note you should upgrade the SDWebImage 5.14.3+, or this may cause extra Xcode 14's runtime warning (function is unaffected)
- Fix the nil url always returns Error will cause infinity onAppear call and image manager to load, which waste CPU #235
- Fix the case which sometimes the player does not stop when WebImage it out of screen #236
- Al v2.2.0 users are recommended to update
- Fix iOS 13 compatibility #232
- Fix WebImage/Animated using @State to publish changes
- Al v2.1.0 users are recommended to update
- ImageManager API changes. The init method has no args, use
load(url:options:context:)instead
- Refactor WebImage/AnimatedImage using SwiftUIBackports and StateObject #227
- Fix iOS 16 undefined behavior warnings because of Publishing changes from within view updates.
- Fix iOS 14+ WebImage behavior using
@StateObject(and backport on iOS 13)
- The
IndicatorReportableis misused and removed. UseIndicatorStatusinstead. - Deprecate iOS 13 support, this may be the last version to support iOS 13.
- Fix the issue that using
Image(uiImage:)will result wrong rendering mode in some component likeTabBarItem, while usingImage(decorative:scale:orientation:)works well #177
- Remove the WebImage placeholder maxWidth/maxHeight modifier, this may break some use case like
TabView. If user want to use placeholder, limit themselves #178 #175
- Fix the rare cases that WebImage will lost animation when visibility changes. #171
- Update with the playbackMode support for
WebImageandAnimatedImage#168 - Update watchOS demo to watchOS 7, remove the custom indicator sample and use
ProgressViewinstead #166 - Update the Example to make WebImage animatable by default #160
- Fix the issue sometime the
WebImageappear/disappear logic wrong. Using UIKit/AppKit to detect the visibility #164 - Fix the leak of WebImage with animation and NavigationLink. #163
- Try to fix the recursive updateView when using AnimatedImage inside
ScrollView/LazyVStack. Which cause App freeze #162 - Remove the fix for EXIF image in WebImage, which is fixed by Apple in iOS 14 #159
- Bump the limit to Xcode 12, because we need new iOS 14+ APIs check #167
- Update the WebImage to defaults animatable #165
- Remove the wrong design onSuccess API. Using the full params one instead #169
- Add the convenient API support to use SwiftUI transition with ease-in-out duration #116
- Update the Travis-CI to use Catalina and enable macOS test case #98
- Add the same overload method for onSuccess API, which introduce the image data arg. Keep the source code compatibility #109
- Add the support for image data observable on ImageManager #107
- Revert the changes to prefetch the image url from memory cache #106
- Try to solve the SwiftUI bug of rendering EXIF UIImage in WebImage, as well as vector images #102
- Now
WebImagewill render the vector images as bitmap version even if you don't provide.thumbnailPixelSize. To render real vector images, useAnimatedImageinstead.
- Automatically import SDWebImage when user write import SDWebImageSwiftUI #100
- Fix Carthage support. Do not embed SDWebImage.framework in SDWebImageSwiftUI.framework #97. Thanks @jonkan
- Supports the
placeholderView Builder API forAnimatedImage#94
- Upgrade the dependency of SDWebImage 5.7.0 #93
- Fix the issue when using
WebImagewith some transition like scaleEffect, each time the new state update will cause unused image fetching #92
- Supports the
delayPlaceholderfor WebImage #91 AnimatedImagelittle patch - UIKit/AppKit animated image now applied forresizingMode#89
- Fix the issue when dealloc
AnimatedImage's native View, the window does not exist and cause Crash #90
ImageManagernow public. Which allows advanced usage for custom View type. Use@ObservedObjectto bind the manager with your own View and update the image.
WebImagenow supports animation, useisAnimatingbinding value on init methods.WebImagenow supports the detailed animation control options, likecustomLoopCount,pausable,purgeable,playbackRate.AnimatedImagenow supports the indicator withViewModifierasWebImage.IndicatorViewModifiernow public.IndicatorReportablenow public.
- Indicator's
progresstype now changed fromCGFloattoDouble. WebImage.aniamted(_:)now becomes theWebImage.init(url:options:context:isAnimating:)Binding arg, you can use the Binding to control animations as well.AnimatedImage.playBackRatenow becomesAnimatedImage.playbackRateAnimatedImage.customLoopCountnow isUIntinstead ofInt.AnimatedImage.resizablemodifier now matches the SwiftUI behavior, you must call it or the size will be fixed to image pixel size.
- Removed all the description about 0.x version behavior in README.md.