Skip to content

Commit 09787d3

Browse files
committed
Merge branch '4.2' into 4.3
* 4.2: Rewords added "special case"
2 parents 3273cda + ba908ae commit 09787d3

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

contributing/code/pull_requests.rst

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

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

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.)
139+
134140
.. note::
135141

136142
All bug fixes merged into maintenance branches are also merged into more
@@ -423,3 +429,4 @@ before merging.
423429
.. _`Symfony Slack`: https://symfony.com/slack-invite
424430
.. _`Travis-CI`: https://travis-ci.org/symfony/symfony
425431
.. _`draft status`: https://help.github.com/en/articles/about-pull-requests#draft-pull-requests
432+
.. _`Symfony Roadmap`: https://symfony.com/roadmap

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)