Release Policy
How SDK packages and CLI binaries are versioned and released.
Release Policy
Release channels
Better Webhook has two release channels:
- SDK packages (npm)
- CLI binaries (GitHub Releases + Homebrew tap)
SDK package releases
SDK packages are published from main using Changesets.
High-level flow:
- Changesets are added for package changes.
- CI validates formatting, linting, type checks, tests, and build.
- Changesets action creates a release PR or publishes packages.
- Tags are pushed after successful publish.
Primary workflow: .github/workflows/release.yml
CLI releases
CLI releases are tag-triggered (v*) and built through GoReleaser.
High-level flow:
- Push a semantic tag such as
v1.2.3. - CI runs format/lint/test/build.
- GoReleaser builds archives for macOS/Linux/Windows.
- Checksums and signatures are generated.
- Release artifacts are published and Homebrew cask is updated.
Primary workflows/config:
Versioning expectations
- Use semantic versioning for both SDK and CLI.
- Breaking changes should be clearly indicated in release notes.
- Patch versions should remain backward compatible.
Where to find release artifacts
- SDK packages: npm (
@better-webhook/*) - CLI binaries and release notes: GitHub Releases
- Homebrew install path:
brew install --cask endalk200/tap/better-webhook