main
chore(scripts): add Cloudflare cert cleanup and DNS check scripts (#9858)
chore: sort imports using oxfmt (#8330)
chore(templates): deploy starter kit demos from CI (#9934)
fix(tldraw): declare @tldraw/state and @tldraw/tlschema dependencies (#9762)
ci: ignore tldraw.new build script (#8731)
chore: share the worker esbuild externals list between dev and CI scripts (#9557)
feat: commenting (#9471)
perf(validate): optimize validators with fast paths and production inlining (#7373)
chore(deps): bump the npm_and_yarn group across 1 directory with 11 updates (#8576)
New release process (again) (#6379)
ci: speed up circ deps check even more (#8024)
chore: wire up oxfmt check in CI (#8363)
Improve the clean script 🧹 (#6026)
fix(deploy): use zone routes instead of custom domains for preview workers (#9857)
chore: auto `--host` templates and allow arbitrary args to be forwarded to `dev-template` script (#9021)
fix template exports (#6804)
Remove cursor summary from generated changelog (#7142)
fix(scripts): unify Fly.io auth header handling (#8591)
chore(zero): add fly metrics script and extract shared utilities (#8569)
feat(dotcom): render board thumbnails ahead of the first share (#9667)
chore(publish): include DOCS.md in published npm packages (#8503)
i18n: fix lokalise project hitting size limit (#8555)
feat: commenting followups, pt 2 (#9850)
fix(i18n): enable cleanup mode on the SDK strings upload (#9789)
feat(fairies): add reset chat button to FairyHUD header (#7224)
chore(tooling): fix AGENTS/CLAUDE .md (#8588)
chore: cut over to TypeScript 7 (#9752)
chore(dotcom): run dev with process-compose (#9301)
Fairydraw (#7244)
fix(vscode): retry publish on marketplace version conflict (#8297)
chore(infra): switch npm publishing to OIDC trusted publishers (#8913)
fix(release): skip past orphaned version bumps in patch-release flow (#8838)
Clean up `apps` directory (#4548)
perf(tooling): speed up pre-commit hook (#8294)
fix(scripts): prevent secret leaks in deploy Discord messages (#8598)
ci: run hotfix trigger on pull_request_target so [skip ci] PRs still deploy (#9607)