Skip to content

Commit eec0683

Browse files
authored
Merge branch 'master' into include-security-token-in-switch-user
2 parents b32b205 + a617d4b commit eec0683

File tree

225 files changed

+3697
-1032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+3697
-1032
lines changed

CHANGELOG-3.3.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,43 @@ in 3.3 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.3.0...v3.3.1
99

10+
* 3.3.2 (2017-06-06)
11+
12+
* bug #23073 [TwigBridge] Fix namespaced classes (ogizanagi)
13+
* bug #23063 [Cache] Fix extensibility of TagAwareAdapter::TAGS_PREFIX (wucdbm)
14+
* bug #22936 [Form] Mix attr option between guessed options and user options (yceruto)
15+
* bug #22976 [DependencyInjection] Use more clear message when unused environment variables detected (voronkovich)
16+
17+
* 3.3.1 (2017-06-05)
18+
19+
* bug #23067 [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break (nicolas-grekas)
20+
* bug #23065 [Cache] Fallback to positional when keyed results are broken (nicolas-grekas)
21+
* bug #22981 [DependencyInjection] Fix named args support in ChildDefinition (dunglas)
22+
* bug #23050 [Form][Profiler] Fixes form collector triggering deprecations (ogizanagi)
23+
* bug #22971 [Profiler] Fix code excerpt wrapping (ogizanagi)
24+
* bug #23049 [FrameworkBundle] mitigate BC break with empty trusted_proxies (xabbuh)
25+
* bug #23045 [Cache] fix Redis scheme detection (xabbuh)
26+
* bug #23013 Parse the _controller format in sub-requests (weaverryan)
27+
* bug #23015 [PhpUnitBridge] Fix detection of PHPUnit 5 (enumag)
28+
* bug #23041 [Config] Always protected ClassExistenceResource against bad parents (nicolas-grekas)
29+
* bug #22988 [PropertyInfo][DoctrineBridge] The bigint Doctrine's type must be converted to string (dunglas)
30+
* bug #23014 Fix optional cache warmers are always instantiated whereas they should be lazy-loaded (romainneutron)
31+
* feature #23022 [Di] Remove closure-proxy arguments (nicolas-grekas)
32+
* bug #23024 [EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null) (nicolas-grekas)
33+
* bug #23008 [EventDispatcher] Handle laziness internally instead of relying on ClosureProxyArgument (nicolas-grekas)
34+
* bug #23018 [FrameworkBundle] Fix CacheCollectorPass priority (chalasr)
35+
* bug #23009 [Routing] Allow GET requests to be redirected. Fixes #23004 (frankdejonge)
36+
* bug #22996 [Form] Fix \IntlDateFormatter timezone parameter usage to bypass PHP bug #66323 (romainneutron)
37+
* bug #22965 [Cache] Ignore missing annotations.php (ro0NL)
38+
* bug #22993 [DI] Autowiring exception thrown when inlined service is removed (weaverryan)
39+
* bug #22999 Better DI type deprecation message (weaverryan)
40+
* bug #22985 [Config] Allow empty globs (nicolas-grekas)
41+
* bug #22961 [HttpKernel] Support unknown format in LoggerDataCollector (iltar)
42+
* bug #22991 [DI] Don't throw Autowire exception for removed service with private __construct (weaverryan)
43+
* bug #22968 [Profiler] Fix text selection & click on file links on exception pages (ogizanagi)
44+
* bug #22994 Harden the debugging of Twig filters and functions (stof)
45+
* bug #22960 [Cache] Fix decoration of TagAware adapters in dev (chalasr)
46+
1047
* 3.3.0 (2017-05-29)
1148

1249
* bug #22940 [Config] Fallback to regular import when glob fails (nicolas-grekas)

