Last updated: 2026-04-10
Use this checklist when cutting releases from stream-mdx/. This file is the operational release path, not a historical note.
-
Install clean dependencies.
npm ci
-
Build workspaces.
npm run build
-
Build the exported docs site.
npm run docs:build
-
Check documentation links and anchors.
DOCS_CHECK_ANCHORS=1 npm run docs:check-links
These are the high-signal release gates and should be green before publishing.
-
Benchmark terminology contract.
npm run test:benchmarks:methodology
-
Seeded final-HTML convergence against the exported-site serving model.
npm run test:regression:seeded-smoke:server
-
Scheduler-mode final-HTML parity.
npm run test:regression:scheduler-parity
-
Docs quality audit.
DOCS_AUDIT_BASE_URL=http://127.0.0.1:3012 npm run docs:quality:audit
-
Package tests and build-sensitive checks.
npm test npm -ws --if-present pack --dry-run npm run ci:pack-smoke
These are not all CI-required, but they should be run before a release if the touched surface warrants it.
STREAM_MDX_REGRESSION_BASE_URL=http://127.0.0.1:3012 npm run test:regression:html
STREAM_MDX_REGRESSION_BASE_URL=http://127.0.0.1:3012 npm run test:regression:styles
npm run test:regression:style-invariantsUse the exported docs server model:
cd apps/docs/out
python3 -m http.server 3012 --bind 127.0.0.1Do not refresh snapshots blindly.
Read first:
Rules:
- correctness bugs require a fixture + invariant/test + scenario or seed
- seeded-smoke and scheduler-parity failures are not fixed by snapshot refresh alone
- deterministic drift must be explained in the PR or release notes
Update commands, only after the policy is satisfied:
UPDATE_SNAPSHOTS=1 npm run test:regression:html
UPDATE_SNAPSHOTS=1 npm run test:regression:stylesThese are release-time characterization steps, not CI-required merge gates.
npm run perf:characterize:scheduler
npm run perf:demo -- --rate 12000 --tick 5 --runs 1When capturing new public-claim baselines, update the related docs:
Preferred release path for the 0.5.0 cut:
-
Run the full release preflight.
npm run release:prepare:v0.5.0
-
Confirm npm auth.
npm whoami
-
Publish all public packages in dependency order.
npm run release:publish:v0.5.0
-
Or run the combined gate + publish flow in one interactive terminal.
npm run release:v0.5.0
-
Confirm the expected packages are published:
@stream-mdx/core@stream-mdx/plugins@stream-mdx/protocol@stream-mdx/worker@stream-mdx/react@stream-mdx/mermaid@stream-mdx/tui@stream-mdx/theme-tailwindstream-mdx
-
Changesets remains the fallback/manual path if you intentionally need to cut a different version line:
npm run changeset npm run changeset:version npm run changeset:publish
After publish/deploy, verify:
- docs site: https://stream-mdx.vercel.app/docs
- demo: https://stream-mdx.vercel.app/demo
- showcase: https://stream-mdx.vercel.app/showcase
- benchmarks: https://stream-mdx.vercel.app/benchmarks
- npm package README rendering for
stream-mdx
If stream-mdx.dev is configured as the canonical production domain, verify the same surfaces there and ensure redirects behave intentionally.
Verify the hosted worker outputs expected by examples:
- built worker artifact:
packages/markdown-v2-worker/dist/hosted/markdown-worker.js
- copied example artifact:
examples/streaming-markdown-starter/public/workers/markdown-worker.js
If a release gate fails, inspect:
- regression artifacts under
tests/regression/artifacts/** - managed seeded-smoke server log at
tmp/seeded-smoke/docs-server.log - release-gates server log at
tmp/release-gates/docs-server.log
Do not rerun blind before inspecting the failure artifacts.
Before cutting the release, confirm:
mainis cleanmainis pushed- the release commit/tag reflects the verified state