2.5.0-beta3

  • Cleaned up some of the LottieComposition APIs.
  • Fixed some setFrame/getFrame calculations.
  • Fixed a regressions with unknown masks modes.

2.5.0-beta2

Features and Improvements

  • Completely overhauled json deserialization. Deserializing a composition takes half as long and can deserialize much larger json files (tested 50mb) without ooming.
  • Added a new LottieInterpolatedValue class in which you set start, end, and interpolator values for a property.
  • Added setValue methods to all LottieValue classes.
  • Renamed some of the LottieValue classes for clarity.
  • API to add all animator listeners.
  • Adhere to the Animatable interface.

Bugs Fixed

  • Prevent a crash trying to recycle a null bitmap.

2.5.0-beta1

Features and Improvements

  • Added the ability to dynamically change properties at runtime. See docs for more info.
  • Added a setRepeatMode and setRepeatCount (Thanks Fabio Nuno!).

Bugs Fixed

  • Fixed a bug when an opacity animation time interpolator was >1.

2.3.1

Features and Improvements

  • Expose LottieComposition#getImages() to aid in preloading images.
  • Added support for text baseline.

Bugs Fixed

  • Prevented a crash when setting min frame > previous max frame.
  • Fixed some bugs in subtract masks.
  • Fixed some animation clamping when an animation was longer than its parent and time stretched.
  • Stopped applying time stretch to a layer transform.

2.3.0

Features and Improvements

  • Animator fixes:
    • Previously, some usages of lottie animator apis/api listeners would cause unexpected behavior, especially calling apis from listener callbacks.
    • This is breaking change if you use playAnimation(start, end). It has been removed in favor of explicit methods for setMinFrame/Progress, setMaxFrame/Progress and setMinAndMaxFrame/Progress followed by an explicit call to playAnimation or resumeAnimation.
    • reverseAnimation and resumeReverseAnimation apis have been removed in favor of play and resume with speed < 0.
    • If you have created hack around these limitations or complex animator chaining, please test your animations after updating.
  • Set an animation from R.raw (res/raw) if you want static references to your animation files. This can help prevent mismatches between api calls and file names. Thanks @cyrilmottier!
  • Support for ellipse direction.
  • Expose image directory name if set from bodymovin.

Bugs Fixed

  • Fixed a bug with animations that use both mattes and time stretch.
  • Fixed a few keyframe issues where keyframe start/end values would be off by 1 frame.

2.2.5

Bugs Fixed

  • Call onAnimationEnd when system animations are disabled.

2.2.4

Bugs Fixed

  • Improved the reliability of scaling and using ImageView scale types.
  • Fixed a clipping issue with precomps.
  • Fixed an ArrayIndexOutOfBounds crash in the interpolator cache.

2.2.3

Bugs Fixed

  • Fixed some issues with progress and resume
  • Fixed a StackOverflowErrors when animations are disabled
  • Fixed a NPE in Keyframe.Factory

2.2.1

Features and Improvements

  • Text now supports opacity.

Bugs Fixed

  • Fixed a couple of couple of concurrency crashes.
  • Fixed a crash when animations are disabled.
  • Fixed a crash for letters with no shapes.

2.2.0

Features and Improvements

  • Added play(startFrame, endFrame) and play(startProgress, endProgress).
  • Added the ability to set a minimum and maximum frame/progress for a given animation.
  • Made WeakRef the default cache strategy.

Bugs Fixed

  • Cancel loading animations when non-Lottie animations are set.

2.1.2

Bugs Fixed

  • Reduced memory footprint.
  • Allowed animations with masks and mattes to scale larger than their view.
  • Respect hardware acceleration when async loading a composition.
  • Fixed a gradient point counting issue.
  • Fixed a trim path issue.

2.1.0

Features and Improvements

  • Added support for animated text (glyphs and fonts)
  • Enabled text to be set dynamically
  • Added support for repeaters
  • Added support for time stretching
  • Added support for work area (trimming start and end frames)
  • Added support for mask opacity
  • Migrated the sample app to Kotlin
  • Added a real time render performance graph in the sample app
  • Added many systrace markers to improve performance tracking

