Updates

Changelog

Notable changes in nanime.

Changelog

For the full changelog, see the GitHub releases.

v0.0.11...v0.1.12

Breaking

  • Removed the <ATransitionSlide>/<ATransitionScale> transition components, along with the components and prefix module options and the #nanime/components alias. They broke under useAnimeLayout, and maintaining them properly wasn't worth it right now. Nanime is composables-only for the time being, and transition components may return later as a dedicated package once layout handling is sorted out.
  • useAnimeTimeline and useDraggable now return BufferedProxyReturns<T> rather than ProxyReturns<T>. Methods are no longer typed as possibly undefined, so code that used optional chaining still compiles, and code that type-guarded on undefined no longer needs to.

Packaging

  • @vueuse/core is no longer a dependency at all. The three helpers the runtime used from it (useMounted, tryOnScopeDispose and toReactive) are now in-tree, so installing nanime no longer pulls VueUse in.
  • animejs and defu are plain dependencies now, and vue is the only peer left. Both are imported at runtime, so nothing has to be installed alongside nanime any more.

Added

  • useDraggable returns a buffered proxy. Methods called before the instance exists are replayed once it is created, so draggable.disable() no longer needs optional chaining.
  • useAnimeTimeline buffers the whole timer control surface, not just the builder methods. play, pause, resume, restart, reset, reverse, alternate, seek, cancel, complete, init and resetTime join stretch, refresh and revert as chainable calls that are safe before mount.
  • New #nanime/proxies/svg alias re-exporting morphTo, createMotionPath and createDrawable, plus a #nanime/proxies root that re-exports both the text and SVG proxies.
  • #nanime/utils also exports animate and createTimer for imperative work outside a composable.
  • #nanime/types adds JSAnimation, Timer, TimerParams, TimerOptions, DrawableSVGGeometry, TextSplitterParams and SplitTemplateParams.
  • animejs/svg and animejs/timer are pre-bundled by the module's Vite config, alongside the modules already listed.

Fixed

  • .sync() accepts a composable's return value whether or not the underlying instance is held in a ref. resolveNanimeInstance previously assumed a ref and read .value off a raw instance.

Docs

  • Added a Performance guide covering engine choice, high-frequency updates and split-text cost, and caveats for every composable page.
  • Added an Examples section with four showcase demos, replacing the transition components docs.
  • Example demos can be resized horizontally to check narrower widths.

v0.0.11

  • Added useAnimeTimeline composable wrapping anime.js createTimeline() with Vue ref target normalization, pre-mount command buffering, and timeline syncing.
  • Composable returns can now be passed directly to .sync() — nanime automatically unwraps them to raw anime.js instances.

v0.0.9/v0.0.10

  • Added useScrambleText composable wrapping anime.js scrambleText() with reactive text cycling.
  • Renamed useLayout to useAnimeLayout. It stays auto-imported but undocumented and unsupported while its interaction with Vue's DOM management is worked out.
  • Broadened @vueuse/core peer dep to support v13 and v14.

v0.0.8

  • Integrated Nuxt Studio.
  • Added instant play support for calling composables outside setup().
  • Renamed animation options to parameters across all composables.

v0.0.7

  • Added "view on GitHub" links for doc examples.
  • Fixed documentation link issues.

v0.0.5

  • Initial release with useAnimate, useWaapiAnimate, useAnimatable, useSplitText, and useDraggable.
Copyright © 2026