A version is just a milestone on the main branch made publicly available.
For some particular major milestones a maintenance branch is forked from the main branch (e.g.
The version number is increased after this maintenance branch is forked (e.g. after
3.2 MAINTENANCE was forked the main branch version became
On each maintenance branch, maintenance patches are regularly issued.
On the main branch, stable milestones are regularly made available:
The main branch is, in fact, split into 3 sub-branches:
prerelease (beta) and
In production you must use only the
prerelease should only be used for testing/validation purposes.
master branch should not be used except for ponctual preview purposes.
A version can be either in:
- Current phase, which means a continuous delivery strategy is applied (for both functional changes and fixes).
- Active maintenance phase, which means a maintenance patches are issued every 1 to 3 months (mainly for fixes but also for minor functional changes backported from current).
- Long term maintenance phase, which means the maintenance patches are issued every 3 months or more (for major fixes only).
|Version||Maintenance phase||Maintenance end date|
|4.0 release notes||Current||Not yet defined|
|3.2 release notes||Long term||June 2020|
|3.1 release notes||Long term||Expired|
|2.4, 2.5, 2.6.x, 2.7.0 and 3.0||n/a||Expired|
Note: The maintenance end date of a given version is be defined as date of the fork of the maintenance branch of next version plus 3 years.