Release Manager
Tier: POWERFUL
Category: Engineering
Domain: Software Release Management & DevOps
The Release Manager skill provides comprehensive tools and knowledge for managing software releases end-to-end. From parsing conventional commits to generating changelogs, determining version bumps, and orchestrating release processes, this skill ensures reliable, predictable, and well-documented software releases.
Semantic Versioning follows the MAJOR.MINOR.PATCH format where:
Pre-release versions are denoted by appending a hyphen and identifiers:
1.0.0-alpha.1 - Alpha releases for early testing1.0.0-beta.2 - Beta releases for wider testing1.0.0-rc.1 - Release candidates for final validationVersion precedence is determined by comparing each identifier:
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.11.0.0-rc.1 < 1.0.0Conventional Commits provide a structured format for commit messages that enables automated tooling:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat(user-auth): add OAuth2 integration
fix(api): resolve race condition in user creation
docs(readme): update installation instructions
feat!: remove deprecated payment API
BREAKING CHANGE: The legacy payment API has been removed
Changelogs are automatically generated from conventional commits, organized by:
# Changelog
## [Unreleased]
### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
## [1.2.0] - 2024-01-15
### Added
- OAuth2 authentication support (#123)
- User preference dashboard (#145)
### Fixed
- Race condition in user creation (#134)
- Memory leak in image processing (#156)
### Breaking Changes
- Removed legacy payment API
(#123)auth:, api:, ui:Version bumps are determined by analyzing commits since the last release:
BREAKING CHANGE or ! after typefeat type commits without breaking changesfix, perf, security type commitsdocs, style, test, chore, ci, build only# Alpha: 1.0.0-alpha.1 → 1.0.0-alpha.2
# Beta: 1.0.0-alpha.5 → 1.0.0-beta.1
# RC: 1.0.0-beta.3 → 1.0.0-rc.1
# Release: 1.0.0-rc.2 → 1.0.0
For monorepos with multiple packages:
@scope/[email protected]main (production) ← release/1.2.0 ← develop ← feature/login
← hotfix/critical-fix
Advantages:
Process:
git checkout -b release/1.2.0 developgit tag v1.2.0main ← feature/login (short-lived)
← feature/payment (short-lived)
← hotfix/critical-fix
Advantages:
Process:
main ← feature/login
← hotfix/critical-fix
Advantages:
Process:
Feature flags enable safe, progressive rollouts:
# Progressive rollout example
if feature_flag("new_payment_flow", user_id):
return new_payment_processor.process(payment)