Skip to content

Releases: airbnb/lottie-ios

4.4.3

15 Apr 22:43
769b88d
Compare
Choose a tag to compare

Bug fixes in 4.4.3

  • Fix issue where animation size could be incorrect after loading async animation (#2379)
  • Update NSPrivacyAccessedAPITypeReasons in privacy manifest (#2380)
  • Include animation duration when computing cost/complexity of Core Animation time remapping (#2381)

New features in 4.4.0

  • Add privacy manifest (#2252)
  • Codesign Lottie.xcframework (#2259)
  • Add time remapping support to Core Animation rendering engine (#2286)
  • Add official visionOS support to lottie-ios repo (#2287)
  • lottie-spm now supports visionOS (airbnb/lottie-spm#12)
  • Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (#2260)

Full Changelog: 4.4.2...4.4.3

4.4.2

04 Apr 16:40
Compare
Choose a tag to compare

Changes in 4.4.2

  • Update minimum deployment target to iOS 13.0 / macOS 10.15 (#2322)
  • Add privacy manifest to lottie-spm repo (airbnb/lottie-spm#23)
  • Add visionOS support to Cocoapods podspec (#2348)
  • Fix incorrect usage of State(initialValue:) in LottieView (#2357)
  • Use correct version number when building XCFramework bundle (#2341)

New features in 4.4.0

  • Add privacy manifest (#2252)
  • Codesign Lottie.xcframework (#2259)
  • Add time remapping support to Core Animation rendering engine (#2286)
  • Add official visionOS support to lottie-ios repo (#2287)
  • lottie-spm now supports visionOS (airbnb/lottie-spm#12)
  • Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (#2260)

Full Changelog: 4.4.1...4.4.2

4.4.1

21 Feb 19:16
Compare
Choose a tag to compare

Bug fixes in 4.4.1

  • Replace os check with canImport so classes are available on visionOS (#2294)
  • Omit privacy manifest from source files in podspec (#2307)
  • Fix crash in Main Thread rendering engine path interpolation implementation (#2305)
  • Fix warning from invalid character in Cocoapods resource bundle identifier (#2317)
  • Fix infinite loop when setting LottieAnimationView.viewportFrame (#2316)

New features in 4.4.0

  • Add privacy manifest (#2252)
  • Codesign Lottie.xcframework (#2259)
  • Add time remapping support to Core Animation rendering engine (#2286)
  • Add official visionOS support to lottie-ios repo (#2287)
  • lottie-spm now supports visionOS (airbnb/lottie-spm#12)
  • Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (#2260)

Full Changelog: 4.4.0...4.4.1

4.4.0

22 Jan 23:33
f522990
Compare
Choose a tag to compare

New features

  • Add privacy manifest (#2252)
  • Codesign Lottie.xcframework (#2259)
  • Add time remapping support to Core Animation rendering engine (#2286)
  • Add official visionOS support to lottie-ios repo (#2287)
  • lottie-spm now supports visionOS (airbnb/lottie-spm#12)
  • Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (#2260)

Bug fixes

  • Update LottieView to display placeholder using overlay instead of ZStack (#2289)
  • Fix issue where Core Animation rendering engine couldn't display last frame of animation when paused (#2254)
  • Do not create DotLottieImageProvider instance if there's no image files (#2271)
  • Mark DotLottieCache as Sendable (#2245)
  • Fix issue where AnimationKeypath in SolidLayer could be incorrect (#2278)
  • Fix issue where Repeater could be displayed incorrectly (#2276)
  • Include dSYMs in xcframework build (#2284)
  • Fix parsing issue, add support for DotLottieConfiguration in SwiftUI LottieView (#2277)
  • Fix issue where DotLottieImageProvider didn't handle base64 images (#2283)
  • Fix issue where manually interpolated keyframes could animate incorrectly (#2285)

Full Changelog: 4.3.4...4.4.0

4.3.4

01 Dec 23:57
Compare
Choose a tag to compare

What's Changed

  • Fix parsing regression in 4.3.0 from addition of parsing layer effects by @calda in #2208
  • Remove old animation layer when creating a new animation layer by @junjielu in #2214
  • Add configuration setting to remove animated bounds changes by @thedrick in #2218
  • Change pod dependencies SwiftUI and Combine to weak to ensure compatibility with iOS 12 by @florianrhein in #2219
  • Fix issue where Repeater would be ignored if not at top level by @calda in #2221
  • Replace UIScreen.main to get display scale on iOS 13.0 and later (#2215) by @hyun99999 in #2216
  • Dispatch dot lottie file loading onto a single serial queue by @erichoracek in #2229
  • Clean up unused property in InvertedMatteLayer by @hanton in #2241
  • Fix issue where LottieView animation would restart from beginning after backgrounding app by @calda in #2237

Full Changelog: 4.3.3...4.3.4

4.3.3

29 Sep 23:13
45517c3
Compare
Choose a tag to compare

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: #2200

New Features in Lottie 4.3.0

  • Add SwiftUI LottieView, which wraps UIKit LottieAnimationView
  • Add SwiftUI LottieSwitch, which wraps UIKit AnimatedSwitch (#2138)
  • Add SwiftUI LottieButton, which wraps AnimatedButton (#2139)
  • AnimatedSwitch and AnimatedButton now support macOS (#2138, #2139)
  • Add LottieAnimationLayer, a Core Animation CALayer subclass for playing Lottie animations (#2073)
  • Add support for rendering drop shadow layer effects (#2142)
  • Add API for playing multiple markers sequentially (#2084)
  • Play "reduced motion" marker if UIAccessibility.isReduceMotionEnabled is true (#2110)
  • Update text provider API to use full AnimationKeypath values (#2183)
  • Add support for visionOS (#2152)
  • Drop support for Swift 5.5 (#2152)
  • Add contents gravity configuration to AnimationImageProvider (#2177)
  • Add support for customizing stroke width values using FloatValueProvider (#2179)
  • Adopt Sendable to support using Lottie with strict concurrency enabled (#2126)
  • Add LottiePlaybackMode to support declarative playback configuration (#2128)
  • Add option make main thread rendering engine force display update on every frame (#2168)
  • Add a option to prevent caching images from AnimationImageProvider (#2171)
  • Add support for customizing gradient values using GradientValueProvider (#2182)
  • Added additional support for multiple animations in DotLottieFile (#2074)
  • Add helper method to initialize DotLottieFile with data (#2090)

Bug fixes

  • Remove .../ZipFoundation/README.md from targets and *.md* files from podspec (#2057)*
  • Fix issue where layers with negative X scale values could be pixelated (#2067)
  • Fix warnings when building with Swift 5.9 (#2072)
  • Restructure ValueProviderStore to not accumulate multiple values for the same key (#2082)
  • Disable bitcode when building XCFramework (#2121)
  • Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
  • Fix support for customizing color of SolidLayer using ColorValueProvider (#2154)
  • Fix issue where shape items could be unexpectedly ignored (#2156)
  • Fix issue where skew keyframes would unexpectedly not animate (#2157)
  • Fix issue where value providers could be ignored when falling back to main thread rendering engine (#2164)

Thanks to everyone who contributed to this release!

4.3.2

26 Sep 17:48
Compare
Choose a tag to compare

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.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 UIKit LottieAnimationView
  • Add SwiftUI LottieSwitch, which wraps UIKit AnimatedSwitch (#2138)
  • Add SwiftUI LottieButton, which wraps AnimatedButton (#2139)
  • AnimatedSwitch and AnimatedButton now support macOS (#2138, #2139)
  • Add LottieAnimationLayer, a Core Animation CALayer subclass for playing Lottie animations (#2073)
  • Add support for rendering drop shadow layer effects (#2142)
  • Add API for playing multiple markers sequentially (#2084)
  • Play "reduced motion" marker if UIAccessibility.isReduceMotionEnabled is true (#2110)
  • Update text provider API to use full AnimationKeypath values (#2183)
  • Add support for visionOS (#2152)
  • Drop support for Swift 5.5 (#2152)
  • Add contents gravity configuration to AnimationImageProvider (#2177)
  • Add support for customizing stroke width values using FloatValueProvider (#2179)
  • Adopt Sendable to support using Lottie with strict concurrency enabled (#2126)
  • Add LottiePlaybackMode to support declarative playback configuration (#2128)
  • Add option make main thread rendering engine force display update on every frame (#2168)
  • Add a option to prevent caching images from AnimationImageProvider (#2171)
  • Add support for customizing gradient values using GradientValueProvider (#2182)
  • Added additional support for multiple animations in DotLottieFile (#2074)
  • Add helper method to initialize DotLottieFile with data (#2090)

Bug fixes

  • Remove .../ZipFoundation/README.md from targets and *.md* files from podspec (#2057)*
  • Fix issue where layers with negative X scale values could be pixelated (#2067)
  • Fix warnings when building with Swift 5.9 (#2072)
  • Restructure ValueProviderStore to not accumulate multiple values for the same key (#2082)
  • Disable bitcode when building XCFramework (#2121)
  • Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
  • Fix support for customizing color of SolidLayer using ColorValueProvider (#2154)
  • Fix issue where shape items could be unexpectedly ignored (#2156)
  • Fix issue where skew keyframes would unexpectedly not animate (#2157)
  • Fix issue where value providers could be ignored when falling back to main thread rendering engine (#2164)

Thanks to everyone who contributed to this release!

4.3.1

20 Sep 21:38
Compare
Choose a tag to compare

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.1 fixes a small regression introduced by 4.3.0: #2193

New Features

  • Add SwiftUI LottieView, which wraps UIKit LottieAnimationView
  • Add SwiftUI LottieSwitch, which wraps UIKit AnimatedSwitch (#2138)
  • Add SwiftUI LottieButton, which wraps AnimatedButton (#2139)
  • AnimatedSwitch and AnimatedButton now support macOS (#2138, #2139)
  • Add LottieAnimationLayer, a Core Animation CALayer subclass for playing Lottie animations (#2073)
  • Add support for rendering drop shadow layer effects (#2142)
  • Add API for playing multiple markers sequentially (#2084)
  • Play "reduced motion" marker if UIAccessibility.isReduceMotionEnabled is true (#2110)
  • Update text provider API to use full AnimationKeypath values (#2183)
  • Add support for visionOS (#2152)
  • Drop support for Swift 5.5 (#2152)
  • Add contents gravity configuration to AnimationImageProvider (#2177)
  • Add support for customizing stroke width values using FloatValueProvider (#2179)
  • Adopt Sendable to support using Lottie with strict concurrency enabled (#2126)
  • Add LottiePlaybackMode to support declarative playback configuration (#2128)
  • Add option make main thread rendering engine force display update on every frame (#2168)
  • Add a option to prevent caching images from AnimationImageProvider (#2171)
  • Add support for customizing gradient values using GradientValueProvider (#2182)
  • Added additional support for multiple animations in DotLottieFile (#2074)
  • Add helper method to initialize DotLottieFile with data (#2090)

Bug fixes

  • Remove .../ZipFoundation/README.md from targets and *.md* files from podspec (#2057)*
  • Fix issue where layers with negative X scale values could be pixelated (#2067)
  • Fix warnings when building with Swift 5.9 (#2072)
  • Restructure ValueProviderStore to not accumulate multiple values for the same key (#2082)
  • Disable bitcode when building XCFramework (#2121)
  • Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
  • Fix support for customizing color of SolidLayer using ColorValueProvider (#2154)
  • Fix issue where shape items could be unexpectedly ignored (#2156)
  • Fix issue where skew keyframes would unexpectedly not animate (#2157)
  • Fix issue where value providers could be ignored when falling back to main thread rendering engine (#2164)

Thanks to everyone who contributed to this release!

4.3.0

14 Sep 20:44
Compare
Choose a tag to compare

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

New Features

  • Add SwiftUI LottieView, which wraps UIKit LottieAnimationView
  • Add SwiftUI LottieSwitch, which wraps UIKit AnimatedSwitch (#2138)
  • Add SwiftUI LottieButton, which wraps AnimatedButton (#2139)
  • AnimatedSwitch and AnimatedButton now support macOS (#2138, #2139)
  • Add LottieAnimationLayer, a Core Animation CALayer subclass for playing Lottie animations (#2073)
  • Add support for rendering drop shadow layer effects (#2142)
  • Add API for playing multiple markers sequentially (#2084)
  • Play "reduced motion" marker if UIAccessibility.isReduceMotionEnabled is true (#2110)
  • Update text provider API to use full AnimationKeypath values (#2183)
  • Add support for visionOS (#2152)
  • Drop support for Swift 5.5 (#2152)
  • Add contents gravity configuration to AnimationImageProvider (#2177)
  • Add support for customizing stroke width values using FloatValueProvider (#2179)
  • Adopt Sendable to support using Lottie with strict concurrency enabled (#2126)
  • Add LottiePlaybackMode to support declarative playback configuration (#2128)
  • Add option make main thread rendering engine force display update on every frame (#2168)
  • Add a option to prevent caching images from AnimationImageProvider (#2171)
  • Add support for customizing gradient values using GradientValueProvider (#2182)
  • Added additional support for multiple animations in DotLottieFile (#2074)
  • Add helper method to initialize DotLottieFile with data (#2090)

Bug fixes

  • Remove .../ZipFoundation/README.md from targets and *.md* files from podspec (#2057)*
  • Fix issue where layers with negative X scale values could be pixelated (#2067)
  • Fix warnings when building with Swift 5.9 (#2072)
  • Restructure ValueProviderStore to not accumulate multiple values for the same key (#2082)
  • Disable bitcode when building XCFramework (#2121)
  • Fix unhandled file warning when building with SPM (https://github.com/airbnb/lottie-ios/pull/213)
  • Fix support for customizing color of SolidLayer using ColorValueProvider (#2154)
  • Fix issue where shape items could be unexpectedly ignored (#2156)
  • Fix issue where skew keyframes would unexpectedly not animate (#2157)
  • Fix issue where value providers could be ignored when falling back to main thread rendering engine (#2164)

Thanks to everyone who contributed to this release!

4.2.0

27 Apr 22:41
d6feea2
Compare
Choose a tag to compare

Note
Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default.
Learn more about this change: Announcing Lottie 4.0 for iOS on the Airbnb Tech Blog

What's Changed

  • Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (#2047)
  • Updated minimum macOS version to 10.11 (#2050)
  • Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964)
  • Improved dotLottie error handling (#1969)
  • Added support for loading DotLottieFile by name and filename synchronously (#1968)
  • Updated ZIPFoundation to 0.9.16 to resolve dataCorrupted errors (#1978)
  • Fixed issue where ** wildcard incorrectly required matching at least one path component (#1988)
  • Fixed issue where completion handler could be called unexpectedly when setting up animation (#1994)
  • Added LottieAnimationView.allHierarchyKeypaths() to get list of animation keypaths at runtime (#2004)
  • Added a warning when playing animation that uses unsupported After Effects expressions (#2006)
  • Added LottieAnimationView.maskAnimationToBounds configuration option (#2008)
  • Trim whitespaces and newlines before decoding base 64 string to image (#2016)
  • Added support for configuring LottieBackgroundBehavior to Objective-C CompatibleAnimationView (#2027)
  • Fixed issue where Trim could be applied to too many shape items (#2041)
  • Set animationLayer to nil when removing oldAnimation (#2035)
  • Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (#2049)
  • Fixed issue where calling setValueProvider would reset animation progress (#2052)
  • Fixed issue where trim offset could be calculated incorrectly (#2053)

Full Changelog: 4.1.3...4.2.0