Skip to content

Commit 119064d

Browse files
committed
Merge branch '2.4'
Conflicts: components/stopwatch.rst
2 parents b34fb64 + 1f6bdd1 commit 119064d

File tree

4 files changed

+63
-31
lines changed

4 files changed

+63
-31
lines changed

components/routing/hostname_pattern.rst

+11-7
Original file line numberDiff line numberDiff line change
@@ -173,25 +173,27 @@ instance, if you want to match both ``m.example.com`` and
173173
174174
return $collection;
175175
176-
.. tip::
177-
178-
Make sure you also include a default option for the ``subdomain``
179-
placeholder, otherwise you need to include the subdomains value each time
180-
you generate the route.
181-
182176
.. sidebar:: Using Service Parameters
183177

184178
You can also use service parameters if you do not want to hardcode the
185179
hostname:
186180

181+
.. tip::
182+
183+
Make sure you also include a default option for the ``subdomain``
184+
placeholder, otherwise you need to include the subdomains value each time
185+
you generate the route.
186+
187187
.. configuration-block::
188188

189189
.. code-block:: yaml
190190
191191
mobile_homepage:
192192
path: /
193193
host: "m.{domain}"
194-
defaults: { _controller: AcmeDemoBundle:Main:mobileHomepage }
194+
defaults:
195+
_controller: AcmeDemoBundle:Main:mobileHomepage
196+
domain: "%domain%"
195197
requirements:
196198
domain: "%domain%"
197199
@@ -209,6 +211,7 @@ instance, if you want to match both ``m.example.com`` and
209211
210212
<route id="mobile_homepage" path="/" host="m.example.com">
211213
<default key="_controller">AcmeDemoBundle:Main:mobileHomepage</default>
214+
<default key="domain">%domain%</requirement>
212215
<requirement key="domain">%domain%</requirement>
213216
</route>
214217
@@ -225,6 +228,7 @@ instance, if you want to match both ``m.example.com`` and
225228
$collection = new RouteCollection();
226229
$collection->add('mobile_homepage', new Route('/', array(
227230
'_controller' => 'AcmeDemoBundle:Main:mobileHomepage',
231+
'domain' => '%domain%',
228232
), array(
229233
'domain' => '%domain%',
230234
), array(), 'm.{domain}'));

components/stopwatch.rst

+4-3
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ microtime by yourself. Instead, use the simple
3434
.. versionadded:: 2.5
3535
The ``getEvent()`` method was introduced in Symfony 2.5
3636

37-
The :class:`Symfony\\Component\\Stopwatch\StopwatchEvent` object can be retrieved from the
38-
:method:`Symfony\\Component\\Stopwatch\\Stopwatch::start`,
37+
The :class:`Symfony\\Component\\Stopwatch\StopwatchEvent` object can be retrieved
38+
from the :method:`Symfony\\Component\\Stopwatch\\Stopwatch::start`,
3939
:method:`Symfony\\Component\\Stopwatch\\Stopwatch::stop`,
4040
:method:`Symfony\\Component\\Stopwatch\\Stopwatch::lap` and
4141
:method:`Symfony\\Component\\Stopwatch\\Stopwatch::getEvent` methods.
42-
The latter should be used when you need to retrieve the duration of an event while it is still running.
42+
The latter should be used when you need to retrieve the duration of an event
43+
while it is still running.
4344

4445
You can also provide a category name to an event::
4546

contributing/community/releases.rst

+38-21
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,15 @@ The Release Process
44
This document explains the Symfony release process (Symfony being the code
55
hosted on the main ``symfony/symfony`` `Git repository`_).
66

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*.
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*.
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.
916

1017
.. note::
1118

@@ -18,7 +25,7 @@ release comes out every *six months*: one in *May* and one in *November*.
1825
Development
1926
-----------
2027

21-
The six-months period is divided into two phases:
28+
The first six-month period is divided into two phases:
2229

2330
* *Development*: *Four months* to add new features and to enhance existing
2431
ones;
@@ -36,8 +43,8 @@ final release.
3643
Maintenance
3744
-----------
3845

39-
Each Symfony version is maintained for a fixed period of time, depending on
40-
the type of the release. We have two maintenance periods:
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:
4148

4249
* *Bug fixes and security fixes*: During this period, all issues can be fixed.
4350
The end of this period is referenced as being the *end of maintenance* of a
@@ -47,17 +54,17 @@ the type of the release. We have two maintenance periods:
4754
be fixed. The end of this period is referenced as being the *end of
4855
life* of a release.
4956

