YYYY.M.N where:
YYYY= Current year (e.g., 2025)M= Current month without leading zero (1-12)N= Release number for that month, starting at 0
Examples: 2025.12.0, 2025.12.1, 2026.1.0
Release titles use the -alpha suffix: 2025.12.0-alpha
- Ensure you are on the
mainbranch with latest changes pulled - Verify all intended PRs have been merged
- Review changes since last release:
git log $(git tag --sort=-creatordate | head -1)..HEAD --oneline# Check current version and recent tags
git tag --sort=-creatordate | head -3
cat package.json | grep '"version"'Calculate new version based on current date and existing releases this month.
npm version <NEW_VERSION> --no-git-tag-versionThis updates both package.json and package-lock.json.
git add package.json package-lock.json
git commit -m "bump version v<NEW_VERSION>"git tag v<NEW_VERSION>
git push origin main --tags# Check workflow status
gh run list --workflow=release.yml --limit 1
# Watch job progress
gh run view <RUN_ID> --json status,jobs --jq '{status: .status, jobs: [.jobs[] | {name: .name, status: .status, conclusion: .conclusion}]}'The release workflow builds for:
- macOS (Intel + Apple Silicon)
- Ubuntu/Linux (AppImage + Flatpak)
- Windows (exe)
# Rerun only failed jobs
gh run rerun <RUN_ID> --failedAfter all builds complete, the release is created as a draft. Update and publish it:
# View current draft state
gh release view v<NEW_VERSION> --json isDraft,body
# Update title, add release notes, and publish
gh release edit v<NEW_VERSION> \
--title "<NEW_VERSION>-alpha" \
--notes "$(cat <<'EOF'
## What's Changed
### Bug Fixes
- <Description of fix> (#<PR_NUMBER>)
### Features
- <Description of feature> (#<PR_NUMBER>)
**Full Changelog**: https://github.com/DrawnToDigital/pubman/compare/v<PREVIOUS_VERSION>...v<NEW_VERSION>
EOF
)" \
--draft=false# Confirm release is published
gh release view v<NEW_VERSION> --json name,isDraft,assets --jq '{name: .name, isDraft: .isDraft, assets: [.assets[].name]}'The brew-tap.yml workflow will automatically update the Homebrew tap after the release is published.
Release URL: https://github.com/DrawnToDigital/pubman/releases/tag/v<NEW_VERSION>