Merge branch '3.2' into 3.3

* 3.2:
  Using FQ name for PHP_VERSION_ID
  [Form] Fix \IntlDateFormatter timezone parameter usage to bypass PHP bug #66323
  Harden the debugging of Twig filters and functions
  bumped Symfony version to 3.2.10
  updated VERSION for 3.2.9
  updated CHANGELOG for 3.2.9
  bumped Symfony version to 2.8.22
  updated VERSION for 2.8.21
  updated CHANGELOG for 2.8.21
  bumped Symfony version to 2.7.29
  updated VERSION for 2.7.28
  update CONTRIBUTORS for 2.7.28
  updated CHANGELOG for 2.7.28
This commit is contained in:
Fabien Potencier 2017-06-01 14:01:25 -07:00
commit 60b89bb67f
24 changed files with 98 additions and 54 deletions

View File

@ -11,7 +11,7 @@ array_shift($dirs);
$mergeBase = trim(shell_exec(sprintf('git merge-base %s HEAD', array_shift($dirs)))); $mergeBase = trim(shell_exec(sprintf('git merge-base %s HEAD', array_shift($dirs))));
$packages = array(); $packages = array();
$flags = PHP_VERSION_ID >= 50400 ? JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE : 0; $flags = \PHP_VERSION_ID >= 50400 ? JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE : 0;
foreach ($dirs as $k => $dir) { foreach ($dirs as $k => $dir) {
if (!system("git diff --name-only $mergeBase -- $dir", $exitStatus)) { if (!system("git diff --name-only $mergeBase -- $dir", $exitStatus)) {

View File

@ -7,6 +7,29 @@ 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 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 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.2.0...v3.2.1
* 3.2.9 (2017-05-29)
* bug #22847 [Console] ChoiceQuestion must have choices (ro0NL)
* bug #22900 [FrameworkBundle][Console] Fix the override of a command registered by the kernel (aaa2000)
* bug #22910 [Filesystem] improve error handling in lock() (xabbuh)
* bug #22924 [Cache] Dont use pipelining with RedisCluster (nicolas-grekas)
* bug #22718 [Console] Fixed different behaviour of key and value user inputs in multiple choice question (borNfreee)
* bug #22829 [Yaml] fix colon without space deprecation (xabbuh)
* bug #22901 Fix missing abstract key in XmlDumper (weaverryan)
* bug #22912 [DI] Avoid private call to Container::has() (ro0NL)
* bug #22866 [DI] Check for privates before shared services (ro0NL)
* bug #22874 [WebProfilerBundle] Fix sub-requests display in time profiler panel (nicolas-grekas)
* bug #22817 [PhpUnitBridge] optional error handler arguments (xabbuh)
* bug #22752 Improved how profiler errors are displayed on small screens (javiereguiluz)
* bug #22715 [FrameworkBundle] remove Security deps from the require section (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 #22690 [Console] Fix errors not rethrown even if not handled by console.error listeners (chalasr)
* bug #22669 [FrameworkBundle] AbstractConfigCommand: do not try registering bundles twice (ogizanagi)
* bug #22676 [FrameworkBundle] Adding the extension XML (flug)
* bug #22652 [Workflow] Move twig extension registration to twig bundle (ogizanagi)
* 3.2.8 (2017-05-01) * 3.2.8 (2017-05-01)
* bug #22550 Allow Upper Case property names in ObjectNormalizer (insekticid) * bug #22550 Allow Upper Case property names in ObjectNormalizer (insekticid)

View File

@ -24,20 +24,20 @@ Symfony is the result of the work of many people who made the code better
- Wouter De Jong (wouterj) - Wouter De Jong (wouterj)
- Romain Neutron (romain) - Romain Neutron (romain)
- Grégoire Pineau (lyrixx) - Grégoire Pineau (lyrixx)
- Joseph Bielawski (stloyd)
- Karma Dordrak (drak)
- Robin Chalas (chalas_r) - Robin Chalas (chalas_r)
- Joseph Bielawski (stloyd)
- Maxime Steinhausser (ogizanagi)
- Karma Dordrak (drak)
- Lukas Kahwe Smith (lsmith) - Lukas Kahwe Smith (lsmith)
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Maxime Steinhausser (ogizanagi)
- Jeremy Mikola (jmikola) - Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon) - Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Jules Pietri (heah) - Jules Pietri (heah)
- Sarah Khalil (saro0h)
- Roland Franssen (ro0) - Roland Franssen (ro0)
- Sarah Khalil (saro0h)
- Jonathan Wage (jwage) - Jonathan Wage (jwage)
- Guilhem Niot (energetick) - Guilhem Niot (energetick)
- Diego Saint Esteben (dosten) - Diego Saint Esteben (dosten)
@ -49,10 +49,10 @@ Symfony is the result of the work of many people who made the code better
- Alexander Mols (asm89) - Alexander Mols (asm89)
- Bulat Shakirzyanov (avalanche123) - Bulat Shakirzyanov (avalanche123)
- Peter Rehm (rpet) - Peter Rehm (rpet)
- Iltar van der Berg (kjarli)
- Saša Stamenković (umpirsky) - Saša Stamenković (umpirsky)
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Miha Vrhovnik - Miha Vrhovnik
- Roland Franssen (ro0)
- Diego Saint Esteben (dii3g0) - Diego Saint Esteben (dii3g0)
- Konstantin Kudryashov (everzet) - Konstantin Kudryashov (everzet)
- Bilal Amarni (bamarni) - Bilal Amarni (bamarni)
@ -64,8 +64,8 @@ Symfony is the result of the work of many people who made the code better
- Michel Weimerskirch (mweimerskirch) - Michel Weimerskirch (mweimerskirch)
- Eric Clemmons (ericclemmons) - Eric Clemmons (ericclemmons)
- Charles Sarrazin (csarrazi) - Charles Sarrazin (csarrazi)
- Pierre du Plessis (pierredup)
- Christian Raue - Christian Raue
- Pierre du Plessis (pierredup)
- Arnout Boks (aboks) - Arnout Boks (aboks)
- Deni - Deni
- Henrik Westphal (snc) - Henrik Westphal (snc)
@ -77,12 +77,12 @@ Symfony is the result of the work of many people who made the code better
- Lee McDermott - Lee McDermott
- Brandon Turner - Brandon Turner
- Luis Cordova (cordoval) - Luis Cordova (cordoval)
- Jérémy DERUSSÉ (jderusse)
- Graham Campbell (graham) - Graham Campbell (graham)
- Daniel Holmes (dholmes) - Daniel Holmes (dholmes)
- Toni Uebernickel (havvg) - Toni Uebernickel (havvg)
- Bart van den Burg (burgov) - Bart van den Burg (burgov)
- Jordan Alliot (jalliot) - Jordan Alliot (jalliot)
- Jérémy DERUSSÉ (jderusse)
- John Wards (johnwards) - John Wards (johnwards)
- Dariusz Ruminski - Dariusz Ruminski
- Fran Moreno (franmomu) - Fran Moreno (franmomu)
@ -92,8 +92,8 @@ Symfony is the result of the work of many people who made the code better
- Arnaud Le Blanc (arnaud-lb) - Arnaud Le Blanc (arnaud-lb)
- Maxime STEINHAUSSER - Maxime STEINHAUSSER
- Michal Piotrowski (eventhorizon) - Michal Piotrowski (eventhorizon)
- Tim Nagel (merk)
- Issei Murasawa (issei_m) - Issei Murasawa (issei_m)
- Tim Nagel (merk)
- Brice BERNARD (brikou) - Brice BERNARD (brikou)
- Alexander M. Turek (derrabus) - Alexander M. Turek (derrabus)
- Baptiste Clavié (talus) - Baptiste Clavié (talus)
@ -115,6 +115,7 @@ Symfony is the result of the work of many people who made the code better
- Fabien Pennequin (fabienpennequin) - Fabien Pennequin (fabienpennequin)
- Gordon Franke (gimler) - Gordon Franke (gimler)
- Eric GELOEN (gelo) - Eric GELOEN (gelo)
- Yonel Ceruto González (yonelceruto)
- Daniel Wehner (dawehner) - Daniel Wehner (dawehner)
- Tugdual Saunier (tucksaun) - Tugdual Saunier (tucksaun)
- Théo FIDRY (theofidry) - Théo FIDRY (theofidry)
@ -122,7 +123,6 @@ Symfony is the result of the work of many people who made the code better
- Florian Lonqueu-Brochard (florianlb) - Florian Lonqueu-Brochard (florianlb)
- Sebastiaan Stok (sstok) - Sebastiaan Stok (sstok)
- Stefano Sala (stefano.sala) - Stefano Sala (stefano.sala)
- Yonel Ceruto González (yonelceruto)
- Evgeniy (ewgraf) - Evgeniy (ewgraf)
- Juti Noppornpitak (shiroyuki) - Juti Noppornpitak (shiroyuki)
- Tigran Azatyan (tigranazatyan) - Tigran Azatyan (tigranazatyan)
@ -157,6 +157,7 @@ Symfony is the result of the work of many people who made the code better
- Amal Raghav (kertz) - Amal Raghav (kertz)
- Jonathan Ingram (jonathaningram) - Jonathan Ingram (jonathaningram)
- Artur Kotyrba - Artur Kotyrba
- David Maicher (dmaicher)
- jeremyFreeAgent (Jérémy Romey) (jeremyfreeagent) - jeremyFreeAgent (Jérémy Romey) (jeremyfreeagent)
- James Halsall (jaitsu) - James Halsall (jaitsu)
- Warnar Boekkooi (boekkooi) - Warnar Boekkooi (boekkooi)
@ -166,6 +167,7 @@ Symfony is the result of the work of many people who made the code better
- Possum - Possum
- Dorian Villet (gnutix) - Dorian Villet (gnutix)
- Richard Miller (mr_r_miller) - Richard Miller (mr_r_miller)
- Julien Falque (julienfalque)
- Mario A. Alvarez Garcia (nomack84) - Mario A. Alvarez Garcia (nomack84)
- Dennis Benkert (denderello) - Dennis Benkert (denderello)
- Benjamin Dulau (dbenjamin) - Benjamin Dulau (dbenjamin)
@ -180,7 +182,6 @@ Symfony is the result of the work of many people who made the code better
- Daniel Espendiller - Daniel Espendiller
- sun (sun) - sun (sun)
- Larry Garfield (crell) - Larry Garfield (crell)
- Julien Falque (julienfalque)
- Martin Schuhfuß (usefulthink) - Martin Schuhfuß (usefulthink)
- apetitpa - apetitpa
- Matthieu Bontemps (mbontemps) - Matthieu Bontemps (mbontemps)
@ -203,6 +204,7 @@ Symfony is the result of the work of many people who made the code better
- Tom Van Looy (tvlooy) - Tom Van Looy (tvlooy)
- Sven Paulus (subsven) - Sven Paulus (subsven)
- Rui Marinho (ruimarinho) - Rui Marinho (ruimarinho)
- Marek Štípek (maryo)
- SpacePossum - SpacePossum
- Eugene Wissner - Eugene Wissner
- Julien Brochet (mewt) - Julien Brochet (mewt)
@ -217,7 +219,6 @@ Symfony is the result of the work of many people who made the code better
- julien pauli (jpauli) - julien pauli (jpauli)
- Lorenz Schori - Lorenz Schori
- Sébastien Lavoie (lavoiesl) - Sébastien Lavoie (lavoiesl)
- David Maicher (dmaicher)
- Francois Zaninotto - Francois Zaninotto
- Alexander Kotynia (olden) - Alexander Kotynia (olden)
- Daniel Tschinder - Daniel Tschinder
@ -254,6 +255,7 @@ Symfony is the result of the work of many people who made the code better
- Albert Casademont (acasademont) - Albert Casademont (acasademont)
- Jhonny Lidfors (jhonne) - Jhonny Lidfors (jhonne)
- Diego Agulló (aeoris) - Diego Agulló (aeoris)
- Andreas Schempp (aschempp)
- jdhoek - jdhoek
- Pavel Batanov (scaytrase) - Pavel Batanov (scaytrase)
- Nikita Konstantinov - Nikita Konstantinov
@ -272,8 +274,8 @@ Symfony is the result of the work of many people who made the code better
- Michael Holm (hollo) - Michael Holm (hollo)
- Marc Weistroff (futurecat) - Marc Weistroff (futurecat)
- Christian Schmidt - Christian Schmidt
- Marek Štípek (maryo)
- Hidde Wieringa (hiddewie) - Hidde Wieringa (hiddewie)
- Chad Sikorra (chadsikorra)
- Jordan Samouh (jordansamouh) - Jordan Samouh (jordansamouh)
- Chris Smith (cs278) - Chris Smith (cs278)
- Florian Klein (docteurklein) - Florian Klein (docteurklein)
@ -303,10 +305,10 @@ Symfony is the result of the work of many people who made the code better
- Francesc Rosàs (frosas) - Francesc Rosàs (frosas)
- Massimiliano Arione (garak) - Massimiliano Arione (garak)
- Julien Galenski (ruian) - Julien Galenski (ruian)
- Andreas Schempp (aschempp)
- Bongiraud Dominique - Bongiraud Dominique
- janschoenherr - janschoenherr
- Thomas Schulz (king2500) - Thomas Schulz (king2500)
- Dariusz Rumiński
- Berny Cantos (xphere81) - Berny Cantos (xphere81)
- Ricard Clau (ricardclau) - Ricard Clau (ricardclau)
- Mark Challoner (markchalloner) - Mark Challoner (markchalloner)
@ -385,7 +387,6 @@ Symfony is the result of the work of many people who made the code better
- Christophe L. (christophelau) - Christophe L. (christophelau)
- Anthon Pang (robocoder) - Anthon Pang (robocoder)
- Emanuele Gaspari (inmarelibero) - Emanuele Gaspari (inmarelibero)
- Dariusz Rumiński
- Sébastien Santoro (dereckson) - Sébastien Santoro (dereckson)
- Brian King - Brian King
- Michel Salib (michelsalib) - Michel Salib (michelsalib)
@ -402,6 +403,7 @@ Symfony is the result of the work of many people who made the code better
- Jan Rosier (rosier) - Jan Rosier (rosier)
- Thomas Royer (cydonia7) - Thomas Royer (cydonia7)
- Josip Kruslin - Josip Kruslin
- Asmir Mustafic (goetas)
- vagrant - vagrant
- EdgarPE - EdgarPE
- Florian Pfitzer (marmelatze) - Florian Pfitzer (marmelatze)
@ -420,7 +422,6 @@ Symfony is the result of the work of many people who made the code better
- Marcin Sikoń (marphi) - Marcin Sikoń (marphi)
- Dominik Zogg (dominik.zogg) - Dominik Zogg (dominik.zogg)
- Marek Pietrzak - Marek Pietrzak
- Chad Sikorra (chadsikorra)
- franek (franek) - franek (franek)
- Christian Wahler - Christian Wahler
- Gintautas Miselis - Gintautas Miselis
@ -544,7 +545,6 @@ Symfony is the result of the work of many people who made the code better
- Andre Rømcke (andrerom) - Andre Rømcke (andrerom)
- Nahuel Cuesta (ncuesta) - Nahuel Cuesta (ncuesta)
- Chris Boden (cboden) - Chris Boden (cboden)
- Asmir Mustafic (goetas)
- Stefan Gehrig (sgehrig) - Stefan Gehrig (sgehrig)
- Hany el-Kerdany - Hany el-Kerdany
- Wang Jingyu - Wang Jingyu
@ -582,6 +582,7 @@ Symfony is the result of the work of many people who made the code better
- Sergey Kolodyazhnyy (skolodyazhnyy) - Sergey Kolodyazhnyy (skolodyazhnyy)
- umpirski - umpirski
- Denis Brumann (dbrumann) - Denis Brumann (dbrumann)
- Michael Babker (mbabker)
- Quentin de Longraye (quentinus95) - Quentin de Longraye (quentinus95)
- Chris Heng (gigablah) - Chris Heng (gigablah)
- Richard Bradley - Richard Bradley
@ -629,6 +630,7 @@ Symfony is the result of the work of many people who made the code better
- twifty - twifty
- Indra Gunawan (guind) - Indra Gunawan (guind)
- Peter Ward - Peter Ward
- insekticid
- Julien DIDIER (juliendidier) - Julien DIDIER (juliendidier)
- Dominik Ritter (dritter) - Dominik Ritter (dritter)
- Sebastian Grodzicki (sgrodzicki) - Sebastian Grodzicki (sgrodzicki)
@ -745,6 +747,7 @@ Symfony is the result of the work of many people who made the code better
- Jan Kramer (jankramer) - Jan Kramer (jankramer)
- abdul malik ikhsan (samsonasik) - abdul malik ikhsan (samsonasik)
- Henry Snoek (snoek09) - Henry Snoek (snoek09)
- Jérémy M (th3mouk)
- Simone Di Maulo (toretto460) - Simone Di Maulo (toretto460)
- Christian Morgan - Christian Morgan
- Alexander Miehe (engerim) - Alexander Miehe (engerim)
@ -761,6 +764,7 @@ Symfony is the result of the work of many people who made the code better
- Douglas Reith (douglas_reith) - Douglas Reith (douglas_reith)
- Harry Walter (haswalt) - Harry Walter (haswalt)
- Johnson Page (jwpage) - Johnson Page (jwpage)
- Ruben Gonzalez (rubenruateltek)
- Michael Roterman (wtfzdotnet) - Michael Roterman (wtfzdotnet)
- Arno Geurts - Arno Geurts
- Adán Lobato (adanlobato) - Adán Lobato (adanlobato)
@ -886,6 +890,7 @@ Symfony is the result of the work of many people who made the code better
- Eddie Jaoude - Eddie Jaoude
- Antanas Arvasevicius - Antanas Arvasevicius
- Haritz Iturbe (hizai) - Haritz Iturbe (hizai)
- Baptiste Meyer (meyerbaptiste)
- Nerijus Arlauskas (nercury) - Nerijus Arlauskas (nercury)
- SPolischook - SPolischook
- Diego Sapriza - Diego Sapriza
@ -914,6 +919,7 @@ Symfony is the result of the work of many people who made the code better
- Jeremy Bush - Jeremy Bush
- wizhippo - wizhippo
- Viacheslav Sychov - Viacheslav Sychov
- Tyson Andre
- Carlos Ortega Huetos - Carlos Ortega Huetos
- rpg600 - rpg600
- Péter Buri (burci) - Péter Buri (burci)
@ -1014,6 +1020,7 @@ Symfony is the result of the work of many people who made the code better
- Conrad Kleinespel - Conrad Kleinespel
- Sebastian Utz - Sebastian Utz
- Adrien Gallou (agallou) - Adrien Gallou (agallou)
- Maks Rafalko (bornfree)
- Karol Sójko (karolsojko) - Karol Sójko (karolsojko)
- Grzegorz Zdanowski (kiler129) - Grzegorz Zdanowski (kiler129)
- sl_toto (sl_toto) - sl_toto (sl_toto)
@ -1048,7 +1055,6 @@ Symfony is the result of the work of many people who made the code better
- Kim Laï Trinh - Kim Laï Trinh
- Jason Desrosiers - Jason Desrosiers
- m.chwedziak - m.chwedziak
- insekticid
- Philip Frank - Philip Frank
- Lance McNearney - Lance McNearney
- Giorgio Premi - Giorgio Premi
@ -1058,6 +1064,7 @@ Symfony is the result of the work of many people who made the code better
- Alberto Pirovano (geezmo) - Alberto Pirovano (geezmo)
- Pete Mitchell (peterjmit) - Pete Mitchell (peterjmit)
- Tom Corrigan (tomcorrigan) - Tom Corrigan (tomcorrigan)
- adev
- Luis Galeas - Luis Galeas
- Martin Pärtel - Martin Pärtel
- George Mponos (gmponos) - George Mponos (gmponos)
@ -1226,6 +1233,7 @@ Symfony is the result of the work of many people who made the code better
- Romain Dorgueil - Romain Dorgueil
- Grayson Koonce (breerly) - Grayson Koonce (breerly)
- Fabien LUCAS (flucas2) - Fabien LUCAS (flucas2)
- Indra Gunawan (indragunawan)
- Karim Cassam Chenaï (ka) - Karim Cassam Chenaï (ka)
- Nicolas Bastien (nicolas_bastien) - Nicolas Bastien (nicolas_bastien)
- Denis (yethee) - Denis (yethee)
@ -1273,6 +1281,7 @@ Symfony is the result of the work of many people who made the code better
- Daan van Renterghem - Daan van Renterghem
- Nicole Cordes - Nicole Cordes
- Bram Van der Sype (brammm) - Bram Van der Sype (brammm)
- Christopher Hertel (chertel)
- Guile (guile) - Guile (guile)
- Julien Moulin (lizjulien) - Julien Moulin (lizjulien)
- Mauro Foti (skler) - Mauro Foti (skler)
@ -1291,6 +1300,7 @@ Symfony is the result of the work of many people who made the code better
- Johann Pardanaud - Johann Pardanaud
- Trevor Suarez - Trevor Suarez
- gedrox - gedrox
- Alan Bondarchuk
- dropfen - dropfen
- Andrey Chernykh - Andrey Chernykh
- Edvinas Klovas - Edvinas Klovas
@ -1303,6 +1313,7 @@ Symfony is the result of the work of many people who made the code better
- bertillon - bertillon
- Bertalan Attila - Bertalan Attila
- Yannick Bensacq (cibou) - Yannick Bensacq (cibou)
- Gawain Lynch (gawain)
- Luca Genuzio (genuzio) - Luca Genuzio (genuzio)
- Hans Nilsson (hansnilsson) - Hans Nilsson (hansnilsson)
- Andrew Marcinkevičius (ifdattic) - Andrew Marcinkevičius (ifdattic)
@ -1312,7 +1323,6 @@ Symfony is the result of the work of many people who made the code better
- Dan Patrick (mdpatrick) - Dan Patrick (mdpatrick)
- Rares Vlaseanu (raresvla) - Rares Vlaseanu (raresvla)
- tante kinast (tante) - tante kinast (tante)
- Jérémy M (th3mouk)
- Vincent LEFORT (vlefort) - Vincent LEFORT (vlefort)
- Sadicov Vladimir (xtech) - Sadicov Vladimir (xtech)
- Kevin EMO (zarcox) - Kevin EMO (zarcox)
@ -1336,7 +1346,6 @@ Symfony is the result of the work of many people who made the code better
- Jonny Schmid (schmidjon) - Jonny Schmid (schmidjon)
- Götz Gottwald - Götz Gottwald
- Veres Lajos - Veres Lajos
- Michael Babker
- grifx - grifx
- Robert Campbell - Robert Campbell
- Matt Lehner - Matt Lehner
@ -1415,9 +1424,11 @@ Symfony is the result of the work of many people who made the code better
- Yanick Witschi - Yanick Witschi
- Ondrej Mirtes - Ondrej Mirtes
- akimsko - akimsko
- Ben Scott
- Youpie - Youpie
- srsbiz - srsbiz
- Taylan Kasap - Taylan Kasap
- Michael Orlitzky
- Nicolas A. Bérard-Nault - Nicolas A. Bérard-Nault
- Saem Ghani - Saem Ghani
- Stefan Oderbolz - Stefan Oderbolz
@ -1430,6 +1441,7 @@ Symfony is the result of the work of many people who made the code better
- Ben - Ben
- Evgeniy Tetenchuk - Evgeniy Tetenchuk
- dasmfm - dasmfm
- Mathias Geat
- Arnaud Buathier (arnapou) - Arnaud Buathier (arnapou)
- chesteroni (chesteroni) - chesteroni (chesteroni)
- Mauricio Lopez (diaspar) - Mauricio Lopez (diaspar)
@ -1516,6 +1528,7 @@ Symfony is the result of the work of many people who made the code better
- Abdulkadir N. A. - Abdulkadir N. A.
- Yevgen Kovalienia - Yevgen Kovalienia
- Lebnik - Lebnik
- Ondřej Führer
- Sema - Sema
- Elan Ruusamäe - Elan Ruusamäe
- Thorsten Hallwas - Thorsten Hallwas
@ -1568,6 +1581,7 @@ Symfony is the result of the work of many people who made the code better
- Bill Hance (billhance) - Bill Hance (billhance)
- Bernd Matzner (bmatzner) - Bernd Matzner (bmatzner)
- Bram Tweedegolf (bram_tweedegolf) - Bram Tweedegolf (bram_tweedegolf)
- Brandon Kelly (brandonkelly)
- Choong Wei Tjeng (choonge) - Choong Wei Tjeng (choonge)
- Kousuke Ebihara (co3k) - Kousuke Ebihara (co3k)
- Loïc Vernet (coil) - Loïc Vernet (coil)
@ -1675,6 +1689,7 @@ Symfony is the result of the work of many people who made the code better
- Andrew Carter (andrewcarteruk) - Andrew Carter (andrewcarteruk)
- Adam Elsodaney (archfizz) - Adam Elsodaney (archfizz)
- Daniel Kolvik (dkvk) - Daniel Kolvik (dkvk)
- Marc Lemay (flug)
- Jeroen De Dauw (jeroendedauw) - Jeroen De Dauw (jeroendedauw)
- Maxime COLIN (maximecolin) - Maxime COLIN (maximecolin)
- Muharrem Demirci (mdemirci) - Muharrem Demirci (mdemirci)

View File

@ -7,7 +7,7 @@ if (!file_exists(__DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) {
echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\nPlease run `composer update` before running this command.\n"; echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\nPlease run `composer update` before running this command.\n";
exit(1); exit(1);
} }
if (PHP_VERSION_ID >= 70000 && !getenv('SYMFONY_PHPUNIT_VERSION')) { if (\PHP_VERSION_ID >= 70000 && !getenv('SYMFONY_PHPUNIT_VERSION')) {
putenv('SYMFONY_PHPUNIT_VERSION=6.0'); putenv('SYMFONY_PHPUNIT_VERSION=6.0');
} }
putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit'); putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit');

View File

@ -156,14 +156,20 @@ EOF
throw new \UnexpectedValueException('Unsupported callback type'); throw new \UnexpectedValueException('Unsupported callback type');
} }
// filter out context/environment args $args = $refl->getParameters();
$args = array_filter($refl->getParameters(), function ($param) use ($entity) {
if ($entity->needsContext() && $param->getName() === 'context') {
return false;
}
return !$param->getClass() || $param->getClass()->getName() !== 'Twig_Environment'; // filter out context/environment args
}); if ($entity->needsEnvironment()) {
array_shift($args);
}
if ($entity->needsContext()) {
array_shift($args);
}
if ($type === 'filters') {
// remove the value the filter is applied on
array_shift($args);
}
// format args // format args
$args = array_map(function ($param) { $args = array_map(function ($param) {
@ -174,11 +180,6 @@ EOF
return $param->getName(); return $param->getName();
}, $args); }, $args);
if ($type === 'filters') {
// remove the value the filter is applied on
array_shift($args);
}
return $args; return $args;
} }
} }

