Skip to content

Commit f3ef5de

Browse files
committed
Rewords
1 parent 6dbf6a8 commit f3ef5de

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

contributing/code/pull_requests.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,11 @@ work:
131131

132132
* ``master``, if you are adding a new feature.
133133

134-
.. note::
135-
136-
A new **Symfony major version** (e.g. 3.0, 4.0) comes out every *two years*.
137-
It is a very special case when new features must go to development branch.
138-
139-
Check `Symfony Roadmap`_ for latest development branch and not to ``master``
134+
The only exception is when a new :doc:`major Symfony version </contributing/community/releases>`
135+
(4.0, 5.0, etc.) comes out every two years. Because of the
136+
:ref:`special development process <major-version-development>` of those versions,
137+
you need to use the previous minor version for the features (e.g. use ``3.4``
138+
instead of ``4.0``, use ``4.4`` instead of ``5.0``, etc.)
140139

141140
.. note::
142141

contributing/community/releases.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,23 @@ adds a new preferred one along side. Read the
8484
:ref:`conventions <contributing-code-conventions-deprecations>` document to
8585
learn more about how deprecations are handled in Symfony.
8686

87+
.. _major-version-development:
88+
89+
This deprecation policy also requires a custom development process for major
90+
versions (4.0, 5.0, 6.0, etc.) In those cases, Symfony develops at the same time
91+
two versions: the new major one (e.g. 4.0) and the latest version of the
92+
previous branch (e.g. 3.4).
93+
94+
Both versions have the same new features, but they differ in the deprecated
95+
features. The oldest version (3.4 in this example) contains all the deprecated
96+
features whereas the new version (4.0 in this example) removes all of them.
97+
98+
This allows you to upgrade your projects to the latest minor version (e.g. 3.4),
99+
see all the deprecation messages and fix them. Once you have fixed all those
100+
deprecations, you can upgrade to the new major version (e.g. 4.0) without
101+
effort, because it contains the same features (the only difference are the
102+
deprecated features, which your project no longer uses).
103+
87104
Rationale
88105
---------
89106

0 commit comments

Comments
 (0)