Skip to content

Commit aec213a

Browse files
authored
docs: add release notes preparation guide (#1575)
## Summary - Add `.claude/skills/release-notes.md` documenting the workflow for preparing release notes (find cutoff, collect changes from this repo + upstream microsoft/playwright, write `release-notes.md`, create draft release). - Reference the guide from `CLAUDE.md`.
1 parent f27ff15 commit aec213a

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

.claude/skills/release-notes.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: release-notes
3+
description: Prepare GitHub release notes for playwright-mcp by combining changes from this repo and upstream microsoft/playwright since the last release.
4+
---
5+
6+
# Preparing Release Notes
7+
8+
Most MCP source lives upstream at `~/playwright/packages/playwright-core/src/tools/` (and `tests/mcp/`). Release notes need to combine changes from both repos.
9+
10+
## 1. Find the cutoff
11+
12+
```bash
13+
# Last published release and its date
14+
gh release list --repo microsoft/playwright-mcp --limit 5
15+
16+
# Format reference — use the most recent non-trivial release
17+
gh release view v0.0.69 --repo microsoft/playwright-mcp
18+
19+
# Playwright version that shipped in the last release
20+
git show <release-commit>:package.json | grep -E '"playwright|"@playwright"'
21+
# Convert the alpha timestamp to a UTC date for the upstream log filter
22+
date -r <timestamp_seconds> -u
23+
```
24+
25+
## 2. Collect changes
26+
27+
```bash
28+
# Upstream playwright (MCP code path widened to catch tools/cli/dashboard too)
29+
cd ~/playwright
30+
git log --since="<UTC date>" --oneline -- packages/playwright-core/src/tools/
31+
32+
# This repo
33+
cd -
34+
git log <last-release-commit>..HEAD --oneline
35+
```
36+
37+
Filter for `feat(mcp)`, `fix(mcp)`, `feat(extension)`, `fix(extension)`. Many extension PRs land in *both* repos because the extension source lives upstream now — prefer the `microsoft/playwright` PR link. Use `git show <sha> --stat` to disambiguate when a commit subject is ambiguous.
38+
39+
## 3. Write `release-notes.md`
40+
41+
Follow the format from the prior release: `## What's New` (with `### New Tools`, `### Tool Improvements`, optional `### Browser Extension`, `### Other Changes`) and `## Bug Fixes`. Link each entry to its PR (`[#NNNNN](https://github.com/microsoft/playwright/pull/NNNNN)` or the playwright-mcp equivalent). Skip purely internal refactors, dep bumps, repo layout changes, and anything not user-visible. **Do not mention features that are not yet enabled by default** — confirm with the user before listing experimental flags.
42+
43+
## 4. Create draft release
44+
45+
```bash
46+
gh release create v0.0.<next> --repo microsoft/playwright-mcp \
47+
--draft --title "v0.0.<next>" --target main \
48+
--notes-file release-notes.md
49+
```

CLAUDE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ EOF
2929
Never add Co-Authored-By agents in commit message.
3030
Branch naming for issue fixes: `fix-<issue-number>`
3131

32+
## Preparing Release Notes
33+
34+
See [.claude/skills/release-notes.md](.claude/skills/release-notes.md).

0 commit comments

Comments
 (0)