diff --git a/CHANGELOG-2.0.md b/CHANGELOG-2.0.md
index 7c8c0e8a04..f3efeafe51 100644
--- a/CHANGELOG-2.0.md
+++ b/CHANGELOG-2.0.md
@@ -7,6 +7,47 @@ in 2.0 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/v2.0.0...v2.0.1
+* 2.0.13 (2012-04-30)
+
+ * 5b92b9e: [Console] Selectively output to STDOUT or OUTPUT stream
+ * c89f3d3: [HttpKernel] Added DEPRECATED errors
+ * 689a40d: [MonologBridge] Fixed the WebProcessor
+ * 2e7d3b1: http_build_query fix
+ * de73de0: http_build_query fix
+ * 3b7ee9a: http_build_query fix
+ * 14b3b05: [TwigBundle] added missing entry in the XSD schema
+ * 7ddc8cb: [FrameworkBundle] Monitor added/removed translations files in dev (fix #3653)
+ * 686653a: [HttpKernel] Fixed wache vary write (fixes #3896).
+ * 45ada32: Add Support for boolean as to string into yaml extension
+ * cd783fb: [HttpKernel] Fixed cache vary lookup (fixes #3896).
+ * 3939c90: [FrameworkBundle] Fix TraceableEventDispatcher unable to trace static class callables
+ * e4cbbf3: [Locale] fixed StubNumberFormatter::format() to behave like the NumberFormatter::parse() regarding to error flagging
+ * f16ff89: [Locale] fixed StubNumberFormatter::parse() to behave like the NumberFormatter::parse() regarding to error flagging
+ * 0a60664: [Locale] updated StubIntlDateFormatter::format() exception message when timestamp argument is an array for PHP >= 5.3.4
+ * 6f9c05d: [Locale] Complete Stub with intl_error_name
+ * 312a5a4: [Locale] fixed StubIntlDateFormatter::format() to set the right error for PHP >= 5.3.4 and to behave like the intl when formatting successfully
+ * bb61e09: [Locale] use the correct way for Intl error
+ * 01fcb08: [HttpKernel] Fix the ProfilerListener (fix #3620)
+ * 3ae826a: Fix issue #3251: Check attribute type of service tags
+ * 57dd914: [EventDispatcher] Fixed E_NOTICES with multiple eventnames per subscriber with mixed priorities
+ * 77185e0: [Routing] Allow spaces in the script name for the apache dumper
+ * 6465a69: [Routing] Fixes to handle spaces in route pattern
+ * 31dde14: [Locale] updated StubIntlDateFormatter::format() behavior for PHP >= 5.3.4
+ * 8a2b115: [Console] Mock terminal size to prevent formatting errors on small terminals
+ * 595cc11: [Console] Wrap exception messages to the terminal width to avoid ugly output
+ * 97f7b29: [Console] Avoid outputing \r's in exception messages
+ * 04ae7cc: [Routing] fixed exception message.
+ * f7647f9: [Routing] improved exception message when giving an invalid route name.
+ * 0024ddc: Fix for using route name as check_path.
+ * fc41d4f: [Security] [HttpDigest] Fixes a configuration error caused by an invalid 'key' child node configuration
+ * 24a0d0a: [DependencyInjection] Support Yaml calls without arguments
+ * 15dd17e: Simplified CONTENT_ headers retrieval
+ * 86a3512: [FrameworkBundle] Add support for full URLs to redirect controller
+ * 068e859: [TwigBundle] Changed getAndCleanOutputBuffering() handling of systems where ob_get_level() never returns 0
+ * efa807a: [HttpKernel] fixed sub-request which should be always a GET (refs #3657)
+ * c1206c3: [FrameworkBundle] Subrequests should always use GET method
+ * 0c9b2d4: use SecurityContextInterface instead of SecurityContext
+
* 2.0.12 (2012-03-19)
* 54b2413: Webprofiler ipv6 search fix
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 8da402ac2c..080f38b908 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -6,258 +6,313 @@ Symfony2 is the result of the work of many people who made the code better
- Fabien Potencier (fabpot)
- Bernhard Schussek (bschussek)
- - Johannes (schmittjoh)
- Victor Berchet (vicb)
- - Kris Wallsmith (kriswallsmith)
- Jordi Boggiano (Seldaek)
+ - Johannes (schmittjoh)
+ - Kris Wallsmith (kriswallsmith)
- Christophe Coevoet (stof)
- - Ryan Weaver (weaverryan)
- - Pascal Borreli (pborreli)
- - Lukas Kahwe Smith (lsmith77)
- - Benjamin Eberlei (beberlei)
- - Jeremy Mikola (jmikola)
- - Igor Wiedler (igorw)
- - Joseph Bielawski (stloyd)
- Drak (drak)
+ - Lukas Kahwe Smith (lsmith77)
+ - Ryan Weaver (weaverryan)
+ - Jeremy Mikola (jmikola)
+ - Pascal Borreli (pborreli)
+ - Benjamin Eberlei (beberlei)
+ - Joseph Bielawski (stloyd)
+ - Igor Wiedler (igorw)
- Hugo Hamon (hhamon)
+ - Eriksen Costa (eriksencosta)
+ - William DURAND (willdurand)
+ - Alexandre Salomé (alexandresalome)
+ - stealth35 (stealth35)
- Jonathan H. Wage (jwage)
- Thibault Duplessis (ornicar)
- - Alexandre Salomé (alexandresalome)
- - Eriksen Costa (eriksencosta)
- - Bulat Shakirzyanov (avalanche123)
- - stealth35 (stealth35)
- - Francis Besset (francisbesset)
- - Miha Vrhovnik (mvrhov)
- - Henrik Bjørnskov (henrikbjorn)
- - Martin Hasoň (hason)
- - Henrik Westphal (snc)
+ - Jakub Zalas (jakzal)
- Eric Clemmons (ericclemmons)
- - Konstantin Kudryashov (everzet)
+ - Henrik Westphal (snc)
- Dariusz Górecki (canni)
- - Arnout Boks (aboks)
- - William DURAND (willdurand)
+ - Miha Vrhovnik (mvrhov)
+ - Bulat Shakirzyanov (avalanche123)
+ - Martin Hasoň (hason)
+ - Henrik Bjørnskov (henrikbjorn)
+ - Francis Besset (francisbesset)
+ - Tobias Schultze (Tobion)
+ - Andrej Hudec (pulzarraider)
+ - Kevin Bond (kbond)
- Deni (yethee)
+ - Arnout Boks (aboks)
+ - Jordan Alliot (jalliot)
+ - Marc Weistroff (marcw)
+ - Konstantin Kudryashov (everzet)
+ - Toni Uebernickel (havvg)
+ - Sebastian Hörl (blogsh)
+ - Excel Web Zone (excelwebzone)
- Brandon Turner (blt04)
- Hidenori Goto (hidenorigoto)
- - John Wards (johnwards)
- - Lenar Lõhmus (lenar)
- - Marc Weistroff (marcw)
- Brikou CARRE (brikou)
+ - Lenar Lõhmus (lenar)
+ - John Wards (johnwards)
+ - Jean-François Simon (jfsimon)
- Daniel Holmes (danielholmes)
+ - Tigran Azatyan (tigranazatyan)
- Antoine Hérault (Herzult)
- - Fabien Pennequin (FabienPennequin)
- - Andrej Hudec (pulzarraider)
- - Sebastian Hörl (blogsh)
+ - Helmer Aaviksoo (helmer)
- Jacob Dreesen (jdreesen)
+ - umpirsky (umpirsky)
+ - Pierre Minnieur (pminnieur)
+ - Michał Pipa (michal-pipa)
+ - Fabien Pennequin (FabienPennequin)
- Richard Shank (IamPersistent)
- - Kevin Bond (kbond)
- - Jordan Alliot (jalliot)
- - Excel Web Zone (excelwebzone)
+ - Benjamin Dulau (benjamindulau)
+ - Christian Raue (craue)
+ - Grégoire Pineau (lyrixx)
- Katsuhiro OGAWA (fivestar)
+ - Richard Miller (richardmiller)
- Jeremy Mikola
- - Tobias Schultze (Tobion)
+ - Bart van den Burg (Burgov)
- blue-eyes (blue-eyes)
+ - Juti Noppornpitak (shiroyuki)
- Robert Schönthal (digitalkaoz)
+ - Florin Patan (dlsniper)
+ - Rafael Dohms (rdohms)
- Tim Nagel (merk)
- Michel Weimerskirch (mweimerskirch)
- - Tigran Azatyan (tigranazatyan)
- - Pierre Minnieur (pminnieur)
- - Christian Raue (craue)
- - umpirsky (umpirsky)
- - Helmer Aaviksoo (helmer)
- - Jakub Zalas (jakzal)
- Javier Eguiluz (javiereguiluz)
+ - Joseph Rouff (rouffj)
+ - Marcel Beerta (mazen)
+ - Daniel Gomes
+ - Wotre (Wotre)
- Matthieu Vachon (maoueh)
- Amal Raghav (kertz)
- Artur Kotyrba (udat)
- - Daniel Gomes (danielcsgomes)
+ - Gustavo Piltcher
+ - Rui Marinho
- Clément JOBEILI (dator)
- - Bart van den Burg (Burgov)
- - Benjamin Dulau (benjamindulau)
- - Noel GUILBERT (noelg)
- - Martin Schuhfuss (usefulthink)
+ - dbu
+ - Julien Brochet (aerialls)
- Thomas (rande)
+ - Alexander (asm89)
+ - Gordon Franke (gimler)
+ - Włodzimierz Gajda (gajdaw)
+ - Noel GUILBERT (noelg)
+ - Alif Rachmawadi (subosito)
+ - Lars Strojny (lstrojny)
+ - Martin Schuhfuss (usefulthink)
- Dennis Benkert (denderello)
- Matthieu Bontemps (mbontemps)
+ - Jonathan Ingram (jonathaningram)
+ - Alessandro Desantis (alessandro1997)
+ - Oscar Cubo Medina (ocubom)
- Dustin Whittle (dustinwhittle)
- Jean-François PHILIPPE (jfphilippe)
+ - Arnaud Le Blanc (arnaud-lb)
- Justin Hileman (bobthecow)
+ - Danny Berger (dpb587)
- Sven Paulus (subsven)
- Xavier Perez (DuoSRX)
- Joel Wurtz (Brouznouf)
- - Alexander (asm89)
- - Jonathan Ingram (jonathaningram)
+ - Douglas Greenshields (shieldo)
+ - Joe Lencioni (lencioni)
+ - brki (brki)
- Pablo Godel (pgodel)
- Francois Zaninotto
- Leszek Prabucki (l3l0)
- Francois Zaninotto (fzaninotto)
+ - Gyula Sallai (thesalla)
- Xavier Montaña Carreras (xmontana)
+ - Andreas Hucks (meandmymonkey)
- Arjen Brouwer (arjenjb)
- - Alif Rachmawadi (subosito)
- - Florin Patan (dlsniper)
+ - Michael Holm (hollodk)
- Boussekeyt Jules (gordonslondon)
- Jan Sorgalla (jsor)
- - Marcel Beerta (mazen)
- Lee McDermott (lmcd)
- - Toni Uebernickel (havvg)
- - Richard Miller (richardmiller)
+ - Manuel Reinhard (sprain)
- Jeroen Hoek (jdhoek)
- - Rafael Dohms (rdohms)
+ - Ryan Rogers (timewasted)
+ - flevour (flevour)
+ - Michel Salib (michelsalib)
- geoffrey
- - Wotre (Wotre)
- - Gyula Sallai (thesalla)
- - Grégoire Pineau (lyrixx)
- - Danny Berger (dpb587)
- - Jérémie Augustin (jaugustin)
- - Joseph Rouff (rouffj)
- - Manuel Kiessling (ManuelKiessling)
- - dbu
- - Julien Brochet (aerialls)
- - Douglas Greenshields (shieldo)
- - Aurelijus Valeiša (aurelijus)
- - Gustavo Piltcher
- - Ray (rrehbeindoi)
- - Gordon Franke (gimler)
- - Adrian Rudnik (kreischweide)
+ - Kim Hemsø Rasmussen (kimhemsoe)
- Gábor Egyed (1ed)
+ - Jérémie Augustin (jaugustin)
+ - Manuel Kiessling (ManuelKiessling)
+ - Tobias Naumann (tna)
+ - Shein Alexey (conf)
+ - Aurelijus Valeiša (aurelijus)
+ - Ray (rrehbeindoi)
+ - Adrian Rudnik (kreischweide)
+ - Marcin Chylek (SongoQ)
+ - Pavel Campr (pcampr)
+ - Josip Kruslin (aubx)
+ - drak3 (drak3)
+ - Chris Boden (cboden)
+ - Dustin Dobervich (dustin10)
+ - Michele Orselli (micheleorselli)
- Andréia Bohner (andreia)
- - Andreas Hucks (meandmymonkey)
- - Drak
+ - Sebastian Bergmann (sebastianbergmann)
+ - Miquel Rodríguez Telep (mrtorrent)
+ - Peter Kokot (maastermedia)
- Jérémy Romey (jeremyFreeAgent)
- Yuen-Chi Lian (yclian)
+ - John Bohn (jjbohn)
- Greg Thornton (xdissent)
- - Lars Strojny (lstrojny)
- - Arnaud Le Blanc (arnaud-lb)
+ - andrewtch (andrewtch)
- Costin Bereveanu (schniper)
+ - Markus Lanthaler (lanthaler)
- Konstantin Leboev (realmfoo)
- - Tobias Naumann (tna)
+ - Thomas Adam (tecbot)
+ - superjavason (superjavason)
- Donald Tyler (Chekote)
- Matthew Lewinski
- Kai
- Sergey Linnik (Partugal)
+ - Albert Jessurum (ajessu)
+ - Johnny Peck (johnnypeck)
- Laszlo Korte (laszlokorte)
- Hubert LECORCHE (hlecorche)
+ - Sergey Skopin (grizlik)
+ - drmonty (drmonty)
- Michael Ridgway (mridgway)
- Stepan Tanasiychuk (stfalcon)
- - Pavel Campr (pcampr)
- Bertrand Zuchuat (Garfield-fr)
- - brki (brki)
- - Michel Salib (michelsalib)
+ - Bilal Amarni (bamarni)
- Jan Schumann (janschumann)
- - Michele Orselli (micheleorselli)
+ - Olivier Dolbeau (odolbeau)
+ - Sebastian Marek (proofek)
- Asier Illarramendi (doup)
- Shigenobu Nishikawa (shishi)
- - Sebastian Bergmann (sebastianbergmann)
- Marcin Sikoń (marphi)
- - Miquel Rodríguez Telep (mrtorrent)
- - Peter Kokot (maastermedia)
+ - cedric lombardot (cedriclombardot)
- Laurent Bachelier (laurentb)
- Fabian Lange (CodingFabian)
- Yoshio HANAWA
- Pablo Díez (pablodip)
- - ondrowan (ondrowan)
+ - Fran Moreno (franmomu)
+ - Manuel de Ruiter (ManuelAC)
+ - Ondrej Slinták (ondrowan)
+ - Crell (Crell)
- Benoit Tirmarche (mcbennn)
- Grégoire Passault
+ - Tom Klingenberg (ktomk)
+ - Daniel Gomes (danielcsgomes)
- De Cock Xavier (xdecock)
- Cristian González Sánchez (cristiangsp)
- - Manuel Reinhard (sprain)
- - Thomas Adam (tecbot)
- Nils Adermann (naderman)
- - Shein Alexey (conf)
- - Steven Surowiec (steves)
- - Marcin Chylek (SongoQ)
+ - Steve Kondik (cyanogen)
+ - Benjamin Lévêque (benji07)
+ - Matt Robinson (inanimatt)
- Ivan Rey (ivanrey)
- - Ryan Rogers (timewasted)
- Ned Schwartz (theinterned)
+ - Ziumin (Ziumin)
- Aurélien Fredouelle (AurelC2G)
- - flevour (flevour)
- - stealth35
- - Oscar Cubo Medina (ocubom)
- - IP_FIX (eversonfix)
+ - Marek Kalnik (marekkalnik)
+ - Tiago Ribeiro (fixe)
- Geoffrey Tran (geoffreytran)
- Christian Schaefer (caefer)
+ - Robert Gruendler (pulse00)
- Elliot Anderson (elliot)
- - Olivier Dolbeau (odolbeau)
+ - xaav
+ - Anton Babenko (antonbabenko)
+ - Martin Hasoň
- José Nahuel Cuesta Luengo (ncuesta)
- - Dustin Dobervich (dustin10)
- Erkhembayar Gantulga (erheme318)
- - Michael Holm (hollodk)
- Rostyslav Kinash
- yktd26 (yktd26)
+ - Tom Van Looy (tvlooy)
- umpirski (umpirski)
+ - Neil Katin
+ - Peter Kokot (peterkokot)
- Hossein Bukhamsin (husinluck)
- Fabrice Bernhard (fabriceb)
- develop
- Hiromi Hishida (77web)
+ - Klein Florian (docteurklein)
- Joshua Nye (zerosanity)
- - andrewtch (andrewtch)
- markchalloner (markchalloner)
+ - Mike Lively (mlively)
- Michael Williams (mtotheikle)
+ - Thomas Chmielowiec (chmielot)
- Casper Valdemar Poulsen (cvaldemar)
- - Fran Moreno (franmomu)
- Degory Valentine
- Krzysiek Łabuś (Crozin)
- - superjavason (superjavason)
+ - Ismael Ambrosi (iambrosi)
+ - Thomas Bibb (thomasbibb)
+ - Ivan Kurnosov
+ - stloyd
- Jan Prieser (jaypea)
- - Tom Klingenberg (ktomk)
+ - Thomas Chmielowiec (chmielot)
+ - Grégoire Paris (greg0ire)
- paulkamer (paulkamer)
- Peter Kruithof (pkruithof)
- - Albert Jessurum (ajessu)
+ - alefranz (alefranz)
- frost-nzcr4 (frost-nzcr4)
- Petit Yoann (Abhoryo)
- Fabian Vogler (fabian)
- Maksim Kotlyar
+ - Artyom Protaskin (gatsu)
- Grégoire Passault (Gregwar)
- - Manuel de Ruiter (ManuelAC)
+ - Alexander Miehe (Engerim)
- Cyril Quintin (cyqui)
- Gerard van Helden (drm)
- - Johnny Peck (johnnypeck)
- kazusuke sasezaki (sasezaki)
- - Benjamin Lévêque (benji07)
- - Matt Robinson (inanimatt)
- root
+ - Kirill chEbba Chebunin (chEbba)
+ - Julien DIDIER (juliendidier)
- Chris Smith (cs278)
- Derek ROTH (DerekRoth)
- mwsaz
- - Sergey Skopin (grizlik)
+ - Giulio De Donato (liuggio)
+ - Matthias (mpdude)
- Emil Einarsson (Einarsson)
- Yanick Witschi (Toflar)
- Don Pinkster
+ - Piotr Błasiak (blahy)
- Saem Ghani (saem)
- Michael Roterman (wtfzdotnet)
- Arno Geurts
- - Marek Kalnik (marekkalnik)
+ - Jörg Rühl (LennyLinux)
+ - jeanfrancois.simon
+ - Bernd Matzner (bmatzner)
- Daniel Cestari (dcestari)
- - Jérémy CROMBEZ (jcrombez)
+ - Jesse Cooke (jc00ke)
+ - jdewit (jdewit)
+ - Javier López (loalf)
- Magnus Nordlander (magnusnordlander)
- Adam Monsen (meonkeys)
- - Michał Pipa (michal-pipa)
- - Robert Gruendler (pulse00)
+ - nervo (nervo)
+ - Oleg Stepura (olegstepura)
+ - patrick-mcdougle (patrick-mcdougle)
- Sebastian Busch (sbusch)
- Benoît Merlet (trompette)
+ - xanido (xanido)
+ - Xavier HAUSHERR (xkobal)
+ - Craig Marvelley (craigmarvelley)
- Jan Behrens (deegital)
+ - Hans (drublic)
+ - m0ppers (m0ppers)
+ - Michael Shtukin (mshtukin)
+ - Anthon Pang (robocoder)
+ - Teo (teo-sk)
+ - Tony Piper (tonypiper)
- sensio
- Théophile Helleboid - chtitux (chtitux)
- Matthew Lewinski (lewinski)
- - xaav
- - Anton Babenko (antonbabenko)
+ - Markus Bachmann (Baachi)
- irmantas (irmantas)
- tero (tero)
- - Martin Hasoň
- Vadim Tyukov (vatson)
- Stainslav Turza (S0RIEN)
- chispita
- Tobias Sjösten (tobiassjosten)
- Wojciech Sznapka (wowo)
- - Sebastian Marek (proofek)
- - cedric lombardot (cedriclombardot)
+ - julien.galenski
- John Kary (johnkary)
- Martijn Evers (martijn4evers)
- Jeremy Bush (zombor)
+ - Evan Villemez (evillemez)
- Davide Borsatto (davideborsatto)
- kaiwa
- - Neil Katin
- Gustavo Adrian
+ - Roger Webb
- Nicolas Fabre (nfabre)
- Clément Herreman (clemherreman)
- heccjj (heccjj)
@@ -266,34 +321,29 @@ Symfony2 is the result of the work of many people who made the code better
- George Giannoulopoulos (dotoree)
- Alberto Pirovano (geezmo)
- Xavier Briand (xavierbriand)
- - Markus Lanthaler (lanthaler)
- - Klein Florian (docteurklein)
+ - Carsten Nielsen (phreaknerd)
- JerikVenture (JerikVenture)
- Evan Kaufman (EvanK)
- meckhardt (meckhardt)
- - Mike Lively (mlively)
- Sebastian Ionescu
- Dirk Pahl (dirkaholic)
+ - Konrad Mohrfeldt (kmohrf)
- Nicolas Badey (Nico-B)
- Philipp Scheit (pscheit)
- Bouke Haarsma (Bouke)
- Lars Strojny
- Yrwein (Yrwein)
- pborreli
- - Thomas Bibb (thomasbibb)
- - Ivan Kurnosov
- - stloyd
- Martin Parsiegla
- Christoph Nißle (DerStoffel)
- Luis Muñoz
- - Thomas Chmielowiec (chmielot)
- Oleg Zinchenko (cystbear)
- - Grégoire Paris (greg0ire)
- Guilherme Blanco (guilhermeblanco)
- Stefano Sala (stewe)
+ - Sebastian Hörl
- Romain Dorgueil
- Benjamin Zikarsky (bzikarsky)
- - alefranz (alefranz)
+ - pierre
- Andy Stanberry (cranberyxl)
- Alessio (ioalessio)
- Jérôme Macias (jeromemacias)
@@ -301,19 +351,17 @@ Symfony2 is the result of the work of many people who made the code better
- Gustavo Falco
- gnat42 (gnat42)
- Alexey Popkov (patashnik)
- - Alexander Miehe (Engerim)
- devel
- - HIROKI (hirocaster)
+ - Hiroki HIROCASTER OHTSUKA (hirocaster)
- jpauli (jpauli)
- Kevin McBride (krmcbride)
- Dan Patrick (mdpatrick)
+ - Drew Butler (nodrew)
- Pierre-Yves LEBECQ (pylebecq)
- Jan Eichhorn (Exeu)
- Alexander Zogheb
- - Kirill chEbba Chebunin (chEbba)
- cim-dch (cim-dch)
- Dan Ordille (dordille)
- - Julien DIDIER (juliendidier)
- Martin Mayer (martinmayer)
- Baptiste Clavié (Taluu)
- Tuxosaurus (Tuxosaurus)
@@ -324,30 +372,28 @@ Symfony2 is the result of the work of many people who made the code better
- agilemedialab (agilemedialab)
- Alan Chen (alan0101c)
- Masao Maeda (brtriver)
+ - clemens-tolboom (clemens-tolboom)
- Gustavo Falco (comfortablynumb)
- Denis Klementjev (dklementjev)
- Kévin Dunglas (dunglas)
- Gabriel Birke (gbirke)
- - Ismael Ambrosi (iambrosi)
- Osman Üngür (import)
- Robert Campbell (jayrulez)
- - John Bohn (jjbohn)
- Gábor Fási (maerlyn)
- Matthew Davis (mdavis1982)
- Matt Lehner (mlehner)
- - Matthias (mpdude)
- Jimmy Leger (redpanda)
- Nicolas A. Bérard-Nault
- Alexey Popkov
- Adán Lobato (adanlobato)
+ - Arnaud Buathier (arnapou)
- chesteroni (chesteroni)
- Elnur Abdurrakhimov (elnur)
- Beau Simensen (simensen)
- - Tom Van Looy (tvlooy)
+ - Till Klampaeckel (till)
- Juan Ases García (Ases)
- Eugene Babushkin (EugeneBabushkin)
- Fabien D. (FabienD)
- - Jörg Rühl (LennyLinux)
- Matt Drollette (MDrollette)
- Kornienko Alexander (Skorney)
- Vincent (Vincent-P)
@@ -356,7 +402,6 @@ Symfony2 is the result of the work of many people who made the code better
- Sébastien HOUZE
- Sergiy Sokolenko
- Adrien Brault (adrienbrault)
- - Bernd Matzner (bmatzner)
- Vladimir Sazhin (cannie)
- Chris Sedlmayr (catchamonkey)
- Christian Stocker (chregu)
@@ -367,42 +412,35 @@ Symfony2 is the result of the work of many people who made the code better
- ds (dantleech)
- Djama Suemenich (djama)
- Daniel Londero (dlondero)
- - Kyle W (dorkitude)
+ - Kyle Wild (dorkitude)
- David Soria Parra (dsp)
- Kousuke Ebihara (ebihara)
- ideea (ideea)
- - John Carr (Jc2k)
- - jdewit (jdewit)
+ - Jérémy CROMBEZ (jcrombez)
+ - Johannes (johannes85)
- Justin Rainbow (justinrainbow)
- Abdulkadir N. A. (kadeer)
- Krzysztof Menżyk (krymen)
- kwiateusz (kwiateusz)
- Samuel Laulhau (lalop)
- - Javier López (loalf)
- Matt Fitzgerald (matthewfitz)
- Penny Leach (mjollnir)
+ - Marc Abramowitz (msabramo)
- Michael Schneider (mschneid)
- Oncle Tom (oncletom)
- ouardisoft (ouardisoft)
- - patrick-mcdougle (patrick-mcdougle)
- Petr Jaroš (petajaros)
- pzwosta (pzwosta)
+ - Julien 'ruian' Galenski (ruian)
- Ruud Kamphuis (ruudk)
- Markus Tacker (tacker)
- Tyler Stroud (tystr)
- Vyacheslav Slinko (vslinko)
- Josiah (web-dev)
- - xanido (xanido)
- - Xavier HAUSHERR (xkobal)
- - drublic
- Gustavo Adrian
- max
- - Craig Marvelley (craigmarvelley)
- - m0ppers (m0ppers)
- Muharrem Demirci (mdemirci)
- meze (meze)
- - Michael Shtukin (mshtukin)
- Nicolas de Marqué Fromentin (nicodmf)
- Florent Cailhol (ooflorent)
- Pierre (ptheg)
- - Teo (teo-sk)
diff --git a/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php b/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php
index 3ccdfa74fb..aac05d26ef 100644
--- a/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php
+++ b/src/Symfony/Bridge/Monolog/Processor/WebProcessor.php
@@ -13,6 +13,8 @@ namespace Symfony\Bridge\Monolog\Processor;
use Monolog\Processor\WebProcessor as BaseWebProcessor;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpKernel\Event\GetResponseEvent;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
/**
* WebProcessor override to read from the HttpFoundation's Request
@@ -21,8 +23,16 @@ use Symfony\Component\HttpFoundation\Request;
*/
class WebProcessor extends BaseWebProcessor
{
- public function __construct(Request $request)
+ public function __construct()
{
- parent::__construct($request->server->all());
+ // Pass an empty array as the default null value would access $_SERVER
+ parent::__construct(array());
+ }
+
+ public function onKernelRequest(GetResponseEvent $event)
+ {
+ if (HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) {
+ $this->serverData = $event->getRequest()->server->all();
+ }
}
}
diff --git a/src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php b/src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php
index 1b1f326c0c..caf764aba1 100644
--- a/src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php
+++ b/src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php
@@ -14,6 +14,7 @@ namespace Symfony\Bridge\Monolog\Tests\Processor;
use Monolog\Logger;
use Symfony\Bridge\Monolog\Processor\WebProcessor;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
class WebProcessorTest extends \PHPUnit_Framework_TestCase
{
@@ -37,7 +38,18 @@ class WebProcessorTest extends \PHPUnit_Framework_TestCase
$request = new Request();
$request->server->replace($server);
- $processor = new WebProcessor($request);
+ $event = $this->getMockBuilder('Symfony\Component\HttpKernel\Event\GetResponseEvent')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $event->expects($this->any())
+ ->method('getRequestType')
+ ->will($this->returnValue(HttpKernelInterface::MASTER_REQUEST));
+ $event->expects($this->any())
+ ->method('getRequest')
+ ->will($this->returnValue($request));
+
+ $processor = new WebProcessor();
+ $processor->onKernelRequest($event);
$record = $processor($this->getRecord());
$this->assertEquals($server['REQUEST_URI'], $record['extra']['url']);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf
index f3381362ea..2628e492b0 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf
@@ -76,7 +76,7 @@
- Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovat najviac {{ limit }} znakov.
+ Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovať najviac {{ limit }} znakov.
diff --git a/src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml b/src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml
index 6f088bfe2d..b35e3a2daa 100644
--- a/src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml
+++ b/src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml
@@ -51,7 +51,10 @@
-
+
+ %request_listener.http_port%
+ %request_listener.https_port%
+
diff --git a/src/Symfony/Component/BrowserKit/Client.php b/src/Symfony/Component/BrowserKit/Client.php
index 57373a319d..4fdc8d8cac 100644
--- a/src/Symfony/Component/BrowserKit/Client.php
+++ b/src/Symfony/Component/BrowserKit/Client.php
@@ -84,7 +84,7 @@ abstract class Client
*/
public function insulate($insulated = true)
{
- if (!class_exists('Symfony\\Component\\Process\\Process')) {
+ if ($insulated && !class_exists('Symfony\\Component\\Process\\Process')) {
// @codeCoverageIgnoreStart
throw new \RuntimeException('Unable to isolate requests as the Symfony Process Component is not installed.');
// @codeCoverageIgnoreEnd
diff --git a/src/Symfony/Component/Console/Application.php b/src/Symfony/Component/Console/Application.php
index 69c36ffc9e..039f803a6f 100644
--- a/src/Symfony/Component/Console/Application.php
+++ b/src/Symfony/Component/Console/Application.php
@@ -746,7 +746,7 @@ class Application
}
/**
- * Renders a catched exception.
+ * Renders a caught exception.
*
* @param Exception $e An exception instance
* @param OutputInterface $output An OutputInterface instance
diff --git a/src/Symfony/Component/Console/Output/ConsoleOutput.php b/src/Symfony/Component/Console/Output/ConsoleOutput.php
index 1cce3326c5..21be9438b0 100644
--- a/src/Symfony/Component/Console/Output/ConsoleOutput.php
+++ b/src/Symfony/Component/Console/Output/ConsoleOutput.php
@@ -46,7 +46,13 @@ class ConsoleOutput extends StreamOutput implements ConsoleOutputInterface
*/
public function __construct($verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatterInterface $formatter = null)
{
- parent::__construct(fopen('php://stdout', 'w'), $verbosity, $decorated, $formatter);
+ $outputStream = 'php://stdout';
+ if (!$this->hasStdoutSupport()) {
+ $outputStream = 'php://output';
+ }
+
+ parent::__construct(fopen($outputStream, 'w'), $verbosity, $decorated, $formatter);
+
$this->stderr = new StreamOutput(fopen('php://stderr', 'w'), $verbosity, $decorated, $formatter);
}
@@ -80,4 +86,19 @@ class ConsoleOutput extends StreamOutput implements ConsoleOutputInterface
{
$this->stderr = $error;
}
+
+ /**
+ * Returns true if current environment supports writing console output to
+ * STDOUT.
+ *
+ * IBM iSeries (OS400) exhibits character-encoding issues when writing to
+ * STDOUT and doesn't properly convert ASCII to EBCDIC, resulting in garbage
+ * output.
+ *
+ * @return boolean
+ */
+ protected function hasStdoutSupport()
+ {
+ return ('OS400' != php_uname('s'));
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
index b565f3f83e..19079b4038 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
@@ -74,6 +74,9 @@ class AnalyzeServiceReferencesPass implements RepeatablePassInterface
if (!$this->onlyConstructorArguments) {
$this->processArguments($definition->getMethodCalls());
$this->processArguments($definition->getProperties());
+ if ($definition->getConfigurator()) {
+ $this->processArguments(array($definition->getConfigurator()));
+ }
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
index 52577817a9..c99659e5a6 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
@@ -45,12 +45,19 @@ class AnalyzeServiceReferencesPassTest extends \PHPUnit_Framework_TestCase
->setProperty('foo', $ref5 = new Reference('b'))
;
+ $e = $container
+ ->register('e')
+ ->setConfigurator(array($ref6 = new Reference('b'), 'methodName'))
+ ;
+
$graph = $this->process($container);
- $this->assertCount(3, $edges = $graph->getNode('b')->getInEdges());
+ $this->assertCount(4, $edges = $graph->getNode('b')->getInEdges());
+
$this->assertSame($ref1, $edges[0]->getValue());
$this->assertSame($ref4, $edges[1]->getValue());
$this->assertSame($ref5, $edges[2]->getValue());
+ $this->assertSame($ref6, $edges[3]->getValue());
}
public function testProcessDetectsReferencesFromInlinedDefinitions()
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php
index 6015799855..dc993bab16 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php
@@ -77,6 +77,15 @@ abstract class AbstractToken implements TokenInterface
return $this->user;
}
+ /**
+ * Sets the user in the token.
+ *
+ * The user can be a UserInterface instance, or an object implementing
+ * a __toString method or the username as a regular string.
+ *
+ * @param mixed $user The user
+ * @throws \InvalidArgumentException
+ */
public function setUser($user)
{
if (!($user instanceof UserInterface || (is_object($user) && method_exists($user, '__toString')) || is_string($user))) {
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
index 6c6ed5b693..95eec54067 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
@@ -24,7 +24,7 @@ class UsernamePasswordToken extends AbstractToken
/**
* Constructor.
*
- * @param string $user The username (like a nickname, email address, etc.)
+ * @param string $user The username (like a nickname, email address, etc.), or a UserInterface instance or an object implementing a __toString method.
* @param string $credentials This usually is the password of the user
* @param string $providerKey The provider key
* @param array $roles An array of roles