Skip to content

docs(site): backfill and prose-ify beta changelogs#1794

Merged
decepulis merged 4 commits into
mainfrom
claude/backfill-raw-changelogs-0fcdft
Jul 2, 2026
Merged

docs(site): backfill and prose-ify beta changelogs#1794
decepulis merged 4 commits into
mainfrom
claude/backfill-raw-changelogs-0fcdft

Conversation

@decepulis

@decepulis decepulis commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Closes #1030

Backfills the missing beta changelog entries and translates all 24 of them into narrative prose, applying the rules from the changelog-prose workflow by hand since those releases predate the (now fixed, #1792) pipeline.

What's here

1. Raw backfill (#1030 as written)docs(site): backfill raw changelogs for past betas
Generates the 9 missing files (beta.1–6, beta.13, beta.20, beta.21) from root CHANGELOG.md, using the same extraction logic and frontmatter schema as the release-pr.yml site-extract step. Kept as its own commit so the raw → prose transformation is reviewable per file.

2. Prose for all 24 betasdocs(site): add changelog prose for all beta releases
Each entry follows the changelog-prose.yml prompt rules and writing-style.md: lead with the most impactful changes, group related PRs into stories (with PR context pulled from the linked PRs), explicit migration guidance for the breaking releases (beta.18, beta.23), description frontmatter filled in. Length scales with release size: big releases get 100–300 words, one-bullet releases get one honest sentence.

3. Prompt refinements — the policies honed during this pass, folded back into the workflow prompt so future automated runs match:

  • Prose length scales with release content; never pad to hit a word count.
  • Entirely-internal releases get an honest sentence or two instead of an empty body.
  • Paragraphs only; no headings or bullet lists.
  • Per-change author credits dropped (the PR link carries attribution); "New Contributors" sections become a closing thanks with profile links.
  • Tighter description spec (verb-led, under 140 characters).
  • Commit scope fixed to docs(site) — commitlint's scope-enum has no changelog scope, so PRs opened by the workflow would have failed the commit check.

Data fixes found along the way

Verification

  • Frontmatter diff-checked: only description changed in every pre-existing file (plus the beta.19 correction above).
  • astro sync passes with no changelog collection errors.
  • Every PR fact in the prose traces to a fetched PR body or the raw bullet title; nothing fabricated.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G9r6aQkL82k4o3JqcfjkD3


Generated by Claude Code


Note

Low Risk
Documentation and workflow-prompt changes only; no player or package runtime code. Review focus is factual accuracy of prose and frontmatter, especially breaking-change migration text.

Overview
Backfills missing v10 beta changelog pages and replaces raw bullet lists with narrative prose across all 24 10.0.0-beta.* entries under site/src/content/changelog/, including verb-led description frontmatter for SEO/RSS.

New or regenerated files cover gaps such as beta.1–6, beta.13, beta.20, and beta.21; existing entries are rewritten as paragraph-only stories that group related PRs, keep inline PR links, drop per-change author lines, and spell out migration guidance for breaking releases (notably beta.18 MediaHost and beta.23 cast/fullscreen renames). beta.19 is corrected: wrong pipeline content and a self-referencing compareUrl are replaced with the CLI bin-path fix and the proper compare range.

The changelog-prose GitHub Actions prompt is updated so future automated runs match this pass: length scales with release size, internal-only releases get honest short copy, paragraphs-only formatting, contributor sections become a closing thanks, tighter description rules, and PR commits use docs(site) for commitlint.

Reviewed by Cursor Bugbot for commit f36033b. Bugbot is set up for automated code reviews on this repo. Configure here.

claude added 4 commits July 2, 2026 18:16
Parse CHANGELOG.md and generate raw changelog files for the 9 beta
releases missing from site/src/content/changelog/ (beta.1-6, beta.13,
beta.20, beta.21), using the same extraction logic and frontmatter
schema as the release-pr workflow.

Closes #1030

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9r6aQkL82k4o3JqcfjkD3
Encode lessons from the beta backfill pass: scale prose length to
release size instead of a hard 100-300 words, describe internal-only
releases honestly instead of skipping them into an empty body,
paragraphs only, drop per-change author credits in favor of PR links,
weave New Contributors into a closing thanks, and tighten the
description field spec.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9r6aQkL82k4o3JqcfjkD3
Rewrite all 24 beta changelog entries from raw git-cliff bullets into
narrative prose, following the changelog-prose workflow rules: lead
with the most impactful changes, group related PRs into stories, call
out breaking changes with migration guidance, and fill in the
description frontmatter. PR context was pulled from the linked PRs;
prose length scales with release size.

Also fixes beta.19, whose pipeline-generated file had duplicated
beta.20's content (#1338) and a self-referencing compareUrl; it now
documents its actual change (#1337) and compares beta.18...beta.19.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9r6aQkL82k4o3JqcfjkD3
commitlint's scope-enum has no changelog scope, so PRs opened by the
prose workflow would fail the commit check. Use docs(site) instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9r6aQkL82k4o3JqcfjkD3
@netlify

netlify Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit f36033b
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/6a46ad22b21c470008b88794
😎 Deploy Preview https://deploy-preview-1794--vjs10-site.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@vercel

vercel Bot commented Jul 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v10-sandbox Ready Ready Preview, Comment Jul 2, 2026 6:25pm

Request Review

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

🎨 @videojs/html — no changes
Presets (7)
Entry Initial
/video (default) 46.24 kB
/video (default + hls) 185.87 kB
/video (minimal) 46.25 kB
/video (minimal + hls) 185.90 kB
/audio (default) 39.78 kB
/audio (minimal) 38.93 kB
/background 4.20 kB
Media (10)
Entry Initial
/media/background-video 1.14 kB
/media/container 1.72 kB
/media/dash-video 214.72 kB
/media/hlsjs-video 141.49 kB
/media/mux-audio 163.89 kB
/media/mux-video 163.96 kB
/media/native-hls-video 9.05 kB
/media/simple-hls-audio-only 17.15 kB
/media/simple-hls-video 18.72 kB
/media/vimeo-video 12.31 kB
Players (5)
Entry Initial
/video/player 8.22 kB
/audio/player 5.38 kB
/background/player 3.92 kB
/live-video/player 7.64 kB
/live-audio/player 5.39 kB
Skins (30)
Entry Type Initial
/video/minimal-skin.css css 5.65 kB
/video/skin.css css 5.61 kB
/video/minimal-skin js 46.21 kB
/video/minimal-skin.tailwind js 46.93 kB
/video/skin js 46.24 kB
/video/skin.tailwind js 47.02 kB
/audio/minimal-skin.css css 3.93 kB
/audio/skin.css css 3.82 kB
/audio/minimal-skin js 38.94 kB
/audio/minimal-skin.tailwind js 39.43 kB
/audio/skin js 39.79 kB
/audio/skin.tailwind js 40.30 kB
/background/skin.css css 133 B
/background/skin js 1.14 kB
/live-video/minimal-skin.css css 5.65 kB
/live-video/skin.css css 5.61 kB
/live-video/minimal-skin js 45.25 kB
/live-video/minimal-skin.tailwind js 45.87 kB
/live-video/skin js 44.86 kB
/live-video/skin.tailwind js 45.52 kB
/live-audio/minimal-skin.css css 3.93 kB
/live-audio/skin.css css 3.82 kB
/live-audio/minimal-skin js 31.54 kB
/live-audio/minimal-skin.tailwind js 30.98 kB
/live-audio/skin js 32.54 kB
/live-audio/skin.tailwind js 32.01 kB
/global.css css 176 B
/shared.css css 104 B
/tailwind.css css 161 B
/skin-element js 1.45 kB
UI Components (39)
Entry Initial
/ui/airplay-button 2.41 kB
/ui/alert-dialog 2.55 kB
/ui/alert-dialog-close 2.17 kB
/ui/alert-dialog-description 2.11 kB
/ui/alert-dialog-title 2.16 kB
/ui/audio-track-radio-group 2.84 kB
/ui/buffering-indicator 2.28 kB
/ui/captions-button 2.40 kB
/ui/captions-radio-group 2.84 kB
/ui/cast-button 2.42 kB
/ui/compounds 2.85 kB
/ui/controls 2.59 kB
/ui/error-dialog 2.60 kB
/ui/fullscreen-button 2.36 kB
/ui/hotkey 2.32 kB
/ui/menu 2.66 kB
/ui/mute-button 2.45 kB
/ui/pip-button 2.39 kB
/ui/play-button 2.39 kB
/ui/playback-rate-button 2.45 kB
/ui/playback-rate-radio-group 2.77 kB
/ui/popover 2.74 kB
/ui/poster 2.24 kB
/ui/quality-radio-group 2.82 kB
/ui/seek-button 2.41 kB
/ui/seek-indicator 2.43 kB
/ui/seek-indicator-value 418 B
/ui/slider 2.63 kB
/ui/status-announcer 2.32 kB
/ui/status-indicator 2.38 kB
/ui/status-indicator-value 422 B
/ui/thumbnail 2.21 kB
/ui/time 2.60 kB
/ui/time-slider 2.64 kB
/ui/tooltip 2.67 kB
/ui/volume-indicator 2.34 kB
/ui/volume-indicator-fill 444 B
/ui/volume-indicator-value 366 B
/ui/volume-slider 2.63 kB

Sizes are marginal over the root entry point.

⚛️ @videojs/react — no changes
Presets (7)
Entry Initial
/video (default) 38.33 kB
/video (default + hls) 176.58 kB
/video (minimal) 38.69 kB
/video (minimal + hls) 177.08 kB
/audio (default) 31.54 kB
/audio (minimal) 31.61 kB
/background 754 B
Media (9)
Entry Initial
/media/background-video 575 B
/media/dash-video 213.16 kB
/media/hlsjs-video 140.07 kB
/media/mux-audio 162.52 kB
/media/mux-video 162.57 kB
/media/native-hls-video 7.41 kB
/media/simple-hls-audio-only 15.56 kB
/media/simple-hls-video 17.14 kB
/media/vimeo-video 10.58 kB
Skins (27)
Entry Type Initial
/tailwind.css css 161 B
/video/minimal-skin.css css 5.55 kB
/video/skin.css css 5.52 kB
/video/minimal-skin js 38.65 kB
/video/minimal-skin.tailwind js 44.67 kB
/video/skin js 38.25 kB
/video/skin.tailwind js 44.31 kB
/audio/minimal-skin.css css 3.79 kB
/audio/skin.css css 3.68 kB
/audio/minimal-skin js 31.56 kB
/audio/minimal-skin.tailwind js 33.75 kB
/audio/skin js 31.48 kB
/audio/skin.tailwind js 35.73 kB
/background/skin.css css 90 B
/background/skin js 272 B
/live-video/minimal-skin.css css 5.55 kB
/live-video/skin.css css 5.52 kB
/live-video/minimal-skin js 33.42 kB
/live-video/minimal-skin.tailwind js 39.37 kB
/live-video/skin js 33.43 kB
/live-video/skin.tailwind js 39.43 kB
/live-audio/minimal-skin.css css 3.79 kB
/live-audio/skin.css css 3.68 kB
/live-audio/minimal-skin js 22.45 kB
/live-audio/minimal-skin.tailwind js 25.59 kB
/live-audio/skin js 22.52 kB
/live-audio/skin.tailwind js 25.65 kB
UI Components (33)
Entry Initial
/ui/airplay-button 2.22 kB
/ui/alert-dialog 2.16 kB
/ui/audio-track 2.14 kB
/ui/buffering-indicator 2.13 kB
/ui/captions-button 2.23 kB
/ui/captions-radio-group 2.11 kB
/ui/cast-button 2.20 kB
/ui/controls 2.06 kB
/ui/error-dialog 2.27 kB
/ui/fullscreen-button 2.21 kB
/ui/gesture 2.29 kB
/ui/hotkey 2.21 kB
/ui/live-button 2.15 kB
/ui/menu 2.29 kB
/ui/mute-button 2.24 kB
/ui/pip-button 2.23 kB
/ui/play-button 2.22 kB
/ui/playback-rate 2.13 kB
/ui/playback-rate-button 2.22 kB
/ui/popover 2.67 kB
/ui/poster 2.03 kB
/ui/quality 2.08 kB
/ui/seek-button 2.22 kB
/ui/seek-indicator 2.10 kB
/ui/slider 2.27 kB
/ui/status-announcer 2.16 kB
/ui/status-indicator 2.09 kB
/ui/thumbnail 2.03 kB
/ui/time 2.08 kB
/ui/time-slider 2.22 kB
/ui/tooltip 2.63 kB
/ui/volume-indicator 2.09 kB
/ui/volume-slider 2.21 kB

Sizes are marginal over the root entry point.

🧩 @videojs/core — no changes
Entries (14)
Entry Initial
. 9.40 kB
/dom 17.58 kB
/dom/media/custom-media-element 2.09 kB
/dom/media/dash 208.96 kB
/dom/media/google-cast 4.04 kB
/dom/media/hls-js 136.00 kB
/dom/media/media-host 1.25 kB
/dom/media/media-played-ranges 576 B
/dom/media/mux 151.26 kB
/dom/media/native-hls 3.07 kB
/dom/media/simple-hls 16.49 kB
/dom/media/simple-hls-audio-only 14.92 kB
/dom/media/vimeo 9.86 kB
/media/predicate 563 B
🏷️ @videojs/element — no changes
Entries (2)
Entry Initial
. 996 B
/context 943 B
📦 @videojs/store — no changes
Entries (3)
Entry Initial
. 1.39 kB
/html 696 B
/react 360 B
🔧 @videojs/utils — no changes
Entries (10)
Entry Initial
/array 104 B
/dom 2.26 kB
/events 319 B
/function 327 B
/object 275 B
/predicate 265 B
/string 231 B
/style 190 B
/time 478 B
/number 158 B
📦 @videojs/spf — no changes
Entries (4)
Entry Initial
. 4.45 kB
/dom 6.33 kB
/hls 15.37 kB
/background-video 12.85 kB

ℹ️ How to interpret

JS sizes are initial static graph totals (minified + brotli). Lazy dynamic chunks are shown separately when present.

Icon Meaning
No change
🔺 Increased ≤ 10%
🔴 Increased > 10%
🔽 Decreased
🆕 New (no baseline)

Run pnpm size locally to check current initial sizes.

@decepulis decepulis marked this pull request as ready for review July 2, 2026 18:31
@decepulis decepulis merged commit e060cf0 into main Jul 2, 2026
26 checks passed
@decepulis decepulis deleted the claude/backfill-raw-changelogs-0fcdft branch July 2, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: Backfill Raw Changelogs for Past Betas

3 participants