Tails has a time-based release schedule, aligned with Firefox ESR (Extended Support Release) that are put out every 6 weeks:
The rationale was originally written on tails-dev.
The idea is to put a major Tails release out every 12 weeks, plus a point release in between. See the calendar.
/ 4w \/ 2w /4d\ previous RC1 ESR sources ESR + Tails | | release freeze | | new ESR + Tails | | | | release | | | | | ↓ ↓ ↓ ↓ ↓ ._____._____._____._____._____._____._____. 0 1 2 3 4 5 6
In the above:
- ESR sources means the source code for the upcoming Firefox ESR is available, but the ESR is not officially out yet: it has to go through Mozilla's QA process first. Sources are generally available on Friday night (US time).
- ESR + Tails release means Mozilla announces the new Firefox ESR, and we release a new version of Tails (roughly) the same day. This usually happens on Tuesday night (US time).
Postponing the final release causes problems for those who have scheduled time for post-release user support, press work, etc..
Also, changing our mind (i.e. releasing a point-release instead of a major one) => switching minor/major release schedule for the future is probably not an option either.
So we need to have a pessimistic enough RC->final schedule to handle unexpected issues.
Reverting the faulty feature branch is an option too.
- When to run the test suite: RC1 and/or RC2?
- We always increment the first number when switching to a new major release of Debian.
- We also increment the first number whenever it make sense for Tails only (user-visible changes).
- The second number is even for major release (introducing new features), and odd for minor release (that only fix bugs).
- We allow ourselves to skip numbers if we release two major or two minor releases in a row (eg. 2.0 followed by 2.2).
- We add an extra, third number for emergency releases.