Writing release notes
Pulsar release notes consist of the following parts:
Prerequisite
To generate release notes, you are suggested to install the GitHub CLI and authenticate first:
brew install gh
gh auth login
Fetch the release metadata
# Replace v2.10.2 with the target version tag
# Replace apache/pulsar with the component repo
gh release view "v2.10.2" -R apache/pulsar --json author,tagName,publishedAt
Fetch the release note
# Replace v2.10.2 with the target version tag
# Replace apache/pulsar with the component repo
gh release view "v2.10.2" -R apache/pulsar --json body --jq .body
Generate release notes
There isn't a definite way yet.
Here are 2 approaches:
Using "git log"
git log --reverse --oneline v2.11.3..v2.11.4 | colrm 1 12 | sed 's/\] \[/][/' | perl -p -e 's/^\s+//' | sort
Alternatively using "gh pr list"
gh pr list -L 1000 --search "is:pr is:merged label:release/2.10.6 label:cherry-picked/branch-2.10" --json title,number,url | jq -r '.[] | "\(.title) [\(.number)](\(.url))"'
Update the release note page
- Copy the related release notes entries and add a versioned release note file.
- Update the version metadata files (
release-*.js
). For apache/pulsar releases, this means updatingrelease-java.js
(Java client) andrelease-pulsar.js
(Pulsar). - For every apache/pulsar release, you should add a
<release-version>
entry to the corresponding place in thereleases.json
file. - Update swagger files. ref: swagger files
To preview the result, follow the instructions for previewing content.
Submit the release note
Submit a PR against the site repo with the added version release note file and updated version metadata files.
Here are some examples:
- Add the release note for C++ client 3.1.0
- Add the release note for Python client 3.0.0
- Add the release note for Pulsar 3.0.3
Check whether the release information is shown on the Pulsar Release Note page after the website is updated and built successfully.