# Release Strategy

## Semantic Versioning

- **MAJOR** — breaking API/schema/contract changes
- **MINOR** — backward-compatible features / modules
- **PATCH** — fixes, docs, non-breaking hardening

## Release Notes

Each release documents:

- Features
- Fixes
- Migrations required
- Config/env changes
- Provider changes
- Deprecations

## Migration Order

1. Backup ([backup.md](../deployment/backup.md))
2. Apply migrations **per service** in dependency order (typically Core → Identity → business services)
3. Deploy services compatible with the new schema
4. Smoke-test health and critical auth/onboarding paths
5. Only then enable new feature flags

## Rollback

1. Prefer forward-fix migrations when possible
2. Application rollback to previous image/tag
3. Database downgrade only with tested Alembic downgrade path and restore point
4. Document incident in progress / ops notes

## Feature Flags

Use config/env or plan entitlements to gate incomplete modules. Do not ship half-enabled financial posting paths.

## Related Documents

- [Branching Strategy](branching-strategy.md)
- [Deployment](../deployment/deployment.md)
- [Disaster Recovery](../deployment/disaster-recovery.md)
