309 Commits
Author SHA1 Message Date
zooqueen 6b2ed3a17f chore: release v0.7.83 2026-08-13 18:11:18 -07:00
zooqueen 75094e0d60 frames: publish the toolchain as @hanzo/frames
@hanzo/frame is taken by the hero video primitive — one full-bleed video
element — which has held that name on npm since it shipped. This repo is the
video toolchain: a CLI, a renderer, a studio, a player. Plural is what it is,
so the CLI publishes as @hanzo/frames and the workspace packages follow it
(@hanzo/frames-core, @hanzo/frames-engine, and the rest).

The binary stays `frames`, and now actually ships. The manifest mapped it to
bin/frames.mjs while the file on disk was bin/hyperframes.mjs, so a global
install produced no working command.

The paths that name a package to fetch were pointing elsewhere. The update
check read registry.npmjs.org/frames, a different author's package, and the
npm, bun and pnpm installers would have pulled it over the CLI; the render
image installed the upstream hyperframes; scaffolded projects and the docs
pinned the unscoped name. All of them now name @hanzo/frames.
2026-08-13 18:10:14 -07:00
zooqueen 375d1e2816 packages: publish as @hanzo/frame and talk to api.hanzo.ai
The npm scope becomes @hanzo: the CLI is @hanzo/frame, every library is
@hanzo/frame-<name>. Versions go to 0.7.82.

Credentials come from Hanzo IAM. `hanzo login` runs the IAM device flow and
writes ~/.hanzo/credentials.json; unattended runs read HANZO_API_KEY delivered
from Hanzo KMS. src/api.ts is the one place that knows the base URL and the
credential, replacing the OAuth client, PKCE flow, loopback server, token
store, and ~/.heygen credential file. `frames auth` keeps only `status`, since
this CLI no longer issues credentials.

Publish and feedback post to api.hanzo.ai/v1 without the HeyGen routing header.
The HeyGen-hosted `frames cloud` render target is gone; local, AWS Lambda, and
Google Cloud Run remain. Voice resolves to Hanzo speech (POST /v1/audio/speech)
before local Kokoro; music resolves to local MusicGen.

No analytics project is configured, so the CLI and studio send no events —
they previously reported to HeyGen's. Drops the HeyGen wordmark from the studio
header and the HeyGen promo render fixture with its brand assets and fonts.
2026-08-13 17:21:08 -07:00
zooqueenandHanzo Dev 70b41673a3 frames: rebrand the fork to Hanzo Frames
Forked from HyperFrames (Apache-2.0), full history preserved.

Hosts are mapped explicitly and BEFORE the identifier rename, because
hyperframes.heygen.com is not decoration: 175 of its occurrences are $schema
identifiers that a validator dereferences. A blind rename would have left them
naming a host that never serves them. The schema files are in this repo under
docs/schema, so the mapped host is one we can actually serve -- that is the
condition that makes the rewrite safe, and serving them is a deploy task, not
an edit. docs/schema/hyperframes.json is renamed to frames.json to match the
identifier it is now published under.

api.heygen.com and the CLI auth against heygen.com are left UNRENAMED on
purpose. They are a dependency on HeyGen's SaaS, not a name of ours to take,
and the right move is to remove that integration rather than rebrand it.

