Skip to content

Releases: airbnb/lottie-android

6.6.0

27 Oct 21:24
Compare
Choose a tag to compare

New Features

  • Overhauled drop shadow support for even better correctness (#2548)
    • Major thanks to David Davidović (who works at Lottielab) for his contributions here.
    • Adds a new API: applyShadowsToLayers which will apply shadows to a whole layer rather than an individual shape.
    • Use RenderNodes on APIs that support it.
    • Lays a foundation that can potentially add RenderNode support to existing mattes and masks.
    • Fixed a number of existing correctness issues
  • Add an overload to LottieCompositionFactory.clearCache that clears the network cache (#2559)

Bugs Fixed

  • Fix rounded corners when the underlying shape doesn't animate (#2567)
  • Fix animation update listener order to be called after the internal frame has updated (#2497)
  • Unify all parsing to more reliably handle all file types including dotLottie as ZIP files (#2558)
  • Fix keypath resolving for matte layers (#2544)
  • Apply translate before scale in LottieDrawable (#2565)

6.5.2

09 Sep 17:58
Compare
Choose a tag to compare

Bugs Fixed

  • Fix a NPE when running Lottie in instrumentation tests (#2546)
  • Add support for new reduced motion options in Compose (#2542)
  • [Compose] Add support for new reduced motion settings (#2543)

6.5.1

09 Sep 17:58
Compare
Choose a tag to compare

Bugs Fixed

  • Fix value callback is not called for PathKeyframeAnimation (#2540)
  • Fix shadow softness accuracy (#2541)
  • Add a global configuration to control reduced motion settings for a11y (#2536)
  • Fix a NPE on ImageAssetManager#getContext (#2532)
  • Improve strokes with skew (#2531)
  • LottieCompositionFactory: Avoid NPE when animation contains a Font Family and Context is null (#2530)
  • LottieCompositionFactory: Add factory methods that take an okio Source (#2527)
  • LottieCompositionFactory#fromZipStreamSyncInternal close FileOutputStream (#2548)

6.5.0

04 Aug 04:06
Compare
Choose a tag to compare

New Features

  • Apply blend modes to layers and add Multiply (#2519)
  • Add initial support for text range selectors (#2518)
  • Add a new feature flag API to allow for opting into newer platform features (#2512)
  • Add an API to get the unscaled width/height of a composition (#2514)

Bugs Fixes

  • Improve the accuracy of drop shadow position and softness (#2523)
  • Treat appcompat as an API dependency (#2507)

6.4.0

04 Mar 03:38
Compare
Choose a tag to compare

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: v6.3.0...v6.4.0

6.3.0

30 Dec 01:54
Compare
Choose a tag to compare

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)

6.2.0

19 Nov 01:32
Compare
Choose a tag to compare

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)

6.1.0

16 Jul 19:20
Compare
Choose a tag to compare

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)

6.0.1

20 Jun 14:48
Compare
Choose a tag to compare

Bugs Fixes

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

6.0.0

14 Feb 16:46
Compare
Choose a tag to compare

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)