| # 2.5.4 |
| # Bugs Fixed |
| * You can now call playAnimation() from onAnimationEnd |
| * Min/Max frames are clipped to the composition start/end |
| * setProgress takes into account start and end frame |
| |
| |
| # 2.5.2 |
| # Features and Improvements |
| * Totally new sample app! |
| * Rebuilt from the ground up. |
| * Lottiefiles integration |
| * Render times per layer |
| * Can open zip files with images from lottiefiles, even with qr scanning. |
| * Change speed |
| # Bugs Fixed |
| * Fixed a regression with ellipse direction |
| |
| # 2.5.1 |
| ### Features and Improvements |
| * Removed framerate restriction introduced in 2.5.0 that caused Lottie to attempt to render at the After Effects framerate. This caused animations to appear unexpectedly janky in most cases. |
| ### Bugs Fixed |
| * Many minor bug fixes around setting min/max frames |
| * Removed @RestrictTo on LottieValueCallback |
| * Improved thread safety of animation listeners |
| * Fixed looping when the animation speed is reversed |
| |
| |
| # 2.5.0 |
| ### Features and Improvements |
| * Added the ability to dynamically change properties at runtime. See [docs](http://airbnb.io/lottie/android/dynamic.html) for more info. This feature removed the existing APIs for |
| changing the color dynamically with a color filter. Refer to the docs for migration info from |
| existing ColorFilter APIs. |
| * Added a setRepeatMode and setRepeatCount (Thanks Fabio Nuno!). |
| * Completely overhauled json deserialization. Deserializing a composition takes half as long and |
| can deserialize much larger json files (tested 50mb) without ooming. |
| * Overhauled the underlying time animator. It now: |
| * More accurately handles setFrame/getFrame/minFrame/maxFrame APIs. There were cases where they |
| could be off by one before. |
| * Renders at the fps specified by After Effects. |
| * Added docs and clearer rules around animatedValue and animatedFraction in animator callbacks. |
| * API to remove all animator listeners. |
| * Adhere to the Animatable interface. |
| * Bumped the minSdk from 14 to 16 to use Choreographer in the animator mentioned above. |
| ### Bugs Fixed |
| * Fixed a bug that made it difficult to chain animations in onAnimationEnd callbacks. |
| * Fixed a regression with unknown masks modes. |
| * Fixed a crash trying to recycle a null bitmap. |
| * 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 |