LICENSE and CREDITS.md are untouched; NOTICE records the lineage.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 23:42:24 -07:00
James 8d8a90ead1 chore: release v0.7.81 2026-07-29 06:11:11 +00:00
Miguel Ángel dec2313c2b chore: release v0.7.80 2026-07-29 02:22:54 +00:00
Miguel ÁngelandGitHub d570656010 Merge pull request #2855 from heygen-com/fix/secure-runtime-dependencies
fix: remove vulnerable runtime dependency paths
2026-07-29 01:14:46 +02:00
Miguel Ángel 493c941d12 chore: release v0.7.79 2026-07-28 23:06:45 +00:00
Miguel Ángel 3c1c2fc32d fix: remove vulnerable runtime dependency paths 2026-07-28 20:45:43 +00:00
Vance Ingalls fb5768366e chore: release v0.7.78 2026-07-28 05:27:29 -07:00
Miguel Ángel fcd9a82b64 chore: release v0.7.77 2026-07-28 02:12:41 +00:00
James cfe8467b58 chore: release v0.7.76 2026-07-27 05:08:40 +00:00
James 4548c34f64 chore: release v0.7.75 2026-07-27 03:38:16 +00:00
James RussoandGitHub d9c8651082 chore: release v0.7.74 (#2818) 2026-07-26 21:57:54 -04:00
James 1164b321ad chore: release v0.7.73 2026-07-26 21:25:03 +00:00
James RussoandGitHub 4868240ab0 chore: release v0.7.72 (#2800) 2026-07-26 02:01:10 -04:00
James 4a9235f6e6 chore: release v0.7.71 2026-07-24 19:03:16 +00:00
Vance Ingalls 1509c1b3c6 chore: release v0.7.70 2026-07-23 20:59:30 -07:00
James dfd89b2252 chore: release v0.7.69 2026-07-23 12:03:36 -07:00
James cdd8f3bb4b chore: release v0.7.68 2026-07-22 04:41:54 +00:00
James 58084a9d07 chore: release v0.7.67 2026-07-21 23:51:05 +00:00
Miguel Angel Simon Sierra fa4a2890e3 chore: release v0.7.66 2026-07-21 14:36:22 +02:00
James a306668a19 chore: release v0.7.65 2026-07-21 04:45:59 +00:00
James 17aaaaa3c2 refactor(repo): centralize package subpaths 2026-07-18 15:58:23 -04:00
Miguel ÁngelandGitHub dfa6977230 chore: release v0.7.64 (#2630)
Release HyperFrames v0.7.64.
2026-07-18 15:02:20 -04:00
Miguel ÁngelandGitHub 4d00e3582b chore: release v0.7.63 (#2628) 2026-07-18 04:44:56 -04:00
Miguel ÁngelandGitHub 598d8736b3 chore: release v0.7.62 (#2626) 2026-07-17 22:02:49 -04:00
Vance Ingalls 0857cabfaf chore: release v0.7.61 2026-07-17 01:07:09 -07:00
Miguel Angel Simon Sierra 2542977e2f refactor(parsers): single shared FFmpeg/FFprobe binary resolver
The cli, engine, and lint packages each carried their own copy of the
ffmpeg/ffprobe lookup, annotated fallow-ignore code-duplication, and the
copies had drifted: the engine copy handled Windows PATHEXT and executed
which/where without a shell but lacked the Homebrew-dirs fallback for
GUI-spawned processes; the cli copy had the opposite. One resolver in
@hyperframes/parsers (the dependency-graph bottom) now carries the union
of both hardenings, and all three packages delegate to it. Every
consumer gets strictly more robust resolution; env-override semantics
per call site are preserved via configuredMustExist.
2026-07-16 18:36:40 -04:00
Miguel Ángel 7817e3f4e5 chore: release v0.7.60 2026-07-16 05:26:57 +00:00
Vance Ingalls cf9fda9df1 chore: release v0.7.59 2026-07-15 11:57:49 -07:00
Miguel ÁngelandGitHub 48cf1c8ddd chore: release v0.7.58 (#2446) 2026-07-14 16:15:59 -04:00
Miguel ÁngelandGitHub 126c045a01 chore: release v0.7.57 (#2393) 2026-07-14 00:29:29 -04:00
Miguel Ángel 92488b9c03 chore: release v0.7.56 2026-07-13 07:04:42 +00:00
Vance Ingalls 9d5b621f53 chore: release v0.7.55 2026-07-12 11:52:53 -07:00
Vance Ingalls 364a5d4fee chore: release v0.7.54 2026-07-11 17:15:24 -07:00
Miguel Angel Simon Sierra a4f3e87fb1 chore: release v0.7.53 2026-07-11 15:59:07 -04:00
Vance Ingalls fd0ec49421 chore: release v0.7.52 2026-07-10 19:47:59 -07:00
Miguel ÁngelandGitHub 5b2c1aaccf chore: release v0.7.51 (#2188) 2026-07-10 20:16:15 -04:00
Miguel Angel Simon Sierra 10084163d2 chore: release v0.7.50 2026-07-10 18:48:40 -04:00
Vance Ingalls 6eed8c0446 chore: release v0.7.49 2026-07-10 09:57:48 -07:00
Miguel ÁngelandGitHub fb6ed99d88 chore: release v0.7.48 (#2118) 2026-07-09 21:49:58 -04:00
Miguel Angel Simon Sierra c106d3f5df chore: release v0.7.47 2026-07-09 20:34:59 -04:00
Vance Ingalls f8aff606bb chore: release v0.7.46 2026-07-09 12:01:33 -07:00
Vance Ingalls 8bcb44843c chore: release v0.7.45 2026-07-08 22:15:49 -07:00
Vance Ingalls 3dbde4c99d chore: release v0.7.44 2026-07-08 16:21:05 -07:00
Vance Ingalls f2ae9e8094 chore: release v0.7.43 2026-07-08 15:51:39 -07:00
Vance Ingalls a9f2b4e326 fix(engine,cli): resolve drawElement to a Chrome build that actually has it
canvas.drawElementImage is an unlaunched Dev/Canary-only Blink feature
(~151+). The CLI's pinned CHROME_VERSION fallback was still 131.0.6778.85 —
a puppeteer 24→25.2.1 bump that pinned it to Chrome Dev 151.0.7912.0 was
written on 2026-06-29 but never merged (orphaned local commit, no PR). Any
render on that pin, or on the shared puppeteer-cache binary, or on system
Chrome (Stable, no drawElementImage at all) got a canvas.getContext("2d")
missing the method and crashed mid-capture with "ctx.drawElementImage is
not a function" instead of falling back (HF#2060).

Three changes:
- Bump puppeteer/puppeteer-core to ^25.2.1 across every package that
  depends on it, and CHROME_VERSION to 152.0.7928.2 (today's Dev channel;
  confirmed via direct probe to implement drawElementImage, unlike 131).
- `ensureBrowser({ preferManagedChrome: true })`, always used by `render`:
  resolve straight to our pinned/cached build, skipping both the shared
  puppeteer-cache preference and system Chrome. Rendering shouldn't depend
  on whatever arbitrary Chrome a machine happens to have — that's exactly
  how this regressed (any Mac with Chrome.app installed bypassed the CLI's
  pin entirely).
- A runtime capability probe in the engine, right before any other
  drawElement work: if `drawElementImage` isn't a function on the injected
  canvas, route to the existing screenshot-fallback gate instead of
  crashing. This is the real backstop — it protects every resolution path
  (env override, stale cache entry, a future Chrome regression), not just
  the ones `preferManagedChrome` reaches.

Verified end-to-end: rendering against chrome-headless-shell 131 (confirmed
to lack drawElementImage) now falls back cleanly and produces a valid MP4
instead of crashing; rendering against a capable build still engages
drawElement normally. 922 engine tests + 1373 CLI tests pass.

Fixes #2060.
2026-07-08 14:14:28 -07:00
Vance IngallsandClaude Fable 5 31879c5327 chore: release v0.7.42
Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 16:04:26 -07:00
Miguel Ángel 0d1f012b47 chore: release v0.7.41 2026-07-07 20:30:24 +00:00