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” — 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 "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 aPromise<TimelineState>for parity with the new scrub API. Addawaitor drop the return value if you weren’t using it.- The deprecated
legacy.bundleentrypoint was removed. If your bundler still references it, switch tocodeanimato/runtime. - The default easing for declarative
enter/exitblocks changed fromquartic.outtospring(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.
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.
-
v3.6 11 December 2023
- Compiler hoists constant interpolations; median bundle drops 1.2KB.
- New
stagger.from-edgeoption for grid-style entrances. - Fix: Safari 17.2 regression on
will-changepromotion in offscreen timelines.
-
v3.5 27 October 2023
- Scene-graph DSL: nested
groupblocks now compile to shared timelines. - Add
reduced-motionoverride hooks for graceful fallback at the engine level. - Internal: rewrite of the diffing pass — 2.3× faster on first paint in the studio preview.
- Scene-graph DSL: nested
-
v3.4 08 September 2023
- First-class TypeScript types for the scene-graph DSL — no more manual declarations.
- Add
onCompletechaining across scenes; the runtime resolves forward references at compile time. - Fix: edge case where
prefers-reduced-motion: reduceskipped declarativeenterblocks on first render.
-
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.
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.
Read the docs.
The version 4.0 guide covers scene-graph syntax, physics easing, and a step-by-step migration path from v3.