This is an old revision of the document!
Releasing
Warning
This page is still in progress and may require refinement.
Versioning Scheme
The Unicis Platform uses Calendar Versioning (CalVer):
- Major/Minor releases: vYYYY-MM (e.g. v2026-05)
- Patch releases: vYYYY-MM-DD (e.g. v2026-05-12)
Release branches follow:
- version-YYYY-MM (e.g. version-2026-05)
Creating a Standard Release
- Ensure a version branch exists for the release family
- Example: version-2026-05 for v2026-05
- Merge all commits intended for release into the version branch
- For backports, cherry-pick commits into the relevant version branch
- Push the branch to trigger CI validation (tests must pass)
- Update or generate release notes
Initial Release (First Patch or Monthly Release)
- Copy template:
%%docs/platform/unicis-platform-changelog/_template.md%%
to:
%%docs/platform/unicis-platform-changelog/v2026-05.md%%
- Replace placeholders with correct CalVer version:
- xxxx.x → vYYYY-MM or vYYYY-MM-DD
- Fill in:
- Breaking Changes
- New Features
- Remove sections if not applicable
Generate Commit List
git log --pretty=format:'- %s' version-2026-04...version-2026-05
- Replace version-2026-04 with previous release branch/tag
- Paste output into Minor Changes / Fixes
Generate Changelog
make gen-changelog
- Use output from changelog.md
- Remove:
- Dependency-only PRs (unless security relevant)
- website/ prefixed commits
- Keep only meaningful changes
- Sort alphabetically if needed
API Diff
make gen-diff
- Copy diff.md into API Changes
Website Update
- Update:
%%website/sidebars.js%%
- Add new release entry under current version family
- Move oldest release into Previous Versions
If release notes are prepared before release date, do NOT publish them until release is confirmed.
Build Website
make website
Subsequent Patch Releases
For patch releases within the same CalVer month (e.g. v2026-05-01, v2026-05-12):
- Add a new section in:
%%docs/platform/unicis-platform-changelog/v2026-05.md%%
Example:
## Fixed in v2026-05-12
Patch Release Steps
- Add commit list under new patch section
- Run:
make gen-changelog make gen-diff
- Replace API Changes section
- Run:
make website
Version Tagging
git tag v2026-05-12 git push origin version-2026-05 git push --tags
Or:
bumpversion --new-version 2026-05.12 patch --verbose
Release Publication
- GitHub Actions:
- Runs tests
- Builds container images
- Creates draft release
- Edit draft release:
- Title format: Release v2026-05-12
- Add changelog link
- Add GitHub release link
Security Release
Security Versioning
Security releases use:
- vYYYY-MM-DD
Security Advisory Template
==== Summary ==== Short summary of the issue ==== Patches ==== Versions vYYYY-MM-DD fix this issue. Workaround available for older versions. ==== Impact ==== Describe impact ==== Details ==== Technical explanation ==== Workarounds ==== If applicable ==== Contact ==== Security team contact email
Security Branch Workflow
- Create branch: security/CVE-YYYY-xxxx
- Implement fix with unit tests
- Update release notes
- Create file:
%%/website/docs/security/CVE-YYYY-xxxx.md%%
- Add to:
%%website/sidebars.js%%
Security Release Process
On release date:
- Merge security PR
- Cherry-pick into version branch
- Run:
bumpversion --new-version YYYY-MM-DD patch
- Publish release
Post-Release Communication
Mailing List
Subject: Security Release vYYYY-MM-DD We are publishing a security fix (CVE-YYYY-xxxx). Affected versions: ... Fixed version: vYYYY-MM-DD See: <link>
Discord
@everyone Security release published: CVE-YYYY-xxxx Fixed version: vYYYY-MM-DD Details: <link>