RELEASE.md
We use a single branch, main, for our development. Features are built on separate branches and merged into main via pull requests.
All releases are manually triggered using the Publish GitHub Release workflow in the GitHub Actions UI.
Releases must always be triggered from the branch being released (e.g., main for a minor or beta release, or a hotfix branch for patches).
| Type | Description |
|---|---|
| Minor | Triggered from the main branch. |
| Patch | A patch bump off an existing tag (e.g., v1.4.0 → v1.4.1). |
| Beta (RC) | Marked with beta: true. Produces a prerelease tag like vX.Y.Z-rc.N. Requires -rc in Cargo.toml. |
Note: The Minor and Patch releases publish Docker images for all supported PostgreSQL major versions and prebuilt extension binaries for all supported platforms. The Beta release only publishes a Docker image for the default PostgreSQL major version and does not release prebuilt extension binaries.
| Input | Type | Default | Description |
|---|---|---|---|
version | string | "" | Target release version in semver format (e.g., 1.2.3 or 1.2.3-rc.1 for beta releases). |
beta | boolean | false | If true, creates a beta release (vX.Y.Z-rc.N) and marks it as a pre-release in GitHub. |
confirmation | boolean | false | Required Confirms that version bump, SQL upgrade script, docs, and changelog are complete. |
Note: The
versionprovided must match that of theCargo.tomlof the branch being released file and contain-rc.Xin the case of a beta release. The workflow will not run unlessconfirmation: true.
Before triggering the workflow, create a Release Preparation PR against main. This is true even when releasing a patch from a stable branch like 0.23.x: the prep PR always targets main, and the PR description should reference the stable branch the release is being cut from. The actual release is then triggered against the stable branch via the workflow.
Cargo.toml version:
a.b.c-rc.d for beta releasesa.b.0 for minor releasescargo check to refresh the Cargo.lock file with the new versionpg_search--<previous-version>--<upcoming-version> upgrade scriptdocs/docs.jsondocs/docs.jsonHere is an example release preparation PR for your reference.
To publish a minor or beta release for the current ongoing latest main:
main as the release branch, and set your inputsTo publish a patch for an older release:
git checkout -b 0.16.x <release-tag>), if a stable branch does not already existmain to bump Cargo.toml to the next development version (e.g. 0.20.0 or 0.20.0-rc.1).main reflects ongoing work.paradedb/paradedb-enterprise, paradedb/charts and paradedb/terraform-paradedb-byoc. More context to come here as we automate more of the release flow.That's it! Go for a walk, you deserve it.