v0.8.35

heygen-com/hyperframesv0.8.35Sep 11, 2026by github-actions[bot]

Upgrading?

AI Summary

This release enhances audio mixing by defaulting to a harder voiceover carve to maintain narration clarity, fixes macOS multi-worker rendering, and updates background music loop extensions to write real .mp3 files. Additionally, it includes various improvements to the CLI, Studio, and rendering engine diagnostics.

Key Highlights

  • Default voiceover carving strength increased to 0.8 for clearer narration over background music.
  • macOS multi-worker renders now successfully stream frames instead of refusing.
  • Background music loop extensions now write real .mp3 files.
  • CLI improvements include pixel-hash carve-out for images and support for re-including hidden directories via .hyperframesignore.
  • Engine emits pipelined frame diagnostics before recoverable wrappers.

New Features

  • Voiceover carving is integrated into the mix finishing process.
  • Audio level envelope release duration extended to 2.4 seconds.
  • Multi-worker rendering on macOS now supports frame streaming.
  • BGM loop extension outputs standard .mp3 files.
  • CLI supports re-including hidden directories using negation in .hyperframesignore.

Full Release Notes

# HyperFrames v0.8.35

Released on 2026-09-11.

Background music under a voice now gets carved by default, harder and with a slower recovery, so narration stays clear without the bed dropping out at every sentence break. Multi-worker renders on macOS also stream frames again instead of refusing, and a BGM loop extension writes a real .mp3.

## Features

- **Audio:** The voiceover carve is now part of finishing any mix with music under a voice. `carve.mjs` defaults to strength 0.8 (was 0.25), the level envelope releases over 2.4 s instead of 1.6 s, and the audio, general-video and production-loop skills state the requirement once. Both the default and the release are pinned by tests ([2e2b5c853](https://github.com/heygen-com/hyperframes/commit/2e2b5c8530580be28b9d786b70a529a649aa85a8), [fe53f51ad](https://github.com/heygen-com/hyperframes/commit/fe53f51adb3d0bf09d0be687044728a990098f99), [e488871ce](https://github.com/heygen-com/hyperframes/commit/e488871ce1b7ede9c54d8c4003ec7ac5fd5aae32), [0b9852fee](https://github.com/heygen-com/hyperframes/commit/0b9852fee44b63679f3056d4ede65fb0e58bc1e3), [#3878](https://github.com/heygen-com/hyperframes/pull/3878)).

## Fixes

- **Producer:** Non-DE parallel-stream router silently refused on macOS multi-worker renders ([26513984f](https://github.com/heygen-com/hyperframes/commit/26513984f361811bb2407bbc0fecf5f5ce8ab666), [#3886](https://github.com/heygen-com/hyperframes/pull/3886)).
- **Skills:** Loop-extended BGM writes .mp3, not MP3-in-a-.wav ([42a3e7a51](https://github.com/heygen-com/hyperframes/commit/42a3e7a5191d9aaaca7d12313b6378250753cd03), [#3884](https://github.com/heygen-com/hyperframes/pull/3884)).
- **CLI:** Surface a warning when doctor's HYPERFRAMES_PYTHON override is rejected ([ea7e1dbd0](https://github.com/heygen-com/hyperframes/commit/ea7e1dbd0bd2afb77370b946461c4ea16afdb387), [#3870](https://github.com/heygen-com/hyperframes/pull/3870)).
- **Lint:** Flag an unclosed tag that swallows a nested element as bogus attribute text ([2ef76bf97](https://github.com/heygen-com/hyperframes/commit/2ef76bf97b8c77dd8b76ac40615738eb91ecbc3c), [#3869](https://github.com/heygen-com/hyperframes/pull/3869)).
- **CLI:** Stop promising a universal per-time filmstrip for --layout strip ([bafc7b4e0](https://github.com/heygen-com/hyperframes/commit/bafc7b4e0067814b4102ee6586d3e118e8ba2062), [#3867](https://github.com/heygen-com/hyperframes/pull/3867)).
- **CLI:** Apply the canvas/video pixel-hash carve-out to img ([5a95211e3](https://github.com/heygen-com/hyperframes/commit/5a95211e36a3aa0907c59779039158f6acfbef15), [#3865](https://github.com/heygen-com/hyperframes/pull/3865)).
- **CLI:** Let .hyperframesignore negation re-include hidden directories ([9c84277d2](https://github.com/heygen-com/hyperframes/commit/9c84277d28c32152aededdb1d9ed6be095c07197), [#3859](https://github.com/heygen-com/hyperframes/pull/3859)).
- **Studio:** Tolerate WebMCP execute calls without an options object ([14b9e2039](https://github.com/heygen-com/hyperframes/commit/14b9e2039b69ae70044cc3b657c77e7688069618), [#3860](https://github.com/heygen-com/hyperframes/pull/3860)).
- **Skills:** Exclude repo-native skills from public installs ([8820a0109](https://github.com/heygen-com/hyperframes/commit/8820a01090692020ef6c5d4fb70fdc06b4b3bd81), [#3856](https://github.com/heygen-com/hyperframes/pull/3856)).
- **Engine:** Emit pipelined frame diagnostics before the recoverable wrapper ([4c7fbde51](https://github.com/heygen-com/hyperframes/commit/4c7fbde51e80f63a87d0e3be01ef3f7ec0c043f9)).
- **Render:** Retry drawElement failures on a fresh screenshot page ([6a206ffea](https://github.com/heygen-com/hyperframes/commit/6a206ffea637a936e6379545d371a44bc80a9119)).

## Catalog

- **Catalog:** Name the better search tier when a search finds nothing ([849ce0176](https://github.com/heygen-com/hyperframes/commit/849ce0176ae343f31181cf4517ea7bc22d621f8c), [#3872](https://github.com/heygen-com/hyperframes/pull/3872)).

## Full changelog

https://github.com/heygen-com/hyperframes/compare/v0.8.34...v0.8.35

Related Repositories