2.0.0

Features and Improvements

  • Increased version number.
  • New animations from lottiefiles in the sample app.

Bugs Fixed

  • Minor trim path fix.
  • Minor gradient caching fix.

2.0.0-rc2

Features and Improvements

  • Paste json into the sample app.
  • Update a bitmap asset dynamically.
  • Set scale from xml.

Bugs Fixed

  • Resume no longer restarts the animation.
  • More lenient crashes and getCallback() checks.
  • Fewer addUpdateListener calls.
  • Fix cache strategy when it and the animation is set from xml.

2.0.0-rc1

Features and Improvements

  • Set a color filter with xml

Bugs Fixed

  • Prevent a rare crash when used from React Native.
  • Apply transformation to gradient fills.
  • Clip precomps to their bounds.
  • Prevent a crash with certain extreme keyframe values.
  • Fix the sample app for pre-lollipop.
  • Fix some pre-lollipop rendering bugs.

2.0.0-beta4

Features and Improvements

  • Added support to load an animation by scanning a qr code with a url to the json. All lottiefiles.com animations now have qr codes.
  • Added support for opacity stops in gradients.
  • Exposed setScale to arbitrarily scale up or down an animation. Added a slider in Lottie Sample to try it.

Bugs Fixed

  • Fixed several subtle trim path and dash pattern bugs.
  • Fixed a bug with path animations on Jelly Bean.
  • Fixed a bug that would incorrectly draw rounded rectangles.

2.0.0-beta3

Features and Improvements

  • Ground up rewrite of the rendering engine.
  • Vastly improved the performance of masks and mattes.
  • Support for fill types (non-zero or even-odd).
  • Support for gradient fills.
  • Some merge path support. Enable it with enableMergePathsForKitKatAndAbove and read the documentation before using it.
  • Support for multiple fills and strokes on shapes.
  • Exposed several package private methods on LottieAnimationView and LottieDrawable
  • Better support for hardware acceleration.
  • Added a ton of samples from lottiefiles.com to the sample app.

Bugs Fixed

  • Invalidate whatever drawable is set as the image drawable even if it's not LottieDrawable.

1.5.3

Features and Improvements

  • Added an image asset delegate so you can provide your own bitmaps from and sd card, for example.
  • Added an attr for setting progress.
  • Improved the performance of very large compositions by scaling them down to the screen size.
  • Separate APIs for play/cancel with or without setting progress.

Bugs Fixed

  • Several issues that could cause graphical corruption in masks or mattes.
  • LottieAnimationView checks whether it's current drawable is LottieDrawable for some calls.

1.5.2

Features and Improvements

  • Significantly improved memory usage when using masks or mattes. No more bitmaps!

Bugs Fixed

  • Further improved the compatibility of masks and mattes.

1.5.1

Features and Improvements
  • Use a thread pool executor for deserialization.
  • Allow setting a default cache strategy
  • Drop repeated calls to setComposition with the same composition.
Bugs Fixed
  • Fixed an image scaling issue.
  • Fixed a crash when leaving a screen with an image animation.
  • Fixed a crash when the json has no assets.

1.5.0

  • Precomps.
  • 60% performance and memory improvement for masks and mattes.
  • Images support. See documentation for more information.
  • Polystars.
  • Polygons.
  • Alpha inverted masks.
  • Subtract masks.
  • Trim paths on rectangles.
  • Variable speed (positive or negative).
  • Improved color interpolation (rgb -> gamma color space).

1.0.3

  • Make LottieDrawable public again.
  • Apply trim paths to shape fills.
  • Expose reverseAnimation in addition to playAnimation.

1.0.2

  • Added support for split dimension positions.
  • Fixed a crash with decimal opacity values.
  • Allow trim paths to rotate indefinitely.
  • Lowered the minSdk to 14 (ICS).
  • Prevent multiple caches from created on different threads.
  • Allow animations to show final state when system animations are disabled.

1.0.1 (2/2/2017)

  • Fixes an issue in which a parent layer will overwrite child alpha.
  • Fixes drawable invalidation when LottieDrawable is used outside of LottieAnimationView

1.0 (01/30/2017)

  • Initial release