1
1
The Release Process
2
2
===================
3
3
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 `_).
6
6
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:
9
9
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.
22
15
23
16
.. _contributing-release-development :
24
17
25
18
Development
26
19
-----------
27
20
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:
29
23
30
- * *Development *: *Four months * to add new features and to enhance existing
24
+ * ** Development * *: *Four months * to add new features and to enhance existing
31
25
ones;
32
26
33
- * *Stabilisation *: *Two months * to fix bugs, prepare the release, and wait
27
+ * ** Stabilization * *: *Two months * to fix bugs, prepare the release, and wait
34
28
for the whole Symfony ecosystem (third-party libraries, bundles, and
35
29
projects using Symfony) to catch up.
36
30
@@ -43,37 +37,48 @@ final release.
43
37
Maintenance
44
38
-----------
45
39
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 :
48
42
49
43
* *Bug fixes and security fixes *: During this period, all issues can be fixed.
50
44
The end of this period is referenced as being the *end of maintenance * of a
51
45
release.
52
46
53
47
* *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
+ ----------------
56
53
57
54
Standard Versions
58
55
~~~~~~~~~~~~~~~~~
59
56
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
61
58
fixes, and for a *fourteen month * period for security issue fixes.
62
59
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
+
63
64
.. _releases-lts :
64
65
65
66
Long Term Support Versions
66
67
~~~~~~~~~~~~~~~~~~~~~~~~~~
67
68
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
70
71
fixes, and for a *four year * period for security issue fixes.
71
72
72
73
.. note ::
73
74
74
75
Paid support after the three year support provided by the community can
75
76
also be bought from `SensioLabs `_.
76
77
78
+ In Symfony 2.x branch, the LTS versions are 2.3, 2.7 and 2.8. Starting from 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
+
77
82
Schedule
78
83
--------
79
84
@@ -83,7 +88,7 @@ Below is the schedule for the first few versions that use this release model:
83
88
:align: center
84
89
85
90
* **Yellow ** represents the Development phase
86
- * **Blue ** represents the Stabilisation phase
91
+ * **Blue ** represents the Stabilization phase
87
92
* **Green ** represents the Maintenance period
88
93
89
94
This results in very predictable dates and maintenance periods:
@@ -100,15 +105,23 @@ Version Feature Freeze Release End of Maintenance End of Life
100
105
2.6 09/2014 11/2014 07/2015 (8 months) 01/2016
101
106
**2.7 ** 03/2015 05/2015 05/2018 (36 months) 05/2019
102
107
**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
104
109
3.1 03/2016 05/2016 01/2017 (8 months) 07/2017
105
110
3.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
107
119
... ... ... ... ...
108
120
======= ============== ======= ======================== ===========
109
121
110
122
.. [1 ] Symfony 2.4 maintenance has been `extended to September 2014 `_.
111
123
.. [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.
112
125
113
126
.. tip ::
114
127
@@ -133,11 +146,6 @@ of Symfony to the next one.
133
146
Whenever keeping backward compatibility is not possible, the feature, the
134
147
enhancement or the bug fix will be scheduled for the next major version.
135
148
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
-
141
149
Deprecations
142
150
------------
143
151
0 commit comments