Swiftpack.co - Swift Packages by airbnb

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by airbnb

airbnb/lottie-ios 4.4.3
An iOS library to natively render After Effects vector animations
⭐️ 25,138
🕓 1 week ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.4.3
1 week ago
### Bug fixes in 4.4.3 * Fix issue where animation size could be incorrect after loading async animation (https://github.com/airbnb/lottie-ios/pull/2379) * Update NSPrivacyAccessedAPITypeReasons in privacy manifest (https://github.com/airbnb/lottie-ios/pull/2380) * Include animation duration when computing cost/complexity of Core Animation time remapping (https://github.com/airbnb/lottie-ios/pull/2381) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.2...4.4.3
4.4.2
2 weeks ago
### Changes in 4.4.2 * Update minimum deployment target to iOS 13.0 / macOS 10.15 (https://github.com/airbnb/lottie-ios/pull/2322) * Add privacy manifest to lottie-spm repo (https://github.com/airbnb/lottie-spm/pull/23) * Add visionOS support to Cocoapods podspec (https://github.com/airbnb/lottie-ios/pull/2348) * Fix incorrect usage of `State(initialValue:)` in `LottieView` (https://github.com/airbnb/lottie-ios/pull/2357) * Use correct version number when building XCFramework bundle (https://github.com/airbnb/lottie-ios/pull/2341) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.1...4.4.2
4.4.1
8 weeks ago
### Bug fixes in 4.4.1 * Replace os check with canImport so classes are available on visionOS (https://github.com/airbnb/lottie-ios/pull/2294) * Omit privacy manifest from source files in podspec (https://github.com/airbnb/lottie-ios/pull/2307) * Fix crash in Main Thread rendering engine path interpolation implementation (https://github.com/airbnb/lottie-ios/pull/2305) * Fix warning from invalid character in Cocoapods resource bundle identifier (https://github.com/airbnb/lottie-ios/pull/2317) * Fix infinite loop when setting `LottieAnimationView.viewportFrame` (https://github.com/airbnb/lottie-ios/pull/2316) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.0...4.4.1
4.4.0
13 weeks ago
## New features * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) ## Bug fixes * Update LottieView to display placeholder using `overlay` instead of `ZStack` (https://github.com/airbnb/lottie-ios/pull/2289) * Fix issue where Core Animation rendering engine couldn't display last frame of animation when paused (https://github.com/airbnb/lottie-ios/pull/2254) * Do not create `DotLottieImageProvider` instance if there's no image files (https://github.com/airbnb/lottie-ios/pull/2271) * Mark DotLottieCache as Sendable (https://github.com/airbnb/lottie-ios/pull/2245) * Fix issue where AnimationKeypath in SolidLayer could be incorrect (https://github.com/airbnb/lottie-ios/pull/2278) * Fix issue where Repeater could be displayed incorrectly (https://github.com/airbnb/lottie-ios/pull/2276) * Include dSYMs in xcframework build (https://github.com/airbnb/lottie-ios/pull/2284) * Fix parsing issue, add support for DotLottieConfiguration in SwiftUI LottieView (https://github.com/airbnb/lottie-ios/pull/2277) * Fix issue where DotLottieImageProvider didn't handle base64 images (https://github.com/airbnb/lottie-ios/pull/2283) * Fix issue where manually interpolated keyframes could animate incorrectly (https://github.com/airbnb/lottie-ios/pull/2285) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.4...4.4.0
4.3.4
20 weeks ago
## What's Changed * Fix parsing regression in 4.3.0 from addition of parsing layer effects by @calda in https://github.com/airbnb/lottie-ios/pull/2208 * Remove old animation layer when creating a new animation layer by @junjielu in https://github.com/airbnb/lottie-ios/pull/2214 * Add configuration setting to remove animated bounds changes by @thedrick in https://github.com/airbnb/lottie-ios/pull/2218 * Change pod dependencies `SwiftUI` and `Combine` to `weak` to ensure compatibility with iOS 12 by @florianrhein in https://github.com/airbnb/lottie-ios/pull/2219 * Fix issue where Repeater would be ignored if not at top level by @calda in https://github.com/airbnb/lottie-ios/pull/2221 * Replace `UIScreen.main` to get display scale on iOS 13.0 and later (#2215) by @hyun99999 in https://github.com/airbnb/lottie-ios/pull/2216 * Dispatch dot lottie file loading onto a single serial queue by @erichoracek in https://github.com/airbnb/lottie-ios/pull/2229 * Clean up unused property in InvertedMatteLayer by @hanton in https://github.com/airbnb/lottie-ios/pull/2241 * Fix issue where LottieView animation would restart from beginning after backgrounding app by @calda in https://github.com/airbnb/lottie-ios/pull/2237 **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.3...4.3.4
4.3.3
29 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/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: https://github.com/airbnb/lottie-ios/issues/2200 ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.2
30 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** ## Lottie 4.3.2 Lottie 4.3.2 redesigns the `LottiePlaybackMode` playback APIs that were introduced in Lottie 4.3.0. ### Before ```swift // 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 ```swift // 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` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.1
30 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.1 fixes a small regression introduced by 4.3.0: https://github.com/airbnb/lottie-ios/issues/2193 ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.0
31 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.2.0
51 weeks ago
> **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](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2047) * Updated minimum macOS version to 10.11 (https://github.com/airbnb/lottie-ios/pull/2050) * Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964) * Improved dotLottie error handling (https://github.com/airbnb/lottie-ios/pull/1969) * Added support for loading DotLottieFile by name and filename synchronously (https://github.com/airbnb/lottie-ios/pull/1968) * Updated ZIPFoundation to 0.9.16 to resolve `dataCorrupted` errors (https://github.com/airbnb/lottie-ios/pull/1978) * Fixed issue where `**` wildcard incorrectly required matching at least one path component (https://github.com/airbnb/lottie-ios/pull/1988) * Fixed issue where completion handler could be called unexpectedly when setting up animation (https://github.com/airbnb/lottie-ios/pull/1994) * Added `LottieAnimationView.allHierarchyKeypaths()` to get list of animation keypaths at runtime (https://github.com/airbnb/lottie-ios/pull/2004) * Added a warning when playing animation that uses unsupported After Effects expressions (https://github.com/airbnb/lottie-ios/pull/2006) * Added `LottieAnimationView.maskAnimationToBounds` configuration option (https://github.com/airbnb/lottie-ios/pull/2008) * Trim whitespaces and newlines before decoding base 64 string to image (https://github.com/airbnb/lottie-ios/pull/2016) * Added support for configuring `LottieBackgroundBehavior` to Objective-C `CompatibleAnimationView` (https://github.com/airbnb/lottie-ios/pull/2027) * Fixed issue where Trim could be applied to too many shape items (https://github.com/airbnb/lottie-ios/pull/2041) * Set animationLayer to nil when removing oldAnimation (https://github.com/airbnb/lottie-ios/pull/2035) * Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/2049) * Fixed issue where calling `setValueProvider` would reset animation progress (https://github.com/airbnb/lottie-ios/pull/2052) * Fixed issue where trim offset could be calculated incorrectly (https://github.com/airbnb/lottie-ios/pull/2053) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.1.3...4.2.0
iOS macOS tvOS
airbnb/MagazineLayout v1.7.0
A collection view layout capable of laying out views in vertically scrolling grids and lists.
⭐️ 3,243
🕓 18 weeks ago
iOS tvOS
airbnb/HorizonCalendar v2.0.0
A declarative, performant, iOS calendar UI component that supports use cases ranging from simple date pickers all the way up to fully-featured calendar apps.
⭐️ 2,676
🕓 18 weeks ago
iOS
airbnb/epoxy-ios 0.10.0
Epoxy is a suite of declarative UI APIs for building UIKit applications in Swift
⭐️ 1,153
🕓 41 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
0.10.0
41 weeks ago
### Changed - Dropped support for Swift 5.4. - EpoxyCore now supports macOS and tvOS. - Renamed EpoxyCore's `SwiftUIUIView` to `SwiftUIView`. - Renamed EpoxyCore's `MeasuringUIViewRepresentable` to `MeasuringViewRepresentable`. - Added `UIScrollView.keyboardAdjustsBottomBarOffset` escape hatch to disable bottom bar keyboard avoidance for cases where the keyboard is avoided at a higher level (e.g. a `UIPresentationController` subclass). - Added `configuredView(traitCollection:)` API to `SupplementaryItemModeling`. - Changed `NavigationModel`'s `remove()` method access modifier to public (previously internal). - Changed `NavigationModel`'s `handleDidRemove()` method access modifier to public (previously internal). ### Fixed - For top and bottom bars, if any view in the hierarchy has a scale transform, wait to apply the insets as they may be incorrect. - Pass initial size to embedded view from `CollectionViewCell`/`CollectionViewReusableView` to better load embedded SwiftUI views. - Guard against a UIKit crash caused by attempting to scroll to an item that no longer exists.
0.9.0
1 year ago
### Changed - Remove all of the `EpoxyableView` flavors of `MeasuringUIViewRepresentable` in favor of a single shared `SwiftUIUIView` that supports a generic `Storage`, which has the added benefit of fixing some Xcode preview crashes. ### Fixed - Improved double layout pass heuristics for views that have intrinsic size dimensions below 1 or for views that have double layout pass subviews that aren't horizontally constrained to the edges. - Fixed `HGroupItem` and `VGroupItem` not respecting some properties of the style that is passed in. - Improved sizing of intrinsically sized `UIView`s in SwiftUI with no intrinsic metric size proposals. - Add extra logic for mitigating proposed sizes that match previous intrinsic size for hosted `UIView`s in SwiftUI.
0.8.0
1 year ago
### Added - Added `SwiftUIMeasurementContainer` for calculating the ideal height of a `UIView` for wrapping for SwiftUI usage. - Added `MeasuringUIViewRepresentable` as a convenience API for measuring a `UIView` within a `UIViewRepresentable` using an enclosing `SwiftUIMeasurementContainer`. - Added a method to `CollectionViewReorderingDelegate` to check the reordering destination is expected. - Added the ability to pass a `CollectionViewConfiguration` to the `CollectionViewController` initializers. - Added additional sizing behaviors to `SwiftUIMeasurementContainer` for sizing `UIView`s hosted in a SwiftUI `View`. - Added a static `swiftUIView(…)` method to `UIView` for hosting UIKit views that aren't `EpoxyableView`s while still leveraging the layout helpers. - Added support for calling `configure { _ in }` on the SwiftUI `View` resulting from a `swiftUIView(…)` invocation to perform additional configuration of the `UIView` instance. - Added `LayoutGroupUpdateAnimation` for customizing `Group` animated updates. - Added support for `WillDisplay` callbacks to be added to type-erased `AnyBarModel` types. ### Fixed - Fixed sizing of reused `EpoxySwiftUIHostingController`s on iOS 15.2+. - Fixed crash in `ScrollToItemHelper` caused by `preferredFrameRateRanges` on devices running iOS 15.0 (this issue is not present in devices on 15.1+) - Fixed an ambiguous layout issue when using `LayoutSpacer` without a `fixedWidth` or `fixedHeight`. - Gracefully support cases where a `SwiftUIMeasurementContainer` with an `intrinsicSize` `SwiftUIMeasurementContainerStrategy` has an intrinsic size that exceeds the proposed size by compressing rather than overflowing, which could result in broken layouts. - Fixed intrinsic size invalidation triggered by a SwiftUI view from within a collection view cell by invalidating the enclosing collection view layout. - Fixed an issue where `EpoxyLogger.shared.assertionFailure` and `EpoxyLogger.shared.assert` would unexpectedly crash in release builds. ### Changed - Updated name of `Spacer` to `LayoutSpacer` to avoid name conflict with SwiftUI's `Spacer` - Updated to have Swift 5.4 as the minimum supported Swift version (previously Swift 5.3). - Updated `HGroupView` and `VGroupView` to have `insetsLayoutMarginsFromSafeArea = false` by default - Gated an old autoresizing-mask-related bug workaround to only run on iOS versions 13 and below - The `swiftUIView(…)` methods now default to an automatic sizing behavior that makes a best effort at sizing the view based on heuristics, rather than defaulting to intrinsic height and proposed width.
0.7.0
2 years ago
### Added - Added a weak reference from `TopBarContainer` / `BottomBarContainer` to their parent bar installer - Added a `BarInstallerConfiguration` type to allow both global and per-instance configuration of bar installers. - Added an `applyBars` closure to `BarInstallerConfiguration` to allow consumers to configure _when_ bars are applied to the underlying `BarContainer` by a bar installer, e.g. to defer bar model updates that might conflict with an in-flight shared element transition. - Support for hitting 120 FPS on iPhone ProMotion displays when programmatically scrolling to an item in a collection view. - Added `itemModel(…)`, `barModel(…)` methods to host a SwiftUI `View` within an Epoxy container and the `swiftUIView(…)` method to host an `EpoxyableView` within a SwiftUI `View` - Added a SwiftUI environment value for requesting size invalidation of the containing Epoxy collection view cell. ### Fixed - Fixes an issue that could cause `CollectionView` scroll animation frames to have an incorrect content offset when paired with a non-zero `adjustedContentInset`. - Fixes an issue that could cause `VGroupView` and `HGroupView` to grow too tall when nested in containers that give them a larger height than their natural height. - Fixes a bug in the `KeyboardPositionWatcher` that would consider an even slightly offscreen view as having a keyboard overlap when the keyboard is dismissed, resulting in incorrect keyboard offsets. - Fixes an issue when mutating state synchronously does not pick up the current SwiftUI transaction. - Fixes a bug where the `avoidsKeyboard` parameter would be disregarded in a `BottomBarInstaller` initializer. ### Changed - Removed the default bar installer behavior where bar model updates were deferred while a view controller transition is in progress.
0.6.0
2 years ago
### Added - Added an `insetMargins` property to `TopBarContainer` and `BottomBarContainer` that configures whether or not the container sets layout margins derived from the `safeAreaInsets` of its `viewController`. ### Fixed - Fixed incorrect assertion logging when accessing an item with an invalid index path. - Mitigated a `EXC_BAD_ACCESS` crash that caused by a bad `nonnull` bridge in `CollectionViewCell`. - Fixed an issue where styles were not being used in the `diffIdentifier` calculation of `GroupItems`. ### Changed - The `SectionModel` initializer now requires a `dataID` to make it harder to have sections with duplicate identity that causes a runtime warning and potentially unexpected diffing behavior.
0.5.0
2 years ago
### Added - Added an `UpdateStrategy` to `CollectionView` to allow specifying that it should update using non- animated `performBatchUpdates(…)`, which can be more performant and behave more predictably than `reloadData()`. - Added `reflowsForAccessibilityTypeSizes` and `forceVerticalAccessibilityLayout` properties to `HGroup.Style`. ### Fixed - Improved `CollectionView` logic for deciding when to `reloadData(…)` over `performBatchUpdates(…)` in specific scenarios. - Fixed an issue where the `accessibilityAlignment` property of `HGroup` was not being respected. - Fixed an issue where `accessibilityAlignment` and `horizontalAlignment` would overwrite one another - Break a temporary retain cycle in `.system` presentation style ### Changed - `CollectionViewConfiguration.usesBatchUpdatesForAllReloads` now defaults to `true`. - Changed `CollectionViewConfiguration` from an immutable `class` to a `struct` to make it easier to modify an existing configuration.
0.4.0
2 years ago
### Added - Added an example with text field to show how can we use `avoidsKeyboard` feature - Add EpoxyLayoutGroups, a declarative API for creating components ### Fixed - `AnyItemModel` is selectable when there are no `DidSelect` callbacks on the underlying model
0.3.0
3 years ago
### Added - Added support for `Array` and `Optional` expressions to model result builders - Added support for `Optional` expressions to `PresentationModel` result builders - Made `AnyItemModel` and `AnySupplementaryItemModel` conform to `DidChangeStateProviding`, `DidChangeStateProviding` and `SetBehaviorsProviding` - Made `AnyItemModel`, `AnySupplementaryItemModel`, and `AnyBarModel` conform to `StyleIDProviding` - Adds a `keyboardContentInsetAdjustment` property to `UIScrollView` with the amount that the that its `contentInset.bottom` has been adjusted to accommodate for the keyboard by a `KeyboardPositionWatcher` - Made `ItemSelectionStyle` conform to `Hashable` - `ReuseIDStore` has a new method to vend a previously registered reuse ID, `registeredReuseID(for:)` ### Fixed - Bar installers gracefully handle redundant calls to install/uninstall - `CollectionView` more gracefully handles styleID mutations after registration ### Changed - `ReuseIDStore.registerReuseID(for:)` has been renamed to `ReuseIDStore.reuseID(byRegistering:)`
0.2.0
3 years ago
### Added - Added result builders for `SectionModel`, `ItemModel`, `BarModel`, `PresentationModel`, and `NavigationModel` - Added initializers and methods to `CollectionViewController` that take an array of `ItemModel`s and transparently wrap them in a `SectionModel` for consumers. ### Changed - Updated public let properties of public structs with memberwise initializers to be public var - `BarStackView` now handles selection of bar models and can be used as an `EpoxyableView` - The cases of `BarStackView.ZOrder` have been renamed to be more semantically accurate - Enables `CollectionView` prefetching by default, as the issues preventing it from being enabled by default are now resolved in recent iOS versions - Support animated moves in `BarStackView` - Fixed ordering when inserting and removing bar models - Crossfade between bars of the same view type with different style IDs in `BarStackView`
iOS
airbnb/ResilientDecoding 1.1.0
This package makes your Decodable types resilient to decoding errors and allows you to inspect those errors.
⭐️ 582
🕓 23 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1.1.0
3 years ago
- Simplified error reporting - Fixed a bug with URL decoding - Enabled custom types to report errors via `ResilientDecodingErrorReporter`
1.0
3 years ago
# Resilient Decoding hits 1.0! ### API-breaking changes: * `flushReportedErrors()` now vends an `ErrorDigest` instead of `[Error]`. ### Added functionality: * `ErrorDigest` can be used to pretty-print reported errors _after_ checking whether any errors were encountered. * `Resilient` properties now provide an `outcome` via the projected value (`$property.outcome`) which is similar to `$property.error` but also communicates non-error events, like a missing key for an optional value. * `Resilient` can now be applied to `Dictionary`, which behaves similarly to `Array` (elements are omitted as errors are encountered)
iOS macOS watchOS tvOS
airbnb/lottie-spm 4.4.3
Swift Package Manager support for Lottie, an iOS library to natively render After Effects vector animations
⭐️ 108
🕓 1 week ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.4.3
1 week ago
### Bug fixes in 4.4.3 * Fix issue where animation size could be incorrect after loading async animation (https://github.com/airbnb/lottie-ios/pull/2379) * Update NSPrivacyAccessedAPITypeReasons in privacy manifest (https://github.com/airbnb/lottie-ios/pull/2380) * Include animation duration when computing cost/complexity of Core Animation time remapping (https://github.com/airbnb/lottie-ios/pull/2381) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.2...4.4.3
4.4.2
2 weeks ago
### Changes in 4.4.2 * Update minimum deployment target to iOS 13.0 / macOS 10.15 (https://github.com/airbnb/lottie-ios/pull/2322) * Add privacy manifest to lottie-spm repo (https://github.com/airbnb/lottie-spm/pull/23) * Add visionOS support to Cocoapods podspec (https://github.com/airbnb/lottie-ios/pull/2348) * Fix incorrect usage of `State(initialValue:)` in `LottieView` (https://github.com/airbnb/lottie-ios/pull/2357) * Use correct version number when building XCFramework bundle (https://github.com/airbnb/lottie-ios/pull/2341) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.1...4.4.2
4.4.1
8 weeks ago
### Bug fixes in 4.4.1 * Replace os check with canImport so classes are available on visionOS (https://github.com/airbnb/lottie-ios/pull/2294) * Omit privacy manifest from source files in podspec (https://github.com/airbnb/lottie-ios/pull/2307) * Fix crash in Main Thread rendering engine path interpolation implementation (https://github.com/airbnb/lottie-ios/pull/2305) * Fix warning from invalid character in Cocoapods resource bundle identifier (https://github.com/airbnb/lottie-ios/pull/2317) * Fix infinite loop when setting `LottieAnimationView.viewportFrame` (https://github.com/airbnb/lottie-ios/pull/2316) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.0...4.4.1
4.4.0
13 weeks ago
## New features * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) ## Bug fixes * Update LottieView to display placeholder using `overlay` instead of `ZStack` (https://github.com/airbnb/lottie-ios/pull/2289) * Fix issue where Core Animation rendering engine couldn't display last frame of animation when paused (https://github.com/airbnb/lottie-ios/pull/2254) * Do not create `DotLottieImageProvider` instance if there's no image files (https://github.com/airbnb/lottie-ios/pull/2271) * Mark DotLottieCache as Sendable (https://github.com/airbnb/lottie-ios/pull/2245) * Fix issue where AnimationKeypath in SolidLayer could be incorrect (https://github.com/airbnb/lottie-ios/pull/2278) * Fix issue where Repeater could be displayed incorrectly (https://github.com/airbnb/lottie-ios/pull/2276) * Include dSYMs in xcframework build (https://github.com/airbnb/lottie-ios/pull/2284) * Fix parsing issue, add support for DotLottieConfiguration in SwiftUI LottieView (https://github.com/airbnb/lottie-ios/pull/2277) * Fix issue where DotLottieImageProvider didn't handle base64 images (https://github.com/airbnb/lottie-ios/pull/2283) * Fix issue where manually interpolated keyframes could animate incorrectly (https://github.com/airbnb/lottie-ios/pull/2285) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.4...4.4.0
4.3.4
20 weeks ago
## What's Changed * Fix parsing regression in 4.3.0 from addition of parsing layer effects by @calda in https://github.com/airbnb/lottie-ios/pull/2208 * Remove old animation layer when creating a new animation layer by @junjielu in https://github.com/airbnb/lottie-ios/pull/2214 * Add configuration setting to remove animated bounds changes by @thedrick in https://github.com/airbnb/lottie-ios/pull/2218 * Change pod dependencies `SwiftUI` and `Combine` to `weak` to ensure compatibility with iOS 12 by @florianrhein in https://github.com/airbnb/lottie-ios/pull/2219 * Fix issue where Repeater would be ignored if not at top level by @calda in https://github.com/airbnb/lottie-ios/pull/2221 * Replace `UIScreen.main` to get display scale on iOS 13.0 and later (#2215) by @hyun99999 in https://github.com/airbnb/lottie-ios/pull/2216 * Dispatch dot lottie file loading onto a single serial queue by @erichoracek in https://github.com/airbnb/lottie-ios/pull/2229 * Clean up unused property in InvertedMatteLayer by @hanton in https://github.com/airbnb/lottie-ios/pull/2241 * Fix issue where LottieView animation would restart from beginning after backgrounding app by @calda in https://github.com/airbnb/lottie-ios/pull/2237 **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.3...4.3.4
4.3.3
29 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/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: https://github.com/airbnb/lottie-ios/issues/2200 ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.2
30 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** ## Lottie 4.3.2 Lottie 4.3.2 redesigns the `LottiePlaybackMode` playback APIs that were introduced in Lottie 4.3.0. ### Before ```swift // 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 ```swift // 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` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.1
30 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.1 fixes a small regression introduced by 4.3.0: https://github.com/airbnb/lottie-ios/issues/2193 ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.0
31 weeks ago
**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](https://github.com/airbnb/lottie-ios/discussions/2189)** ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.2.0
51 weeks ago
> **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](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2047) * Updateed minimum macOS version to 10.11 (https://github.com/airbnb/lottie-ios/pull/2050) * Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964) * Improved dotLottie error handling (https://github.com/airbnb/lottie-ios/pull/1969) * Added support for loading DotLottieFile by name and filename synchronously (https://github.com/airbnb/lottie-ios/pull/1968) * Updated ZIPFoundation to 0.9.16 to resolve `dataCorrupted` errors (https://github.com/airbnb/lottie-ios/pull/1978) * Fixed issue where `**` wildcard incorrectly required matching at least one path component (https://github.com/airbnb/lottie-ios/pull/1988) * Fixed issue where completion handler could be called unexpectedly when setting up animation (https://github.com/airbnb/lottie-ios/pull/1994) * Added `LottieAnimationView.allHierarchyKeypaths()` to get list of animation keypaths at runtime (https://github.com/airbnb/lottie-ios/pull/2004) * Added a warning when playing animation that uses unsupported After Effects expressions (https://github.com/airbnb/lottie-ios/pull/2006) * Added `LottieAnimationView.maskAnimationToBounds` configuration option (https://github.com/airbnb/lottie-ios/pull/2008) * Trim whitespaces and newlines before decoding base 64 string to image (https://github.com/airbnb/lottie-ios/pull/2016) * Added support for configuring `LottieBackgroundBehavior` to Objective-C `CompatibleAnimationView` (https://github.com/airbnb/lottie-ios/pull/2027) * Fixed issue where Trim could be applied to too many shape items (https://github.com/airbnb/lottie-ios/pull/2041) * Set animationLayer to nil when removing oldAnimation (https://github.com/airbnb/lottie-ios/pull/2035) * Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/2049) * Fixed issue where calling `setValueProvider` would reset animation progress (https://github.com/airbnb/lottie-ios/pull/2052) * Fixed issue where trim offset could be calculated incorrectly (https://github.com/airbnb/lottie-ios/pull/2053) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.1.3...4.2.0
iOS macOS tvOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics