Skip to content

Releases: alexzhirkevich/compottie

2.1.0

05 Mar 07:58

Choose a tag to compare

Fixes

  • Fixed crash regression related to memory management (#68)

Features

val painter = rememberLottiePainter(
    composition = dotLottieComposition,
    progress = progress,
    theme = "sunset", // "night", "day", "winter"
)
image

2.0.3

19 Feb 11:58

Choose a tag to compare

  • Compose updated to 1.10.1
  • Kotlin updated to 2.3.0

Fixes

  • Fixed a bug when autooriented layer rotation was not propagated to the child layers
  • Fixed a bug when layer`s transform rotation was ignored when combined with autoorient rotation
  • Improved performance of .lottie and images decoding on Web. Such animations are now decoded in a background worker

2.0.2

16 Oct 09:52

Choose a tag to compare

Fixes:

  • Improved performance and RAM usage by reducing boxing of primitives and value classes (thanks @tindy2013)
  • Fixed a bug when painters created with cached compositions had disabled expressions.
  • Fixed a bug when some layers can be missplaced with applyOpacityToLayers enabled.

2.0.1

24 Sep 14:12
6f6f32d

Choose a tag to compare

  • Compose updated to 1.9.0

Features

Fixes

  • Fixed a bug that was preventing unnamed properties and their children to participate in dynamic properties wildcard path matching
  • Fixed a json parsing issue for font assets with missing ascent property
  • Fixed a bug with disabled images, fonts and expressions for animations with dynamic properties
  • Fixed a bug that can lead to stack overflow or ANR at specific expressions

2.0.0

30 Aug 21:38

Choose a tag to compare

🚀 Stable Compottie 2.0 release

The new custom Compottie renderer is now stable and safe to use.

Changes since 2.0.0-rc05:

Fixes:

  • Fixed Google Play upload and <35 sdk issues due to removeFirst / removeLast usage

2.0.0-rc05

23 Aug 17:00
723559d

Choose a tag to compare

Changes since 2.0.0-rc04

  • JS interpreter for AE expressions was moved to separate repository and was greatly improved. It still does not fully conform to ES, but should run fine for the most of supported expressions.
  • Expressions are now enabled by default.

Features:

  • Coroutine context for composition and painter loading is now configurable with coroutineContext parameter. IO dispatcher is used by default.

  • New module: compottie-lite.
    Same as compottie, but without expressions support. Its binary size is 2 times smaller.

    This update doubles the size of compottie module, so the size of compottie-lite is actually the same (a little bit less) then the compottie module size in the previous version

Fixes:

  • Fixed binary incompatibility with kotlinx-datetime 0.7+.
  • Fixed a bug that may lead to an infinite loop and device overheat when loading animation due to in-memory cache corruption.
  • Expressions now aren't parsed when enableExpressions is set to false. Previosly they were parsed but not used (#41)

2.0.0-rc04

05 Feb 21:57
7c42e36

Choose a tag to compare

Changes since 2.0.0-rc02:

Features

  • Added new api to controll runtime composition cache - LocalLottieCache. Old api via Compottie object was removed

Fixes

  • Fixed broken gradients when number of opacity stops doesn't match number of colors (#30)
  • Fixed dashed stroke with odd number of dash-gaps was not rendered and was logging Skia exceptions
  • Removed inlining of dynamic properties DSL to make it consistently available on lower JVM targets

2.0.0-rc02

29 Oct 20:50

Choose a tag to compare

Changes since 2.0.0-rc01:

  • Compose updated to 1.7.0
  • Ktor updated to 3.0.0

Features

  • Added support for slottable properties

Fixes

  • FIxed a bug when some animations can become corrupted after the first loop
  • Fixed possible Kotlin version incompatibilities

2.0.0-rc01

17 Sep 01:20

Choose a tag to compare

Changes since 2.0.0-beta02:

Features

  • Added support for 3d rotation (X, Y) on Android. Now all the targets support this type of transform
  • Added wildcard support for dynamic properties (#9) by @sergeys-opera
  • Added HTTP client independent network-core module that allows to use custom client to load animations. Default network module is now using Ktor3.

Fixes

  • Fixed wasm dotLottie decoding
  • Fixed font ascent isn't applied when calculating text Y
  • Fixed stroke skew isn't applied correctly
  • Fixed a bug when the first animation frame is not rendered (when the progress is zero) (#12)
  • Added synchronization for dotLottie assets decoding. It fixes a bug when dotLottie assets may fail to load when there are a lot of them (such as gif-like animations where each frame is a separate image)
  • Fixed multiple JSON decoding issues
  • Fixed a bug when precomposition layer effects were applied to all precomposition layers of a single source
  • Fixed Round Shape that wasn't working as expected and was causing memory leaks
  • Improved blending. It is now applied directly to the layer and should be more accurate

2.0.0-beta02

10 Jul 07:18

Choose a tag to compare

2.0.0-beta02 Pre-release
Pre-release

Changes since 2.0.0-beta01:

Highlights

After Effects Expressions are JS scripts that you can use together with keyframes and dynamic properties to animate objects.

Compottie now has it's own lightweight ECMAScript / JS interpreter and supports most of commonly-used After Effects expressions (such as math, random, wiggle, looping, properties, time manipulation, etc).
Expressions are enabled by default under the enableExpressions LottiePainter feature flag . You can disable it if your animation doesn't work as expected or displays warnings.

Fixes

  • Fixed a bug when animations with precompositions would not display without assets manager provided (#8)
  • LottieImage was renamed to LottieImageSpec (to match LottieFontSpec). It may affect you if you were implementing custom LottieAssetsManager
  • Improved content scale for LottiePainter. It is now correctly scaled when you use ContentScale like FillBounds,FillWidth,FillHeight for Image that draws the painter.

Features

  • LottiePainter now has extra parameter called enableTextGrouping. It allows to correctly render words in some unusual/RTL locales such as Arabic, but adds some limitations. Text positioning may become broken