Lottie Android Versions Save

Render After Effects animations natively on Android and iOS, Web, and React Native

v6.4.0

1 month ago

New Features

  • Add support for reduced motion marker names (#2451)
  • Support GZIP and TGS network downloads (#2454)

Bugs Fixed

  • Allow easings to go <0 and >1 (#2457)
  • Fix a memory leak in LottieTask (#2465)
  • Prevent play from working after a non-Lottie drawable was set and then returned back (#2468)
  • Respect autoPlay in LottieAnimationView when setting a new composition (#2469)
  • Call LottieTask synchronously when already on the main thread (#2470)
  • Properly rescale bitmaps when the system scale changes (#2475)

Compose

  • Add safe mode (#2455)
  • Clarify clipToCompositionBounds docs (#2473)

New Contributors

Full Changelog: https://github.com/airbnb/lottie-android/compare/v6.3.0...v6.4.0

v6.3.0

4 months ago

New Features

  • [Compose] Add LottiePainter and rememberLottiePainter to use Lottie anywhere a Painter can be used (#2442)
  • [Compose] Constrain unconstrainted bounds when the other dimension is constrained (#2437)
  • Add support dynamic path properties on shape contents (#2439)
  • Add support for gzipped and tgs files (#2435)
  • Add an option to clip text if it extends beyond its bounding box (#2412)

Bugs Fixes

  • Make all LottieAnimationView setters idempotent (#2441)
  • Fix a rendering artifact for polygons with large strokes (#2440)
  • Re-scale bitmaps if the system scale changes (#2438)
  • Handle null color callbacks in solid layer (#2434)
  • Handle null shape data end values (#2433)
  • Fix gradient colors when the progress is <0 or > 1 (#2427)

v6.2.0

5 months ago

New Features

  • Implement screen, overlay, darken, lighten, and add blend modes (#2408)
  • Implement auto-orient (#2416)
  • Allow globally configuring asyncUpdates (#2356)
  • Add an optional close param to LottieCompositionFactory.fromJsonReader (#2342)
  • Allow dynamic properties for solid layer colors (#2378)
  • Update baseline profiles (#2404)
  • Add a ZipInputStream overload to LottieAnimationView.setAnimation (#2411)

Bugs Fixed

  • Upgrade okio (#2418)
  • Improve cache hits for synchronous LottieCompositionFactory methods (#2379)
  • Fix gradient interpolation for opacity stops beyond the last color stop (#2377)
  • Fix Potential NPE In NetworkCache.clearCache (#2364)
  • Fix an IllegalArgumentException when creating a bitmap (#2351)
  • Fix rounded corners for non-closed paths (#2405)
  • Fix varying opacity stops across keyframes in the same gradient (#2406)
  • Fix a NullPointerException in ColorKeyframeAnimation (#2407)

v6.1.0

9 months ago

New Features

  • New multithreaded asyncUpdates feature which moves the entire update phase of an animation off of the main thread. For more information, refer to this blog post. (#2276)
  • Allow LottieCompositionFactory to not close input streams (#2286 and #2319)
  • Allow Lottie to be initialized multiple times (#2323)

Bugs Fixed

  • Close input streams for cache hits (#2253)
  • Always use ApplicationContext in ImageAssetManager to ensure it can be reused (#2289)
  • Hold weak references to success/failure listeners (#2293)
  • Add default values for line join and cap types (#2337)
  • Apply layer parent opacity to text (#2336)

Compose

  • Key dynamic properties on composition to ensure that they are set if the composition changes (#2290)
  • Add @JvmOverloads to LottieAnimation to improve binary compatibility (#2320)

v6.0.1

10 months ago

Bugs Fixes

  • Allow loading URLs with a length of greater than 255 chars (#2311)

v6.0.0

1 year ago

New Features

  • Major overhaul of text layout. Text layout should be more consistent across the board (#2162)
  • Allow animations in zip files to contain embedded base64 encoded images (#2110)
  • Allow zip files to contain embedded fonts. Context was added to some LottieCompositionFactory APIs to support this (#2102)
  • Add fontStyle and fontName as parameters in new overloads in FontAssetDelegate (#2103)
  • Allow decimal values for precomp size (#2138)
  • Allow interpolating in between gradients that have different numbers of opacity stops (#2160)
  • Support box position in document data (#2139)
  • Allow repeater contents to be the target of dynamic properties (#2164)
  • Provide a global LottieTask listener to aid in Espresso idle resources (#2161)
  • Allow setting a default font extension (#2166)
  • Add an option to completely disable Lottie's network cache (#2158)
  • Allow setting a font map for custom fonts (#2180)
  • Allow ImageAssetDelegate to be used when a drawable doesn't have a callback (#2183)
  • Make Layer name and refId public (#2188)
  • Allow rendering at the composition frame rate (#2184)

Bugs Fixed

  • Fixed an NPE when decoding an invalid bitmap and for transform opacity, and transform anchor position (#2117, #2179, and #2197)
  • Only store application context in ImageAssetManager (#2163)
  • Prevent rounded corner effects from trying to round a shape that has control points on its vertices already (#2165)
  • Pass LottieComposition directly while building layers to avoid race conditions (#2167)
  • Allow progress to be restored from saved state (#2072)
  • Take top and left Drawable bounds into account to support things like SeekBar thumbs (#2182)
  • Use the correct cache key for network animations (#2198)

Compose

  • Add reverseOnRepeat (#2128)
  • Allow setting a font map for custom fonts (#2180)
  • Allow images to be rendered (#2183)

v5.2.0

1 year ago

Compose Breaking Change LottieAnimation now takes progress as a () -> Float rather than a Float. This allows Lottie to redraw without triggering a recomposition every time progress updates. For more information, refer to the Compose phase docs. The existing API will exist as deprecated for one more release but will then be removed. For the vast majority of use cases:

LottieAnimation(composition, progress)

will become:

LottieAnimation(composition, { progress })

or

LottieAnimation(
  composition = composition,
  progress = { progress }
)

#2078.

Bugs Fixed

  • De-dupe gradient stops. On pre-Oreo devices, if you had color and opacity stops in the same place and used hardware acceleration, you may have seen artifacts at the stop positions as of 5.1.1 #20814

v5.1.1

2 years ago

5.1.1

New Features

  • Added support for gradient opacity stops at different points than color stops (#2062)
  • Allow notifying LottieDrawable that system animations are disabled (#2063)

Bugs Fixed

  • Removed some rounding errors that occurred when setting min/max frames (#2064)
  • Clear onVisibleAction one it is consumed (#2066)
  • Fixed a Xiaomi Android 10 specific crash (#2061)
  • Made LottieAnimationView.start() mimic playAnimation (#2056)
  • Remove @RestrictTo from LottieNetworkFetcher (#2049)

v5.0.3

2 years ago

Bugs Fixed

  • Invalidate the software renering bitmap when invalidate is called (#2034)

v5.0.2

2 years ago

Bugs Fixed

  • Prevent a crash when using software rendering before a composition has been set (#2025)