diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index cf79548e5..56d18e556 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "hyperframes", "description": "HyperFrames by HeyGen. Write HTML, render video. Compositions, GSAP and runtime adapter animations, captions, voiceovers, audio-reactive visuals, and website capture for HyperFrames.", - "version": "0.7.60", + "version": "0.7.61", "author": { "name": "HeyGen", "email": "hyperframes@heygen.com", diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 3389beb25..279a13d08 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "hyperframes", "description": "Write HTML, render video. Compositions, Tailwind v4 styles, GSAP and runtime adapter animations, captions, voiceovers, audio-reactive visuals, and website capture for HyperFrames.", - "version": "0.7.60", + "version": "0.7.61", "author": { "name": "HeyGen", "email": "hyperframes@heygen.com", diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index eb58d5674..a3ae55d65 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -3,7 +3,7 @@ "name": "hyperframes", "displayName": "HyperFrames by HeyGen", "description": "Write HTML, render video. Compositions, Tailwind v4 styles, GSAP and runtime adapter animations, captions, voiceovers, audio-reactive visuals, and website capture for HyperFrames.", - "version": "0.7.60", + "version": "0.7.61", "author": { "name": "HeyGen", "email": "hyperframes@heygen.com" diff --git a/docs/changelog.mdx b/docs/changelog.mdx index 782035342..9761d0106 100644 --- a/docs/changelog.mdx +++ b/docs/changelog.mdx @@ -8,6 +8,117 @@ Recent HyperFrames releases, including user-facing features, fixes, and migratio {/* New release entries are prepended by `bun run changelog:draft --write`. */} + +Studio and the render pipeline gain automatic media proxying — hostile codecs (HEVC, alpha-channel video, undecodable formats) are transcoded to H.264 proxies on demand and served consistently across preview, render, and published archives, with an opt-out for projects that don't need it. Studio's flat inspector is now the default panel after its bug-fix pass (right-aligned values, Stroke width/style split, non-visual-element section gating, a fixed Slideshow tab), and the GSAP timeline lint gains new seek-order and relative-value safety checks. + +## Features + +- **Media Use:** Add video generation (HeyGen avatar-video + local LTX fallback) ([0a66671fc](https://github.com/heygen-com/hyperframes/commit/0a66671fc576b6b7d4a1b433ff97467dcba20b17), [#2614](https://github.com/heygen-com/hyperframes/pull/2614)) +- **Studio:** Default the flat inspector on ([a4167ede0](https://github.com/heygen-com/hyperframes/commit/a4167ede074cc4a3e86bc14571ff6a406d664271)) +- **Media:** Alpha-capable authoring proxies ([e8371a7ac](https://github.com/heygen-com/hyperframes/commit/e8371a7accfb1ccd88c792898b65910aec60b0bd), [#2598](https://github.com/heygen-com/hyperframes/pull/2598)) +- **CLI:** Bake proxies into published archives ([35eff5038](https://github.com/heygen-com/hyperframes/commit/35eff5038b5f8e825b416b05bd7ea5baa38684a0), [#2595](https://github.com/heygen-com/hyperframes/pull/2595)) +- **Lint:** Flag relative-value second writers and tl.set initial hides ([4ad582606](https://github.com/heygen-com/hyperframes/commit/4ad582606bd2c0da9e20c83faa1acb3b79fe6e47), [#2612](https://github.com/heygen-com/hyperframes/pull/2612)) +- **Lint:** Seek-order safety and SVG draw-on rules for GSAP timelines ([f3d210066](https://github.com/heygen-com/hyperframes/commit/f3d21006633014fcb29b7a51571cd50ce832fed3), [#2611](https://github.com/heygen-com/hyperframes/pull/2611)) +- **CLI:** Resolve proxies before check's timed browser phase ([0561adc11](https://github.com/heygen-com/hyperframes/commit/0561adc11c7bd6a375244170893f530cc51a9587), [#2594](https://github.com/heygen-com/hyperframes/pull/2594)) +- **CLI:** Serve proxies from play and the static project server ([74b4f1e8c](https://github.com/heygen-com/hyperframes/commit/74b4f1e8c3cb0058583c6d9048708519a6d94417), [#2593](https://github.com/heygen-com/hyperframes/pull/2593)) +- **Core:** Swap undecodable video to its proxy at runtime ([39b588cbd](https://github.com/heygen-com/hyperframes/commit/39b588cbd0e196d1d1db14e959f837dc90cf7788), [#2592](https://github.com/heygen-com/hyperframes/pull/2592)) +- **CLI:** Let projects opt out of automatic proxying ([645880706](https://github.com/heygen-com/hyperframes/commit/6458807066bd4e0c1a6f573423879e97b91ad1c3), [#2591](https://github.com/heygen-com/hyperframes/pull/2591)) +- **Studio Server:** Serve H.264 proxies from the preview route ([67eab59f4](https://github.com/heygen-com/hyperframes/commit/67eab59f44c0609c7299dc7127d864b37d2d1715), [#2590](https://github.com/heygen-com/hyperframes/pull/2590)) +- **Skills:** Add composition-structure block + soft-warn feedback lint ([0aaac7aa3](https://github.com/heygen-com/hyperframes/commit/0aaac7aa30f16db7286ac5cb1e5e5e46dceb7b5b)) +- **Studio Server:** Transcode bounded H.264 proxies on demand ([9d148d288](https://github.com/heygen-com/hyperframes/commit/9d148d288aa1ea1ad4ea687fc21d92f8b5008286), [#2589](https://github.com/heygen-com/hyperframes/pull/2589)) +- **Studio Server:** Bound the proxy cache with LRU accounting ([1d3d20450](https://github.com/heygen-com/hyperframes/commit/1d3d20450d2937966fb299990dfbc3d643204a09), [#2588](https://github.com/heygen-com/hyperframes/pull/2588)) +- **Studio Server:** Probe media codec facts for proxy decisions ([9ca1e1710](https://github.com/heygen-com/hyperframes/commit/9ca1e171013c0d74a868f5eda3ebdf93c9566632), [#2587](https://github.com/heygen-com/hyperframes/pull/2587)) +- **Lint:** Flag HEVC video assets with info-level preview note ([664c39db9](https://github.com/heygen-com/hyperframes/commit/664c39db9e604a504bd1336c7b2ba3368cf1379d)) +- **Skills:** Add changelog-video skill for repo-native CC + Codex discovery ([e96ebd74d](https://github.com/heygen-com/hyperframes/commit/e96ebd74dedbe3fe9642177542b5b7a2fd696e83), [#2552](https://github.com/heygen-com/hyperframes/pull/2552)) +- **Studio:** Clarify storyboard review handoff ([73dd38f93](https://github.com/heygen-com/hyperframes/commit/73dd38f93ef94a17fd9eb254198e66492d0aa84f)) +- **CLI:** Surface extract-cache dir in doctor + add --frames-cache-dir sugar ([ca3522750](https://github.com/heygen-com/hyperframes/commit/ca352275062574b8b96aaef2ac06f8bae0a1ccc1)) +- **Core:** Export runtime start resolver with documentRef parameter ([fd19a1563](https://github.com/heygen-com/hyperframes/commit/fd19a1563dc65b58fb59b52bbba12632e9162eb5)) +- **Skills:** Act on stale CLI pin during project resume ([f8c33cab7](https://github.com/heygen-com/hyperframes/commit/f8c33cab72de3e6e7f9f2defbb208b1d91366cac), [#2540](https://github.com/heygen-com/hyperframes/pull/2540)) +- **CLI:** Configurable transcribe timeout with duration-scaled default ([f8210d96d](https://github.com/heygen-com/hyperframes/commit/f8210d96daf7fd081e9304f26a288a0a1420db66)) + +## Fixes + +- **Studio:** Short-circuit slideshow-island detection with a substring check (review N2) ([53b362143](https://github.com/heygen-com/hyperframes/commit/53b3621437670f12a0c4663dbae0da1252ab9c6b)) +- **Studio:** Hide the Slideshow tab and panel for non-slideshow compositions ([67696cd8d](https://github.com/heygen-com/hyperframes/commit/67696cd8de0c58551fdd6299bf9d7517cca73e20)) +- **Feedback Lint:** Tighten census value scoping and defect-keyword matching ([490642b78](https://github.com/heygen-com/hyperframes/commit/490642b78aacb762cc0c40ddf1783965541dd28a)) +- **Gcp Cloud Run:** Include all workspace build dependencies ([a6df35f89](https://github.com/heygen-com/hyperframes/commit/a6df35f8910c4a5bada3974eaa8dacbfb1639957), [#2608](https://github.com/heygen-com/hyperframes/pull/2608)) +- **CLI:** Resolve the producer alias in the CLI vitest config ([8e162921b](https://github.com/heygen-com/hyperframes/commit/8e162921bc69f86f1613cd642543ec3f6615e475), [#2609](https://github.com/heygen-com/hyperframes/pull/2609)) +- **Fallow:** Suppress line-shifted pre-existing findings + simplify CSS.escape polyfill ([d05c899c8](https://github.com/heygen-com/hyperframes/commit/d05c899c8891595ba51cc90e726dc35943604eed)) +- **CLI:** Import EXTRACT_CACHE_DIR_DISABLED_ALIASES in render.ts ([9fc7390c2](https://github.com/heygen-com/hyperframes/commit/9fc7390c2b27ddb9805ce3d96e822a303e52ec78)) +- Preserve shared FFmpeg resolver behavior ([798047908](https://github.com/heygen-com/hyperframes/commit/7980479083f3dcc061fc8b8306e2e4870d292eac)) +- **Engine:** Ignore benign media request aborts ([08dbb7db3](https://github.com/heygen-com/hyperframes/commit/08dbb7db377b63ed3525143f5f3bae7fe08c3d90), [#2423](https://github.com/heygen-com/hyperframes/pull/2423)) +- **Engine:** Reuse HyperFrames browser cache ([f0aee2855](https://github.com/heygen-com/hyperframes/commit/f0aee285516d4030268fba6372db446f717246e2), [#2459](https://github.com/heygen-com/hyperframes/pull/2459)) +- **Skills:** Align TTS docs with CLI contract ([428e57191](https://github.com/heygen-com/hyperframes/commit/428e571914ee979c815097fbbd26d56757a11056), [#2483](https://github.com/heygen-com/hyperframes/pull/2483)) +- **Core:** Stop composition variables from shadowing authored CSS custom properties ([406894061](https://github.com/heygen-com/hyperframes/commit/406894061e8b2a5a4ca6847e9eef2e0e1c2932d4), [#2553](https://github.com/heygen-com/hyperframes/pull/2553)) +- **Studio:** Guard storyboard history navigation ([68beec0e7](https://github.com/heygen-com/hyperframes/commit/68beec0e7653ed73091c8c157fa6ca64853d3960)) +- **CLI:** Surface HYPERFRAMES_BROWSER_PATH hint on macOS \<13 chrome-headless-shell dyld crash ([0d16f19b0](https://github.com/heygen-com/hyperframes/commit/0d16f19b07b1c7f60d54cac4f05f93ea3abacbcd)) +- **Studio:** Address storyboard review feedback ([ded443647](https://github.com/heygen-com/hyperframes/commit/ded443647d735f52b1ea96590a267b4d35faab8e)) +- **Studio,runtime:** CSS.escape ids so digit-leading selectors don't crash ([9bbdcc4ec](https://github.com/heygen-com/hyperframes/commit/9bbdcc4ec95c6086e0d4b6be497cd4a8c122917c)) +- **Core:** Re-export createRuntimeStartTimeResolver from index so dist emits it ([94929815f](https://github.com/heygen-com/hyperframes/commit/94929815faa722428cad186ae07b9c52451ef12d)) +- **Engine:** Escalate hung browser lease closes ([d4cfa08cb](https://github.com/heygen-com/hyperframes/commit/d4cfa08cb646270a139ab37bde99e21b7fd49cc3)) +- **Lint:** Catch cold-seek opacity reveals ([55ee559e4](https://github.com/heygen-com/hyperframes/commit/55ee559e40e2e84e11fe5e09e8bf57b755ea03cb), [#2503](https://github.com/heygen-com/hyperframes/pull/2503)) +- **CLI:** Avoid Python whisper CLI collision ([9b17a5ad7](https://github.com/heygen-com/hyperframes/commit/9b17a5ad7e77288b6fee9174267c9398dfed9ef5), [#2414](https://github.com/heygen-com/hyperframes/pull/2414)) +- **Engine:** Preserve mono audio level ([ed1f38124](https://github.com/heygen-com/hyperframes/commit/ed1f38124b68b9ddecee70485330269054df153e), [#2392](https://github.com/heygen-com/hyperframes/pull/2392)) +- **CLI:** Fail clearly on unsupported Node versions ([e846cd600](https://github.com/heygen-com/hyperframes/commit/e846cd60043ce72ce09b7060935d088158916e68), [#2388](https://github.com/heygen-com/hyperframes/pull/2388)) +- **Transcribe:** Select multilingual model before download ([584be6d64](https://github.com/heygen-com/hyperframes/commit/584be6d64aa5030dfcc0bfffcaa3a04701f43fd0), [#2303](https://github.com/heygen-com/hyperframes/pull/2303)) +- **CLI:** Time out stalled model downloads ([75eedf5cc](https://github.com/heygen-com/hyperframes/commit/75eedf5cc1affecbf27f593cc95e9361520902ed), [#2415](https://github.com/heygen-com/hyperframes/pull/2415)) +- **Talking Head:** Preserve source audio ([335e7483b](https://github.com/heygen-com/hyperframes/commit/335e7483b56e1823aedafa577ec12619772a9d4e), [#2260](https://github.com/heygen-com/hyperframes/pull/2260)) +- **Lint:** Ignore !important in font families ([b8a44e49c](https://github.com/heygen-com/hyperframes/commit/b8a44e49c92ea03b3a3769725e1f9ab951e581c9), [#2538](https://github.com/heygen-com/hyperframes/pull/2538)) +- **CLI:** Keep diagnostics on stderr for --json commands ([d92d1d4f5](https://github.com/heygen-com/hyperframes/commit/d92d1d4f51e2737d19db8a67073da8ae04a16789), [#2522](https://github.com/heygen-com/hyperframes/pull/2522)) +- **Studio:** Gate Layout and Style panel sections on the element having a rendered box ([8a793ba2b](https://github.com/heygen-com/hyperframes/commit/8a793ba2b2fb2e946bd3849ae1b459adc8333aa7)) +- **Studio:** Give flat Text section rows more vertical breathing room ([14dbfca5a](https://github.com/heygen-com/hyperframes/commit/14dbfca5a7ee80450070551e494ae12c5677ee43)) +- **Studio:** Move the promote-to-variable badge above the row instead of a padding gutter ([5f045b6bd](https://github.com/heygen-com/hyperframes/commit/5f045b6bdff145f0e0ec4b32aae475cefea989c1)) +- **Studio:** Reserve a gutter for the promote-to-variable badge ([9fa1b2657](https://github.com/heygen-com/hyperframes/commit/9fa1b265700473b9da14d198e0a00b8e74c4ee67)) +- **CLI:** Wire aspect-agnostic resolution through cloudrun/lambda/batch + preflight recompute ([2d398ed27](https://github.com/heygen-com/hyperframes/commit/2d398ed27429382d327ad3668fa434d8a690cc26)) +- **Studio:** Make flat inspector's Stroke width free of style-name typing ([d5a259a3d](https://github.com/heygen-com/hyperframes/commit/d5a259a3d2ea000499fca4de3ebfa13af61898d8)) +- **Studio:** Right-align FlatRow's value input in the flat inspector ([b32f9a3e8](https://github.com/heygen-com/hyperframes/commit/b32f9a3e86d1d206045173825d0c8c2370c3403d)) +- **Studio:** Resync the shared SDK session after a Design-panel variable promote ([578d6202b](https://github.com/heygen-com/hyperframes/commit/578d6202b4e0918d71744f85a0e0f5b0e1d1981c)) +- **CLI:** Reduce CRAP score by extracting exit-path helpers; bump contactSheet Windows timeout ([f3b941f1e](https://github.com/heygen-com/hyperframes/commit/f3b941f1e32cdca1304762b7b2e9d738d596deae)) +- **Producer:** Materialize audioPadTrim concat script to real file ([40f4cfe92](https://github.com/heygen-com/hyperframes/commit/40f4cfe92f4f55fd0198686a8096ba67f2e98482)) +- **Fallow:** Resolve audit findings for portrait --resolution PR ([7e58d050f](https://github.com/heygen-com/hyperframes/commit/7e58d050f8923d1f50e2da7fb1f77a65963715a0)) +- **CLI:** Accept portrait aspects for --resolution alias flag ([46e9ecf3f](https://github.com/heygen-com/hyperframes/commit/46e9ecf3f2f66f7a8b145fc87a36184541b3ad13)) +- **CLI:** Don't override exit code after artifact validated ([25a04d7fc](https://github.com/heygen-com/hyperframes/commit/25a04d7fc8f90d1c3d6737a5716364850a08af73)) +- **Producer:** AudioPadTrim FFmpeg-8.x-compatible apad invocation ([dc410ca99](https://github.com/heygen-com/hyperframes/commit/dc410ca99035c97b4ce59b54e946da0275f99a28)) + +## Docs & Examples + +- **Media:** Document automatic proxying for hostile codecs ([8c1b6c515](https://github.com/heygen-com/hyperframes/commit/8c1b6c515401a03e1a8394cff60b4e7410f14f0d), [#2596](https://github.com/heygen-com/hyperframes/pull/2596)) +- Document HEVC input support and the preview-only codec caveat ([5f2819b1e](https://github.com/heygen-com/hyperframes/commit/5f2819b1e78b7ed0d2052486f75e97f7d5038dc3)) +- **Changelog:** Weekly digest 2026-06-29–2026-07-06 ([9dc7dcd7f](https://github.com/heygen-com/hyperframes/commit/9dc7dcd7fb52f450e2f274d6c3e8f3610b8b2dbf), [#1995](https://github.com/heygen-com/hyperframes/pull/1995)) +- **Skills:** Make the core set the default install on every surface ([3bb26b0f0](https://github.com/heygen-com/hyperframes/commit/3bb26b0f08142e95126b4934511a09a1e68c143d), [#2554](https://github.com/heygen-com/hyperframes/pull/2554)) +- **Guides:** Add Claude Design → Send to HyperFrames single-file import guide ([5e78a29af](https://github.com/heygen-com/hyperframes/commit/5e78a29af335ecda5e5c8a8400064419a7fcb37e), [#2131](https://github.com/heygen-com/hyperframes/pull/2131)) + +## Catalog + +- **Registry:** Position flowchart typing beats with label-relative offsets ([b44bc4ffa](https://github.com/heygen-com/hyperframes/commit/b44bc4ffafb205c68a09a7588e2a86436750d7cb), [#2549](https://github.com/heygen-com/hyperframes/pull/2549)) +- **Registry:** Remove invalid media from caption components ([771145a5c](https://github.com/heygen-com/hyperframes/commit/771145a5c43810f826b6052089be0ff23f94b702), [#2454](https://github.com/heygen-com/hyperframes/pull/2454)) +- **Runtime:** Tolerate registry timelines without pause() in interactive transport ([8826d2d71](https://github.com/heygen-com/hyperframes/commit/8826d2d71d4883efad9e7e9f9036adcf229d89a2)) + +## Internal + +- **Engine:** Manage child process lifecycles ([57d3bf496](https://github.com/heygen-com/hyperframes/commit/57d3bf4960db97e0b90c2b4a85fd5f20d6499dc5), [#2160](https://github.com/heygen-com/hyperframes/pull/2160)) +- **Feedback:** Extract lint-warning loop to satisfy Fallow CRAP threshold ([8f90fd9ec](https://github.com/heygen-com/hyperframes/commit/8f90fd9ec1aecd20f678ccf0617efea06adfda56)) +- **Parsers:** Share local-asset resolution across lint and studio-server ([053e1274b](https://github.com/heygen-com/hyperframes/commit/053e1274b10ef63e99872cc808f0accf90242e8d)) +- **Parsers:** Single shared FFmpeg/FFprobe binary resolver ([88c049f52](https://github.com/heygen-com/hyperframes/commit/88c049f525d9c420fd1196915c6c345395eb73e2)) +- **Lint:** Bound concurrent ffprobe processes in HEVC probe ([247743fcd](https://github.com/heygen-com/hyperframes/commit/247743fcdfc4da99cb17522cd81592771e44a402)) +- Retrigger ci ([21ab83320](https://github.com/heygen-com/hyperframes/commit/21ab83320fcd8cea82fc7ff2a43c2c2c29c96fde)) +- **Engine:** Add fingerprinted browser leases ([9b23c0023](https://github.com/heygen-com/hyperframes/commit/9b23c002373ec1c69fe57c5909db348e941e5e89)) +- **CLI:** Add stderr diagnostics logger + oxlint guard ([1b4cf12cd](https://github.com/heygen-com/hyperframes/commit/1b4cf12cd35f25c6d7ae7cdd4ebd33be4ff6ab0b), [#2551](https://github.com/heygen-com/hyperframes/pull/2551)) +- **Core:** Regenerate position-edits-render artifact with current esbuild ([7e0bd401c](https://github.com/heygen-com/hyperframes/commit/7e0bd401c8229e6f52d63809fbc268baccf49855)) +- **Render:** Centralize execution ownership ([6a1585df2](https://github.com/heygen-com/hyperframes/commit/6a1585df27e0c7ef94e2fba192133b46be3ebba4), [#2158](https://github.com/heygen-com/hyperframes/pull/2158)) +- **Core:** Unify composition contract ([21cb722eb](https://github.com/heygen-com/hyperframes/commit/21cb722ebda4dc88ad83449916422205d1ce7f19), [#2157](https://github.com/heygen-com/hyperframes/pull/2157)) + +## Other Changes + +- Revert "docs(changelog): weekly digest 2026-06-29–2026-07-06 (#1995)" ([065f8c9c8](https://github.com/heygen-com/hyperframes/commit/065f8c9c8d2f188dc24050986ac09a318e221166), [#2571](https://github.com/heygen-com/hyperframes/pull/2571)) + +[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.60...v0.7.61). + +