CONTRIBUTORS.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ Symfony is the result of the work of many people who made the code better
2020
- Javier Eguiluz (javier.eguiluz)
2121
- Hugo Hamon (hhamon)
2222
- Abdellatif Ait boudad (aitboudad)
23+
- Romain Neutron (romain)
2324
- Pascal Borreli (pborreli)
2425
- Wouter De Jong (wouterj)
25-
- Romain Neutron (romain)
26-
- Grégoire Pineau (lyrixx)
2726
- Robin Chalas (chalas_r)
28-
- Joseph Bielawski (stloyd)
2927
- Maxime Steinhausser (ogizanagi)
28+
- Grégoire Pineau (lyrixx)
29+
- Joseph Bielawski (stloyd)
3030
- Karma Dordrak (drak)
3131
- Lukas Kahwe Smith (lsmith)
3232
- Martin Hasoň (hason)
@@ -72,8 +72,8 @@ Symfony is the result of the work of many people who made the code better
7272
- Dariusz Górecki (canni)
7373
- Titouan Galopin (tgalopin)
7474
- Douglas Greenshields (shieldo)
75-
- Konstantin Myakshin (koc)
7675
- Jáchym Toušek (enumag)
76+
- Konstantin Myakshin (koc)
7777
- Lee McDermott
7878
- Brandon Turner
7979
- Luis Cordova (cordoval)
@@ -112,10 +112,10 @@ Symfony is the result of the work of many people who made the code better
112112
- Jacob Dreesen (jdreesen)
113113
- Tobias Nyholm (tobias)
114114
- Tomáš Votruba (tomas_votruba)
115+
- Yonel Ceruto González (yonelceruto)
115116
- Fabien Pennequin (fabienpennequin)
116117
- Gordon Franke (gimler)
117118
- Eric GELOEN (gelo)
118-
- Yonel Ceruto González (yonelceruto)
119119
- Daniel Wehner (dawehner)
120120
- Tugdual Saunier (tucksaun)
121121
- Théo FIDRY (theofidry)
@@ -130,6 +130,7 @@ Symfony is the result of the work of many people who made the code better
130130
- Daniel Gomes (danielcsgomes)
131131
- Hidenori Goto (hidenorigoto)
132132
- Guilherme Blanco (guilhermeblanco)
133+
- Vincent AUBERT (vincent)
133134
- Pablo Godel (pgodel)
134135
- Jérémie Augustin (jaugustin)
135136
- Andréia Bohner (andreia)
@@ -140,18 +141,17 @@ Symfony is the result of the work of many people who made the code better
140141
- Joel Wurtz (brouznouf)
141142
- Philipp Wahala (hifi)
142143
- Vyacheslav Pavlov
144+
- Richard van Laak (rvanlaak)
143145
- Javier Spagnoletti (phansys)
144146
- Richard Shank (iampersistent)
145147
- Thomas Rabaix (rande)
146-
- Vincent AUBERT (vincent)
147148
- Rouven Weßling (realityking)
148149
- Teoh Han Hui (teohhanhui)
149150
- Jérôme Vasseur (jvasseur)
150151
- Clemens Tolboom
151152
- Helmer Aaviksoo
152153
- Grégoire Paris (greg0ire)
153154
- Hiromi Hishida (77web)
154-
- Richard van Laak (rvanlaak)
155155
- Matthieu Ouellette-Vachon (maoueh)
156156
- Michał Pipa (michal.pipa)
157157
- Amal Raghav (kertz)
@@ -244,6 +244,7 @@ Symfony is the result of the work of many people who made the code better
244244
- Uwe Jäger (uwej711)
245245
- Eugene Leonovich (rybakit)
246246
- Filippo Tessarotto
247+
- Oleg Voronkovich
247248
- Joseph Rouff (rouffj)
248249
- Félix Labrecque (woodspire)
249250
- GordonsLondon
@@ -279,7 +280,6 @@ Symfony is the result of the work of many people who made the code better
279280
- Jordan Samouh (jordansamouh)
280281
- Chris Smith (cs278)
281282
- Florian Klein (docteurklein)
282-
- Oleg Voronkovich
283283
- Manuel Kiessling (manuelkiessling)
284284
- Atsuhiro KUBO (iteman)
285285
- Andrew Moore (finewolf)
@@ -389,6 +389,7 @@ Symfony is the result of the work of many people who made the code better
389389
- Emanuele Gaspari (inmarelibero)
390390
- Sébastien Santoro (dereckson)
391391
- Brian King
392+
- Frank de Jonge (frenkynet)
392393
- Michel Salib (michelsalib)
393394
- geoffrey
394395
- Steffen Roßkamp
@@ -525,7 +526,6 @@ Symfony is the result of the work of many people who made the code better
525526
- Romain Pierre (romain-pierre)
526527
- Jan Behrens
527528
- Mantas Var (mvar)
528-
- Frank de Jonge (frenkynet)
529529
- Sebastian Krebs
530530
- Jean-Christophe Cuvelier [Artack]
531531
- Christopher Davis (chrisguitarguy)
@@ -1280,6 +1280,7 @@ Symfony is the result of the work of many people who made the code better
12801280
- ged15
12811281
- Daan van Renterghem
12821282
- Nicole Cordes
1283+
- Martin Kirilov
12831284
- Bram Van der Sype (brammm)
12841285
- Christopher Hertel (chertel)
12851286
- Guile (guile)

UPGRADE-3.4.md

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,62 @@ UPGRADE FROM 3.3 to 3.4
44
DependencyInjection
55
-------------------
66

7-
* Top-level anonymous services in XML are deprecated and will throw an exception in Symfony 4.0.
7+
* Top-level anonymous services in XML are deprecated and will throw an exception in Symfony 4.0.
88