View File

@ -113,7 +113,7 @@ if ($this->env->isDebug()) {
EOTXT; EOTXT;
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
$expected = preg_replace('/%(.*?)%/', '($context["$1"] ?? null)', $expected); $expected = preg_replace('/%(.*?)%/', '($context["$1"] ?? null)', $expected);
} else { } else {
$expected = preg_replace('/%(.*?)%/', '(isset($context["$1"]) ? $context["$1"] : null)', $expected); $expected = preg_replace('/%(.*?)%/', '(isset($context["$1"]) ? $context["$1"] : null)', $expected);

View File

@ -67,7 +67,7 @@ class FormThemeTest extends TestCase
protected function getVariableGetter($name) protected function getVariableGetter($name)
{ {
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
return sprintf('($context["%s"] ?? null)', $name, $name); return sprintf('($context["%s"] ?? null)', $name, $name);
} }

View File

@ -264,7 +264,7 @@ class SearchAndRenderBlockNodeTest extends TestCase
protected function getVariableGetter($name) protected function getVariableGetter($name)
{ {
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
return sprintf('($context["%s"] ?? null)', $name, $name); return sprintf('($context["%s"] ?? null)', $name, $name);
} }

View File

@ -40,7 +40,7 @@ class TransNodeTest extends TestCase
protected function getVariableGetterWithoutStrictCheck($name) protected function getVariableGetterWithoutStrictCheck($name)
{ {
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
return sprintf('($context["%s"] ?? null)', $name, $name); return sprintf('($context["%s"] ?? null)', $name, $name);
} }
@ -53,7 +53,7 @@ class TransNodeTest extends TestCase
return sprintf('(isset($context["%s"]) || array_key_exists("%s", $context) ? $context["%s"] : (function () { throw new Twig_Error_Runtime(\'Variable "%s" does not exist.\', 0, $this->getSourceContext()); })())', $name, $name, $name, $name); return sprintf('(isset($context["%s"]) || array_key_exists("%s", $context) ? $context["%s"] : (function () { throw new Twig_Error_Runtime(\'Variable "%s" does not exist.\', 0, $this->getSourceContext()); })())', $name, $name, $name, $name);
} }
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
return sprintf('($context["%s"] ?? $this->getContext($context, "%s"))', $name, $name, $name); return sprintf('($context["%s"] ?? $this->getContext($context, "%s"))', $name, $name, $name);
} }

