Versioning and support
Nacelle uses semantic versioning for published crates. This policy defines how new release lines are promoted, how patch releases are maintained, and which minor lines receive support.
Major and minor releases
Every new major or minor release line progresses through three stages:
- Publish one or more beta versions, such as
0.4.0-beta.1and0.4.0-beta.2, while the release scope and public contracts stabilize. - Promote the beta line to a release candidate, such as
0.4.0-rc.1, when it is ready for final compatibility and release validation. Publish another release candidate if the candidate requires changes. - Promote a validated release candidate to the release version, such as
0.4.0.
This promotion path applies to both major and minor releases. Beta and release candidate versions are prereleases for evaluation and stabilization; they do not add a supported minor line to the support window.
Patch releases
Patch releases do not repeat the beta and release-candidate progression. Apply
a compatible patch directly to the applicable supported release branch and to
main when the fix is still relevant there, then publish the next patch
version. For example, a fix for 0.4.0 is released directly as 0.4.1.
A patch may differ on the release branch and main when later development has
changed the affected code, but both changes must preserve the fix's behavior.
Supported versions
Nacelle supports the current released minor line and the immediately preceding
released minor line. This is the N-1 support window. Support begins with
0.3.0; every version before 0.3.0 is unsupported.
The support window therefore develops as follows:
- When
0.3is current, only the0.3line is supported. - When
0.4is current, the0.4and0.3lines are supported. - When
0.5is current, the0.5and0.4lines are supported, and0.3is unsupported.
Support applies to minor lines, not every patch within them. Consumers should run the latest available patch release in a supported minor line. Once a minor line falls outside the N-1 window, it no longer receives fixes or releases.