Releases: heygen-com/hyperframes
Release list
v0.7.64
HyperFrames v0.7.64
Released on 2026-07-18.
Studio editing is more predictable: multi-selection drags now keep composition positions in sync,
and Acorn-based atomic cuts stay isolated from Recast behind explicit operation-family gates.
Preview and render compilation now share a semantic-parity contract, while local .scratch files
no longer pollute lint runs.
Fixes
- Studio: Keep composition multi-drag positions in sync (f7911d10b, #2629)
- Lint: Ignore local .scratch directories in oxlint (452e9074f, #2624)
- Studio: Keep atomic Acorn splits Recast-free (8dd7e3dfc)
- Studio: Read writer environment explicitly (022e260ac)
- Studio: Select writer for atomic cuts (710a8f1db)
Internal
- Core: Own edit protocol contract (562544f68)
- Compiler: Enforce preview render parity (f0956e594)
- Studio: Gate SDK operation families (38c2d0693)
- Studio: Gate Acorn writer migration (43788c6dd)
Full changelog
v0.7.63
HyperFrames v0.7.63
Released on 2026-07-18.
Media Use now releases incomplete asset reservations when downloads, cache imports, or LUT
generation fail, preventing zero-byte placeholders from being mistaken for valid media. Missing
HeyGen CLI guidance now points to the official setup docs instead of embedding pipe-to-shell
installer text.
Fixes
Full changelog
v0.7.62
HyperFrames v0.7.62
Released on 2026-07-18.
Studio now plays alpha-channel authoring proxies reliably through Chromium-compatible VP8, while the render pipeline gains stricter serializable request validation and immutable capture planning that preserves OOM retries. Cloud uploads are size-aware, timeline and sidecar recovery are more robust, and capture failures avoid duplicate compositing and pathological parsing.
Features
- CLI: Make cloud archives size-aware (e73304fb0)
Fixes
- Studio: Preserve alpha proxy playback (e64a22893, #2625)
- Producer: Retain streaming retry after OOM (a7d6f7f7d)
- Producer: Preserve render request config contracts (1a66c881b)
- Producer: Validate render request engine snapshots (fc4e9a6c0)
- Producer: Omit absent render request options (25dd4cc8c)
- Producer: Validate render request wire contracts (c251db02d)
- Studio: Ignore stale failed sidecars for existing renders (2577aaffe, #2621)
- Producer: Credit held video tails in coverage gate (209784ab2, #2606)
- Studio: Harden composition timeline reliability (2b65b4efc, #2615)
- Engine: Stop compositing phantom duplicates on captureBeyondViewport (2be8a62c0, #2607)
- Engine: Avoid polynomial capture failure regex (5da9f7ab3)
Docs & Examples
- Guides: Resolve the Send-to fidelity contradiction (preserve substance, adapt form) (7acabbcde, #2620)
- Guides: Redirect Send-to imports to the Send-to guide (8bfc67688, #2619)
Internal
- Producer: Preserve parallel plan watchdog coverage (e9604270b)
- Producer: Make capture plans immutable (6a84e95c6)
- Producer: Unify render requests (65f2e2927)
- Engine: Type capture failures (acb3d81b9)
Full changelog
v0.7.61
HyperFrames v0.7.61
Released on 2026-07-17.
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, #2614)
- Studio: Default the flat inspector on (a4167ede0)
- Media: Alpha-capable authoring proxies (e8371a7ac, #2598)
- CLI: Bake proxies into published archives (35eff5038, #2595)
- Lint: Flag relative-value second writers and tl.set initial hides (4ad582606, #2612)
- Lint: Seek-order safety and SVG draw-on rules for GSAP timelines (f3d210066, #2611)
- CLI: Resolve proxies before check's timed browser phase (0561adc11, #2594)
- CLI: Serve proxies from play and the static project server (74b4f1e8c, #2593)
- Core: Swap undecodable video to its proxy at runtime (39b588cbd, #2592)
- CLI: Let projects opt out of automatic proxying (645880706, #2591)
- Studio Server: Serve H.264 proxies from the preview route (67eab59f4, #2590)
- Skills: Add composition-structure block + soft-warn feedback lint (0aaac7aa3)
- Studio Server: Transcode bounded H.264 proxies on demand (9d148d288, #2589)
- Studio Server: Bound the proxy cache with LRU accounting (1d3d20450, #2588)
- Studio Server: Probe media codec facts for proxy decisions (9ca1e1710, #2587)
- Lint: Flag HEVC video assets with info-level preview note (664c39db9)
- Skills: Add changelog-video skill for repo-native CC + Codex discovery (e96ebd74d, #2552)
- Studio: Clarify storyboard review handoff (73dd38f93)
- CLI: Surface extract-cache dir in doctor + add --frames-cache-dir sugar (ca3522750)
- Core: Export runtime start resolver with documentRef parameter (fd19a1563)
- Skills: Act on stale CLI pin during project resume (f8c33cab7, #2540)
- CLI: Configurable transcribe timeout with duration-scaled default (f8210d96d)
Fixes
- Studio: Short-circuit slideshow-island detection with a substring check (review N2) (53b362143)
- Studio: Hide the Slideshow tab and panel for non-slideshow compositions (67696cd8d)
- Feedback Lint: Tighten census value scoping and defect-keyword matching (490642b78)
- Gcp Cloud Run: Include all workspace build dependencies (a6df35f89, #2608)
- CLI: Resolve the producer alias in the CLI vitest config (8e162921b, #2609)
- Fallow: Suppress line-shifted pre-existing findings + simplify CSS.escape polyfill (d05c899c8)
- CLI: Import EXTRACT_CACHE_DIR_DISABLED_ALIASES in render.ts (9fc7390c2)
- Preserve shared FFmpeg resolver behavior (798047908)
- Engine: Ignore benign media request aborts (08dbb7db3, #2423)
- Engine: Reuse HyperFrames browser cache (f0aee2855, #2459)
- Skills: Align TTS docs with CLI contract (428e57191, #2483)
- Core: Stop composition variables from shadowing authored CSS custom properties (406894061, #2553)
- Studio: Guard storyboard history navigation (68beec0e7)
- CLI: Surface HYPERFRAMES_BROWSER_PATH hint on macOS <13 chrome-headless-shell dyld crash (0d16f19b0)
- Studio: Address storyboard review feedback (ded443647)
- Studio,runtime: CSS.escape ids so digit-leading selectors don't crash (9bbdcc4ec)
- Core: Re-export createRuntimeStartTimeResolver from index so dist emits it (94929815f)
- Engine: Escalate hung browser lease closes (d4cfa08cb)
- Lint: Catch cold-seek opacity reveals (55ee559e4, #2503)
- CLI: Avoid Python whisper CLI collision (9b17a5ad7, #2414)
- Engine: Preserve mono audio level (ed1f38124, #2392)
- CLI: Fail clearly on unsupported Node versions (e846cd600, #2388)
- Transcribe: Select multilingual model before download (584be6d64, #2303)
- CLI: Time out stalled model downloads (75eedf5cc, [#2415](https://github.com/heygen-com/hyperframes/pull...
v0.7.60
HyperFrames v0.7.60
Released on 2026-07-16.
Rendering is more deterministic across software-GPU, Windows, and long-running worker paths: SwiftShader no longer leaks stale compositor layers into captured frames, video clips can intentionally hold their final frame through a longer composition slot, and capture failures now surface with clearer diagnostics. This release also strengthens Studio file concurrency and SDK/runtime synchronization so edits and previews stay aligned with the underlying project state.
Features
- Engine: Opt-in per-frame timing on fast-capture fallback path (e6cdf4abb)
- Engine: Software-GPU parity diff helper for solid-black capture-shape bugs (97e094621)
- Producer: Calibration-aware heartbeat + worker-death terminal-error contract (971bcf39a)
- Lint: Flag high overlay-element counts (heavy-capture risk) (75de927fb)
- Producer: Parity telemetry gate for per-clip frame-count invariant (69b393865)
- Engine: Surface escape hatches in page.goto Nav timeout errors (58cff5f6d)
- Engine: Auto-disable streaming-encode on Windows software-GPU compound (cbf2a2ec6)
- Engine: Surface protocolTimeout env + flag in Puppeteer timeout errors (6944a1c2d)
- Core: ApplyPositionEdits gains force option and undo reset path (049f72d4d)
- Sdk: GetVariableValue({ base: true }) reads pre-override declared defaults (db5e06221)
Fixes
- Renderer: Prevent stale SwiftShader layers (54a3ef200)
- Engine: Emit SystemMemory cgroup notice to stderr, not stdout (b179c9536, #2520)
- Studio: Give flat-inspector value fields a resting-state input affordance (2b51c5263)
- Studio: Make setRightPanelTab itself flat-aware, not just the direct tab click (fb24ecac2)
- Video: Hold final frame through composition (2e8f871bc)
- Studio: Show Layers full-height in the flat inspector, not split with Design (79b688f20)
- Core: Guard undefined NodeList index in applyPositionEdits loops (4ac7b4fa8)
- Producer: Propagate --exclude-tags to Dockerfile.test ENTRYPOINT (1c46eadce)
- Skills: Require actionable CLI feedback repros (3a71a03de, #2498)
- Studio: Enforce optimistic file concurrency (2417293da, #2156)
- Sdk: AttachSync re-syncs the override snapshot on iframe load (4682da14f)
- CLI: Align video output boundaries (35e623b4f, #2490)
- Skills: Preserve caption skin contrast states (f45f76247, #2486)
- CLI: Preserve snapshot timestamp precision (9e53c0f9b, #2494)
- Runtime: Resume readiness after deferred GSAP batching (b874c4440, #2491)
- Engine: Fail partial audio track preparation (968c90397, #2488)
- Render: Ignore favicon probe noise (850f57ea0, #2487)
- Producer: Bridge stall-timeout env var rename, disambiguate abort from stall on sequential path (b70d849a4)
- Producer: Extend DE stall watchdog to the single-worker streaming path (650977d1d)
Docs & Examples
- Renderer: Link SwiftShader workaround tracker (9c25e27da)
Internal
- Producer: Use intrinsic duration in style fixtures (4cbde3830)
- Producer: Update remaining video slot goldens (1284703ad)
- Producer: Update video slot regression golden (31cc2fe87)
- Producer: Reproducer fixture for both-escape-hatches-fail case (e5c4e1970)
Full changelog
v0.7.59
HyperFrames v0.7.59
Released on 2026-07-15.
Studio ships a redesigned flat property inspector — single-column, one-open-at-a-time groups for Text, Style, Layout, Motion, Media, and Grade — currently behind the STUDIO_FLAT_INSPECTOR_ENABLED flag (off by default) while it finishes validation. Rendering and CLI reliability improve across audio muxing, media discovery, snapshot boundaries, Windows path handling, and browser preflight, and the SDK cutover path is now transactional.
Features
- Skills,studio,media Use: The intent layer, review loop, and user memory — BRIEF.md, companion mode, recipes; /website-to-video folds into /product-launch-video (b9be0b262, #2133)
- Engine,producer,cli: Capture failing dB/frame index on drawElement verify fallback (a5cbb78ff)
- Studio: Track design-panel input usage across both inspector UIs (7cc10a992, #2467)
- Studio: Animate flat inspector group expand/collapse (a0f2a65bc)
- Studio: Flatten multi-field Text, retiring TextSection fallback (0524f1c9c)
- Studio: Add FlatTextLayerList for multi-field text (b0093835f)
- Studio: Render pinned groups first with a persisted, per-element-kind pin zone (b2384fad6)
- Studio: Add PinnedGroupRow always-open pinned-group primitive (31849d62e)
- Studio: Wire the flat Grade group into the one-open accordion (384fe5934)
- Studio: Add usePersistedPinnedGroups hook (4bff97090)
- Studio: Persist per-element-type pinned groups in studioUiPreferences (0d7a60a52)
- Studio: Add HDR warning banner and Apply-to-scope row, completing FlatColorGradingSection (cc07c84a3)
- Studio: Add Blur and Pixelate effect sliders (80dc7c49f)
- Studio: Add Vignette and Grain rows with tuned-settings sub-panel (93f3bf594)
- Studio: Add the 10 Adjust sliders to FlatColorGradingSection (96d90feb5)
- Studio: Add FlatColorGradingSection Preset and Custom LUT rows (9b6bed282)
- Studio: Add FlatColorGradingAccessory (compare, status dot, reset) (160193d83)
- Studio: Widen FlatSelectRow options to support label!=value entries (18e4aef7d)
- Studio: Add centerTick and reset-slot to FlatSlider for bipolar grade rows (afafeccf4)
- Studio: Wire the flat Media group into the one-open accordion (5a3abdef3)
- Studio: Add fit/position rows to FlatMediaSection (ea463cdf8)
- Studio: Add loop/muted/has-audio-track toggles to FlatMediaSection (79fdff870)
- Studio: Add volume/rate/media-start sliders to FlatMediaSection (ab263f25b)
- Studio: Add cutout sub-block to FlatMediaSection (138d45faa)
- Studio: Add FlatMediaSection scaffold + source/copy row (0e0cb4846)
- Studio: Add FlatToggle primitive (14d8de749)
- Studio: Wire the flat Motion group into the one-open accordion (47591f07a)
- Studio: Compose FlatMotionSection from Timing and the flat effect-card list (9676382bb)
- Studio: Add flat collapsed-header variant to AnimationCard (a3d092ee0)
- Studio: Add FlatTimingRow for the flat Motion group (fb1373905)
- Studio: Wire the flat Layout group into the one-open accordion (8602e1a8c)
- Studio: Compose FlatLayoutSection from geometry, z-index, flex, and 3D blocks (0369865dd)
- Studio: Nest the existing 3D transform sub-view in a flat wrapper (5edaf6db7)
- Studio: Add flat Layout Z-index row and Flex sub-block (3b958aeb7)
- Studio: Add flat Layout geometry rows (X/Y/W/H/Angle) with keyframe gutters (588895f31)
- Studio: Wire the flat Style group into the one-open accordion (fea582f2b)
- Studio: Add flat Opacity slider, completing the Style group (ff7a9c593)
- Studio: Add flat Overflow and Mask rows to the Style group (11d1cc749)
- Studio: Add flat Layer blur and Backdrop sliders to the Style group (cb8962652)
- Studio: Add flat Shadow and Blend rows to the Style group (988896821)
- Studio: Add flat Stroke and Radius rows to the Style group (b86717d75)
- Studio: Add FlatStyleSection with the flat Fill sub-block (2d9989db3)
- Studio: Add stroke-summary format/parse helpers for the flat Style group (760aa09a4)
- Studio: Add FlatSelectRow primitive for the flat inspector (f71fcf4da)
- Studio: Add FlatSlider primitive for the flat inspector (9854c6de7)
- CLI: Surface stale project pin to non-TTY agents, throttled (9bcd279b2)
- CLI: Hyperframes upgrade --project bumps pinned package.json scripts (c1b1c729e)
- CLI: Add project-pin rewrite helper (6fec8f39a)
- Studio: Render the flat Ledger inspector shell behind STUDIO_FLAT_INSPECTOR_ENABLED (e0066834b)
- Studio: Wire group-selection and hide-all into the property panel (82f3f340a)
- Studio: Add flat empty and multi-select states (#6b) (4e2441229)
- Studio: Add FlatTextSection, the flat inspector's canonical reference group (b5d11d035)
- Studio: Add flat trigger variants for ColorField, FontFamilyField, TextAreaField (2983e7425)
- Studio: Add flat footer (ask agent + record) for t...
v0.7.58
HyperFrames v0.7.58
Released on 2026-07-14.
HyperFrames now uses a 0–10 recommendation scale for feedback, keeps canvas z-order actions synchronized with timeline lanes, and makes the core workflow set easier to install from the skills picker. Rendering is more reliable across variable-bound and root-absolute media, explicit worker counts, Windows FFmpeg failures, and final artifact publication, while CLI snapshot, frame, layout, and contrast diagnostics are more consistent.
Features
- Feedback: Adopt 0–10 recommendation scale (990f5c314, #2438)
- Studio: Mirror canvas z-order actions into timeline lanes (track order = default paint order) (89db71889, #2380)
- Skills: Group core skills in the skills add picker (4a4903b49, #2412)
Fixes
- CLI: Resolve color-mix() colors in contrast audit instead of false-failing (6c2513d5c, #2445)
- Producer: Probe variable-bound media sources (d2c8c2d80, #2444)
- Pr To Video: Use display names, not GitHub logins, in credits narration (4cba58f5a, #2385)
- Engine: Honor explicit render worker counts (e05debe1a, #2439)
- Render: Diagnose unlaunchable Windows FFmpeg (3d7e26aab, #2430)
- Render: Publish artifacts atomically (fb0d82350, #2154)
- CLI: Consolidate snapshot and frame diagnostics (6933e8acd, #2402)
- CLI: Consolidate layout and contrast audit correctness (b98463ae3, #2401)
- Engine: Resolve root-absolute media from project (6fc92308d, #2399)
- Engine: Skip unnecessary dimension pad (0dfc85b68, #2398)
Internal
Full changelog
v0.7.57
HyperFrames v0.7.57
Released on 2026-07-14.
hyperframes publish now returns a stable public URL: re-publishing updates the same link in place, and a --space flag plus a committable project file let a whole team publish to one shared URL. This release also keeps preview review sessions alive across reloads and tags HeyGen API calls with an X-HeyGen-Client-Source header.
Features
- Preview: Keep review sessions alive (2a7a5e623, #2384)
- CLI: Stable public URL for hyperframes publish (re-publish updates the same link) (4495cb735, #2363)
- Media Use: Tag HeyGen calls with X-HeyGen-Client-Source (dd938c7a1, #2365)
- CLI: Tag HeyGen API calls with X-HeyGen-Client-Source (746b6d5b7, #2368)
- CLI: Coordinate-frame layout findings in check (7f4eaeb56, #2354)
Fixes
- Release: Resolve packed-consumer transitive deps to local tarballs (3dcc6e6a8, #2396)
- CLI: Require explicit non-interactive init source (8bf7bc3af, #2395)
- Engine,producer: Drive forceScreenshot from one authoritative local (f44bc3a52)
- Engine: Carry programmatic forceScreenshot opt-out to concrete-resolved site (72daac2a1)
- Media Use: Tag avatar-video heygen recipes with X-HeyGen-Client-Source (ca7c017e4, #2391)
- Pr To Video: Enforce offline frame contract (852d1891d, #2383)
- Pr To Video: Bound first-run workspace and context (fba5cb9c9, #2382)
- Lint: Isolate IIFE timing constants (6f4c6308f, #2378)
- CLI: Surface keyframes from scripts and styles inside (b231b6f96, #2374)
- Render: Require HDR transfer metadata (9639824f4, #2377)
- CLI: Reject missing init example values (3a020bf54, #2376)
- Studio: Address PR #2347 review findings (rounds 1-2) (a33b3f35e)
- Studio: Flashless z-order commits and visible-overlap stepping (760b88a6f)
- Studio: Persist canvas z-order actions correctly for static elements (84963ea8b)
- Studio: Make vertical lane moves persist correctly and harden the z/lane pipeline (19139b91e)
- Studio: Restore golden-branch timeline behaviors dropped by the stack rebuild (54f41b41b)
- Engine,producer: Apply software-GPU screenshot invariant at concrete-resolved point (2e44602f9)
- Render: Surface structured outcomes (cb69d3fe0, #2153)
- CLI: Skip contrast for intentionally covered text (8e50e8477, #2366)
- CLI: Accept 1–3-frame short WebMs + add direct pixel-probe tests (56dcc4e47)
- CLI: Label the batch asset-import RENDER_FAILED with the images endpoint (bd8ee05ae)
- Core,cli: Attribute figma REST failures to the endpoint that failed (4ca1552e2)
- CLI: Detect WebM alpha lost when the ALPHA_MODE tag is written without side data (b8562c91d)
- Engine: Software-GPU browsers imply screenshot capture (ba5168293)
- CLI: Occlusion-probe false positives — pointer-events blindness, low-alpha gradients, not-yet-entered text (3e3b37d37, #2357)
- Engine: Support current FFmpeg filter scripts (3df59fc0a, #2324)
- Browser: Recover abandoned install locks (81a6edcb6, #2328)
- Render: Retry explicit parallel capture timeouts (5ff4ba13f, #2331)
- CLI: Declare Apache-2.0 license (648e4e8c5, #2351)
- Player: Own connection and media resources (16942c0c1)
- Core: Preserve runtime transport contract (cc3ca2f9f)
- Player: Version runtime protocol (dcefdd98c)
- Media Use: Drop the HeyGen generative use-cases table (6892b6266, #2370)
- Skills: Add cloud render + variables to CLI skill, media-use generative use cases (78b9a814d, #2356)
- CLI: Sync SRT upload docs from EF (74fb4dbcc, #2364)
- Engine: Write HDR fixture color tags into the H.264 VUI (9ac4ab8de, #2389)
- Studio: Delete-path duration rollback coverage, shared dismiss predicate on preview open (512560b4c)
- Fallow: Allow sampledAlphaIsFullyOpaque test-only export (c3b0b91fe)
- CLI: Stabilize flaky install-lock wait-notice test with fake timers (e47af77c5)
- Repo: Verify packed consumers (979e9d090)
- Ci: Stabilize Windows suites after Studio cutover (758a6d215, [#2320](https://g...
Performance
Docs & Examples
Internal
v0.7.56
HyperFrames v0.7.56
Released on 2026-07-13.
Studio now uses the rebuilt NLE editor, with a unified timeline, richer asset previews, and safer multi-selection, drag, resize, crop, split, and z-order workflows. Editing actions now settle and persist as atomic transactions, so one gesture produces one undo step and failed writes restore the prior state instead of leaving partial changes.
Features
- Studio: Rebuilt the editor shell, timeline lanes, asset browser, media thumbnails, preview overlays, and Blocks workflow around the new NLE experience (df29fa7a5, #2291)
Fixes
- Studio: Made edit commits atomic and corrected undo, razor split, group drag, z-order, instant-hold resize/rotate, overlay geometry, crop flicker, and stale-failure behavior (df29fa7a5, #2291)
- Producer: Avoid duplicate local-font embedding when multiple references resolve to the same file (994050310, #2317)
- Render: Allow an explicit composition entry to render without a project-level
index.html(796d5df15, #2307) - Media Use: Recognize derived video outputs during ingest (7c0dcb0b1, #2310)
- Render: Scope strict linting to the composition selected for rendering (38badff82, #2261)
- Media Use: Fall back to bundled sound effects when the HeyGen CLI is missing or outdated (2e34a2d5a, #2257)
- CLI: Detect video-driven motion during frozen-frame checks (44653b31d, #2308)
- Check: Snapshot restored text state after contrast audits (b861afe45, #2306)
- Render: Stream long captures on memory-constrained machines instead of buffering the full frame set (9c0c1f99d, #2245)
- Render: Reject incomplete captured frames before they reach encoding (995885484, #2293)
Full changelog
v0.7.55
HyperFrames v0.7.55
Released on 2026-07-12.
Studio gains a real timeline collision-and-placement model (snapping, stacking sync, seek-restore on reload). On the render side, several capture-correctness fixes land: software-GPU and distributed video renders no longer clip a black band off the bottom edge, and the experimental parallel drawElement router now fails over to the pinned screenshot path in seconds instead of hanging on a stalled worker.
Features
- Studio: Timeline collision and placement model (44ffe4b41, #2279)
- Studio: Timeline collision and placement model (7f21d5dc4, #2195)
- Studio Server: Files route extensions (c15819fe8)
- Studio: Seek-restore contract for player reloads (3930460c5, #2193)
- Studio: Timeline leaf helpers — audio inspector, zoom math, UI prefs (920dad35e, #2192)
Fixes
- Producer: Stop clipping the bottom edge of software-GPU video renders (de95daa09)
- Producer: Fall back fast when the parallel DE streaming capture stalls (07fb35c37)
- CLI: Stop losing render telemetry to the exit race (ccf5f20b3, #2105)
- CLI: Grant s3 encryption actions in lambda policies user output (f1f317a20, #2289)
- Core: Enforce strict runtime safety (0af07a07c)
- Studio: Continuation of #2281 (ebbd1eb2c, #2287)
- Studio: Continuation of #2277 (c6a508a9b, #2286)
- Studio: Continuation of #2280 (8e5b18f74, #2285)
- Studio: Stacking sync (e464b33bb, #2270)
- Studio: Timeline snapping (345f715c3, #2269)
Docs & Examples
- Skills: Tell agents to file reproducible render bugs, not paraphrases (6a3da1f62)
Internal
- Repo: Enforce workspace contracts (83db364f8)