View File

@ -85,7 +85,7 @@ class PhpExtractor extends AbstractFileExtractor implements ExtractorInterface
foreach ($files as $file) { foreach ($files as $file) {
$this->parseTokens(token_get_all(file_get_contents($file)), $catalog); $this->parseTokens(token_get_all(file_get_contents($file)), $catalog);
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
// PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098 // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
gc_mem_caches(); gc_mem_caches();
} }

View File

@ -262,7 +262,7 @@ REGEX;
$output .= self::compressCode($rawChunk); $output .= self::compressCode($rawChunk);
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
// PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098 // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
unset($tokens, $rawChunk); unset($tokens, $rawChunk);
gc_mem_caches(); gc_mem_caches();

View File

@ -68,7 +68,7 @@ class ClassMapGenerator
$classes = self::findClasses($path); $classes = self::findClasses($path);
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
// PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098 // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
gc_mem_caches(); gc_mem_caches();
} }

View File

@ -61,7 +61,7 @@ class DebugClassLoaderTest extends TestCase
public function testUnsilencing() public function testUnsilencing()
{ {
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
$this->markTestSkipped('PHP7 throws exceptions, unsilencing is not required anymore.'); $this->markTestSkipped('PHP7 throws exceptions, unsilencing is not required anymore.');
} }
if (defined('HHVM_VERSION')) { if (defined('HHVM_VERSION')) {
@ -109,7 +109,7 @@ class DebugClassLoaderTest extends TestCase
} catch (\ErrorException $exception) { } catch (\ErrorException $exception) {
// if an exception is thrown, the test passed // if an exception is thrown, the test passed
$this->assertStringStartsWith(__FILE__, $exception->getFile()); $this->assertStringStartsWith(__FILE__, $exception->getFile());
if (PHP_VERSION_ID < 70000) { if (\PHP_VERSION_ID < 70000) {
$this->assertRegExp('/^Runtime Notice: Declaration/', $exception->getMessage()); $this->assertRegExp('/^Runtime Notice: Declaration/', $exception->getMessage());
$this->assertEquals(E_STRICT, $exception->getSeverity()); $this->assertEquals(E_STRICT, $exception->getSeverity());
} else { } else {
@ -245,7 +245,7 @@ class DebugClassLoaderTest extends TestCase
public function testReservedForPhp7() public function testReservedForPhp7()
{ {
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
$this->markTestSkipped('PHP7 already prevents using reserved names.'); $this->markTestSkipped('PHP7 already prevents using reserved names.');
} }

View File

@ -29,7 +29,7 @@ abstract class FilterIterator extends \FilterIterator
*/ */
public function rewind() public function rewind()
{ {
if (PHP_VERSION_ID > 50607 || (PHP_VERSION_ID > 50523 && PHP_VERSION_ID < 50600)) { if (\PHP_VERSION_ID > 50607 || (\PHP_VERSION_ID > 50523 && \PHP_VERSION_ID < 50600)) {
parent::rewind(); parent::rewind();
return; return;

View File

@ -119,7 +119,7 @@ class RecursiveDirectoryIterator extends \RecursiveDirectoryIterator
} }
// @see https://bugs.php.net/68557 // @see https://bugs.php.net/68557
if (PHP_VERSION_ID < 50523 || PHP_VERSION_ID >= 50600 && PHP_VERSION_ID < 50607) { if (\PHP_VERSION_ID < 50523 || \PHP_VERSION_ID >= 50600 && \PHP_VERSION_ID < 50607) {
parent::next(); parent::next();
} }

View File

@ -162,6 +162,10 @@ class DateTimeToLocalizedStringTransformer extends BaseDateTimeTransformer
$dateFormat = $this->dateFormat; $dateFormat = $this->dateFormat;
$timeFormat = $this->timeFormat; $timeFormat = $this->timeFormat;
$timezone = $ignoreTimezone ? 'UTC' : $this->outputTimezone; $timezone = $ignoreTimezone ? 'UTC' : $this->outputTimezone;
if (class_exists('IntlTimeZone', false)) {
// see https://bugs.php.net/bug.php?id=66323
$timezone = \IntlTimeZone::createTimeZone($timezone);
}
$calendar = $this->calendar; $calendar = $this->calendar;
$pattern = $this->pattern; $pattern = $this->pattern;

View File

@ -82,7 +82,8 @@ class DateType extends AbstractType
\Locale::getDefault(), \Locale::getDefault(),
$dateFormat, $dateFormat,
$timeFormat, $timeFormat,
null, // see https://bugs.php.net/bug.php?id=66323
class_exists('IntlTimeZone', false) ? \IntlTimeZone::createDefault() : null,
$calendar, $calendar,
$pattern $pattern
); );

View File

@ -1577,7 +1577,7 @@ class Request
public function getContent($asResource = false) public function getContent($asResource = false)
{ {
$currentContentIsResource = is_resource($this->content); $currentContentIsResource = is_resource($this->content);
if (PHP_VERSION_ID < 50600 && false === $this->content) { if (\PHP_VERSION_ID < 50600 && false === $this->content) {
throw new \LogicException('getContent() can only be called once when using the resource return type and PHP below 5.6.'); throw new \LogicException('getContent() can only be called once when using the resource return type and PHP below 5.6.');
} }

View File

@ -1057,7 +1057,7 @@ class RequestTest extends TestCase
*/ */
public function testGetContentCantBeCalledTwiceWithResources($first, $second) public function testGetContentCantBeCalledTwiceWithResources($first, $second)
{ {
if (PHP_VERSION_ID >= 50600) { if (\PHP_VERSION_ID >= 50600) {
$this->markTestSkipped('PHP >= 5.6 allows to open php://input several times.'); $this->markTestSkipped('PHP >= 5.6 allows to open php://input several times.');
} }

View File

@ -822,7 +822,7 @@ abstract class Kernel implements KernelInterface, TerminableInterface
$output .= $rawChunk; $output .= $rawChunk;
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
// PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098 // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
unset($tokens, $rawChunk); unset($tokens, $rawChunk);
gc_mem_caches(); gc_mem_caches();

View File

@ -435,7 +435,7 @@ abstract class AbstractIntlDateFormatterTest extends TestCase
public function testFormatWithDateTimeZoneGmtOffset() public function testFormatWithDateTimeZoneGmtOffset()
{ {
if (defined('HHVM_VERSION_ID') || PHP_VERSION_ID <= 50509) { if (defined('HHVM_VERSION_ID') || \PHP_VERSION_ID <= 50509) {
$this->markTestSkipped('DateTimeZone GMT offsets are supported since 5.5.10. See https://github.com/facebook/hhvm/issues/5875 for HHVM.'); $this->markTestSkipped('DateTimeZone GMT offsets are supported since 5.5.10. See https://github.com/facebook/hhvm/issues/5875 for HHVM.');
} }

View File

@ -195,7 +195,7 @@ class PropertyAccessor implements PropertyAccessorInterface
$overwrite = true; $overwrite = true;
try { try {
if (PHP_VERSION_ID < 70000 && false === self::$previousErrorHandler) { if (\PHP_VERSION_ID < 70000 && false === self::$previousErrorHandler) {
self::$previousErrorHandler = set_error_handler(self::$errorHandler); self::$previousErrorHandler = set_error_handler(self::$errorHandler);
} }

View File

@ -64,7 +64,7 @@ class AnnotationFileLoader extends FileLoader
$collection->addResource(new FileResource($path)); $collection->addResource(new FileResource($path));
$collection->addCollection($this->loader->load($class, $type)); $collection->addCollection($this->loader->load($class, $type));
} }
if (PHP_VERSION_ID >= 70000) { if (\PHP_VERSION_ID >= 70000) {
// PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098 // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
gc_mem_caches(); gc_mem_caches();
} }

View File

@ -476,7 +476,7 @@ EOTXT
*/ */
public function testBuggyRefs() public function testBuggyRefs()
{ {
if (PHP_VERSION_ID >= 50600) { if (\PHP_VERSION_ID >= 50600) {
$this->markTestSkipped('PHP 5.6 fixed refs counting'); $this->markTestSkipped('PHP 5.6 fixed refs counting');
} }