Skip to content

Commit 636d348

Browse files
committed
Updated the release process for Symfony 3.x and future releases
1 parent 2954583 commit 636d348

File tree

2 files changed

+43
-30
lines changed

2 files changed

+43
-30
lines changed

contributing/community/releases.rst

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,35 @@
11
The 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.
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.0, 4.0.0) comes out every *two years*
13+
and it's released at the same time of the last minor version of the previous
14+
branch.
1615

1716
.. note::
1817

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.
18+
This release process has been adopted as of Symfony 2.2, and all the "rules"
19+
explained in this document must be strictly followed as of Symfony 2.4.
2220

2321
.. _contributing-release-development:
2422

2523
Development
2624
-----------
2725

28-
The full development period lasts six months and is divided into two phases:
26+
The full development period for any major or minor version lasts six months and
27+
is divided into two phases:
2928

30-
* *Development*: *Four months* to add new features and to enhance existing
29+
* **Development**: *Four months* to add new features and to enhance existing
3130
ones;
3231

33-
* *Stabilisation*: *Two months* to fix bugs, prepare the release, and wait
32+
* **Stabilisation**: *Two months* to fix bugs, prepare the release, and wait
3433
for the whole Symfony ecosystem (third-party libraries, bundles, and
3534
projects using Symfony) to catch up.
3635

@@ -43,37 +42,48 @@ final release.
4342
Maintenance
4443
-----------
4544

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:
45+
Each Symfony version is maintained for a fixed period of time, depending on the
46+
type of the release. This maintenance is divided into:
4847

4948
* *Bug fixes and security fixes*: During this period, all issues can be fixed.
5049
The end of this period is referenced as being the *end of maintenance* of a
5150
release.
5251

5352
* *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.
53+
be fixed. The end of this period is referenced as being the *end of life* of
54+
a release.
55+
56+
Symfony Versions
57+
----------------
5658

5759
Standard Versions
5860
~~~~~~~~~~~~~~~~~
5961

60-
A standard minor version is maintained for an *eight month* period for bug
62+
A **Standard Minor Version** is maintained for an *eight month* period for bug
6163
fixes, and for a *fourteen month* period for security issue fixes.
6264

65+
In Symfony 2.x branch, the number of minor versions wasn't constrained, so that
66+
branch ended up with nine minor versions (from 2.0 to 2.8). Starting from
67+
3.x branch, the number of minor versions is limited to five (from X.0 to X.4).
68+
6369
.. _releases-lts:
6470

6571
Long Term Support Versions
6672
~~~~~~~~~~~~~~~~~~~~~~~~~~
6773

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
74+
Every two years, a new **Long Term Support Version** (usually abbreviated as "LTS")
75+
is published. Each LTS version is supported for a *three year* period for bug
7076
fixes, and for a *four year* period for security issue fixes.
7177

7278
.. note::
7379

7480
Paid support after the three year support provided by the community can
7581
also be bought from `SensioLabs`_.
7682

83+
In Symfony 2.x branch, the LTS versions are 2.3, 2.7 and 2.8. Starting from 3.x
84+
branch, only the last minor version of each branch is considered LTS (e.g 3.4,
85+
4.4, 5.4, etc.)
86+
7787
Schedule
7888
--------
7989

@@ -100,15 +110,23 @@ Version Feature Freeze Release End of Maintenance End of Life
100110
2.6 09/2014 11/2014 07/2015 (8 months) 01/2016
101111
**2.7** 03/2015 05/2015 05/2018 (36 months) 05/2019
102112
**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
113+
3.0 09/2015 11/2015 07/2016 (8 months) [3]_) 01/2017
104114
3.1 03/2016 05/2016 01/2017 (8 months) 07/2017
105115
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
116+
3.3 03/2017 05/2017 01/2018 (8 months) 07/2018
117+
**3.4** 09/2017 11/2017 11/2020 (36 months) 11/2021
118+
4.0 09/2017 11/2017 07/2018 (8 months) 01/2019
119+
4.1 03/2018 05/2018 01/2019 (8 months) 07/2019
120+
4.2 09/2018 11/2018 07/2019 (8 months) 01/2020
121+
4.3 03/2019 05/2019 01/2020 (8 months) 07/2020
122+
**4.4** 09/2019 11/2019 11/2022 (36 months) 11/2023
123+
5.0 09/2019 11/2019 07/2020 (8 months) 01/2021
107124
... ... ... ... ...
108125
======= ============== ======= ======================== ===========
109126

110127
.. [1] Symfony 2.4 maintenance has been `extended to September 2014`_.
111128
.. [2] Symfony 2.8 is the last version of the Symfony 2.x branch.
129+
.. [3] Symfony 3.0 is the first version to use the new release process based on five minor releases.
112130
113131
.. tip::
114132

@@ -133,11 +151,6 @@ of Symfony to the next one.
133151
Whenever keeping backward compatibility is not possible, the feature, the
134152
enhancement or the bug fix will be scheduled for the next major version.
135153

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-
141154
Deprecations
142155
------------
143156

105 KB
Loading

0 commit comments

Comments
 (0)