Skip to content

Commit 3f8ca17

Browse files
committed
Merge branch '2.1'
* 2.1: fixed some markup issues Tweaks per @wouterj Fixed typo in documentation/overview Fixing typo thanks to @richardmiller [#1758] Minor tweaks - including fixing syntax errors around the image directive and describing the image added a new chapter about the Symfony release process Remove extra word Add missing words Try to fix a link Add missing apostrophe added missing letter fix minor typo
2 parents 72dc96a + 51f3862 commit 3f8ca17

File tree

10 files changed

+130
-9
lines changed

10 files changed

+130
-9
lines changed

book/translation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ by defining a ``default_locale`` for the framework:
561561
The Locale and the URL
562562
~~~~~~~~~~~~~~~~~~~~~~
563563

564-
Since you can store the locale of the user is in the session, it may be tempting
564+
Since you can store the locale of the user in the session, it may be tempting
565565
to use the same URL to display a resource in many different languages based
566566
on the user's locale. For example, ``http://www.example.com/contact`` could
567567
show content in English for one user and French for another user. Unfortunately,

components/dependency_injection/compilation.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ will then be called when the container is compiled::
287287

288288
.. note::
289289

290-
Compiler passes are registered differently is you are using the full
290+
Compiler passes are registered differently if you are using the full
291291
stack framework, see :doc:`/cookbook/service_container/compiler_passes`
292292
for more details.
293293

@@ -408,7 +408,7 @@ but getting an up to date configuration whilst developing your application::
408408
This could be further improved by only recompiling the container in debug
409409
mode when changes have been made to its configuration rather than on every
410410
request. This can be done by caching the resource files used to configure
411-
the container in the way describe in ":doc:`/components/config/caching`"
411+
the container in the way described in ":doc:`/components/config/caching`"
412412
in the config component documentation.
413413

414414
You do not need to work out which files to cache as the container builder

components/dependency_injection/workflow.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Bundle-level Configuration with Extensions
5151

5252
By convention, each bundle contains an Extension class which is in the bundle's
5353
``DependencyInjection`` directory. These are registered with the ``ContainerBuilder``
54-
when the kernel is booted. When the ``ContainerBuilder`` is :doc:`/compiled<components/dependency-injection/compilation>`,
54+
when the kernel is booted. When the ``ContainerBuilder`` is :doc:`compiled</components/dependency-injection/compilation>`,
5555
the application-level configuration relevant to the bundle's extension is
5656
passed to the Extension which also usually loads its own config file(s), typically from the bundle's
5757
``Resources/config`` directory. The application-level config is usually processed
@@ -63,7 +63,7 @@ Compiler passes to allow Interaction between Bundles
6363

6464
:ref:`Compiler passes<components-dependency-injection-compiler-passes>` are
6565
used to allow interaction between different bundles as they cannot affect
66-
each others configuration in the extension classes. One of the main uses is
66+
each other's configuration in the extension classes. One of the main uses is
6767
to process tagged services, allowing bundles to register services to picked
6868
up by other bundles, such as Monolog loggers, Twig extensions and Data Collectors
6969
for the Web Profiler. Compiler passes are usually placed in the bundle's
@@ -74,5 +74,5 @@ Compilation and Caching
7474

7575
After the compilation process has loaded the services from the configuration,
7676
extensions and the compiler passes, it is dumped so that the cache can be used
77-
next time. The dumped version is then used during subsequent request as it
77+
next time. The dumped version is then used during subsequent requests as it
7878
is more efficient.

contributing/community/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ Community
44
.. toctree::
55
:maxdepth: 2
66

7+
releases
78
irc
89
other

contributing/community/releases.rst

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
The Release Process
2+
===================
3+
4+
This document explains the Symfony release process (Symfony being the code
5+
hosted on the main symfony/symfony `Git repository`_).
6+
7+
Symfony manages its releases through a *time-based model*; a new Symfony
8+
release comes out every *six months*: one in *May* and one in *November*.
9+
10+
.. note::
11+
12+
This release process has been adopted as of Symfony 2.2, and all the
13+
"rules" explained in this document must be strictly followed as of Symfony
14+
2.4.
15+
16+
Development
17+
-----------
18+
19+
The six-months period is divided into two phases:
20+
21+
* *Development*: *Four months* to add new features and to enhance existing
22+
ones;
23+
24+
* *Stabilisation*: *Two months* to fix bugs, prepare the release, and wait
25+
for the whole Symfony ecosystem (third-party libraries, bundles, and
26+
projects using Symfony) to catch up.
27+
28+
During the development phase, any new feature can be reverted if it won't be
29+
finished in time or if it won't be stable enough to be included in the current
30+
final release.
31+
32+
Maintenance
33+
-----------
34+
35+
Each Symfony version is maintained for a fixed period of time, depending on
36+
the type of the release.
37+
38+
Standard Releases
39+
~~~~~~~~~~~~~~~~~
40+
41+
A standard release is maintained for an *eight month* period.
42+
43+
Long Term Support Releases
44+
~~~~~~~~~~~~~~~~~~~~~~~~~~
45+
46+
Every two years, a new Long Term Support Release (aka LTS release) is
47+
published. Each LTS release is supported for a *three year* period.
48+
49+
.. note::
50+
51+
Paid support after the three year support provided by the community can
52+
also be bought from `SensioLabs`_.
53+
54+
Schedule
55+
--------
56+
57+
Below is the schedule for the first few versions that use this release model:
58+
59+
.. image:: /images/release-process.jpg
60+
:align: center
61+
62+
* **Yellow** represents the Development phase
63+
* **Blue** represents the Stabilisation phase
64+
* **Green** represents the Maintenance period
65+
66+
This results in very predictable dates and maintenance periods.
67+
68+
* *(special)* Symfony 2.2 will be released at the end of February 2013;
69+
* *(special)* Symfony 2.3 (the first LTS) will be released at the end of May
70+
2013;
71+
* Symfony 2.4 will be released at the end of November 2013;
72+
* Symfony 2.5 will be released at the end of May 2014;
73+
* ...
74+
75+
Backward Compatibility
76+
----------------------
77+
78+
After the release of Symfony 2.3, backward compatibility will be kept at all
79+
cost. If it is not possible, the feature, the enhancement, or the bug fix will
80+
be scheduled for the next major version: Symfony 3.0.
81+
82+
.. note::
83+
84+
The work on Symfony 3.0 will start whenever enough major features breaking
85+
backward compatibility are waiting on the todo-list.
86+
87+
Rationale
88+
---------
89+
90+
This release process was adopted to give more *predictability* and
91+
*transparency*. It was discussed based on the following goals:
92+
93+
* Shorten the release cycle (allow developers to benefit from the new
94+
features faster);
95+
* Give more visibility to the developers using the framework and Open-Source
96+
projects using Symfony;
97+
* Improve the experience of Symfony core contributors: everyone knows when a
98+
feature might be available in Symfony;
99+
* Coordinate the Symfony timeline with popular PHP projects that work well
100+
with Symfony and with projects using Symfony;
101+
* Give time to the Symfony ecosystem to catch up with the new versions
102+
(bundle authors, documentation writers, translators, ...).
103+
104+
The six month period was chosen as two releases fit in a year. It also allows
105+
for plenty of time to work on new features and it allows for non-ready
106+
features to be postponed to the next version without having to wait too long
107+
for the next cycle.
108+
109+
The dual maintenance mode was adopted to make every Symfony user happy. Fast
110+
movers, who want to work with the latest and the greatest, use the standard
111+
releases: a new version is published every six months, and there is a two
112+
months period to upgrade. Companies wanting more stability use the LTS
113+
releases: a new version is published every two years and there is a year to
114+
upgrade.
115+
116+
.. _Git repository: https://github.com/symfony/symfony
117+
.. _SensioLabs: http://sensiolabs.com/

contributing/documentation/overview.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ look and feel familiar, you should follow these rules:
8787
If we fold several lines: the description of the fold can be placed after the ``...``
8888
If we fold only part of a line: the description can be placed before the line;
8989
* If useful, a ``codeblock`` should begin with a comment containing the filename
90-
of the file in the code block. Place a blank line after this comment,
90+
of the file in the code block. Don't place a blank line after this comment,
9191
unless the next line is also a comment;
9292
* You should put a ``$`` in front of every bash line;
9393
* We prefer the ``::`` shorthand over ``.. code-block:: php`` to begin a PHP

contributing/map.rst.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@
1717

1818
* **Community**
1919

20+
* :doc:`Release Process </contributing/community/releases>`
2021
* :doc:`IRC Meetings </contributing/community/irc>`
2122
* :doc:`Other Resources </contributing/community/other>`

cookbook/console/generating_urls.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ via normal web requests, since those will override the defaults.
3535
3636
.. code-block:: xml
3737
38+
<!-- app/config/parameters.xml -->
3839
<?xml version="1.0" encoding="UTF-8"?>
3940
4041
<container xmlns="http://symfony.com/schema/dic/services"
@@ -59,8 +60,8 @@ To change it only in one command you can simply fetch the Request Context
5960
service and override its settings::
6061

6162
// src/Acme/DemoBundle/Command/DemoCommand.php
62-
// ...
6363

64+
// ...
6465
class DemoCommand extends ContainerAwareCommand
6566
{
6667
protected function execute(InputInterface $input, OutputInterface $output)

cookbook/form/form_collections.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ that Task, right inside the same form.
1717
of this tutorial that really care about "persistence".
1818

1919
If you *are* using Doctrine, you'll need to add the Doctrine metadata,
20-
including the ``ManyToMany`` on the Task's ``tags`` property.
20+
including the ``ManyToMany`` association mapping definition on the Task's
21+
``tags`` property.
2122

2223
Let's start there: suppose that each ``Task`` belongs to multiple ``Tags``
2324
objects. Start by creating a simple ``Task`` class::

images/release-process.jpg

52.6 KB
Loading

0 commit comments

Comments
 (0)