juliangarnier/anime
 Watch   
 Star   
 Fork   
13 days ago
anime

v4.3.6

Bug Fixes

  • Auto Layout
    • Fix auto layout not properly synced with onScroll, allowing controlling layout animations like this:
layout.animate({
  autoplay: onScroll({
    sync: true,
  })
});
2026-01-25 17:01:39
anime

v4.3.5

Bug Fixes

  • Auto Layout
    • Fix a regression introduced in v4.3.2 that prevented inline element to be animated in some cases.
  • Animation
    • Fix a regression introduced in v4.3.0 that prevented CSS computed style of background to be correctly interpreted as a color value (#1136).
2026-01-24 00:38:24
anime

v4.3.4

Improvements

  • WAAPI / Timeline
    • Synced WAAPI animations now automatically have their persist property set to true (#1121)

Bug Fixes

  • onScroll
    • Fix comment syntax potentially causing an error (#1124)
2026-01-23 01:54:49
anime

v4.3.2

Bug Fixes

  • Layout
    • Fix an issue where inline tags, like or weren't detected when surrounded by comments (again)
2026-01-23 01:54:49
anime

v4.3.3

Improvements

  • Refresh

    • Function-based "from" values now refresh correctly when calling .refresh()
    • Unit conversion (e.g., svh to rem) is recalculated on refresh
  • onScroll

    • Add onResize callback that triggers when the scroll container refreshes due to a resize event

Documentation

  • Playback

    • Add missing tl.backward / anim.backward / time.backward property doc
  • Easing

    • Add an opacity animation preview to the easing functions editor
2026-01-21 22:06:29
anime

v4.3.1

Bug Fixes

  • Layout
    • Fix an issue where inline tags, like or weren't detected when surrounded by comments
2026-01-20 22:14:58
anime

v4.3.0

New Features

  • AutoLayout
  • Easings
    • The ease parameter now accepts function-based values (like duration and delay properties)
  • Timeline
    • Add composition parameter to disable animation composition when using .add() and greatly improve performance

Bug Fixes

  • JS Animation
    • Fix an issue where complex values containing a color (e.g., box-shadow) would be incorrectly handled as color values instead of complex string values
  • WAAPI
    • Fix animations not being properly removed from document.timeline in some cases
  • Draggable
    • Fix spring parameters not properly setting the duration
  • Timeline
    • Fix spring easing being ignored when defined in the defaults parameter
    • Fix .call() and .sync() incorrectly inheriting delay from defaults parameters
  • splitText
    • Fix a bug where the first word of the second line could be incorrectly added to the first line
    • Fix unnecessary empty spaces not being properly removed from lines

Changes

  • Engine
    • Increase max fps to 240 (previously 120)
    • Animation / Timer / Timeline
    • Add muteCallbacks parameter to .complete(muteCallbacks) to complete the animation without triggering callbacks
2025-10-07 15:26:13
anime

v4.2.2

Fixes

  • SVG
    • createMotionPath(): Fix a bug introduced in v4.2.1 that wrapped the target back to 0 when reaching 1 (#1104 )
2025-10-06 00:00:26
anime

v4.2.1

New features

  • SVG
    • createMotionPath(): Add an offset parameter (#1037) (@TheHyrox)
  • Draggable
    • createDraggable(): Add a dragThreshold parameter to Draggable (#1091) (@craig-jennings)

Changes

  • Timer, Animation, Timeline
    • .reset(softReset): The softReset parameter type is now a Boolean instead of an int
  • Draggable
    • createDraggable(): The drag threshold is now 3px with a mouse and 7px with touch instead of 3px everywhere

Fixes

  • onScroll
    • Fix wrong target offsets calculation when container is scaled (#1098) (@sxnb)
  • Types
    • Fix await animate() throwing Typescript error (#1043)

Docs

  • Every demos can now be edited on CodePen
2025-09-29 23:27:56
anime

v4.2.0

Looking at the structure of the second file, I'll reformat the first file to match that cleaner format:

Breaking Changes

  • Utils
    • Remove interpolate() (use the simplified lerp() instead)
    • Remove the clock parameter from lerp() (use the framerate dependent damping function damp() instead)
    • Setting a CSS variable using utils.set() now computes the variable value instead of setting the var name. To set the variable name without conversion, use a function-based value (x: () => var(--value)) or use the native element.style.setProperty('--value')
  • Easings
    • linear(), irregular(), steps() and cubicBezier() have been removed from the core and must be imported separately

New Features

  • API
    • All modules can now be imported individually with subpaths:
import { animate } from 'animejs/animation';
import { createTimer } from 'animejs/timer';
import { createTimeline } from 'animejs/timeline';
import { createAnimatable } from 'animejs/animatable';
import { createDraggable } from 'animejs/draggable';
import { createScope } from 'animejs/scope';
import { engine } from 'animejs/engine';
import * as events from 'animejs/events';
import * as easings from 'animejs/easings';
import * as utils from 'animejs/utils';
import * as svg from 'animejs/svg';
import * as text from 'animejs/text';
import * as waapi from 'animejs/waapi';
  • Spring
    • Add bounce parameter to control the strength of the spring
    • Add duration parameter to define the perceived duration of the spring
    • Add onComplete callback called when the spring currentTime hits the perceived duration
    • Support for over-damped springs with stiffness values below 30 (previously these values had no effect)
  • WAAPI
    • waapi.animate() built-in eases are now on par with the JS animate() method, plus all native WAAPI easing parameters
    • Add persist parameter to control whether the animation should be canceled on finish
  • JS Animation
    • Add support for CSS variable values (e.g., animate(target, { x: 'var(--x, 100px)' }))
  • Utils
    • Add createSeededRandom() to generate pre-seeded pseudo-random utility functions
  • Docs

Bug Fixes

  • Draggable
    • Allow touch dragging within Shadow DOM (#1067)
    • Fix draggable getting stuck while dragging near the origin of the initial grab
  • Animation
    • Fix animation.revert() not properly reverting multi-target animations styles when targets have different starting style values
    • Fix inline styles with hyphens (e.g., border-radius, stroke-width) not being properly reverted
  • WAAPI
    • Fix animation.cancel() not properly committing styles before canceling
    • Fix animation.revert() not properly reverting multi-target animation styles and not overriding newly added styles
    • Fix scroll-controlled WAAPI animations being disconnected after completing once
    • Fix staggered animations with reversed: true not updating on play
  • Timeline
    • Fix tl.call() not being fired in some cases (#1088)

Changes

  • Utils
    • stagger() has been moved to /utils but still available globally via import { stagger } from 'animejs'
  • WAAPI
    • waapi.convertEase() values are now rounded to 4 decimals (previously no rounding)
  • Spring
    • mass minimum value is now clamped to 1
    • stiffness minimum allowed value is now 0
    • damping minimum allowed value is now 0
  • Easings
    • Ease Back default overshoot value is now 1.7 (previously 1.70158)
  • Types
    • Add @types/node dependency for type checking (#1069)
  • Build
    • Simplify build scripts: build, dev, dev:test, test:browser, test:node, open:examples

Deprecated

  • Text
    • text.split() deprecated, use splitText() or text.splitText() instead
  • Spring
    • createSpring() deprecated, use spring() instead