Release Lifecycle
The core rule
Fred releases one production version at a time.
There is no long-running parallel maintenance of multiple major versions. When Swift ships, Kea enters a support window and is eventually retired. Before that window closes, every operator will have had a clear migration path and enough time to use it.
Branch model
main ← always the live, deployed production state
develop ← where the next version is being builtThat is the complete branch topology for the Fred website, and for the Fred platform itself.
Hotfixes
When a bug is found in production:
- Branch from
main—hotfix/short-description - Fix and merge back to
main - Cherry-pick the same fix to
developimmediately
Step 3 is mandatory. A fix that does not land on develop will reappear in the next release.
When a new major version ships
developis merged tomain— the new version is live- A
v{major}.{minor}-{codename}tag is cut from the pre-merge state ofmainas a frozen snapshot - The previous release enters the support window (hotfixes only, no new features)
Release naming
Fred releases carry bird codenames:
| Codename | Version | Status |
|---|---|---|
| Kea | 1.5.x | Production — current |
| Swift | 2.0.x | Developer preview — GA summer 2026 |
The name is chosen to reflect a character of the release, not just a label.
Support windows
| Event | Support status |
|---|---|
| New major GA | Previous release enters support window |
| Support window | Hotfixes and security patches only |
| End of window | No further patches; operators should have migrated |
The minimum support window for Kea after Swift GA is six months.
For contributors
Target develop for all new work. Do not open pull requests against main except for hotfixes.
If you are unsure whether something is a hotfix or a feature, open it against develop. The maintainers will backport it to main if urgency requires.