99
Finder
1010
------
1111

1212
* The `Symfony\Component\Finder\Iterator\FilterIterator` class has been
13-
deprecated and will be removed in 4.0 as it used to fix a bug which existed
13+
deprecated and will be removed in 4.0 as it used to fix a bug which existed
1414
before version 5.5.23/5.6.7.
1515

16+
FrameworkBundle
17+
---------------
18+
19+
* The `doctrine/cache` dependency has been removed; require it via `composer
20+
require doctrine/cache` if you are using Doctrine cache in your project.
21+
22+
* The `validator.mapping.cache.doctrine.apc` service has been deprecated.
23+
24+
* The `symfony/stopwatch` dependency has been removed, require it via `composer
25+
require symfony/stopwatch` in your `dev` environment.
26+
27+
* Using the `KERNEL_DIR` environment variable or the automatic guessing based
28+
on the `phpunit.xml` / `phpunit.xml.dist` file location is deprecated since 3.4.
29+
Set the `KERNEL_CLASS` environment variable to the fully-qualified class name
30+
of your Kernel instead. Not setting the `KERNEL_CLASS` environment variable
31+
will throw an exception on 4.0 unless you override the `KernelTestCase::createKernel()`
32+
or `KernelTestCase::getKernelClass()` method.
33+
34+
* The `KernelTestCase::getPhpUnitXmlDir()` and `KernelTestCase::getPhpUnitCliConfigArgument()`
35+
methods are deprecated since 3.4 and will be removed in 4.0.
36+
37+
* The `--no-prefix` option of the `translation:update` command is deprecated and
38+
will be removed in 4.0. Use the `--prefix` option with an empty string as value
39+
instead (e.g. `--prefix=""`)
40+
41+
Process
42+
-------
43+
44+
* The `Symfony\Component\Process\ProcessBuilder` class has been deprecated,
45+
use the `Symfony\Component\Process\Process` class directly instead.
46+
47+
SecurityBundle
48+
--------------
49+
50+
* Using voters that do not implement the `VoterInterface`is now deprecated in
51+
the `AccessDecisionManager` and this functionality will be removed in 4.0.
52+
53+
* `FirewallContext::getListeners()` now returns `\Traversable|array`
54+
1655
Validator
1756
---------
1857

1958
* Not setting the `strict` option of the `Choice` constraint to `true` is
2059
deprecated and will throw an exception in Symfony 4.0.
60+
61+
Yaml
62+
----
63+
64+
* Using the non-specific tag `!` is deprecated and will have a different
65+
behavior in 4.0. Use a plain integer or `!!float` instead.

UPGRADE-4.0.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ Form
227227
FrameworkBundle
228228
---------------
229229

230+
* The `validator.mapping.cache.doctrine.apc` service has been removed.
231+
230232
* The `cache:clear` command does not warmup the cache anymore. Warmup should
231233
be done via the `cache:warmup` command.
232234

@@ -330,10 +332,22 @@ FrameworkBundle
330332
* The `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ValidateWorkflowsPass` class
331333
has been removed. Use the `Symfony\Component\Workflow\DependencyInjection\ValidateWorkflowsPass`
332334
class instead.
335+
336+
* Using the `KERNEL_DIR` environment variable and the automatic guessing based
337+
on the `phpunit.xml` file location have been removed from the `KernelTestCase::getKernelClass()`
338+
method implementation. Set the `KERNEL_CLASS` environment variable to the
339+
fully-qualified class name of your Kernel or override the `KernelTestCase::createKernel()`
340+
or `KernelTestCase::getKernelClass()` method instead.
341+
342+
* The methods `KernelTestCase::getPhpUnitXmlDir()` and `KernelTestCase::getPhpUnitCliConfigArgument()`
343+
have been removed.
333344

334345
* The `Symfony\Bundle\FrameworkBundle\Validator\ConstraintValidatorFactory` class has been removed.
335346
Use `Symfony\Component\Validator\ContainerConstraintValidatorFactory` instead.
336347

348+
* The `--no-prefix` option of the `translation:update` command has
349+
been removed.
350+
337351
HttpFoundation
338352
--------------
339353

@@ -411,6 +425,9 @@ Ldap
411425
Process
412426
-------
413427

428+
* The `Symfony\Component\Process\ProcessBuilder` class has been removed,
429+
use the `Symfony\Component\Process\Process` class directly instead.
430+
414431
* The `ProcessUtils::escapeArgument()` method has been removed, use a command line array or give env vars to the `Process::start/run()` method instead.
415432

416433
* Environment variables are always inherited in sub-processes.
@@ -685,3 +702,6 @@ Yaml
685702

