release preview
Generates release name, tag, and changelog without mutating GitHub state.
GitHub Release Operations • Since v2.0.2
Yaba helps teams prepare changelogs, preview release payloads, create GitHub releases, and wire Slack notifications into repeatable release workflows. Recent upgrades add target-based release generation, release safety controls, config validation, configurable release notes grouping, strategy-based tag generation, resilient Slack retries, dedicated hotfix release support, GitHub status check gating before release creation, and an improved Slack newsletter format for release notes.
$ npm i -g yaba-release-cli
$ yaba doctor
$ yaba release preview --repo my-repo --target release/2.1 --format json
$ yaba release create --repo my-repo --tag-strategy semver --publish --no-prompt
Core Commands
release previewGenerates release name, tag, and changelog without mutating GitHub state.
release createCreates a GitHub release using generated or explicit changelog content.
doctorVerifies token/config/network prerequisites before release operations.
config initCreates a project config template (yaba.config.json) for shared defaults.
config validateValidates resolved configuration schema before release operations.
release listBrowses the latest GitHub releases for a repository interactively or as JSON output.
release hotfixCreates a hotfix release using the dedicated hotfix_prod_global_YYYYMMDD.HHmm tag format.
Capabilities
Generate and create releases from an explicit branch, tag, or commit SHA via --target.
Use --allow-empty, --fail-on-empty, and --max-commits to enforce policy.
GitHub notes grouped by PR labels with customizable label-to-section mappings via labelBuckets config. Slack uses a human-readable newsletter format.
Choose pattern, semver, or sha, plus conflict policy and max attempts.
Publish retries transient webhook failures with exponential backoff (default 3 attempts).
Includes config validate and token-aware doctor output for fast issue triage.
Recent Updates
Before creating a release, yaba now verifies that the target commit has all required GitHub status checks passing. Prevents releasing from a broken or in-progress CI state.
Release notes grouping logic and the Slack newsletter format have been improved for clearer, more readable announcements across both GitHub releases and Slack notifications.
Quickstart
npm i -g yaba-release-cli
export YABA_GITHUB_ACCESS_TOKEN=your_token
yaba doctor (includes token type + repo access diagnostics)
yaba config validate --format json
yaba release preview --repo your-repo --target main
Automation Ready
yaba release preview \
--repo my-repo \
--owner my-org \
--format json
- run npm ci and npm test
- run yaba config validate --format json
- enforce release safety policy
- use semver/sha/pattern tag strategy intentionally
- fail early on validation mismatch
YABA_GITHUB_ACCESS_TOKEN # required
YABA_GITHUB_REPO_OWNER # optional
YABA_SLACK_HOOK_URL # optional
Start Releasing