Skip to content

Release Management SOP

Version: 1.0
Owner: DevOps Team

Purpose

Standardize software releases with consistent versioning, changelogs, and release notes.

Versioning (SemVer)

MAJOR.MINOR.PATCH

MAJOR — Breaking changes (API incompatible)
MINOR — New features (backward compatible)
PATCH — Bug fixes (backward compatible)

Pre-release: 1.0.0-alpha, 1.0.0-beta, 1.0.0-rc.1

Release Branches

git checkout develop
git checkout -b release/v1.2.0

# Bump version, update changelog
# Commit changes
git commit -m "chore: bump version to v1.2.0"

# Open PR to main
# After approval, merge
git checkout main
git merge release/v1.2.0
git tag -a v1.2.0 -m "Release v1.2.0"
git push origin main --tags

# Merge back to develop
git checkout develop
git merge main

Changelog Format

Keep a CHANGELOG.md following Keep a Changelog:

# Changelog

## [1.2.0] - 2024-01-15

### Added
- New user dashboard
- OAuth2 login support

### Changed
- Improved query performance (40% faster)
- Updated dependencies

### Fixed
- Fixed crash on empty search results
- Resolved memory leak in background jobs

## [1.1.0] - 2024-01-01

### Added
- Email notification system

Release Checklist

Pre-Release (T-7 days)

  • Feature complete — no new features after code freeze
  • All PRs targeting release merged
  • Version bumped in codebase

Testing (T-3 days)

  • All tests pass (unit + integration)
  • Staging deployment successful
  • QA sign-off obtained
  • Performance benchmarks acceptable

Release Day

  • Final approval from lead
  • CHANGELOG.md updated
  • Tag created
  • Deployment to production
  • Smoke tests pass
  • Monitoring checked (no new alerts)

Post-Release (T+1 day)

  • Release notes published
  • Customers notified (if applicable)
  • Rollback plan still valid
  • Retrospective scheduled (if needed)

Release Notes Template

# Release v1.2.0

**Release Date:** January 15, 2024

## Highlights
- New user dashboard with real-time analytics
- 40% faster query performance

## What's New
- [Feature] OAuth2 login — users can now login with Google/GitHub
- [Feature] Email notifications for daily reports
- [Enhancement] Optimized database queries

## Bug Fixes
- Fixed crash when searching with special characters
- Fixed memory leak in report generation
- Fixed incorrect timezone in logs

## Breaking Changes
None

## Upgrade Notes
- Run database migrations: `php artisan migrate`
- Clear cache: `wp cache flush`

Rollback Plan

# Git rollback
git revert <release-tag>
git push origin main

# Docker rollback
docker compose down
# Revert docker-compose.yml to previous version
docker compose up -d

# Database rollback
# Run down migrations
php artisan migrate:rollback