Tails has a time-based release schedule, aligned with Firefox ESR (Extended Support Release)'s. In the examples below we'll assume a 6-weeks release cycle.

We generally publish 2 or 3 major Tails releases every year. Between two consecutive major releases, we publish as many bugfix releases as required by Mozilla's release schedule: generally, between 1 and 4 bugfix releases.

On top of that, we occasionally publish an extra emergency release in order to quickly fix a critical security vulnerability that became publicly known or is being used in the wild. The most common example of this is when Mozilla publishes a "chemspill" release of Firefox.

See our actual release schedule.

Schedule

  /          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).

What if things go wrong?

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 bugfix release instead of a major one) => switching bugfix/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.

Versioning scheme

  • We always increment the first number when switching to a new major release of Debian. When we do this we reset the second number to zero.
  • We also increment the first number whenever it make sense for Tails only (user-visible changes).
  • The second number is incremented for every release that does not increment the first number.
  • We add an extra, third number for emergency releases.