Road Map

Releases and development of QGIS follow a timebased schedule.

  • Even version numbers (2.18, 3.2 etc) are release versions.
  • Odd version numbers (2.99, 3.1 etc) are development versions.

A new release will happen every four months. In the first three months, new development is taking place. In the last month before a release, 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.

Note

During the development of QGIS 3.0 and 3.2, an exception to this schedule has been put into place. See the roadmap below for adjusted information.

Development phase

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.

Feature freeze

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 bugtracker and start working on fixing the reported issues and update the visual changelog with the features they added.

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.

Two weeks before the release a hard freeze is initiated, after which only fixes to severe problems and regressions introduced after the feature freeze are allowed in.

The release manager announces this on feature freeze.

Release

On major and minor release dates the release branch is created and the release is tagged and tar balls are prepared. Point releases are just tagged and tar balls are created.

The packagers are notified that packaging can begin.

Once some packages are available the release can be announced and the website is updated accordingly.

Release schedule

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.

Schedule:

Event Latest Long-Term Repo Freeze Date Week # Weeks
LTR/PR 3.4.0 2.18.25   2018-10-26 43 4
EPR 3.4.1     2018-11-02 44 4
PR 3.4.2 2.18.26   2018-11-23 47 4
PR 3.4.3 2.18.27   2018-12-21 51 4
PR/FF 3.4.4 2.18.28 3.5 2019-01-18 3 5
LR/PR 3.6.0 3.4.5   2019-02-22 8 4
PR 3.6.1 3.4.6   2019-03-22 12 4
PR 3.6.2 3.4.7   2019-04-19 16 4
PR/FF 3.6.3 3.4.8 3.7 2019-05-17 20 5
LR/PR 3.8.0 3.4.9   2019-06-21 25 4
PR 3.8.1 3.4.10   2019-07-19 29 4
PR 3.8.2 3.4.11   2019-08-16 33 3
FF     3.9 2019-09-06 36 1
PR 3.8.3 3.4.12   2019-09-13 37 4
HF       2019-10-11 41 2
LTR/PR 3.10.0 3.4.13   2019-10-25 43 4
PR 3.10.1 3.4.14   2019-11-22 47 4
PR 3.10.2 3.4.15   2019-12-20 51 4
PR/FF 3.10.3 3.4.16 3.11 2020-01-17 3 5
LR/PR 3.12.0 3.10.4   2020-02-21 8 4
PR 3.12.1 3.10.5   2020-03-20 12 4
PR 3.12.2 3.10.6   2020-04-17 16 4
PR/FF 3.12.3 3.10.7 3.13 2020-05-15 20 5
LR/PR 3.14.0 3.10.8   2020-06-19 25 4
PR 3.14.1 3.10.9   2020-07-17 29 4
PR 3.14.2 3.10.10   2020-08-14 33 4
PR/FF 3.14.3 3.10.11 3.15 2020-09-11 37 6
LTR/PR 3.16.0 3.10.12   2020-10-23 43 4
PR 3.16.1 3.10.13   2020-11-20 47 4
PR 3.16.2 3.10.14   2020-12-18 51 4
PR/FF 3.16.3 3.10.15 3.17 2021-01-15 3 5
LR/PR 3.18.0 3.16.4   2021-02-19 8 4

Event legend:

Event Description
LTR Long term release, begin of new development phase
LR Regular release, begin of new development phase
FF Feature freeze, end of development phase
HF hard freeze
SF Soft freeze with bi-monthly vote
PR Point release of latest release and LTR branch
EPR Extra Point release

Location of prereleases / nightly builds

Platform Location
Windows Weekly release candidate (standalone installer)
OSGeo4W
Linux Debian/Ubuntu
MacOS Mac OS