diff --git a/CHANGELOG-3.2.md b/CHANGELOG-3.2.md
index 93dc435ade79f..c76c8add66003 100644
--- a/CHANGELOG-3.2.md
+++ b/CHANGELOG-3.2.md
@@ -7,6 +7,35 @@ in 3.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.2.0...v3.2.1
+* 3.2.8 (2017-05-01)
+
+ * bug #22550 Allow Upper Case property names in ObjectNormalizer (insekticid)
+ * bug #22528 [Asset] Starting slash should indicate no basePath wanted (weaverryan)
+ * bug #22568 [EventDispatcher] fix getting priorities of listeners during dispatch (dmaicher)
+ * bug #22541 [EventDispatcher] fix: unwrap listeners for correct info (dmaicher)
+ * bug #22526 [Asset] Preventing the base path or absolute URL from being prefixed incorrectly (weaverryan)
+ * bug #22523 [WebProfilerBundle] Fixed the flickering when loading complex profiler panels (javiereguiluz)
+ * bug #21958 [Console] Fix bar width with multilines ProgressBar's format (maidmaid)
+ * bug #22435 [Console] Fix dispatching throwables from ConsoleEvents::COMMAND (nicolas-grekas)
+ * bug #22478 [Serializer] XmlEncoder: fix negative int and large numbers handling (dunglas)
+ * bug #22424 [Debug] Set exit status to 255 on error (nicolas-grekas)
+ * bug #22426 [PropertyInfo] Prevent returning int values in some cases (dunglas)
+ * bug #22401 Prevent double registrations related to tag priorities (nicolas-grekas)
+ * bug #22399 Prevent double registrations related to tag priorities (nicolas-grekas)
+ * bug #22396 Prevent double registrations related to tag priorities (nicolas-grekas)
+ * bug #22374 [Cache] Remove exception false-positive from FilesystemAdapterTrait (nicolas-grekas)
+ * bug #22377 [Console] Allow terminal dimensions to be set to 0 (unbounded) (duncan3dc)
+ * bug #22352 [HttpFoundation] Add `use_strict_mode` in validOptions for session (sstok)
+ * bug #22351 [Yaml] don't keep internal state between parser runs (xabbuh)
+ * bug #22304 Moved $this->setDate() before the deprecation handling. (mpdonadio)
+ * bug #22307 [Debug] Fix php notice (enumag)
+ * bug #22311 [DI] Fix second auto-registration (nicolas-grekas)
+ * bug #22109 [Validator] check for empty host when calling checkdnsrr() (apetitpa)
+ * bug #22280 [DI] Fix the xml schema (GuilhemN)
+ * bug #22282 [DI] Prevent AutowirePass from triggering irrelevant deprecations (chalasr)
+ * bug #22255 [Translation] avoid creating cache files for fallback locales. (aitboudad)
+ * bug #22292 Fixes #22264 - add support for Chrome headless (redthor)
+
* 3.2.7 (2017-04-05)
* bug #22285 [HttpKernel] Fix forward compat with Request::setTrustedProxies() (nicolas-grekas)
diff --git a/CHANGELOG-3.3.md b/CHANGELOG-3.3.md
index 424414f020a2e..39137503cd411 100644
--- a/CHANGELOG-3.3.md
+++ b/CHANGELOG-3.3.md
@@ -7,6 +7,37 @@ in 3.3 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.3.0...v3.3.1
+* 3.3.0-RC1 (2017-05-17)
+
+ * bug #22715 [FrameworkBundle] remove Security deps from the require section (xabbuh)
+ * bug #22613 [Process] Fix incorrectly calling PHP process when path contains space (maryo)
+ * feature #22680 [DI] Fixing missing "exclude" functionality from PSR4 loader (weaverryan)
+ * bug #22699 [TwigBundle] service workflow.twig_extension should stay public (ogizanagi)
+ * feature #22708 Adding autowire alias for AuthenticationUtils (weaverryan)
+ * bug #22695 [WebServerBundle] fix dependencies (xabbuh)
+ * bug #22647 [VarDumper] Fix dumping of non-nested stubs (nicolas-grekas)
+ * bug #22409 [Yaml] respect inline level when dumping objects as maps (goetas, xabbuh)
+ * bug #22584 [Security] Avoid unnecessary route lookup for empty logout path (ro0NL)
+ * bug #22642 [DX] Making the RegisterControllerArgumentLocatorsPass throw exception on bad types (weaverryan)
+ * bug #22664 [Security] Fix TraceableAccessDecisionManager / DebugAccessDecisionManager BC layer (ogizanagi)
+ * bug #22690 [Console] Fix errors not rethrown even if not handled by console.error listeners (chalasr)
+ * bug #22681 Fixing a bug where abstract classes were wired with the prototype loader (weaverryan)
+ * feature #22665 [DI] Do not throw autowiring exceptions for a service that will be removed (weaverryan)
+ * bug #22669 [FrameworkBundle] AbstractConfigCommand: do not try registering bundles twice (ogizanagi)
+ * bug #22676 [FrameworkBundle] Adding the extension XML (flug)
+ * bug #22611 [FrameworkBundle] Fix "Locale class not found" in AboutCommand (rubenrua)
+ * bug #22677 [DI] Fixed index args bug with ResolveNamedArgumentsPass (weaverryan)
+ * bug #22652 [Workflow] Move twig extension registration to twig bundle (ogizanagi)
+ * feature #22668 [FrameworkBundle] KernelTestCase: allow to provide the kernel class with a var (ogizanagi)
+ * bug #22639 [WebLink][TwigBundle] Fix registration of the twig extension (ogizanagi)
+ * bug #22658 Make the exception pages work when the WebProfilerBundle is not installed (javiereguiluz)
+ * bug #22657 [DI] Fix Cannot declare class ...\DefinitionDecorator, because the name is already in use (ogizanagi)
+ * feature #22624 debug:container --types (classes/interfaces) (weaverryan)
+ * bug #22626 Fix missing parenthesis (yceruto)
+ * bug #22621 [Config] Fix resource tracking with new GlobResource (nicolas-grekas)
+ * feature #22385 [DX][FrameworkBundle] Show private aliases in debug:container (chalasr)
+ * bug #22615 [DI] Defaults to public=false in all service config files (nicolas-grekas)
+
* 3.3.0-BETA1 (2017-05-01)
* feature #22530 Making tags under _defaults always apply (weaverryan)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index a29c7ec45376b..c543c10dc0336 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -26,9 +26,9 @@ Symfony is the result of the work of many people who made the code better
- Grégoire Pineau (lyrixx)
- Joseph Bielawski (stloyd)
- Karma Dordrak (drak)
+ - Robin Chalas (chalas_r)
- Lukas Kahwe Smith (lsmith)
- Martin Hasoň (hason)
- - Robin Chalas (chalas_r)
- Maxime Steinhausser (ogizanagi)
- Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon)
@@ -37,10 +37,10 @@ Symfony is the result of the work of many people who made the code better
- Eriksen Costa (eriksencosta)
- Jules Pietri (heah)
- Sarah Khalil (saro0h)
+ - Roland Franssen (ro0)
- Jonathan Wage (jwage)
- Guilhem Niot (energetick)
- Diego Saint Esteben (dosten)
- - Roland Franssen (ro0)
- Alexandre Salomé (alexandresalome)
- William Durand (couac)
- ornicar
@@ -73,10 +73,10 @@ Symfony is the result of the work of many people who made the code better
- Titouan Galopin (tgalopin)
- Douglas Greenshields (shieldo)
- Konstantin Myakshin (koc)
+ - Jáchym Toušek (enumag)
- Lee McDermott
- Brandon Turner
- Luis Cordova (cordoval)
- - Jáchym Toušek (enumag)
- Graham Campbell (graham)
- Daniel Holmes (dholmes)
- Toni Uebernickel (havvg)
@@ -84,12 +84,12 @@ Symfony is the result of the work of many people who made the code better
- Jordan Alliot (jalliot)
- Jérémy DERUSSÉ (jderusse)
- John Wards (johnwards)
+ - Dariusz Ruminski
- Fran Moreno (franmomu)
- Antoine Hérault (herzult)
+ - Jérôme Tamarelle (gromnan)
- Paráda József (paradajozsef)
- - Dariusz Ruminski
- Arnaud Le Blanc (arnaud-lb)
- - Jérôme Tamarelle (gromnan)
- Maxime STEINHAUSSER
- Michal Piotrowski (eventhorizon)
- Tim Nagel (merk)
@@ -120,6 +120,7 @@ Symfony is the result of the work of many people who made the code better
- Théo FIDRY (theofidry)
- Robert Schönthal (digitalkaoz)
- Florian Lonqueu-Brochard (florianlb)
+ - Sebastiaan Stok (sstok)
- Stefano Sala (stefano.sala)
- Yonel Ceruto González (yonelceruto)
- Evgeniy (ewgraf)
@@ -128,7 +129,6 @@ Symfony is the result of the work of many people who made the code better
- Sebastian Hörl (blogsh)
- Daniel Gomes (danielcsgomes)
- Hidenori Goto (hidenorigoto)
- - Sebastiaan Stok (sstok)
- Guilherme Blanco (guilhermeblanco)
- Pablo Godel (pgodel)
- Jérémie Augustin (jaugustin)
@@ -146,6 +146,7 @@ Symfony is the result of the work of many people who made the code better
- Vincent AUBERT (vincent)
- Rouven Weßling (realityking)
- Teoh Han Hui (teohhanhui)
+ - Jérôme Vasseur (jvasseur)
- Clemens Tolboom
- Helmer Aaviksoo
- Grégoire Paris (greg0ire)
@@ -179,8 +180,11 @@ Symfony is the result of the work of many people who made the code better
- Daniel Espendiller
- sun (sun)
- Larry Garfield (crell)
+ - Julien Falque (julienfalque)
- Martin Schuhfuß (usefulthink)
+ - apetitpa
- Matthieu Bontemps (mbontemps)
+ - apetitpa
- Pierre Minnieur (pminnieur)
- fivestar
- Dominique Bongiraud
@@ -202,7 +206,6 @@ Symfony is the result of the work of many people who made the code better
- SpacePossum
- Eugene Wissner
- Julien Brochet (mewt)
- - Julien Falque (julienfalque)
- Tristan Darricau (nicofuma)
- Grégoire Paris (greg0ire)
- Sergey Linnik (linniksa)
@@ -222,7 +225,7 @@ Symfony is the result of the work of many people who made the code better
- Elnur Abdurrakhimov (elnur)
- Manuel Reinhard (sprain)
- Danny Berger (dpb587)
- - Jérôme Vasseur
+ - Ruben Gonzalez (rubenrua)
- Adam Prager (padam87)
- Roman Marintšenko (inori)
- Xavier Montaña Carreras (xmontana)
@@ -231,6 +234,7 @@ Symfony is the result of the work of many people who made the code better
- Arjen Brouwer (arjenjb)
- Katsuhiro OGAWA
- Patrick McDougle (patrick-mcdougle)
+ - Dany Maillard (maidmaid)
- Alif Rachmawadi
- Kristen Gilden (kgilden)
- Pierre-Yves LEBECQ (pylebecq)
@@ -268,7 +272,9 @@ Symfony is the result of the work of many people who made the code better
- Michael Holm (hollo)
- Marc Weistroff (futurecat)
- Christian Schmidt
+ - Marek Štípek (maryo)
- Hidde Wieringa (hiddewie)
+ - Jordan Samouh (jordansamouh)
- Chris Smith (cs278)
- Florian Klein (docteurklein)
- Oleg Voronkovich
@@ -282,6 +288,7 @@ Symfony is the result of the work of many people who made the code better
- Andrey Esaulov (andremaha)
- Grégoire Passault (gregwar)
- Ismael Ambrosi (iambrosi)
+ - gadelat (gadelat)
- Baptiste Lafontaine
- Aurelijus Valeiša (aurelijus)
- Victor Bocharsky (bocharsky_bw)
@@ -325,7 +332,8 @@ Symfony is the result of the work of many people who made the code better
- Yaroslav Kiliba
- Terje Bråten
- Robbert Klarenbeek (robbertkl)
- - Marek Štípek (maryo)
+ - Thomas Calvet (fancyweb)
+ - Niels Keurentjes (curry684)
- Alessandro Chitolina
- JhonnyL
- hossein zolfi (ocean)
@@ -343,14 +351,15 @@ Symfony is the result of the work of many people who made the code better
- Vyacheslav Salakhutdinov (megazoll)
- Jerzy Zawadzki (jzawadzki)
- Hassan Amouhzi
- - gadelat (gadelat)
- Tamas Szijarto
- Pavel Volokitin (pvolok)
- François Pluchino (francoispluchino)
+ - Arthur de Moulins (4rthem)
- Nicolas Dewez (nicolas_dewez)
- Endre Fejes
- Tobias Naumann (tna)
- Daniel Beyer
+ - Nikolay Labinskiy (e-moe)
- Shein Alexey
- Romain Gautier (mykiwi)
- Joe Lencioni
@@ -400,10 +409,10 @@ Symfony is the result of the work of many people who made the code better
- Andreas Braun
- Chris Sedlmayr (catchamonkey)
- Seb Koelen
- - Dany Maillard (maidmaid)
- Christoph Mewes (xrstf)
- Vitaliy Tverdokhlib (vitaliytv)
- Ariel Ferrandini (aferrandini)
+ - Samuel ROZE (sroze)
- Dirk Pahl (dirkaholic)
- cedric lombardot (cedriclombardot)
- Jonas Flodén (flojon)
@@ -417,7 +426,6 @@ Symfony is the result of the work of many people who made the code better
- Gintautas Miselis
- Rob Bast
- David Badura (davidbadura)
- - Jordan Samouh (jordansamouh)
- Zander Baldwin
- Adam Harvey
- Alex Bakhturin
@@ -426,7 +434,6 @@ Symfony is the result of the work of many people who made the code better
- Fabrice Bernhard (fabriceb)
- Jérôme Macias (jeromemacias)
- Andrey Astakhov (aast)
- - Thomas Calvet
- Fabian Lange (codingfabian)
- Frank Neff (fneff)
- Roman Lapin (memphys)
@@ -462,13 +469,12 @@ Symfony is the result of the work of many people who made the code better
- Jakub Škvára (jskvara)
- Andrew Udvare (audvare)
- alexpods
- - Nikolay Labinskiy (e-moe)
- Arjen van der Meijden
- Michele Locati
- Dariusz Ruminski
+ - Alex Rock Ancelet (pierstoval)
- Erik Trapman (eriktrapman)
- De Cock Xavier (xdecock)
- - Arthur de Moulins (4rthem)
- Almog Baku (almogbaku)
- Scott Arciszewski
- Norbert Orzechowicz (norzechowicz)
@@ -582,7 +588,6 @@ Symfony is the result of the work of many people who made the code better
- Ulumuddin Yunus (joenoez)
- Luc Vieillescazes (iamluc)
- Johann Saunier (prophet777)
- - Samuel ROZE (sroze)
- Michael Devery (mickadoo)
- Antoine Corcy
- Artur Eshenbrener
@@ -696,6 +701,7 @@ Symfony is the result of the work of many people who made the code better
- Pierre Vanliefland (pvanliefland)
- Sofiane HADDAG (sofhad)
- frost-nzcr4
+ - Sanpi
- Abhoryo
- Fabian Vogler (fabian)
- Korvin Szanto
@@ -752,6 +758,7 @@ Symfony is the result of the work of many people who made the code better
- Martijn Evers
- Jacques Moati
- Balazs Csaba (balazscsaba2006)
+ - Douglas Reith (douglas_reith)
- Harry Walter (haswalt)
- Johnson Page (jwpage)
- Michael Roterman (wtfzdotnet)
@@ -765,7 +772,6 @@ Symfony is the result of the work of many people who made the code better
- Gábor Tóth
- Daniel Cestari
- David Lima
- - Jérôme Vasseur
- Brunet Laurent (lbrunet)
- Mikhail Yurasov (mym)
- LOUARDI Abdeltif (ouardisoft)
@@ -820,6 +826,7 @@ Symfony is the result of the work of many people who made the code better
- Danilo Silva
- Zachary Tong (polyfractal)
- Hryhorii Hrebiniuk
+ - Thomas Perez (scullwm)
- Dennis Fridrich (dfridrich)
- hamza
- dantleech
@@ -934,6 +941,7 @@ Symfony is the result of the work of many people who made the code better
- Klaus Purer
- Gilles Doge (gido)
- abulford
+ - Philipp Kretzschmar
- antograssiot
- Brooks Boyd
- Roger Webb
@@ -1040,6 +1048,7 @@ Symfony is the result of the work of many people who made the code better
- Kim Laï Trinh
- Jason Desrosiers
- m.chwedziak
+ - insekticid
- Philip Frank
- Lance McNearney
- Giorgio Premi
@@ -1062,6 +1071,7 @@ Symfony is the result of the work of many people who made the code better
- Tadcka
- Beth Binkovitz
- Gonzalo Míguez
+ - Pierre Rineau
- Romain Geissler
- Adrien Moiruad
- Tomaz Ahlin
@@ -1085,6 +1095,7 @@ Symfony is the result of the work of many people who made the code better
- Martin Eckhardt
- Pieter Jordaan
- Damien Tournoud
+ - Craig Duncan (duncan3dc)
- Jon Gotlin (jongotlin)
- Michael Dowling (mtdowling)
- Karlos Presumido (oneko)
@@ -1185,12 +1196,12 @@ Symfony is the result of the work of many people who made the code better
- Michal Gebauer
- Gleb Sidora
- David Stone
- - Niels Keurentjes (curry684)
- Jovan Perovic (jperovic)
- Pablo Maria Martelletti (pmartelletti)
- Yassine Guedidi (yguedidi)
- Waqas Ahmed
- Luis Muñoz
+ - Matthew Donadio
- Andreas
- Thomas Chmielowiec
- Andrey Ryaguzov
@@ -1247,7 +1258,6 @@ Symfony is the result of the work of many people who made the code better
- Jordi Llonch (jordillonch)
- Cédric Dugat (ph3nol)
- Philip Dahlstrøm (phidah)
- - Alex Rock Ancelet (pierstoval)
- Milos Colakovic (project2481)
- Rénald Casagraude (rcasagraude)
- Robin Duval (robin-duval)
@@ -1390,6 +1400,7 @@ Symfony is the result of the work of many people who made the code better
- Joeri Verdeyen (jverdeyen)
- Kevin Herrera (kherge)
- Luis Ramón López López (lrlopez)
+ - Bart Reunes (metalarend)
- Muriel (metalmumu)
- Michael Pohlers (mick_the_big)
- mlpo (mlpo)
@@ -1531,6 +1542,7 @@ Symfony is the result of the work of many people who made the code better
- Oncle Tom
- Christian Stocker
- Dawid Nowak
+ - Lesnykh Ilia
- Karolis Daužickas
- Sergio Santoro
- tirnanog06
@@ -1595,6 +1607,7 @@ Symfony is the result of the work of many people who made the code better
- Florent Viel (luxifer)
- Matthieu Moquet (mattketmo)
- Moritz Borgmann (mborgmann)
+ - Michal Čihař (mcihar)
- Matt Drollette (mdrollette)
- Adam Monsen (meonkeys)
- Ala Eddine Khefifi (nayzo)
@@ -1647,6 +1660,7 @@ Symfony is the result of the work of many people who made the code better
- smokeybear87
- Gustavo Adrian
- Kevin Weber
+ - Ben Scott
- Dionysis Arvanitis
- Sergey Fedotov
- Michael
diff --git a/appveyor.yml b/appveyor.yml
index 79be565e0dce8..f6563e730a32e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -11,23 +11,23 @@ init:
- SET COMPOSER_NO_INTERACTION=1
- SET SYMFONY_DEPRECATIONS_HELPER=strict
- SET ANSICON=121x90 (121x90)
- - SET SYMFONY_PHPUNIT_SKIPPED_TESTS=phpunit.skipped
+ - SET SYMFONY_PHPUNIT_VERSION=4.8
- REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v DelayedExpansion /t REG_DWORD /d 1 /f
install:
- mkdir c:\php && cd c:\php
- appveyor DownloadFile https://raw.githubusercontent.com/symfony/binary-utils/master/cacert.pem
- - appveyor DownloadFile http://windows.php.net/downloads/releases/archives/php-5.5.9-nts-Win32-VC11-x86.zip
+ - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php-5.5.9-nts-Win32-VC11-x86.zip
- 7z x php-5.5.9-nts-Win32-VC11-x86.zip -y >nul
- - del /Q *.zip
+ - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php-7.1.3-Win32-VC14-x64.zip
- cd ext
- - appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/apcu/4.0.10/php_apcu-4.0.10-5.5-nts-vc11-x86.zip
+ - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-4.0.10-5.5-nts-vc11-x86.zip
- 7z x php_apcu-4.0.10-5.5-nts-vc11-x86.zip -y >nul
- - appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/php_memcache-3.0.8-5.5-nts-vc11-x86.zip
+ - appveyor DownloadFile https://github.com/symfony/binary-utils/releases/download/v0.1/php_memcache-3.0.8-5.5-nts-vc11-x86.zip
- 7z x php_memcache-3.0.8-5.5-nts-vc11-x86.zip -y >nul
- - del /Q *.zip
- cd ..
- copy /Y php.ini-development php.ini-min
+ - echo serialize_precision=14 >> php.ini-min
- echo max_execution_time=1200 >> php.ini-min
- echo date.timezone="America/Los_Angeles" >> php.ini-min
- echo extension_dir=ext >> php.ini-min
@@ -55,9 +55,13 @@ install:
- php phpunit install
test_script:
- - cd c:\projects\symfony
- SET X=0
- - copy /Y c:\php\php.ini-min c:\php\php.ini
+ - cd c:\php && 7z x php-7.1.3-Win32-VC14-x64.zip -y >nul && copy /Y php.ini-min php.ini
+ - cd c:\projects\symfony
+ - php phpunit src\Symfony --exclude-group benchmark,intl-data || SET X=!errorlevel!
+ - cd c:\php && 7z x php-5.5.9-nts-Win32-VC11-x86.zip -y >nul && copy /Y php.ini-min php.ini
+ - cd c:\projects\symfony
+ - SET SYMFONY_PHPUNIT_SKIPPED_TESTS=phpunit.skipped
- php phpunit src\Symfony --exclude-group benchmark,intl-data || SET X=!errorlevel!
- copy /Y c:\php\php.ini-max c:\php\php.ini
- php phpunit src\Symfony --exclude-group benchmark,intl-data || SET X=!errorlevel!
diff --git a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php
index 0e63283ab1905..86fc9726dbaff 100644
--- a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php
+++ b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php
@@ -12,6 +12,7 @@
namespace Symfony\Bridge\Twig\Extension;
use Symfony\Component\Workflow\Registry;
+use Symfony\Component\Workflow\Transition;
/**
* WorkflowExtension.
diff --git a/src/Symfony/Bundle/DebugBundle/Resources/config/services.xml b/src/Symfony/Bundle/DebugBundle/Resources/config/services.xml
index ae7d91add15d4..79460a160259a 100644
--- a/src/Symfony/Bundle/DebugBundle/Resources/config/services.xml
+++ b/src/Symfony/Bundle/DebugBundle/Resources/config/services.xml
@@ -5,13 +5,15 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
-
+
@@ -20,19 +22,19 @@
null
-
+
-
-
+
+
null
%kernel.charset%
0
-
+
null
%kernel.charset%
0
@@ -43,5 +45,4 @@
-
diff --git a/src/Symfony/Bundle/DebugBundle/composer.json b/src/Symfony/Bundle/DebugBundle/composer.json
index d6d7d0b33b16f..7bf23af8d6ada 100644
--- a/src/Symfony/Bundle/DebugBundle/composer.json
+++ b/src/Symfony/Bundle/DebugBundle/composer.json
@@ -22,8 +22,8 @@
"symfony/var-dumper": "~2.8|~3.0"
},
"require-dev": {
- "symfony/config": "~2.8|~3.0",
- "symfony/dependency-injection": "~2.8|~3.0",
+ "symfony/config": "~3.3",
+ "symfony/dependency-injection": "~3.3",
"symfony/web-profiler-bundle": "~2.8|~3.0"
},
"suggest": {
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
index cb6f43a43c106..76705f08d5e7d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
@@ -70,7 +70,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
new TableSeparator(),
array('Version', PHP_VERSION),
array('Architecture', (PHP_INT_SIZE * 8).' bits'),
- array('Intl locale', \Locale::getDefault() ?: 'n/a'),
+ array('Intl locale', class_exists('Locale', false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a'),
array('Timezone', date_default_timezone_get().' ('.(new \DateTime())->format(\DateTime::W3C).'>)'),
array('OPcache', extension_loaded('Zend OPcache') && ini_get('opcache.enable') ? 'true' : 'false'),
array('APCu', extension_loaded('apcu') && ini_get('apc.enabled') ? 'true' : 'false'),
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
index cdafcbd69b101..a0c43cac901ca 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
@@ -117,7 +117,7 @@ private function initializeBundles()
// Re-build bundle manually to initialize DI extensions that can be extended by other bundles in their build() method
// as this method is not called when the container is loaded from the cache.
$container = $this->getContainerBuilder();
- $bundles = $this->getContainer()->get('kernel')->registerBundles();
+ $bundles = $this->getContainer()->get('kernel')->getBundles();
foreach ($bundles as $bundle) {
if ($extension = $bundle->getContainerExtension()) {
$container->registerExtension($extension);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
index 8e8bf8ca3c0ff..891ca9279ed5f 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
@@ -12,6 +12,7 @@
namespace Symfony\Bundle\FrameworkBundle\Command;
use Symfony\Bundle\FrameworkBundle\Console\Helper\DescriptorHelper;
+use Symfony\Component\Config\ConfigCache;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
@@ -49,6 +50,7 @@ protected function configure()
new InputOption('tags', null, InputOption::VALUE_NONE, 'Displays tagged services for an application'),
new InputOption('parameter', null, InputOption::VALUE_REQUIRED, 'Displays a specific parameter for an application'),
new InputOption('parameters', null, InputOption::VALUE_NONE, 'Displays parameters for an application'),
+ new InputOption('types', null, InputOption::VALUE_NONE, 'Displays types (classes/interfaces) available in the container'),
new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'),
new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw description'),
))
@@ -62,6 +64,10 @@ protected function configure()
php %command.full_name% validator
+To see available types that can be used for autowiring, use the --types flag:
+
+ php %command.full_name% --types
+
By default, private services are hidden. You can display all services by
using the --show-private flag:
@@ -99,7 +105,10 @@ protected function execute(InputInterface $input, OutputInterface $output)
$this->validateInput($input);
$object = $this->getContainerBuilder();
- if ($input->getOption('parameters')) {
+ if ($input->getOption('types')) {
+ $options = array('show_private' => true);
+ $options['filter'] = array($this, 'filterToServiceTypes');
+ } elseif ($input->getOption('parameters')) {
$parameters = array();
foreach ($object->getParameterBag()->all() as $k => $v) {
$parameters[$k] = $object->resolveEnvPlaceholders($v);
@@ -176,19 +185,17 @@ protected function getContainerBuilder()
return $this->containerBuilder;
}
- if (!$this->getApplication()->getKernel()->isDebug()) {
- throw new \LogicException('Debug information about the container is only available in debug mode.');
- }
+ $kernel = $this->getApplication()->getKernel();
- if (!is_file($cachedFile = $this->getContainer()->getParameter('debug.container.dump'))) {
- throw new \LogicException('Debug information about the container could not be found. Please clear the cache and try again.');
+ if (!$kernel->isDebug() || !(new ConfigCache($kernel->getContainer()->getParameter('debug.container.dump'), true))->isFresh()) {
+ $buildContainer = \Closure::bind(function () { return $this->buildContainer(); }, $kernel, get_class($kernel));
+ $container = $buildContainer();
+ $container->getCompilerPassConfig()->setRemovingPasses(array());
+ $container->compile();
+ } else {
+ (new XmlFileLoader($container = new ContainerBuilder(), new FileLocator()))->load($kernel->getContainer()->getParameter('debug.container.dump'));
}
- $container = new ContainerBuilder();
-
- $loader = new XmlFileLoader($container, new FileLocator());
- $loader->load($cachedFile);
-
return $this->containerBuilder = $container;
}
@@ -222,4 +229,18 @@ private function findServiceIdsContaining(ContainerBuilder $builder, $name)
return $foundServiceIds;
}
+
+ /**
+ * @internal
+ */
+ public function filterToServiceTypes($serviceId)
+ {
+ // filter out things that could not be valid class names
+ if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(?:\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+)*+$/', $serviceId)) {
+ return false;
+ }
+
+ // see if the class exists (only need to trigger autoload once)
+ return class_exists($serviceId) || interface_exists($serviceId, false);
+ }
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
index 0b374855a72c5..d49c57adfec2e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
@@ -105,11 +105,17 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$showArguments = isset($options['show_arguments']) && $options['show_arguments'];
$data = array('definitions' => array(), 'aliases' => array(), 'services' => array());
+ if (isset($options['filter'])) {
+ $serviceIds = array_filter($serviceIds, $options['filter']);
+ }
+
foreach ($this->sortServiceIds($serviceIds) as $serviceId) {
$service = $this->resolveServiceDefinition($builder, $serviceId);
if ($service instanceof Alias) {
- $data['aliases'][$serviceId] = $this->getContainerAliasData($service);
+ if ($showPrivate || $service->isPublic()) {
+ $data['aliases'][$serviceId] = $this->getContainerAliasData($service);
+ }
} elseif ($service instanceof Definition) {
if (($showPrivate || $service->isPublic())) {
$data['definitions'][$serviceId] = $this->getContainerDefinitionData($service, $omitTags, $showArguments);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
index d44d577950729..59e382d3a9cad 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
@@ -128,15 +128,20 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$this->write($title."\n".str_repeat('=', strlen($title)));
$serviceIds = isset($options['tag']) && $options['tag'] ? array_keys($builder->findTaggedServiceIds($options['tag'])) : $builder->getServiceIds();
- $showPrivate = isset($options['show_private']) && $options['show_private'];
$showArguments = isset($options['show_arguments']) && $options['show_arguments'];
$services = array('definitions' => array(), 'aliases' => array(), 'services' => array());
+ if (isset($options['filter'])) {
+ $serviceIds = array_filter($serviceIds, $options['filter']);
+ }
+
foreach ($this->sortServiceIds($serviceIds) as $serviceId) {
$service = $this->resolveServiceDefinition($builder, $serviceId);
if ($service instanceof Alias) {
- $services['aliases'][$serviceId] = $service;
+ if ($showPrivate || $service->isPublic()) {
+ $services['aliases'][$serviceId] = $service;
+ }
} elseif ($service instanceof Definition) {
if (($showPrivate || $service->isPublic())) {
$services['definitions'][$serviceId] = $service;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
index 7aae3d3c198bb..64c38cdff759f 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
@@ -186,6 +186,10 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$serviceIds = isset($options['tag']) && $options['tag'] ? array_keys($builder->findTaggedServiceIds($options['tag'])) : $builder->getServiceIds();
$maxTags = array();
+ if (isset($options['filter'])) {
+ $serviceIds = array_filter($serviceIds, $options['filter']);
+ }
+
foreach ($serviceIds as $key => $serviceId) {
$definition = $this->resolveServiceDefinition($builder, $serviceId);
if ($definition instanceof Definition) {
@@ -207,6 +211,11 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
}
}
}
+ } elseif ($definition instanceof Alias) {
+ if (!$showPrivate && !$definition->isPublic()) {
+ unset($serviceIds[$key]);
+ continue;
+ }
}
}
@@ -215,8 +224,10 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$tableHeaders = array_merge(array('Service ID'), $tagsNames, array('Class name'));
$tableRows = array();
+ $rawOutput = isset($options['raw_text']) && $options['raw_text'];
foreach ($this->sortServiceIds($serviceIds) as $serviceId) {
$definition = $this->resolveServiceDefinition($builder, $serviceId);
+ $styledServiceId = $rawOutput ? $serviceId : sprintf('%s', $serviceId);
if ($definition instanceof Definition) {
if ($showTag) {
foreach ($definition->getTag($showTag) as $key => $tag) {
@@ -231,13 +242,13 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
}
}
} else {
- $tableRows[] = array($serviceId, $definition->getClass());
+ $tableRows[] = array($styledServiceId, $definition->getClass());
}
} elseif ($definition instanceof Alias) {
$alias = $definition;
- $tableRows[] = array_merge(array($serviceId, sprintf('alias for "%s"', $alias)), $tagsCount ? array_fill(0, $tagsCount, '') : array());
+ $tableRows[] = array_merge(array($styledServiceId, sprintf('alias for "%s"', $alias)), $tagsCount ? array_fill(0, $tagsCount, '') : array());
} else {
- $tableRows[] = array_merge(array($serviceId, get_class($definition)), $tagsCount ? array_fill(0, $tagsCount, '') : array());
+ $tableRows[] = array_merge(array($styledServiceId, get_class($definition)), $tagsCount ? array_fill(0, $tagsCount, '') : array());
}
}
@@ -296,6 +307,7 @@ protected function describeContainerDefinition(Definition $definition, array $op
$tableRows[] = array('Shared', $definition->isShared() ? 'yes' : 'no');
$tableRows[] = array('Abstract', $definition->isAbstract() ? 'yes' : 'no');
$tableRows[] = array('Autowired', $definition->isAutowired() ? 'yes' : 'no');
+ $tableRows[] = array('Autoconfigured', $definition->isAutoconfigured() ? 'yes' : 'no');
if ($autowiringTypes = $definition->getAutowiringTypes(false)) {
$tableRows[] = array('Autowiring Types', implode(', ', $autowiringTypes));
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
index 461a4e086f9cd..c1e586cf927f5 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
@@ -79,7 +79,7 @@ protected function describeContainerService($service, array $options = array(),
*/
protected function describeContainerServices(ContainerBuilder $builder, array $options = array())
{
- $this->writeDocument($this->getContainerServicesDocument($builder, isset($options['tag']) ? $options['tag'] : null, isset($options['show_private']) && $options['show_private'], isset($options['show_arguments']) && $options['show_arguments']));
+ $this->writeDocument($this->getContainerServicesDocument($builder, isset($options['tag']) ? $options['tag'] : null, isset($options['show_private']) && $options['show_private'], isset($options['show_arguments']) && $options['show_arguments'], isset($options['filter']) ? $options['filter'] : null));
}
/**
@@ -307,20 +307,25 @@ private function getContainerServiceDocument($service, $id, ContainerBuilder $bu
* @param string|null $tag
* @param bool $showPrivate
* @param bool $showArguments
+ * @param callable $filter
*
* @return \DOMDocument
*/
- private function getContainerServicesDocument(ContainerBuilder $builder, $tag = null, $showPrivate = false, $showArguments = false)
+ private function getContainerServicesDocument(ContainerBuilder $builder, $tag = null, $showPrivate = false, $showArguments = false, $filter = null)
{
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->appendChild($containerXML = $dom->createElement('container'));
$serviceIds = $tag ? array_keys($builder->findTaggedServiceIds($tag)) : $builder->getServiceIds();
+ if ($filter) {
+ $serviceIds = array_filter($serviceIds, $filter);
+ }
+
foreach ($this->sortServiceIds($serviceIds) as $serviceId) {
$service = $this->resolveServiceDefinition($builder, $serviceId);
- if ($service instanceof Definition && !($showPrivate || $service->isPublic())) {
+ if (($service instanceof Definition || $service instanceof Alias) && !($showPrivate || $service->isPublic())) {
continue;
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php b/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php
index f138186c34d07..0737145b0bedf 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php
@@ -11,6 +11,7 @@
namespace Symfony\Bundle\FrameworkBundle\Controller;
+use Psr\Container\ContainerInterface;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
@@ -33,6 +34,8 @@
* @author Fabien Potencier
*
* @internal
+ *
+ * @property ContainerInterface $container
*/
trait ControllerTrait
{
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ContainerBuilderDebugDumpPass.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ContainerBuilderDebugDumpPass.php
index 98fa5c95a15ec..e08fda22134f1 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ContainerBuilderDebugDumpPass.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ContainerBuilderDebugDumpPass.php
@@ -11,11 +11,10 @@
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler;
+use Symfony\Component\Config\ConfigCache;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Dumper\XmlDumper;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-use Symfony\Component\Filesystem\Exception\IOException;
-use Symfony\Component\Filesystem\Filesystem;
/**
* Dumps the ContainerBuilder to a cache file so that it can be used by
@@ -28,14 +27,9 @@ class ContainerBuilderDebugDumpPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
- $dumper = new XmlDumper($container);
- $filename = $container->getParameter('debug.container.dump');
- $filesystem = new Filesystem();
- $filesystem->dumpFile($filename, $dumper->dump(), null);
- try {
- $filesystem->chmod($filename, 0666, umask());
- } catch (IOException $e) {
- // discard chmod failure (some filesystem may not support it)
+ $cache = new ConfigCache($container->getParameter('debug.container.dump'), true);
+ if (!$cache->isFresh()) {
+ $cache->write((new XmlDumper($container))->dump(), $container->getResources());
}
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
index 1794a86f92488..1844f9b4a4391 100644
--- a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
+++ b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
@@ -113,7 +113,7 @@ public function build(ContainerBuilder $container)
if ($container->getParameter('kernel.debug')) {
$container->addCompilerPass(new AddDebugLogProcessorPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, -32);
$container->addCompilerPass(new UnusedTagsPass(), PassConfig::TYPE_AFTER_REMOVING);
- $container->addCompilerPass(new ContainerBuilderDebugDumpPass(), PassConfig::TYPE_AFTER_REMOVING);
+ $container->addCompilerPass(new ContainerBuilderDebugDumpPass(), PassConfig::TYPE_BEFORE_REMOVING, -255);
$this->addCompilerPassIfExists($container, ConfigCachePass::class);
$container->addCompilerPass(new CacheCollectorPass());
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml
index f3f4e0bd6114b..15bf002954199 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml
@@ -5,7 +5,9 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
required
@@ -18,9 +20,8 @@
-
-
+
@@ -28,17 +29,17 @@
-
+
-
+
%kernel.cache_dir%/annotations.php
-
+
@@ -48,6 +49,7 @@
-
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml
index e83afa7cf4148..e714e2834c5fc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml
@@ -5,43 +5,43 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache.xml
index 72eca553f58af..e0d5788bc4879 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache.xml
@@ -5,12 +5,13 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+
-
+
-
+
@@ -26,7 +27,7 @@
-
+
@@ -37,7 +38,7 @@
-
+
@@ -48,7 +49,7 @@
-
+
@@ -59,7 +60,7 @@
-
+
@@ -70,14 +71,14 @@
-
+
0
-
+
@@ -88,7 +89,7 @@
-
+
@@ -99,13 +100,12 @@
-
+
-
-
-
-
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.xml
index 3d68472028e93..9356d66769c1e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.xml
@@ -5,6 +5,8 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml
index 340c7e1972801..8cd0c3ced0d8b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml
@@ -5,47 +5,49 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
-
+
-
+
-
+
-
+
-
+
%kernel.cache_dir%/%kernel.container_class%
-
+
-
+
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/console.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/console.xml
index 350c2e20ef7a7..3d9bd1b2489c5 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/console.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/console.xml
@@ -5,12 +5,12 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+
-
+
-
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml
index 3d260e4aff728..58a086b2129bf 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml
@@ -9,20 +9,22 @@
-
+
+
+
-
+
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.xml
index 76c143b74e93e..60635b3c000be 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.xml
@@ -9,7 +9,9 @@
-
+
+
+
null
@@ -21,12 +23,12 @@
true
-
-
+
+
-
+
%debug.file_link_format%
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml
index 86600a8698566..8925acb1ac8f0 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml
@@ -5,9 +5,11 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
-
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
index a9eb59b4782a4..642d8d4ee7bfc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
@@ -5,12 +5,14 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -40,156 +42,156 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
%validator.translation_domain%
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_csrf.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_csrf.xml
index e4363184b95e4..5beec83ccce02 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_csrf.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_csrf.xml
@@ -5,7 +5,9 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
%form.type_extension.csrf.enabled%
@@ -15,12 +17,11 @@
-
+
The service "%service_id%" is internal and deprecated since Symfony 3.3 and will be removed in Symfony 4.0
-
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_debug.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_debug.xml
index 00e7c34e5e10d..d7e4803f5cf5d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_debug.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form_debug.xml
@@ -5,7 +5,9 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
@@ -13,15 +15,15 @@
-
+
-
+
-
+
false
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_listener.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_listener.xml
index 332e767c4dafe..a9628ad5609e5 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_listener.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_listener.xml
@@ -5,7 +5,9 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
%fragment.path%
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_renderer.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_renderer.xml
index 963179c64e99e..a24d2880ea823 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_renderer.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment_renderer.xml
@@ -10,27 +10,29 @@
-
+
+
+
%kernel.debug%
-
+
%fragment.path%
-
+
%fragment.renderer.hinclude.global_template%
%fragment.path%
-
+
@@ -38,7 +40,7 @@
%fragment.path%
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/identity_translator.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/identity_translator.xml
index 542d6248db4d5..def3c1d2c654c 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/identity_translator.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/identity_translator.xml
@@ -4,11 +4,13 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
-
+
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
index fdfd8e0e9a0dc..c409e981de7bb 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
@@ -5,17 +5,19 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
-
+
%profiler.storage.dsn%
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_access.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_access.xml
index af81e9dd0658b..15e684b62ae2d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_access.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_access.xml
@@ -5,11 +5,13 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
+
+
+
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_info.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_info.xml
index 81e1037052b21..8e0498e4f68b3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_info.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/property_info.xml
@@ -5,16 +5,18 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-