This document describes how releases are prepared and published for ColdVault.
ColdVault follows Semantic Versioning where possible:
- MAJOR: incompatible API or behavior changes.
- MINOR: backward-compatible functionality additions.
- PATCH: backward-compatible fixes.
Example: v1.2.3.
- Ensure
mainis green in CI. - Confirm documentation updates are complete:
README.mdCHANGELOG.md- relevant wiki pages in
docs/wiki
- Verify app builds in Xcode and with terminal command:
xcodebuild -project ColdVault.xcodeproj -scheme ColdVault -destination 'generic/platform=iOS Simulator' build
- Update
CHANGELOG.md:- Move relevant items from
Unreleasedinto a new version section. - Add date in
YYYY-MM-DDformat.
- Move relevant items from
- Create and push the release tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z"git push origin vX.Y.Z
- Publish GitHub Release notes using the changelog summary.
For urgent production issues:
- Branch from the latest release tag.
- Apply only minimal required fixes.
- Open PR with explicit "hotfix" label.
- Cut patch release (
PATCHincrement).
If release includes security-sensitive changes:
- Follow coordinated disclosure guidance in
SECURITY.md. - Avoid exposing exploit details before users can update.
- Include clear upgrade guidance in release notes.