Releases: airbnb/lottie-spm
4.5.0
New Features
- Added drop shadow support to main thread rendering engine (airbnb/lottie-ios#2423)
- Added support for opacity text animators (airbnb/lottie-ios#2436)
- Added
LottieView
helper for configuring individualLottieAnimationView
properties (airbnb/lottie-ios#2415)
Bug Fixes
- Fixed issue where bezier paths could be closed incorrectly (airbnb/lottie-ios#2418)
- Fixed bug where font providers were ignored in precomposition layers in the main thread rendering engine (airbnb/lottie-ios#2439)
- Fixed issue where lottie-spm package could cause package operations to unexpectedly fail on Linux (#27).
Version Compatibility
Lottie now requires Xcode 15 / Swift 5.9 or later (airbnb/lottie-ios#2400). Our version support policy is that Lottie supports Swift / Xcode versions back to the minimum version that is permitted by Apple for submissions to the App Store. As of April 2024, this is Xcode 15 / Swift 5.9: https://developer.apple.com/news/?id=fxu2qp7b.
Full Changelog: airbnb/lottie-ios@4.4.3...4.5.0
4.4.3
Bug fixes in 4.4.3
- Fix issue where animation size could be incorrect after loading async animation (airbnb/lottie-ios#2379)
- Update NSPrivacyAccessedAPITypeReasons in privacy manifest (airbnb/lottie-ios#2380)
- Include animation duration when computing cost/complexity of Core Animation time remapping (airbnb/lottie-ios#2381)
New features in 4.4.0
- Add privacy manifest (airbnb/lottie-ios#2252)
- Codesign Lottie.xcframework (airbnb/lottie-ios#2259)
- Add time remapping support to Core Animation rendering engine (airbnb/lottie-ios#2286)
- Add official visionOS support to lottie-ios repo (airbnb/lottie-ios#2287)
- lottie-spm now supports visionOS (#12)
- Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (airbnb/lottie-ios#2260)
Full Changelog: airbnb/lottie-ios@4.4.2...4.4.3
4.4.2
Changes in 4.4.2
- Update minimum deployment target to iOS 13.0 / macOS 10.15 (airbnb/lottie-ios#2322)
- Add privacy manifest to lottie-spm repo (#23)
- Add visionOS support to Cocoapods podspec (airbnb/lottie-ios#2348)
- Fix incorrect usage of
State(initialValue:)
inLottieView
(airbnb/lottie-ios#2357) - Use correct version number when building XCFramework bundle (airbnb/lottie-ios#2341)
New features in 4.4.0
- Add privacy manifest (airbnb/lottie-ios#2252)
- Codesign Lottie.xcframework (airbnb/lottie-ios#2259)
- Add time remapping support to Core Animation rendering engine (airbnb/lottie-ios#2286)
- Add official visionOS support to lottie-ios repo (airbnb/lottie-ios#2287)
- lottie-spm now supports visionOS (#12)
- Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (airbnb/lottie-ios#2260)
Full Changelog: airbnb/lottie-ios@4.4.1...4.4.2
4.4.1
Bug fixes in 4.4.1
- Replace os check with canImport so classes are available on visionOS (airbnb/lottie-ios#2294)
- Omit privacy manifest from source files in podspec (airbnb/lottie-ios#2307)
- Fix crash in Main Thread rendering engine path interpolation implementation (airbnb/lottie-ios#2305)
- Fix warning from invalid character in Cocoapods resource bundle identifier (airbnb/lottie-ios#2317)
- Fix infinite loop when setting
LottieAnimationView.viewportFrame
(airbnb/lottie-ios#2316)
New features in 4.4.0
- Add privacy manifest (airbnb/lottie-ios#2252)
- Codesign Lottie.xcframework (airbnb/lottie-ios#2259)
- Add time remapping support to Core Animation rendering engine (airbnb/lottie-ios#2286)
- Add official visionOS support to lottie-ios repo (airbnb/lottie-ios#2287)
- lottie-spm now supports visionOS (#12)
- Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (airbnb/lottie-ios#2260)
Full Changelog: airbnb/lottie-ios@4.4.0...4.4.1
4.4.0
New features
- Add privacy manifest (airbnb/lottie-ios#2252)
- Codesign Lottie.xcframework (airbnb/lottie-ios#2259)
- Add time remapping support to Core Animation rendering engine (airbnb/lottie-ios#2286)
- Add official visionOS support to lottie-ios repo (airbnb/lottie-ios#2287)
- lottie-spm now supports visionOS (#12)
- Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (airbnb/lottie-ios#2260)
Bug fixes
- Update LottieView to display placeholder using
overlay
instead ofZStack
(airbnb/lottie-ios#2289) - Fix issue where Core Animation rendering engine couldn't display last frame of animation when paused (airbnb/lottie-ios#2254)
- Do not create
DotLottieImageProvider
instance if there's no image files (airbnb/lottie-ios#2271) - Mark DotLottieCache as Sendable (airbnb/lottie-ios#2245)
- Fix issue where AnimationKeypath in SolidLayer could be incorrect (airbnb/lottie-ios#2278)
- Fix issue where Repeater could be displayed incorrectly (airbnb/lottie-ios#2276)
- Include dSYMs in xcframework build (airbnb/lottie-ios#2284)
- Fix parsing issue, add support for DotLottieConfiguration in SwiftUI LottieView (airbnb/lottie-ios#2277)
- Fix issue where DotLottieImageProvider didn't handle base64 images (airbnb/lottie-ios#2283)
- Fix issue where manually interpolated keyframes could animate incorrectly (airbnb/lottie-ios#2285)
Full Changelog: airbnb/lottie-ios@4.3.4...4.4.0
4.3.4
What's Changed
- Fix parsing regression in 4.3.0 from addition of parsing layer effects by @calda in airbnb/lottie-ios#2208
- Remove old animation layer when creating a new animation layer by @junjielu in airbnb/lottie-ios#2214
- Add configuration setting to remove animated bounds changes by @thedrick in airbnb/lottie-ios#2218
- Change pod dependencies
SwiftUI
andCombine
toweak
to ensure compatibility with iOS 12 by @florianrhein in airbnb/lottie-ios#2219 - Fix issue where Repeater would be ignored if not at top level by @calda in airbnb/lottie-ios#2221
- Replace
UIScreen.main
to get display scale on iOS 13.0 and later (#2215) by @hyun99999 in airbnb/lottie-ios#2216 - Dispatch dot lottie file loading onto a single serial queue by @erichoracek in airbnb/lottie-ios#2229
- Clean up unused property in InvertedMatteLayer by @hanton in airbnb/lottie-ios#2241
- Fix issue where LottieView animation would restart from beginning after backgrounding app by @calda in airbnb/lottie-ios#2237
Full Changelog: airbnb/lottie-ios@4.3.3...4.3.4
4.3.3
Lottie 4.3.0 adds many new features, including:
- Official support for SwiftUI!
- A public Core Animation
CALayer
subclass - Support for reduced motion
- Support for drop shadow layer effects
- Support for visionOS
You can learn more about Lottie 4.3.0 in this announcement: Lottie 4.3.0 now available, with official support for SwiftUI #2189
Lottie 4.3.3 fixes a regression introduced by Lottie 4.3.0 where the contents of a LottieAnimationView
could crossfade / animate unexpectedly when updating the current LottieAnimation
or rendering engine: airbnb/lottie-ios#2200
New Features in Lottie 4.3.0
- Add SwiftUI
LottieView
, which wraps UIKitLottieAnimationView
- Add SwiftUI
LottieSwitch
, which wraps UIKitAnimatedSwitch
(airbnb/lottie-ios#2138) - Add SwiftUI
LottieButton
, which wrapsAnimatedButton
(airbnb/lottie-ios#2139) AnimatedSwitch
andAnimatedButton
now support macOS (airbnb/lottie-ios#2138, airbnb/lottie-ios#2139)- Add
LottieAnimationLayer
, a Core AnimationCALayer
subclass for playing Lottie animations (airbnb/lottie-ios#2073) - Add support for rendering drop shadow layer effects (airbnb/lottie-ios#2142)
- Add API for playing multiple markers sequentially (airbnb/lottie-ios#2084)
- Play "reduced motion" marker if
UIAccessibility.isReduceMotionEnabled
is true (airbnb/lottie-ios#2110) - Update text provider API to use full
AnimationKeypath
values (airbnb/lottie-ios#2183) - Add support for visionOS (airbnb/lottie-ios#2152)
- Drop support for Swift 5.5 (airbnb/lottie-ios#2152)
- Add contents gravity configuration to
AnimationImageProvider
(airbnb/lottie-ios#2177) - Add support for customizing stroke width values using
FloatValueProvider
(airbnb/lottie-ios#2179) - Adopt
Sendable
to support using Lottie with strict concurrency enabled (airbnb/lottie-ios#2126) - Add
LottiePlaybackMode
to support declarative playback configuration (airbnb/lottie-ios#2128) - Add option make main thread rendering engine force display update on every frame (airbnb/lottie-ios#2168)
- Add a option to prevent caching images from
AnimationImageProvider
(airbnb/lottie-ios#2171) - Add support for customizing gradient values using
GradientValueProvider
(airbnb/lottie-ios#2182) - Added additional support for multiple animations in
DotLottieFile
(airbnb/lottie-ios#2074) - Add helper method to initialize
DotLottieFile
with data (airbnb/lottie-ios#2090)
Bug fixes
- Remove
.../ZipFoundation/README.md
from targets and*.md*
files from podspec (airbnb/lottie-ios#2057)* - Fix issue where layers with negative X scale values could be pixelated (airbnb/lottie-ios#2067)
- Fix warnings when building with Swift 5.9 (airbnb/lottie-ios#2072)
- Restructure
ValueProviderStore
to not accumulate multiple values for the same key (airbnb/lottie-ios#2082) - Disable bitcode when building XCFramework (airbnb/lottie-ios#2121)
- Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
- Fix support for customizing color of
SolidLayer
usingColorValueProvider
(airbnb/lottie-ios#2154) - Fix issue where shape items could be unexpectedly ignored (airbnb/lottie-ios#2156)
- Fix issue where skew keyframes would unexpectedly not animate (airbnb/lottie-ios#2157)
- Fix issue where value providers could be ignored when falling back to main thread rendering engine (airbnb/lottie-ios#2164)
Thanks to everyone who contributed to this release!
4.3.2
Lottie 4.3.0 adds many new features, including:
- Official support for SwiftUI!
- A public Core Animation
CALayer
subclass - Support for reduced motion
- Support for drop shadow layer effects
- Support for visionOS in the lottie-ios rep
You can learn more about Lottie 4.3.0 in this announcement: Lottie 4.3.0 now available, with official support for SwiftUI #2189
Lottie 4.3.2
Lottie 4.3.2 redesigns the LottiePlaybackMode
playback APIs that were introduced in Lottie 4.3.0.
Before
// Loop from 0.5 to 1.0
LottieView(animation: myAnimation)
.play(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop))
// Pause at the halfway point of the animation
LottieView(animation: myAnimation)
.play(.progress(0.5))
After
// Loop from 0.5 to 1.0
LottieView(animation: myAnimation)
.playing(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop))
// Pause at the halfway point of the animation
LottieView(animation: myAnimation)
.paused(at: .progress(0.5))
New Features in Lottie 4.3.0
- Add SwiftUI
LottieView
, which wraps UIKitLottieAnimationView
- Add SwiftUI
LottieSwitch
, which wraps UIKitAnimatedSwitch
(airbnb/lottie-ios#2138) - Add SwiftUI
LottieButton
, which wrapsAnimatedButton
(airbnb/lottie-ios#2139) AnimatedSwitch
andAnimatedButton
now support macOS (airbnb/lottie-ios#2138, airbnb/lottie-ios#2139)- Add
LottieAnimationLayer
, a Core AnimationCALayer
subclass for playing Lottie animations (airbnb/lottie-ios#2073) - Add support for rendering drop shadow layer effects (airbnb/lottie-ios#2142)
- Add API for playing multiple markers sequentially (airbnb/lottie-ios#2084)
- Play "reduced motion" marker if
UIAccessibility.isReduceMotionEnabled
is true (airbnb/lottie-ios#2110) - Update text provider API to use full
AnimationKeypath
values (airbnb/lottie-ios#2183) - Add support for visionOS (airbnb/lottie-ios#2152)
- Drop support for Swift 5.5 (airbnb/lottie-ios#2152)
- Add contents gravity configuration to
AnimationImageProvider
(airbnb/lottie-ios#2177) - Add support for customizing stroke width values using
FloatValueProvider
(airbnb/lottie-ios#2179) - Adopt
Sendable
to support using Lottie with strict concurrency enabled (airbnb/lottie-ios#2126) - Add
LottiePlaybackMode
to support declarative playback configuration (airbnb/lottie-ios#2128) - Add option make main thread rendering engine force display update on every frame (airbnb/lottie-ios#2168)
- Add a option to prevent caching images from
AnimationImageProvider
(airbnb/lottie-ios#2171) - Add support for customizing gradient values using
GradientValueProvider
(airbnb/lottie-ios#2182) - Added additional support for multiple animations in
DotLottieFile
(airbnb/lottie-ios#2074) - Add helper method to initialize
DotLottieFile
with data (airbnb/lottie-ios#2090)
Bug fixes
- Remove
.../ZipFoundation/README.md
from targets and*.md*
files from podspec (airbnb/lottie-ios#2057)* - Fix issue where layers with negative X scale values could be pixelated (airbnb/lottie-ios#2067)
- Fix warnings when building with Swift 5.9 (airbnb/lottie-ios#2072)
- Restructure
ValueProviderStore
to not accumulate multiple values for the same key (airbnb/lottie-ios#2082) - Disable bitcode when building XCFramework (airbnb/lottie-ios#2121)
- Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
- Fix support for customizing color of
SolidLayer
usingColorValueProvider
(airbnb/lottie-ios#2154) - Fix issue where shape items could be unexpectedly ignored (airbnb/lottie-ios#2156)
- Fix issue where skew keyframes would unexpectedly not animate (airbnb/lottie-ios#2157)
- Fix issue where value providers could be ignored when falling back to main thread rendering engine (airbnb/lottie-ios#2164)
Thanks to everyone who contributed to this release!
4.3.1
Lottie 4.3.0 adds many new features, including:
- Official support for SwiftUI!
- A public Core Animation
CALayer
subclass - Support for reduced motion
- Support for drop shadow layer effects
- Support for visionOS in the lottie-ios repo
You can learn more about Lottie 4.3.0 in this announcement: Lottie 4.3.0 now available, with official support for SwiftUI #2189
Lottie 4.3.1 fixes a small regression introduced by 4.3.0: airbnb/lottie-ios#2193
New Features
- Add SwiftUI
LottieView
, which wraps UIKitLottieAnimationView
- Add SwiftUI
LottieSwitch
, which wraps UIKitAnimatedSwitch
(airbnb/lottie-ios#2138) - Add SwiftUI
LottieButton
, which wrapsAnimatedButton
(airbnb/lottie-ios#2139) AnimatedSwitch
andAnimatedButton
now support macOS (airbnb/lottie-ios#2138, airbnb/lottie-ios#2139)- Add
LottieAnimationLayer
, a Core AnimationCALayer
subclass for playing Lottie animations (airbnb/lottie-ios#2073) - Add support for rendering drop shadow layer effects (airbnb/lottie-ios#2142)
- Add API for playing multiple markers sequentially (airbnb/lottie-ios#2084)
- Play "reduced motion" marker if
UIAccessibility.isReduceMotionEnabled
is true (airbnb/lottie-ios#2110) - Update text provider API to use full
AnimationKeypath
values (airbnb/lottie-ios#2183) - Add support for visionOS (airbnb/lottie-ios#2152)
- Drop support for Swift 5.5 (airbnb/lottie-ios#2152)
- Add contents gravity configuration to
AnimationImageProvider
(airbnb/lottie-ios#2177) - Add support for customizing stroke width values using
FloatValueProvider
(airbnb/lottie-ios#2179) - Adopt
Sendable
to support using Lottie with strict concurrency enabled (airbnb/lottie-ios#2126) - Add
LottiePlaybackMode
to support declarative playback configuration (airbnb/lottie-ios#2128) - Add option make main thread rendering engine force display update on every frame (airbnb/lottie-ios#2168)
- Add a option to prevent caching images from
AnimationImageProvider
(airbnb/lottie-ios#2171) - Add support for customizing gradient values using
GradientValueProvider
(airbnb/lottie-ios#2182) - Added additional support for multiple animations in
DotLottieFile
(airbnb/lottie-ios#2074) - Add helper method to initialize
DotLottieFile
with data (airbnb/lottie-ios#2090)
Bug fixes
- Remove
.../ZipFoundation/README.md
from targets and*.md*
files from podspec (airbnb/lottie-ios#2057)* - Fix issue where layers with negative X scale values could be pixelated (airbnb/lottie-ios#2067)
- Fix warnings when building with Swift 5.9 (airbnb/lottie-ios#2072)
- Restructure
ValueProviderStore
to not accumulate multiple values for the same key (airbnb/lottie-ios#2082) - Disable bitcode when building XCFramework (airbnb/lottie-ios#2121)
- Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
- Fix support for customizing color of
SolidLayer
usingColorValueProvider
(airbnb/lottie-ios#2154) - Fix issue where shape items could be unexpectedly ignored (airbnb/lottie-ios#2156)
- Fix issue where skew keyframes would unexpectedly not animate (airbnb/lottie-ios#2157)
- Fix issue where value providers could be ignored when falling back to main thread rendering engine (airbnb/lottie-ios#2164)
Thanks to everyone who contributed to this release!
4.3.0
Lottie 4.3.0 adds many new features, including:
- Official support for SwiftUI!
- A public Core Animation
CALayer
subclass - Support for reduced motion
- Support for drop shadow layer effects
- Support for visionOS in the lottie-ios repo
You can learn more about Lottie 4.3.0 in this announcement: Lottie 4.3.0 now available, with official support for SwiftUI #2189
New Features
- Add SwiftUI
LottieView
, which wraps UIKitLottieAnimationView
- Add SwiftUI
LottieSwitch
, which wraps UIKitAnimatedSwitch
(airbnb/lottie-ios#2138) - Add SwiftUI
LottieButton
, which wrapsAnimatedButton
(airbnb/lottie-ios#2139) AnimatedSwitch
andAnimatedButton
now support macOS (airbnb/lottie-ios#2138, airbnb/lottie-ios#2139)- Add
LottieAnimationLayer
, a Core AnimationCALayer
subclass for playing Lottie animations (airbnb/lottie-ios#2073) - Add support for rendering drop shadow layer effects (airbnb/lottie-ios#2142)
- Add API for playing multiple markers sequentially (airbnb/lottie-ios#2084)
- Play "reduced motion" marker if
UIAccessibility.isReduceMotionEnabled
is true (airbnb/lottie-ios#2110) - Update text provider API to use full
AnimationKeypath
values (airbnb/lottie-ios#2183) - Add support for visionOS to lottie-ios repo (airbnb/lottie-ios#2152)
- Drop support for Swift 5.5 (airbnb/lottie-ios#2152)
- Add contents gravity configuration to
AnimationImageProvider
(airbnb/lottie-ios#2177) - Add support for customizing stroke width values using
FloatValueProvider
(airbnb/lottie-ios#2179) - Adopt
Sendable
to support using Lottie with strict concurrency enabled (airbnb/lottie-ios#2126) - Add
LottiePlaybackMode
to support declarative playback configuration (airbnb/lottie-ios#2128) - Add option make main thread rendering engine force display update on every frame (airbnb/lottie-ios#2168)
- Add a option to prevent caching images from
AnimationImageProvider
(airbnb/lottie-ios#2171) - Add support for customizing gradient values using
GradientValueProvider
(airbnb/lottie-ios#2182) - Added additional support for multiple animations in
DotLottieFile
(airbnb/lottie-ios#2074) - Add helper method to initialize
DotLottieFile
with data (airbnb/lottie-ios#2090)
Bug fixes
- Remove
.../ZipFoundation/README.md
from targets and*.md*
files from podspec (airbnb/lottie-ios#2057)* - Fix issue where layers with negative X scale values could be pixelated (airbnb/lottie-ios#2067)
- Fix warnings when building with Swift 5.9 (airbnb/lottie-ios#2072)
- Restructure
ValueProviderStore
to not accumulate multiple values for the same key (airbnb/lottie-ios#2082) - Disable bitcode when building XCFramework (airbnb/lottie-ios#2121)
- Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
- Fix support for customizing color of
SolidLayer
usingColorValueProvider
(airbnb/lottie-ios#2154) - Fix issue where shape items could be unexpectedly ignored (airbnb/lottie-ios#2156)
- Fix issue where skew keyframes would unexpectedly not animate (airbnb/lottie-ios#2157)
- Fix issue where value providers could be ignored when falling back to main thread rendering engine (airbnb/lottie-ios#2164)
Thanks to everyone who contributed to this release!