name: release description: Guide for releases and changelog. Use when updating changelog or preparing releases. Triggers on: changelog, release, version bump.
Release Guide
Changelog Management
When making changes that should be documented, update CHANGELOG.md:
Add entry to
## [Unreleased]sectionUse appropriate category:
- Added - new features
- Changed - changes to existing functionality
- Deprecated - soon-to-be removed features
- Removed - removed features
- Fixed - bug fixes
- Security - vulnerability fixes
Format: Start with lowercase verb, be concise
- Good:
- Add dark mode toggle to settings - Bad:
- Added a new dark mode toggle feature to the settings page
- Good:
Commit Messages
Format: type: description
Types:
feat:- new featurefix:- bug fixdocs:- documentation onlyrefactor:- code change that neither fixes nor addstest:- adding or updating testschore:- maintenance tasks
Examples:
feat: add batch retry for failed rowsfix: correct token refresh timingdocs: update API documentation
Preparing a Release
- Move
[Unreleased]entries to new version section inCHANGELOG.md - Add release date:
## [X.Y.Z] - YYYY-MM-DD - Update version in
package.json - Commit:
chore: release vX.Y.Z - Tag:
git tag vX.Y.Z - Push:
git push origin main --tags
Version Numbering
Follow semver:
- MAJOR (X.0.0): breaking changes
- MINOR (0.X.0): new features (backwards compatible)
- PATCH (0.0.X): bug fixes (backwards compatible)
When to Update Changelog
Update the changelog for:
- New features or capabilities
- Bug fixes
- Breaking changes
- Security fixes
- Deprecations
Skip changelog for:
- Internal refactoring with no user impact
- Test-only changes
- Documentation updates (unless significant)
- Build/CI configuration changes
When to Update README
Update README.md when adding significant new features that users should know about:
- New major capabilities or functionality
- Changes to installation or setup process
- New configuration options or environment variables
- New CLI commands or flags
- Breaking changes to existing behavior
Keep the README focused on what users need to get started. Detailed feature documentation can go elsewhere.