Skip to content

Releases: airbnb/lottie-android

3.4.1

28 Aug 22:31
Compare
Choose a tag to compare

Feature and Improvements

  • Added a KeyPath.COMPOSITION constant to set dynamic properties on the animation's root composition layer (#1559).
  • A default style can now be set for all AnimationViews with lottieAnimationViewStyle (#1524).

3.4.0

22 Feb 18:57
Compare
Choose a tag to compare

Features and Improvements

  • Added optional cache key parameters to url loading to enable skipping the cache.
  • Added the ability to clear the Lottie cache via LottieCompositionFactory.clearCache().

Bugs Fixed

  • Properly pass in progress to ValueCallbacks.
  • Clear existing ValueCallbacks if new ones overwrite old ones.
  • Clip interpolators that might loop back on themself to render something very close rather than crashing.
  • Fix time stretch + time remap when there is a start offset.
  • Ensure that the first frame is rendered when a new composition is set even if it is not yet playing.
  • Properly render Telegram stickers that use [0,1] for color but [0,255] for alpha.
  • Ensure that LottieDrawable has the correct bounds when the composition updates before Marshmallow.
  • Fully clear off screen buffers pre-pie to prevent artifacts.
  • Play, not resume animations if they are played while not shown.

3.3.0

02 Dec 18:05
Compare
Choose a tag to compare

Features and Improvements

  • Added a safeMode API that wraps draw with a try/catch. Can be used for problematic devices
    #1449.
  • Add support for mask mode none.

Bugs Fixed

  • Improve the performance of setProgress, particularly for animations with many non-animated
    properties.
  • Fix a bug where animations may not resume on reattach if their state was saved after they were
    detached.

3.2.0

13 Nov 17:58
Compare
Choose a tag to compare

Feature and Improvements

  • Added support for FIT_XY scale type.

Bugs Fixed

  • Improved testability while system animations are disabled.

3.1.0

15 Oct 14:28
2786b1d
Compare
Choose a tag to compare

Features and Improvements

  • Breaking Change Replace JsonReader parsing APIs with InputStream variants to prevent
    exposing Lottie's copy of Moshi's json parser.
  • Add the ability to catch all Lottie composition errors with setFailureListener and
    resetFailureListener (#1321).
  • Add the ability to set a fallback drawable res when Lottie fails to parse a composition or
    load it from the internet. Use setFallbackResource from code orlottie_fallbackRes from xml.
  • Add the ability to render opacity on the layer level rather than the shape level. View the docs
    for setApplyingOpacityToLayersEnabled for more info.
  • Add the ability to use dynamic properties on text that wasn't already animated.
  • Minor performance optimization when interpolating between colors.

Bugs Fixed

  • Fix the renderMode attribute from getting overwritten.
  • Prevent masks from either clipping edges or having thin borders pre-Pie.
  • Apply animation scale to dash pattern offsets.
  • Apply animation scale to gradient strokes.
  • Fuzzy match content types when downloading animations from the internet.
  • Prevent a StackOverflowException on KitKat.
  • Prevent resume() from resuming when system animations are disabled.
  • Prevent removeAllUpdateListeners() from removing internally used listeners.
  • Fix some time remap calculations.

3.0.1

26 Apr 00:32
Compare
Choose a tag to compare

Bugs Fixed

  • Fixed an edge case that would resume an animation when it is not shown.
  • Disable animations when the system animation scale is 0.
  • Fall back to hardware rendering when the animation is too large to create a drawing cache.

3.0.0

26 Apr 00:31
Compare
Choose a tag to compare

Features and Improvements

  • Significant mask and matte performance improvements by only calling saveLayer() on the intersection bounds of the content and mask/matte.
  • Added support for dynamic properties on rectangles, gradient colors, and gradient fill opacity.
  • Added support for inverted and intersect masks.
  • Improved support for multiple masks per layer.
  • Added support for optimized bodymovin json with static transforms removed (v5.5.0+).
  • Added support for optimized bodymovin json that will omit duplicated vertex out points to reduce json file size (v5.5.0+).
  • Added support for centered, multiline text, and emojis.
  • Added support for masked text.
  • Added support for skew and skew angle in transforms.
  • Added support for markers. You can now call setMinFrame, setMaxFrame and setMinAndMaxFrame with a marker name.
  • Added support for hidden layers and properties (the eye button in After Effects).
  • Added support for multiple trim paths to be applied on a shape.
  • Removed all memory allocations during playback including autoboxing.
  • Replaced enableHardwareAcceleration with a new setRenderMode API because it has a third (Automatic) option. Refer to the docs for more info.
  • Added an XML attr for animation speed (lottie_speed).
  • Removed the recycleBitmaps() API because it is not neccesary anymore.
  • Prevented invalidateSelf() from being called and recalculating bounds many times per frame.

Bugs Fixed

  • Only redraw the animation when a value changed. This will have a major impact on animations that are static for part of their playback.
  • Optimized keyframes to recalculate values less frequently
  • Optimized static identity transforms so their matrix doesn't get recalculated on every frame.
  • Ensure that the last frame is played when setMaxFrame is called.
  • Prevent strokes from drawing when the scale is 0.
  • Prevented minFrame from being larger than maxFrame.
  • Return the correct (previous) bitmap when updating the BitmapAssetManager.
  • Properly use the in-memory cache for network animations.
  • Prevented color animations from interpolating before/after the start/end colors even if their interpolator goes <0 or >1.
  • Annotate fetchBitmap() as @Nullable
  • Fixed a bug in the local file cache that would save it with the wrong extensions.
  • Fixed a crash when an animation was missing gradient fill type.
  • Prevent shapes that have different numbers of control points in different keyframes from crashing.
  • Fixed an IndexOutOfBoundsException.
  • Pause Lottie in onVisibilityChanged.
  • Properly limited the LRU cache an enable its maximum size to be configured.
  • Prevented the cache from returning null values after a key was cleared.
  • Properly closed JsonReader in all cases.
  • Fixed text alignment for scaled text when drawn using fonts.
  • Use FutureTask rather than polling for composition parsing to complete.
  • [Sample App] Fixed Lottiefiles integration.

v2.7.0

24 Sep 07:11
Compare
Choose a tag to compare
v2.7.0

v2.6.1

06 Sep 16:54
Compare
Choose a tag to compare
v2.6.1

v2.6.0

04 Sep 02:04
Compare
Choose a tag to compare
v2.6.0