Commit Graph

325 Commits

Author SHA1 Message Date
James 4b6bb8ffa9 chore: release v0.7.67
Publish to npm / Publish (push) Has been cancelled
2026-07-21 23:51:05 +00:00
Miguel Angel Simon Sierra 84841b8dae chore: release v0.7.66
Publish to npm / Publish (push) Has been cancelled
2026-07-21 14:36:22 +02:00
James 835fa899c7 chore: release v0.7.65
Publish to npm / Publish (push) Has been cancelled
2026-07-21 04:45:59 +00:00
Miguel Ángel 11cd61d1e3 chore: release v0.7.64 (#2630)
Publish to npm / Publish (push) Has been cancelled
Release HyperFrames v0.7.64.
2026-07-18 15:02:20 -04:00
Miguel Ángel feb675a89d chore: release v0.7.63 (#2628)
Publish to npm / Publish (push) Has been cancelled
2026-07-18 04:44:56 -04:00
Miguel Ángel 7f76170956 chore: release v0.7.62 (#2626)
Publish to npm / Publish (push) Has been cancelled
2026-07-17 22:02:49 -04:00
James e73304fb0e feat(cli): make cloud archives size-aware 2026-07-17 18:44:58 -04:00
Vance Ingalls c268f5ba85 chore: release v0.7.61
Publish to npm / Publish (push) Has been cancelled
2026-07-17 01:07:09 -07:00
Miguel Angel Simon Sierra 88c049f525 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 e846cd6004 fix(cli): fail clearly on unsupported Node versions (#2388) 2026-07-16 12:03:13 -04:00
Miguel Ángel 0f287ee0b6 chore: release v0.7.60 2026-07-16 05:26:57 +00:00
Vance Ingalls ff3b1541e5 chore: release v0.7.59
Publish to npm / Publish (push) Has been cancelled
2026-07-15 11:57:49 -07:00
Miguel Ángel 04954ead81 fix(cli): restore Intel macOS background removal (#2480) 2026-07-15 10:30:04 -04:00
Miguel Ángel 4b0b89e8b1 chore: release v0.7.58 (#2446)
Publish to npm / Publish (push) Has been cancelled
2026-07-14 16:15:59 -04:00
Miguel Ángel 90be05019b chore: release v0.7.57 (#2393)
Publish to npm / Publish (push) Has been cancelled
2026-07-14 00:29:29 -04:00
Miguel Ángel 648e4e8c54 fix(cli): declare Apache-2.0 license (#2351) 2026-07-13 14:56:51 -04:00
Miguel Ángel 94c2e0f6eb chore: release v0.7.56
Publish to npm / Publish (push) Has been cancelled
2026-07-13 07:04:42 +00:00
Vance Ingalls c830aa83c5 chore: release v0.7.55
Publish to npm / Publish (push) Has been cancelled
2026-07-12 11:52:53 -07:00
Vance Ingalls ae4946e624 chore: release v0.7.54
Publish to npm / Publish (push) Has been cancelled
2026-07-11 17:15:24 -07:00
Miguel Angel Simon Sierra 3b081a44ae chore: release v0.7.53
Publish to npm / Publish (push) Has been cancelled
2026-07-11 15:59:07 -04:00
Vance Ingalls 7498eb4a3a chore: release v0.7.52
Publish to npm / Publish (push) Has been cancelled
2026-07-10 19:47:59 -07:00
Miguel Ángel 598dd8b350 chore: release v0.7.51 (#2188)
Publish to npm / Publish (push) Has been cancelled
2026-07-10 20:16:15 -04:00
Miguel Angel Simon Sierra 1d97ddaf8c chore: release v0.7.50
Publish to npm / Publish (push) Has been cancelled
2026-07-10 18:48:40 -04:00
Vance Ingalls 6152437d2a chore: release v0.7.49
Publish to npm / Publish (push) Has been cancelled
2026-07-10 09:57:48 -07:00
Miguel Ángel 3fd340f6ba chore: release v0.7.48 (#2118)
Publish to npm / Publish (push) Has been cancelled
2026-07-09 21:49:58 -04:00
Miguel Angel Simon Sierra 3aa1cf0d83 chore: release v0.7.47
Publish to npm / Publish (push) Has been cancelled
2026-07-09 20:34:59 -04:00
Vance Ingalls 030fded71d chore: release v0.7.46
Publish to npm / Publish (push) Has been cancelled
2026-07-09 12:01:33 -07:00
James Russo ccab6207c4 fix(cli): bump @puppeteer/browsers to ^3.0.6 to fix render hang on Node >=24.16 (#2103) (#2104)
* fix(cli): bump @puppeteer/browsers to ^3.0.6 to fix render hang on node >=24.16

`hyperframes render` (and `browser ensure --force`) hangs forever during
Chrome provisioning on Node >= 24.16 (repro'd on macOS arm64 / Node 26.5.0;
fine on Node 22). Root cause is a transitive extractor bug, not our logic:

  @puppeteer/browsers@2.13.x install()
    -> extract-zip@2.0.1 -> yauzl@2.10.0

A classic-stream backpressure regression (nodejs/node#63487, works 24.15,
breaks 24.16+) surfaces a latent fd-slicer destroy() bug in yauzl 2.x
(yauzl#169). The inflate read stream stalls partway through the first entry
large enough to cross the write highWaterMark (chrome-headless-shell's
1.86MB LICENSE.headless_shell, stalls at ~1.31MB), never emits `end`, so
stream.pipeline never settles and extraction busy-spins. The half-extracted
cache has no executable, so every later render re-enters
"Cached binary missing -> re-download" and hangs again (puppeteer#14957).

Fix: @puppeteer/browsers 3.0.2 dropped extract-zip/yauzl entirely (now uses
modern-tar). Verified 3.0.6 extracts chrome-headless-shell cleanly under
Node 26.5.0 and keeps the full API manager.ts uses (install,
getInstalledBrowsers, Cache, computeExecutablePath, detectBrowserPlatform,
Browser) with an identical on-disk cache layout. Cross-platform (the same
.zip/yauzl path affected Linux + Windows too).

Adds a regression guard asserting the pin stays on the extractor-free
major (>= 3) and never reintroduces extract-zip/yauzl.

Fixes #2103

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore(cli): clarify extractor-guard wording — yauzl is an optional peer, not dropped entirely

Review note on #2104: @puppeteer/browsers 3.0.6 keeps yauzl as an optional
peer fallback (default extractor is modern-tar), so the regression-guard
comment + it-text shouldn't say it was 'dropped entirely'. Test assertions
(extract-zip + yauzl absent from `dependencies`) unchanged and correct.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 10:08:57 -07:00
Vance Ingalls 31f0810be8 chore: release v0.7.45
Publish to npm / Publish (push) Has been cancelled
2026-07-08 22:15:49 -07:00
Vance Ingalls 1e8dd29815 chore: release v0.7.44 2026-07-08 16:21:05 -07:00
Vance Ingalls f8f945d42e chore: release v0.7.43 2026-07-08 15:51:39 -07:00
Vance Ingalls 8854bad8f9 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 Ingalls f6cd711bf0 chore: release v0.7.42
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 16:04:26 -07:00
Miguel Ángel 60463d0bd5 chore: release v0.7.41 2026-07-07 20:30:24 +00:00
Miguel Ángel 2bd9bb6f69 chore: release v0.7.40 (#2024)
Publish to npm / Publish (push) Has been cancelled
2026-07-07 12:30:13 -04:00
Vance Ingalls 229e88eac5 chore: release v0.7.39
Publish to npm / Publish (push) Has been cancelled
2026-07-06 22:48:42 -07:00
Vance Ingalls d8d3a93b0d chore: release v0.7.38
Publish to npm / Publish (push) Has been cancelled
2026-07-06 17:47:34 -07:00
James 9de41ce316 chore: release v0.7.37
Publish to npm / Publish (push) Has been cancelled
2026-07-06 05:59:36 +01:00
Miguel Ángel e8d19b1b43 chore: release v0.7.36
Publish to npm / Publish (push) Has been cancelled
2026-07-05 19:25:42 +00:00
Miguel Ángel 2f55ea678a chore: release v0.7.35
Publish to npm / Publish (push) Has been cancelled
2026-07-05 18:48:24 +00:00
Miguel Ángel 114d31919e chore: release v0.7.34 (#1954)
Publish to npm / Publish (push) Has been cancelled
2026-07-05 10:55:11 -07:00
Miguel Ángel 78cca797f1 chore: release v0.7.33
Publish to npm / Publish (push) Has been cancelled
2026-07-04 22:33:27 +00:00
Miguel Ángel 16fe1368ff chore: release v0.7.32
Publish to npm / Publish (push) Has been cancelled
2026-07-04 21:23:19 +00:00
Vance Ingalls af5f3e5fab chore: release v0.7.31
Publish to npm / Publish (push) Has been cancelled
2026-07-03 23:07:38 -07:00
Vance Ingalls cf594403ef chore: release v0.7.30
Publish to npm / Publish (push) Has been cancelled
2026-07-03 21:47:20 -07:00
Vance Ingalls a2677ca730 chore: release v0.7.29
Publish to npm / Publish (push) Has been cancelled
2026-07-03 19:15:25 -07:00
Miguel Ángel 2dfae0c8b2 chore: release v0.7.28
Publish to npm / Publish (push) Has been cancelled
2026-07-03 20:00:49 +00:00
Vance Ingalls 12c399990b chore: release v0.7.27
Publish to npm / Publish (push) Has been cancelled
2026-07-03 11:37:22 -07:00
Miguel Ángel 65b2093396 chore: release v0.7.26 (#1863)
Publish to npm / Publish (push) Has been cancelled
2026-07-02 00:36:07 -07:00
Miguel Ángel 2186d3b72e chore: release v0.7.25 (#1852)
Publish to npm / Publish (push) Has been cancelled
2026-07-01 20:02:43 -07:00