Skip to content
CodeAnimato CodeAnimato
Release log Updated 18 February 2024

Changelog.

A running record of what shipped in CodeAnimato — from v4.0 “Volta” back through every point release since our first commit in late 2021. Bookmark this page; the feed updates roughly once a month.

v4.0 · Volta Released 14 February 2024

v4.0 “Volta” — physics-based easing, timeline scrubbing, smaller bundles.

Four months in the oven, 312 commits, and a long list of refinements suggested on the public roadmap. The headline of this release is a new family of easing primitives: spring, inertia, and decay now sit alongside the classic cubic and quartic curves, and they compile down to the same 60fps-friendly animation worklets we’ve shipped since v2.

What’s in the box

Physics easing was the most-requested feature across our GitHub Discussions and the public roadmap — 1,184 thumbs-up, six independent community PRs offering early implementations, and a long thread debating whether we should ship Verlet or PBD. We went with a small, predictable solver tuned for UI work: bounded oscillation, configurable stiffness and damping, and a hard cap on iterations so the runtime can never stall a frame.

Scene-graph syntax has been refined in parallel. The compiler now folds adjacent transforms, hoists constant interpolations, and emits a timeline that the runtime can scrub forwards and backwards — including on WebGPU, which remains an optional, progressive path. Timeline scrubbing is the first piece of the engine to land native WebGPU support without any shader authoring required from you.

Smaller bundles, not bigger

Volta adds three primitives and zero kilobytes to the median build. Our Q1 2024 audit across 1,420 customer builds puts the median bundle at 14.6KB gzipped, down from 16.1KB in v3.6. The work happened in the compiler: better dead-code elimination, narrower surface for the easing module, and a smaller default theme. If you were already importing only the curves you used, the win is roughly 2KB; if you’re pulling in the full default, the win is closer to 4KB.

scene.animato v4.0 · scene-graph DSL
scene "hero" {
  node card {
    from: { y: 24, opacity: 0 }
    to:   { y: 0,  opacity: 1 }
    ease: spring(stiffness: 220, damping: 18)
    duration: 640ms
    scrub: true
  }
  node trail {
    from: { scale: 0.96 }
    to:   { scale: 1 }
    ease: decay(friction: 0.42)
    stagger: 60ms
  }
}

Migration & breaking changes

Three small breaking changes — all surfaced on the roadmap six weeks before release, with migration notes:

  • timeline.seek() now returns a Promise<TimelineState> for parity with the new scrub API. Add await or drop the return value if you weren’t using it.
  • The deprecated legacy.bundle entrypoint was removed. If your bundler still references it, switch to codeanimato/runtime.
  • The default easing for declarative enter/exit blocks changed from quartic.out to spring(180, 22). Pin a curve explicitly if you need bit-for-bit parity with v3.

— The CodeAnimato core team. File issues on GitHub, send smaller notes to our Discussions board, and watch the roadmap for what we ship next.

Recent releases

A monthly cadence, four years running.

Point releases ship roughly every four to six weeks. Semantic-versioning is strict: minor bumps add features, patches fix things, and breaking changes are reserved for majors and telegraphed on the roadmap well in advance.

  1. v3.6 11 December 2023
    • Compiler hoists constant interpolations; median bundle drops 1.2KB.
    • New stagger.from-edge option for grid-style entrances.
    • Fix: Safari 17.2 regression on will-change promotion in offscreen timelines.
    Release notes →
  2. v3.5 27 October 2023
    • Scene-graph DSL: nested group blocks now compile to shared timelines.
    • Add reduced-motion override hooks for graceful fallback at the engine level.
    • Internal: rewrite of the diffing pass — 2.3× faster on first paint in the studio preview.
    Release notes →
  3. v3.4 08 September 2023
    • First-class TypeScript types for the scene-graph DSL — no more manual declarations.
    • Add onComplete chaining across scenes; the runtime resolves forward references at compile time.
    • Fix: edge case where prefers-reduced-motion: reduce skipped declarative enter blocks on first render.
    Release notes →
  4. v3.3 19 July 2023
    • Studio: visual timeline editor for the scene-graph DSL with hot-reload to dev.
    • Runtime: useLayoutEffect-aligned measurement pass on the server for SSR-safe hydration.
    • Docs: full rewrite of the migration guide from v2 → v3 with worked examples.
    Release notes →
Browse the full archive (2021 →) →
2,914 Commits shipped since the first commit in October 2021.
87% Of shipped features were originally proposed by community users on the public roadmap.
−5.2KB Median bundle-size delta since v3.0 — the engine has shrunk, not grown, across four major releases.
What’s next

The roadmap is public — and 87% of what we ship started there.

Every release note on this page is downstream of a public proposal. Browse the board to see what’s planned for the next four quarters, vote on the proposals that matter to your team, and watch issues move from “Considering” to “In progress” to “Shipped.”

  • Open proposals: 142, of which 31 are tagged for the next minor.
  • In progress: 18, spanning physics authoring, multi-scene coordination, and a smaller CI plugin.
  • Shipped this year: 23 features, 19 of them proposed by community users.
v4.0 Volta · Migration guide inside

Read the docs.

The version 4.0 guide covers scene-graph syntax, physics easing, and a step-by-step migration path from v3.