11The Release Process
22===================
33
4- This document explains the Symfony release process ( Symfony being the code
5- hosted on the main ``symfony/symfony `` `Git repository `_).
4+ This document explains the ** release process ** of the Symfony project (i.e. the
5+ code hosted on the main ``symfony/symfony `` `Git repository `_).
66
7- Symfony manages its releases through a *time-based model *; a new Symfony minor
8- version comes out every * six months *: one in * May * and one in * November *.
7+ Symfony manages its releases through a *time-based model * and follows the
8+ ` Semantic Versioning `_ strategy:
99
10- .. tip ::
11-
12- The meaning of "minor" comes from the `Semantic Versioning `_ strategy.
13-
14- Each minor version sticks to the same very well-defined process where we start
15- with a development period, followed by a maintenance period.
16-
17- .. note ::
18-
19- This release process has been adopted as of Symfony 2.2, and all the
20- "rules" explained in this document must be strictly followed as of Symfony
21- 2.4.
10+ * A new Symfony minor version (e.g. 2.8, 3.2, 4.1) comes out every *six months *:
11+ one in *May * and one in *November *;
12+ * A new Symfony major version (e.g., 3.0, 4.0) comes out every *two years * and
13+ it's released at the same time of the last minor version of the previous major
14+ version.
2215
2316.. _contributing-release-development :
2417
2518Development
2619-----------
2720
28- The full development period lasts six months and is divided into two phases:
21+ The full development period for any major or minor version lasts six months and
22+ is divided into two phases:
2923
30- * *Development *: *Four months * to add new features and to enhance existing
24+ * ** Development * *: *Four months * to add new features and to enhance existing
3125 ones;
3226
33- * *Stabilisation *: *Two months * to fix bugs, prepare the release, and wait
27+ * ** Stabilization * *: *Two months * to fix bugs, prepare the release, and wait
3428 for the whole Symfony ecosystem (third-party libraries, bundles, and
3529 projects using Symfony) to catch up.
3630
@@ -43,37 +37,48 @@ final release.
4337Maintenance
4438-----------
4539
46- Each Symfony minor version is maintained for a fixed period of time, depending
47- on the type of the release. We have two maintenance periods :
40+ Each Symfony version is maintained for a fixed period of time, depending on the
41+ type of the release. This maintenance is divided into :
4842
4943* *Bug fixes and security fixes *: During this period, all issues can be fixed.
5044 The end of this period is referenced as being the *end of maintenance * of a
5145 release.
5246
5347* *Security fixes only *: During this period, only security related issues can
54- be fixed. The end of this period is referenced as being the *end of
55- life * of a release.
48+ be fixed. The end of this period is referenced as being the *end of life * of
49+ a release.
50+
51+ Symfony Versions
52+ ----------------
5653
5754Standard Versions
5855~~~~~~~~~~~~~~~~~
5956
60- A standard minor version is maintained for an *eight month * period for bug
57+ A ** Standard Minor Version ** is maintained for an *eight month * period for bug
6158fixes, and for a *fourteen month * period for security issue fixes.
6259
60+ In Symfony 2.x branch, the number of minor versions wasn't constrained, so that
61+ branch ended up with nine minor versions (from 2.0 to 2.8). Starting from
62+ 3.x branch, the number of minor versions is limited to five (from X.0 to X.4).
63+
6364.. _releases-lts :
6465
6566Long Term Support Versions
6667~~~~~~~~~~~~~~~~~~~~~~~~~~
6768
68- Every two years, a new Long Term Support Version (aka LTS version) is
69- published. Each LTS version is supported for a *three year * period for bug
69+ Every two years, a new ** Long Term Support Version ** (usually abbreviated as "LTS")
70+ is published. Each LTS version is supported for a *three year * period for bug
7071fixes, and for a *four year * period for security issue fixes.
7172
7273.. note ::
7374
7475 Paid support after the three year support provided by the community can
7576 also be bought from `SensioLabs `_.
7677
78+ In the Symfony 2.x branch, the LTS versions are 2.3, 2.7 and 2.8. Starting from the 3.x
79+ branch, only the last minor version of each branch is considered LTS (e.g. 3.4,
80+ 4.4, 5.4, etc.)
81+
7782Schedule
7883--------
7984
@@ -83,7 +88,7 @@ Below is the schedule for the first few versions that use this release model:
8388 :align: center
8489
8590* **Yellow ** represents the Development phase
86- * **Blue ** represents the Stabilisation phase
91+ * **Blue ** represents the Stabilization phase
8792* **Green ** represents the Maintenance period
8893
8994This results in very predictable dates and maintenance periods:
@@ -100,15 +105,23 @@ Version Feature Freeze Release End of Maintenance End of Life
1001052.6 09/2014 11/2014 07/2015 (8 months) 01/2016
101106**2.7 ** 03/2015 05/2015 05/2018 (36 months) 05/2019
102107**2.8 ** 09/2015 11/2015 11/2018 (36 months [2 ]_) 11/2019
103- 3.0 09/2015 11/2015 07/2016 (8 months) 01/2017
108+ 3.0 09/2015 11/2015 07/2016 (8 months) [ 3 ]_) 01/2017
1041093.1 03/2016 05/2016 01/2017 (8 months) 07/2017
1051103.2 09/2016 11/2016 07/2017 (8 months) 01/2018
106- **3.3 ** 03/2017 05/2017 05/2020 (36 months) 05/2021
111+ 3.3 03/2017 05/2017 01/2018 (8 months) 07/2018
112+ **3.4 ** 09/2017 11/2017 11/2020 (36 months) 11/2021
113+ 4.0 09/2017 11/2017 07/2018 (8 months) 01/2019
114+ 4.1 03/2018 05/2018 01/2019 (8 months) 07/2019
115+ 4.2 09/2018 11/2018 07/2019 (8 months) 01/2020
116+ 4.3 03/2019 05/2019 01/2020 (8 months) 07/2020
117+ **4.4 ** 09/2019 11/2019 11/2022 (36 months) 11/2023
118+ 5.0 09/2019 11/2019 07/2020 (8 months) 01/2021
107119... ... ... ... ...
108120======= ============== ======= ======================== ===========
109121
110122.. [1 ] Symfony 2.4 maintenance has been `extended to September 2014 `_.
111123 .. [2 ] Symfony 2.8 is the last version of the Symfony 2.x branch.
124+ .. [3 ] Symfony 3.0 is the first version to use the new release process based on five minor releases.
112125
113126 .. tip ::
114127
@@ -133,11 +146,6 @@ of Symfony to the next one.
133146Whenever keeping backward compatibility is not possible, the feature, the
134147enhancement or the bug fix will be scheduled for the next major version.
135148
136- .. note ::
137-
138- The work on a new major version of Symfony starts whenever enough major
139- features breaking backward compatibility are waiting on the todo-list.
140-
141149Deprecations
142150------------
143151
0 commit comments