chore: release v0.7.60 - #2524
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
james-russo-rames-d-jusso
left a comment
There was a problem hiding this comment.
Reviewed at 0f287ee0. Cross-checked the changelog against v0.7.59...HEAD merged commits, verified every publishable workspace package + plugin manifest bumped to 0.7.60 with no stray drift, and sanity-checked the release delta for anything that shouldn't be in a stable cut.
Blockers
(none)
Concerns
(none)
Nits
(none)
Questions
(none)
Green notes
🟢 Changelog delta matches the merged range exactly — 34-for-34. gh api /compare/v0.7.59...0f287ee0 returns 34 non-merge commits (plus 16 merge commits, correctly filtered from the notes). Each is enumerated once in releases/v0.7.60.md + docs/changelog.mdx: 10 Features + 19 Fixes + 1 Docs/Examples + 4 Internal = 34 entries. Every SHA in the notes resolves to a real commit in the range; every commit in the range is either enumerated OR is a merge-commit correctly filtered. No dupes, no ghosts, no orphaned refs.
🟢 Version bumps are workspace-consistent. Every publishable HyperFrames package advanced 0.7.59 → 0.7.60:
- 14 workspace packages:
aws-lambda,cli,core,engine,gcp-cloud-run,lint,parsers,player,producer,sdk,shader-transitions,studio-server,studio(all → 0.7.60) - 3 plugin manifests:
.claude-plugin/plugin.json,.codex-plugin/plugin.json,.cursor-plugin/plugin.json(all → 0.7.60)
Root hyperframes-monorepo is private: true (unversioned monorepo shell — correct). packages/sdk-playground intentionally stays on its own cadence (private: true, version: "0.6.106", workspace:* refs) — decoupled by design, expected exclusion. The three skills/remotion-to-hyperframes/assets/test-corpus/*/remotion-src/package.json sitting at 0.0.0 are test fixtures — also correctly excluded.
🟢 No stray non-release changes in the diff. All 18 changed files are release-mechanics: 3 plugin manifests + 14 workspace package.json bumps + docs/changelog.mdx prepend + releases/v0.7.60.md new file. No lockfile change (expected — workspace:* refs don't need re-resolution on version bump), no feature-flag default flips, no bot-authored consolidations, no WIP flag flips.
🟢 Release narrative accurately compresses the delta. The "Rendering is more deterministic … SwiftShader no longer leaks stale compositor layers … video clips can intentionally hold their final frame … capture failures now surface with clearer diagnostics" summary maps cleanly to the highest-signal merges: HF#2521 (SwiftShader stale layers), HF#2516 (video hold-final-frame), and the Via calibration-heartbeat / protocolTimeout / page.goto-nav-timeout series. The "Studio file concurrency and SDK/runtime synchronization" second sentence covers HF#2156 + HF#2500 (attachSync) + HF#2499 (getVariableValue({base: true})). Nothing overclaimed, nothing high-signal omitted.
🟢 Nice follow-through: the SwiftShader workaround now has its documented removal path. 9c25e27d docs(renderer): link SwiftShader workaround tracker landed after HF#2521 and is enumerated under "Docs & Examples" here. The exact hygiene item I raised as a concern on HF#2521 was addressed in a follow-up merge — closes that loop cleanly for the release.
🟢 Release notes format is symmetric with prior entries. docs/changelog.mdx prepends before the existing HyperFrames v0.7.59 Update block (correct order — newest first), and releases/v0.7.60.md matches the section conventions used in prior releases (Features / Fixes / Docs & Examples / Internal / Full changelog).
What I didn't verify
- Didn't re-review each of the 34 merged commits at their PR level — every one was reviewed at merge time, and I re-verified the two that flowed through my own recent queue (HF#2497
fb24ecac, HF#252154a3ef200). Trusting the merge-queue integrity for the rest. - Didn't run
bun run release:prepare 0.7.60locally to reproduce the artifacts — the PR body cites the command was run and pre-commit tracked-artifact + format checks passed. Structural verification of the produced files is what I did instead. - Didn't inspect npm dist-tag / GitHub Release side effects — those happen post-merge via the release workflow, not in this PR's diff.
Verdict framing
Clean stable-release cut. Changelog, version bumps, plugin manifests, and release-notes narrative all internally consistent with the actual merged range. LGTM from my side.
Merge gate separate: several required CI checks are still IN_PROGRESS at this SHA (regression-shards 1-8, Windows render verification render + tests). Every completed CI check is green so far. Land only once required checks are green.
vanceingalls
left a comment
There was a problem hiding this comment.
Reviewed at 0f287ee0. Post-merge audit — PR was self-merged by Miguel at 05:32:57Z; npm Publish workflow completed SUCCESS at 05:36:43Z (merge commit 9ed255c0). Recording the R1 verification for the record.
Blockers
(none)
Concerns
(none — release already shipped cleanly)
Nits
(none)
Green notes
🟢 Every workspace version bump is surgical patch. Pulled the raw patch for each of the 16 modified *.json files via /pulls/2524/files. Every diff is exactly - "version": "0.7.59", → + "version": "0.7.60",, single-line, zero collateral field changes. No dependency edits, no engines drift, no field reorder. 13 workspace packages + packages/producer + packages/lint + 3 plugin manifests = 16 files, uniform 0.7.59 → 0.7.60.
🟢 Diff shape is release-mechanics-only. 18 files total: 16 version-bump one-liners + docs/changelog.mdx (+56 prepend) + releases/v0.7.60.md (new, +55). No lockfile churn (correct — workspace:* refs don't re-resolve on version bump). No source changes, no test changes, no config drift, no feature-flag flips.
🟢 Release notes carry no reverted-PR ghosts. Grepped the notes for the recently-reverted #2493 / #2496 references — neither appears. Every enumerated PR link resolves to a real, non-reverted merge. Trusting @james-russo-rames-d-jusso's 34-for-34 commit-range verification for the exhaustive coverage check.
🟢 packages/sdk-playground and skills test-corpus fixtures correctly excluded. Playground stays on its own 0.6.106 cadence with workspace:* refs; test-corpus remotion-src/package.json files at 0.0.0 are fixtures. Both intentional exclusions.
🟢 Publish workflow completed SUCCESS. The release actually went out to npm at 05:36:43Z, 3m46s after merge. Windows render verification (Render on windows-latest + Tests on windows-latest) also completed SUCCESS.
What I didn't verify
- Regression-shards 1-8 were still
IN_PROGRESSat merge time (Miguel merged with those pending). Every completed check was green, and regression appears to be non-required based on the merge going through — but did not verify the branch-protection rule set explicitly. - Did not reproduce
bun run release:prepare 0.7.60locally to compare artifact bytes — verified the produced diff structurally against release conventions instead. - Did not audit npm dist-tag or GitHub Release side-effects post-merge — those happen in the Publish workflow, which reports SUCCESS.
Verdict framing
Clean stable release. Version bumps workspace-consistent, diff release-mechanics-only, notes narrative-accurate and ghost-free. Post-merge R1 audit stakes APPROVE (would have stamped pre-merge; noting for the record).
What
Publishes HyperFrames
0.7.60as the next stable release.Why
This release carries the merged renderer fix that prevents stale SwiftShader compositor layers from flashing in rendered frames, plus the other user-facing fixes merged since
0.7.59.How
0.7.60release/v*merge workflow, which createsv0.7.60, publishes npm packages underlatest, and creates the GitHub releaseVerification
bun run release:prepare 0.7.60