203 lines
4.7 KiB
Markdown
203 lines
4.7 KiB
Markdown
# StellaOps Versioning
|
|
|
|
This document describes the versioning strategy for StellaOps releases.
|
|
|
|
## Overview
|
|
|
|
StellaOps uses a two-tier versioning system:
|
|
|
|
1. **Suite Releases** - Ubuntu-style calendar versioning (YYYY.MM) with codenames
|
|
2. **Module Releases** - Semantic versioning (MAJOR.MINOR.PATCH)
|
|
|
|
---
|
|
|
|
## Suite Versions (Ubuntu-style)
|
|
|
|
### Format
|
|
|
|
```
|
|
YYYY.MM[-channel]
|
|
```
|
|
|
|
- **YYYY** - Four-digit year
|
|
- **MM** - Month (always `04` or `10`)
|
|
- **channel** - Optional: `edge`, `stable`, or `lts`
|
|
|
|
### Examples
|
|
|
|
| Version | Codename | Release Date | Type | Support |
|
|
|---------|----------|--------------|------|---------|
|
|
| 2026.04 | Nova | April 2026 | LTS | 5 years |
|
|
| 2026.10 | Orion | October 2026 | Feature | 9 months |
|
|
| 2027.04 | Pulsar | April 2027 | LTS | 5 years |
|
|
| 2027.10 | Quasar | October 2027 | Feature | 9 months |
|
|
|
|
### Release Cadence
|
|
|
|
- **April releases (XX.04)** - Long Term Support (LTS)
|
|
- 5 years of security updates
|
|
- 3 years of standard support
|
|
- Recommended for production environments
|
|
|
|
- **October releases (XX.10)** - Feature releases
|
|
- 9 months of support
|
|
- Latest features and improvements
|
|
- Recommended for development and testing
|
|
|
|
### Codenames
|
|
|
|
Codenames follow a celestial theme with alphabetical progression:
|
|
|
|
| Letter | Codename | Celestial Object |
|
|
|--------|----------|------------------|
|
|
| N | Nova | Exploding star |
|
|
| O | Orion | Constellation |
|
|
| P | Pulsar | Rotating neutron star |
|
|
| Q | Quasar | Distant active galaxy |
|
|
| R | Rigel | Blue supergiant star |
|
|
| S | Sirius | Brightest star |
|
|
| T | Triton | Neptune's moon |
|
|
| U | Umbra | Shadow region |
|
|
| V | Vega | Fifth-brightest star |
|
|
| W | Wezen | Delta Canis Majoris |
|
|
|
|
See [codenames.md](codenames.md) for the complete registry.
|
|
|
|
---
|
|
|
|
## Module Versions (Semantic Versioning)
|
|
|
|
### Format
|
|
|
|
```
|
|
MAJOR.MINOR.PATCH[-prerelease]
|
|
```
|
|
|
|
Following [Semantic Versioning 2.0.0](https://semver.org/):
|
|
|
|
- **MAJOR** - Incompatible API changes
|
|
- **MINOR** - New functionality (backwards-compatible)
|
|
- **PATCH** - Bug fixes (backwards-compatible)
|
|
- **prerelease** - Optional: `alpha.1`, `beta.2`, `rc.1`
|
|
|
|
### Examples
|
|
|
|
| Version | Description |
|
|
|---------|-------------|
|
|
| 1.0.0 | Initial stable release |
|
|
| 1.1.0 | New feature added |
|
|
| 1.1.1 | Bug fix |
|
|
| 2.0.0-alpha.1 | Breaking changes preview |
|
|
| 2.0.0-rc.1 | Release candidate |
|
|
| 2.0.0 | New major version |
|
|
|
|
### Module List
|
|
|
|
| Module | Package Name | Current Version |
|
|
|--------|--------------|-----------------|
|
|
| Authority | StellaOps.Authority | 1.0.0 |
|
|
| Attestor | StellaOps.Attestor | 1.0.0 |
|
|
| Concelier | StellaOps.Concelier | 1.0.0 |
|
|
| Scanner | StellaOps.Scanner | 1.0.0 |
|
|
| Policy | StellaOps.Policy | 1.0.0 |
|
|
| Signer | StellaOps.Signer | 1.0.0 |
|
|
| Excititor | StellaOps.Excititor | 1.0.0 |
|
|
| Gateway | StellaOps.Gateway | 1.0.0 |
|
|
| Scheduler | StellaOps.Scheduler | 1.0.0 |
|
|
| CLI | stellaops-cli | 1.0.0 |
|
|
|
|
---
|
|
|
|
## Compatibility Matrix
|
|
|
|
Each suite release documents which module versions are included:
|
|
|
|
### Suite 2026.04 "Nova" (Example)
|
|
|
|
| Module | Version | Breaking Changes |
|
|
|--------|---------|------------------|
|
|
| Authority | 1.0.0 | - |
|
|
| Attestor | 1.0.0 | - |
|
|
| Concelier | 1.0.0 | - |
|
|
| Scanner | 1.0.0 | - |
|
|
| Policy | 1.0.0 | - |
|
|
| Signer | 1.0.0 | - |
|
|
| Excititor | 1.0.0 | - |
|
|
| Gateway | 1.0.0 | - |
|
|
| Scheduler | 1.0.0 | - |
|
|
| CLI | 1.0.0 | - |
|
|
|
|
---
|
|
|
|
## Release Artifacts
|
|
|
|
### Suite Release Artifacts
|
|
|
|
| Artifact | Location |
|
|
|----------|----------|
|
|
| Container images | `git.stella-ops.org/stella-ops.org/{module}:{version}` |
|
|
| Helm chart | `stellaops-{version}.tgz` |
|
|
| CLI binaries | `stellaops-cli-{version}-{platform}.tar.gz` |
|
|
| Release manifest | `devops/releases/{version}.yaml` |
|
|
| Checksums | `SHA256SUMS-{version}.txt` |
|
|
|
|
### Module Release Artifacts
|
|
|
|
| Artifact | Location |
|
|
|----------|----------|
|
|
| NuGet packages | `git.stella-ops.org/api/packages/stella-ops.org/nuget/` |
|
|
| Container images | `git.stella-ops.org/stella-ops.org/{module}:{semver}` |
|
|
|
|
---
|
|
|
|
## Git Tags
|
|
|
|
### Suite Releases
|
|
|
|
```
|
|
suite-YYYY.MM[-codename]
|
|
```
|
|
|
|
Examples:
|
|
- `suite-2026.04`
|
|
- `suite-2026.04-nova`
|
|
- `suite-2026.10-orion`
|
|
|
|
### Module Releases
|
|
|
|
```
|
|
module-{name}-v{semver}
|
|
```
|
|
|
|
Examples:
|
|
- `module-authority-v1.0.0`
|
|
- `module-scanner-v1.2.3`
|
|
- `module-cli-v2.0.0-rc.1`
|
|
|
|
---
|
|
|
|
## Upgrade Path
|
|
|
|
### Supported Upgrades
|
|
|
|
| From | To | Notes |
|
|
|------|------|-------|
|
|
| N.04 | N.10 | Standard upgrade |
|
|
| N.10 | (N+1).04 | LTS upgrade |
|
|
| N.04 | (N+1).04 | LTS to LTS |
|
|
| N.04 | (N+2).04 | Skip-version upgrade (test thoroughly) |
|
|
|
|
### Migration Notes
|
|
|
|
Each suite release includes migration documentation in:
|
|
- `docs/releases/{version}/MIGRATION.md`
|
|
- `CHANGELOG.md`
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- [Release Process](RELEASE_PROCESS.md)
|
|
- [Codename Registry](codenames.md)
|
|
- [CHANGELOG](../../CHANGELOG.md)
|