-
Notifications
You must be signed in to change notification settings - Fork 207
Release Changelog
Dianjin Wang edited this page Feb 3, 2026
·
1 revision
This guide explains how to generate a changelog between two Git references (tags or commits) using the generate-changelog.sh script in the Cloudberry repo.
- A local clone of the Cloudberry Git repository.
-
jqinstalled (required by the script). - A GitHub Personal Access Token exported as
GITHUB_TOKEN.
- Go to
GitHub Settings→Developer settings→Personal access tokens→Tokens (classic). - Generate a new token with:
-
public_reposcope for public repositories, or -
reposcope for private repositories.
- Export it in your shell:
export GITHUB_TOKEN=your_token_here./devops/release/generate-changelog.sh <from_ref> <to_ref> [repo_owner/repo_name]-
<from_ref>: starting Git ref (tag or commit SHA). -
<to_ref>: ending Git ref (tag or commit SHA). -
[repo_owner/repo_name]: optional, defaults toapache/cloudberry.
# Between two commit SHAs
./devops/release/generate-changelog.sh 1a40e1f 8178d4f
# Between two tags
./devops/release/generate-changelog.sh v1.0.0 v1.1.0
# Explicit repository
./devops/release/generate-changelog.sh v1.0.0 v1.1.0 apache/cloudberry- Counts commits between
<from_ref>and<to_ref>. - For each commit, it queries GitHub to find the associated PR.
- Produces a Markdown list with:
- commit link
- subject
- author
- PR link (if found)
* [`abc1234`](https://github.com/apache/cloudberry/commit/abc1234...) - Fix planner regression (Alice) [#567](https://github.com/apache/cloudberry/pull/567)
* [`def5678`](https://github.com/apache/cloudberry/commit/def5678...) - Improve docs build (Bob)After generating the changelog, we publish it to the Cloudberry website repository:
- Target repo:
apache/cloudberry-site - Target path:
src/pages/releases
This is the canonical location for release notes on the project website.
-
GITHUB_TOKENis required; the script will exit if it is not set. -
jqmust be installed; the script will exit if it is missing. - The script prints
Changelog generation completed!when done.
-
If you see:
Error: GITHUB_TOKEN environment variable is requiredEnsure you’ve exported the token in your shell.
-
If you see:
Error: jq is required but not installedInstall
jqusing your system’s package manager (e.g.,brew install jq,apt install jq, etc.).