Since QGIS 2.0 further development will occur based on a timebased roadmap.
Odd version numbers (2.1, 2.3 etc) are development versions.
Even version numbers (2.2, 2.4 etc) are release versions.
Release will happen every four month. In the first three month new development is taking place. Then a feature freeze is invoked and the final month is used for testing, bugfixing, translation and release preparations. When the release happens, a branch with a even release number is created and the master branch advances to the next odd version. After the release a call for packaging is issued.
Every third release (starting with 2.8) is a long-term-release (LTR) that is maintained until the next long-term-release occurs.
In the development phase developers work on adding new features for the next release. Early adopters can use the nightly builds we have for all major platforms to see the development progress, do preliminary testing and provide bug reports and their thoughts to help with development.
In the feature freeze phase new features are not allowed in anymore and the focus of everyone moves from enhancing QGIS to stablizing it. This also turns the nightly builds effectively into prereleases.
Users should start extensive testing of these prereleases in their environment to verify that there are no issues, they wouldn’t want to see in the upcoming release. All such issues should be reported (see Bugs, Features and Issues). Everything that goes unnoticed, will also end up in the next release. Only in case of serious problems backports to a latest release will occur. Therefore testing of the prereleases and reporting issues is very important.
In the feature freeze developers monitor the hub and start working on fixing the reported issues.
With the begin of the feature freeze the translation files will be updated so that translators can start their work. Note that this might be an incremental process as although the features are frozen, bug fixes might still introduce translation string changes.
The schedule is aligned to produce roughly the same dates for each year given our four monthly releases with LTRs in late february.
Beginning after 2.12 the development phase is always 12 weeks and the freeze phase is at least 5 weeks. Remainders are used to extend the freeze phase of LTR releases.
Point releases will happen every month on the latest release branch and the LTR branch, if there are backports.
In the first four month after it’s release a new LTR is also the current LR. In this phase the new LTR doesn’t replace the previous LTR in the LTR repositories. This happens as soon as a new LR is released.
The 2.18 release will replace the 2.14 release as LTR, but not replace 2.14 in the LTR package repositories before 3.0 is released.
|Event||Latest||Long-Term (repos)||Date||Week #||Weeks|
|LTR||Long term release, begin of new development phase|
|LR||Regular release, begin of new development phase|
|FF||Feature freeze, end of development phase|
|PR||Point release of latest release and LTR branch|
|EPR||Extra Point release|