50-
Standard Releases
57+
Standard Versions
5158
~~~~~~~~~~~~~~~~~
5259

53-
A standard release is maintained for an *eight month* period for bug fixes,
54-
and for a *fourteen month* period for security issue fixes.
60+
A standard minor version is maintained for an *eight month* period for bug
61+
fixes, and for a *fourteen month* period for security issue fixes.
5562

56-
Long Term Support Releases
63+
Long Term Support Versions
5764
~~~~~~~~~~~~~~~~~~~~~~~~~~
5865

59-
Every two years, a new Long Term Support Release (aka LTS release) is
60-
published. Each LTS release is supported for a *three year* period for bug
66+
Every two years, a new Long Term Support Version (aka LTS version) is
67+
published. Each LTS version is supported for a *three year* period for bug
6168
fixes, and for a *four year* period for security issue fixes.
6269

6370
.. note::
@@ -109,17 +116,26 @@ This results in very predictable dates and maintenance periods:
109116
use the online `timeline calculator`_. You can also get all data as a JSON
110117
string via a URL like `http://symfony.com/roadmap.json?version=2.x`.
111118

119+
.. tip::
120+
121+
Whenever an important event related to Symfony versions happens (a version
122+
reaches end of maintenance or a new patch version is released for
123+
instance), you can automatically receive an email notification if you
124+
subscribed on the `roadmap notification`_ page.
125+
112126
Backward Compatibility
113127
----------------------
114128

115-
After the release of Symfony 2.3, backward compatibility will be kept at all
116-
cost. If it is not possible, the feature, the enhancement, or the bug fix will
117-
be scheduled for the next major version: Symfony 3.0.
129+
Our `Backwards Compatibility Promise`_ is very strict and allows developers to
130+
upgrade with confidence from one minor version of Symfony to the next one.
131+
132+
Whenever keeping backward compatibility is not possible, the feature, the
133+
enhancement, or the bug fix will be scheduled for the next major version.
118134

119135
.. note::
120136

121-
The work on Symfony 3.0 will start whenever enough major features breaking
122-
backward compatibility are waiting on the todo-list.
137+
The work on a new major version of Symfony starts whenever enough major
138+
features breaking backward compatibility are waiting on the todo-list.
123139

124140
Deprecations
125141
------------
@@ -154,11 +170,12 @@ for the next cycle.
154170

155171
The dual maintenance mode was adopted to make every Symfony user happy. Fast
156172
movers, who want to work with the latest and the greatest, use the standard
157-
releases: a new version is published every six months, and there is a two
158-
months period to upgrade. Companies wanting more stability use the LTS
159-
releases: a new version is published every two years and there is a year to
160-
upgrade.
173+
version: a new version is published every six months, and there is a two months
174+
period to upgrade. Companies wanting more stability use the LTS versions: a new
175+
version is published every two years and there is a year to upgrade.
161176

177+
.. _Semantic Versioning: http://semver.org/
162178
.. _Git repository: https://github.com./symfony/symfony
163179
.. _SensioLabs: http://sensiolabs.com/
164-
.. _`timeline calculator`: http://symfony.com/roadmap
180+
.. _roadmap notification: http://symfony.com/roadmap
181+
.. _timeline calculator: http://symfony.com/roadmap

cookbook/doctrine/file_uploads.rst

+10
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,14 @@ Next, refactor the ``Document`` class to take advantage of these callbacks::
410410
}
411411
}
412412

413+
.. caution::
414+
415+
If changes to your entity are handled by a Doctrine event listener or event
416+
subscriber, the ``preUpdate()`` callback must notify Doctrine about the changes
417+
being done.
418+
For full reference on preUpdate event restrictions, see `preUpdate`_ in the
419+
Doctrine Events documentation.
420+
413421
The class now does everything you need: it generates a unique filename before
414422
persisting, moves the file after persisting, and removes the file if the
415423
entity is ever deleted.
@@ -546,3 +554,5 @@ You'll notice in this case that you need to do a little bit more work in
546554
order to remove the file. Before it's removed, you must store the file path
547555
(since it depends on the id). Then, once the object has been fully removed
548556
from the database, you can safely delete the file (in ``PostRemove``).
557+
558+
.. _`preUpdate`: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#preupdate

0 commit comments

Comments
 (0)