HyperFrames v0.9.20
Released on 2026-11-07.
Cloud export of footage cuts works again, Safari no longer freezes on a video stuck at its header, and any video format nobody listed now gets a playable copy instead of a blank card.
Features
- Check: Name the saved report file and print one stderr line per check step (9ac2a2387, #7344).
- CLI: Audio --read --layer reads a one-layer file whole, no separation (b37db1122, #7345).
- Studio: Type an exact preview zoom and see a pixel grid at high zoom (25a61016d, #5708).
- Studio: Improve element picker cancellation feedback (f004622a6, #6900).
- Studio: Show canvas gesture position, size and rotation (a4a84deec, #5594).
- CLI: Support JSON telemetry status (6c0cab814, #7289).
- CLI: The sign-in page the browser lands on follows the design (9acdce4a2, #7332).
- Studio: Show the agent's storyboard in a Storyboard tab beside the preview (318724f5f, #7284).
- Core: Motion blur reports what a composition holds, as counts (a874a6324, #7306).
- CLI: Check_report counts the browser-playable copies a check waited for (de2d21a8a, #7316).
- CLI: Check_report names the finding that stopped the check (9fcd06cbb, #7305).
- Core: Auto motion blur draws with the filter tier (e2bb7da25, #7288).
- Share: Extract shared review kernel for local hosts (f54b2227f, #7134).
- CLI: A line_unread finding carries the frames it measured around where the line was first read (a81b34410, #7294).
Fixes
- CLI: Cloud upload tests stop flaking and two cuts at the same age count as one (555c788a3, #7352).
- Core: Skip a video the browser can't decode instead of freezing the film (9058fd1a7, #7355).
- Studio Server: A video with a codec nobody listed gets a playable preview copy (cf75dfd7a, #7356).
- CLI: Cloud render zip carries files the composition references under dot-folders (6161ae740, #7353).
- Studio Server: MPEG-2 and DNxHD videos get a playable preview copy (6004508e6, #7348).
- CLI: A cloud upload cut at a fixed age stops early and shows its progress (65c62f314, #7350).
- Check: A Korean number and its counter count as one word in line reading time (bc2773d04, #7343).
- Core: Words in a scene the preview mounts later keep their spaces (1ddd42558, #7342).
- Lint: Flag crypto.randomUUID() as non-deterministic (cc7a760f0, #7322).
- Core: A render no longer rewinds when a set sits beside a tween on another property (539c70cee, #7339).
- CLI: Price GPT Image 2.6 and every GPT Image reference picture (ab50e9c14, #7307).
- Engine: A missing frame file skips its self-verify sample instead of aborting the render (cfa0d0cef, #7334).
- Producer: A failure before the first frame reports frame capture as its stage (fe0f54b38, #7331).
- Engine: A render no longer finishes without an image that loaded late (a9a8d8937, #7304).
- Producer: Segmented capture gives up on a session stuck opening or initializing (6fab21914, #7329).
- Engine: DrawElement falls back on gpu-less linux and beginframe launches instead of hanging self-verify (18fc75dcd, #7324).
- Core: A set that interrupts a tween holds in a real render at any worker count (3e3ba8d0d, #7318).
- Producer: Render reads a composition src like the preview, refuses paths outside (4cf26b5b4, #7317).
- Skills: Reverse hands billing commands to the person instead of running them (410a516ce, #7314).
- Core: A decoded buffer's handover leaves the routed element silent (cb8e02e82, #7309).
- Studio Server: Proxy MPEG-4 Part 2 and MJPEG video the browser cannot decode (f3e45b492, #7310).
- Templates: Pin the five style-sampling packs with the release-check fixes (9e2510bda, #7263).
- CLI: Media-use voices says whose clones it lists, and --voice takes language codes (fc0b53361, #7261).
- Core: Video starts a second early and catches up hidden, so the picture meets the cut (3e86def58, #7265).
- CLI: Cloud render logs a line a minute while a job holds its status (41b7aeeaf, #7262).
- CLI: Installing Chrome on a busy Windows PC no longer takes ten minutes (8fd754207, #7301).
- Core: Accented Latin letters draw in a bundled family at its bundled weights (6011d9d0d, #7299).
- Studio: Pressing Shift no longer re-renders the timeline (66cbabc39, #7298).
- Core: A mover's ::before and ::after outside its box stay in the blur (4bee04e4a, #7295).
- Core: A mover holding a fixed child stays sharp in the filter tier (b6f2bec16, #7292).
- Core: The filter tier's svg no longer changes which child is last in the root (2066a2ff5, #7293).
- Core: Blur quiets discrete callbacks instead of undoing what they wrote (cd7e93baa, #7271).
Internal
- Engine: The effect scan resolves its options before scanning (ca64c2a6d, #7336).
- Studio: Kill and retry a test Chrome that hangs after it starts listening (d2b170ce5, #7337).
- Engine: Blur gates fail on CI when they cannot run, and prove blur drew (07824098e, #7302).