686703
* The constructor arguments `$offset`, `$totalNumberOfLines` and
687704
`$skippedLineNumbers` of the `Parser` class were removed.
705+
706+
* The behavior of the non-specific tag `!` is changed and now forces
707+
non-evaluating your values.

composer.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@
9494
"symfony/phpunit-bridge": "~3.2",
9595
"symfony/polyfill-apcu": "~1.1",
9696
"symfony/security-acl": "~2.8|~3.0",
97-
"phpdocumentor/reflection-docblock": "^3.0",
98-
"sensio/framework-extra-bundle": "^3.0.2"
97+
"phpdocumentor/reflection-docblock": "^3.0"
9998
},
10099
"conflict": {
101100
"phpdocumentor/reflection-docblock": "<3.0",
@@ -112,7 +111,6 @@
112111
"Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/",
113112
"Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/",
114113
"Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/",
115-
"Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/",
116114
"Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/",
117115
"Symfony\\Bundle\\": "src/Symfony/Bundle/",
118116
"Symfony\\Component\\": "src/Symfony/Component/"

src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,15 @@ public function handle(array $record)
5151
if (!$this->socket = $this->socket ?: $this->createSocket()) {
5252
return false === $this->bubble;
5353
}
54+
} finally {
55+
restore_error_handler();
56+
}
5457

55-
$recordFormatted = $this->formatRecord($record);
58+
$recordFormatted = $this->formatRecord($record);
5659

60+
set_error_handler(self::class.'::nullErrorHandler');
61+
62+
try {
5763
if (-1 === stream_socket_sendto($this->socket, $recordFormatted)) {
5864
stream_socket_shutdown($this->socket, STREAM_SHUT_RDWR);
5965

src/Symfony/Bridge/PhpUnit/SymfonyTestsListener.php

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,53 +18,53 @@
1818

1919
if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Version::id(), '6.0.0', '<')) {
2020
class_alias('Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListener', 'Symfony\Bridge\PhpUnit\SymfonyTestsListener');
21-
22-
return;
23-
}
24-
25-
/**
26-
* Collects and replays skipped tests.
27-
*
28-
* @author Nicolas Grekas <p@tchwork.com>
29-
*
30-
* @final
31-
*/
32-
class SymfonyTestsListener extends BaseTestListener
33-
{
34-
private $trait;
35-
36-
public function __construct(array $mockedNamespaces = array())
21+
// Using an early return instead of a else does not work when using the PHPUnit phar due to some weird PHP behavior (the class
22+
// gets defined without executing the code before it and so the definition is not properly conditional)
23+
} else {
24+
/**
25+
* Collects and replays skipped tests.
26+
*
27+
* @author Nicolas Grekas <p@tchwork.com>
28+
*
29+
* @final
30+
*/
31+
class SymfonyTestsListener extends BaseTestListener
3732
{
38-
$this->trait = new Legacy\SymfonyTestsListenerTrait($mockedNamespaces);
39-
}
33+
private $trait;
4034

41-
public function globalListenerDisabled()
42-
{
43-
$this->trait->globalListenerDisabled();
44-
}
35+
public function __construct(array $mockedNamespaces = array())
36+
{
37+
$this->trait = new Legacy\SymfonyTestsListenerTrait($mockedNamespaces);
38+
}
4539

46-
public function startTestSuite(TestSuite $suite)
47-
{
48-
return $this->trait->startTestSuite($suite);
49-
}
40+
public function globalListenerDisabled()
41+
{
42+
$this->trait->globalListenerDisabled();
43+
}
5044

51-
public function addSkippedTest(Test $test, \Exception $e, $time)
52-
{
53-
return $this->trait->addSkippedTest($test, $e, $time);
54-
}
45+
public function startTestSuite(TestSuite $suite)
46+
{
47+
return $this->trait->startTestSuite($suite);
48+
}
5549

56-
public function startTest(Test $test)
57-
{
58-
return $this->trait->startTest($test);
59-
}
50+
public function addSkippedTest(Test $test, \Exception $e, $time)
51+
{
52+
return $this->trait->addSkippedTest($test, $e, $time);
53+
}
6054

61-
public function addWarning(Test $test, Warning $e, $time)
62-
{
63-
return $this->trait->addWarning($test, $e, $time);
64-
}
55+
public function startTest(Test $test)
56+
{
57+
return $this->trait->startTest($test);
58+
}
6559

66-
public function endTest(Test $test, $time)
67-
{
68-
return $this->trait->endTest($test, $time);
60+
public function addWarning(Test $test, Warning $e, $time)
61+
{
62+
return $this->trait->addWarning($test, $e, $time);
63+
}
64+
65+
public function endTest(Test $test, $time)
66+
{
67+
return $this->trait->endTest($test, $time);
68+
}
6969
}
7070
}

0 commit comments

Comments
 (0)