Changelog

What's new in elah

Release notes for the published packages — @elah/core, @elah/timeline, and @elah/editor. All three ship together and share a version.

v0.3.0

Latest

Multi-track audio, shape & freehand clips, a programmatic asset-insertion API, and a fully themeable timeline. No breaking changes.

Added@elah/core
  • Multi-track audio playback — AudioPlaybackController mixes several audio tracks with per-clip control, replacing the single-track v1 constraint.
  • Audio mixer hooks — useAudioMixer, useTrackLevels, useMasterVolume, plus a pluggable defaultAudioResolver / AudioResolver.
  • Shape clips — createShapeClip, ShapeVariant, and a GPU ShapeLayer (scene.shapes).
  • Freehand clips — createFreehandClip and a GPU FreehandLayer (scene.freehand).
  • Image decode cache warming — warmImageSrc, preloadProjectImages to eliminate first-paint stalls.
  • Expanded asset import — importUrl and importBlob alongside importFiles, plus the useAssets hook.
  • transformFromCoverRect placement helper (object-fit cover).
Added@elah/timeline
  • Programmatic insertion API — insertMediaAsset and insertElement place assets without a drag gesture (powers tap-to-add).
  • classNames slot API + cn util — restyle every sub-component without forking; a passed class always wins.
  • --elah-* CSS-variable theming with a backward-compatible timelineTheme facade.
Added@elah/editor
  • SourcePanel — a fully slot-styled source/asset browser with an asset activation API for tap-to-add flows.
  • Re-exports all of the new core and timeline API above.
Changed
  • Timeline UI redesigned (clips, headers, ruler, playhead) to the Figma cyan / cool-navy theme; editor retinted to match.
  • Timeline gestures migrated to pointer events with pinch-to-zoom and touch tap-to-add.
  • Export pipeline hardened: re-entrancy guard on exportVideo, improved audio mixing, shape/freehand parity with the live renderer.
Fixed
  • Backward-seek frame-cache stability and video-decoder pivot handling.
  • Generated clips can grow left without being clamped by source bounds.

v0.2.1

Documented measured bundle sizes and improved package build scripts.

Changed
  • Documented measured bundle sizes (~63 KiB gzipped full SDK).
  • Improved package build scripts.

v0.2.0

First public release of the three-package split.

Added
  • First public release of @elah/core, @elah/timeline, and @elah/editor.

Following Semantic Versioning. Have a question about a release? Ask on Discord.