diff --git a/CHANGELOG-4.0.md b/CHANGELOG-4.0.md index 9deacb4981f4f..c3af769a411f8 100644 --- a/CHANGELOG-4.0.md +++ b/CHANGELOG-4.0.md @@ -7,6 +7,15 @@ in 4.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/v4.0.0...v4.0.1 +* 4.0.6 (2018-03-05) + + * bug #26393 [DI] Skip resource tracking if disabled (chalasr) + * bug #26403 fix the handling of timestamp in the MongoDBSessionHandler (hjanuschka) + * bug #26355 [DI] Fix missing "id" normalization when dumping the container (nicolas-grekas) + * bug #26368 [WebProfilerBundle] Fix Debug toolbar breaks app (xkobal) + * bug #26369 Use fill instead of style for svg colors (rpkamp) + * bug #26358 [FrameworkBundle] Silence "Failed to remove directory" on cache:clear (nicolas-grekas) + * 4.0.5 (2018-03-01) * bug #26327 [Form][WCAG] Errors sign for people that do not see colors (Nyholm) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 96a8a8f23cc19..0b1fbb47f3562 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -12,31 +12,31 @@ Symfony is the result of the work of many people who made the code better - Christophe Coevoet (stof) - Jordi Boggiano (seldaek) - Victor Berchet (victor) - - Johannes S (johannes) - Kévin Dunglas (dunglas) + - Johannes S (johannes) - Jakub Zalas (jakubzalas) - - Kris Wallsmith (kriswallsmith) - Robin Chalas (chalas_r) + - Kris Wallsmith (kriswallsmith) - Ryan Weaver (weaverryan) - Javier Eguiluz (javier.eguiluz) - Maxime Steinhausser (ogizanagi) - Hugo Hamon (hhamon) - - Abdellatif Ait boudad (aitboudad) - Grégoire Pineau (lyrixx) + - Abdellatif Ait boudad (aitboudad) - Romain Neutron (romain) - Pascal Borreli (pborreli) - Wouter De Jong (wouterj) - Joseph Bielawski (stloyd) - Karma Dordrak (drak) - - Lukas Kahwe Smith (lsmith) - Roland Franssen (ro0) + - Lukas Kahwe Smith (lsmith) - Martin Hasoň (hason) - Jeremy Mikola (jmikola) - Jean-François Simon (jfsimon) - Benjamin Eberlei (beberlei) - Igor Wiedler (igorw) - - Eriksen Costa (eriksencosta) - Jules Pietri (heah) + - Eriksen Costa (eriksencosta) - Guilhem Niot (energetick) - Sarah Khalil (saro0h) - Jonathan Wage (jwage) @@ -45,28 +45,28 @@ Symfony is the result of the work of many people who made the code better - William Durand (couac) - ornicar - Francis Besset (francisbesset) + - Iltar van der Berg (kjarli) - stealth35 ‏ (stealth35) + - Hamza Amrouche (simperfit) - Alexander Mols (asm89) - - Iltar van der Berg (kjarli) - Yonel Ceruto (yonelceruto) - Bulat Shakirzyanov (avalanche123) - Peter Rehm (rpet) - Saša Stamenković (umpirsky) + - Matthias Pigulla (mpdude) - Henrik Bjørnskov (henrikbjorn) - Miha Vrhovnik - - Matthias Pigulla (mpdude) - Diego Saint Esteben (dii3g0) - Dany Maillard (maidmaid) + - Pierre du Plessis (pierredup) - Konstantin Kudryashov (everzet) - - Amrouche Hamza (simperfit) - Kevin Bond (kbond) - - Pierre du Plessis (pierredup) - Bilal Amarni (bamarni) - - Florin Patan (florinpatan) + - Alexander M. Turek (derrabus) - Jérémy DERUSSÉ (jderusse) + - Florin Patan (florinpatan) - Samuel ROZE (sroze) - Gábor Egyed (1ed) - - Alexander M. Turek (derrabus) - Michel Weimerskirch (mweimerskirch) - Andrej Hudec (pulzarraider) - Eric Clemmons (ericclemmons) @@ -75,39 +75,40 @@ Symfony is the result of the work of many people who made the code better - Titouan Galopin (tgalopin) - Konstantin Myakshin (koc) - Christian Raue + - Tobias Nyholm (tobias) - Arnout Boks (aboks) - Deni - Henrik Westphal (snc) - Dariusz Górecki (canni) - - Issei Murasawa (issei_m) - Douglas Greenshields (shieldo) - - Tobias Nyholm (tobias) + - Issei Murasawa (issei_m) - Lee McDermott - Brandon Turner - Luis Cordova (cordoval) - Graham Campbell (graham) - Daniel Holmes (dholmes) + - Dariusz Ruminski - Toni Uebernickel (havvg) - Bart van den Burg (burgov) - Jordan Alliot (jalliot) - Jérôme Tamarelle (gromnan) - John Wards (johnwards) - - Dariusz Ruminski - Fran Moreno (franmomu) - Antoine Hérault (herzult) - Paráda József (paradajozsef) + - David Maicher (dmaicher) - Arnaud Le Blanc (arnaud-lb) - Maxime STEINHAUSSER + - Vladimir Reznichenko (kalessil) - Michal Piotrowski (eventhorizon) - Tim Nagel (merk) - - David Maicher (dmaicher) - - Vladimir Reznichenko (kalessil) - Brice BERNARD (brikou) - Baptiste Clavié (talus) - marc.weistroff - lenar - Alexander Schwenn (xelaris) - Włodzimierz Gajda (gajdaw) + - Grégoire Paris (greg0ire) - Jacob Dreesen (jdreesen) - Florian Voutzinos (florianv) - Colin Frei @@ -117,7 +118,6 @@ Symfony is the result of the work of many people who made the code better - Peter Kokot (maastermedia) - David Buchmann (dbu) - excelwebzone - - Grégoire Paris (greg0ire) - Fabien Pennequin (fabienpennequin) - Gordon Franke (gimler) - Eric GELOEN (gelo) @@ -129,15 +129,18 @@ Symfony is the result of the work of many people who made the code better - Sebastiaan Stok (sstok) - Stefano Sala (stefano.sala) - Evgeniy (ewgraf) + - Lars Strojny (lstrojny) + - Alex Pott + - Javier Spagnoletti (phansys) - Vincent AUBERT (vincent) - Juti Noppornpitak (shiroyuki) - Tigran Azatyan (tigranazatyan) - Sebastian Hörl (blogsh) - Daniel Gomes (danielcsgomes) - Hidenori Goto (hidenorigoto) - - Alex Pott - Guilherme Blanco (guilhermeblanco) - Pablo Godel (pgodel) + - Jérôme Vasseur (jvasseur) - Jérémie Augustin (jaugustin) - Andréia Bohner (andreia) - Julien Falque (julienfalque) @@ -146,20 +149,18 @@ Symfony is the result of the work of many people who made the code better - jwdeitch - Mikael Pajunen - Joel Wurtz (brouznouf) - - Jérôme Vasseur (jvasseur) - Chris Wilkinson (thewilkybarkid) - Oleg Voronkovich - Philipp Wahala (hifi) - Vyacheslav Pavlov - Richard van Laak (rvanlaak) - - Javier Spagnoletti (phansys) - Richard Shank (iampersistent) - Thomas Rabaix (rande) - Rouven Weßling (realityking) - Teoh Han Hui (teohhanhui) + - Valentin Udaltsov (vudaltsov) - Clemens Tolboom - Helmer Aaviksoo - - Lars Strojny (lstrojny) - Hiromi Hishida (77web) - Matthieu Ouellette-Vachon (maoueh) - Michał Pipa (michal.pipa) @@ -170,11 +171,11 @@ Symfony is the result of the work of many people who made the code better - GDIBass - jeremyFreeAgent (Jérémy Romey) (jeremyfreeagent) - James Halsall (jaitsu) + - Gabriel Caruso - Warnar Boekkooi (boekkooi) - Dmitrii Chekaliuk (lazyhammer) - Clément JOBEILI (dator) - Daniel Espendiller - - Valentin Udaltsov (vudaltsov) - Possum - Dorian Villet (gnutix) - Sergey Linnik (linniksa) @@ -182,6 +183,7 @@ Symfony is the result of the work of many people who made the code better - Mario A. Alvarez Garcia (nomack84) - Dennis Benkert (denderello) - SpacePossum + - Matthieu Napoli (mnapoli) - Benjamin Dulau (dbenjamin) - Mathieu Lemoine (lemoinem) - Christian Schmidt @@ -192,6 +194,7 @@ Symfony is the result of the work of many people who made the code better - bronze1man - sun (sun) - Larry Garfield (crell) + - Gabriel Ostrolucký - Martin Schuhfuß (usefulthink) - apetitpa - Matthieu Bontemps (mbontemps) @@ -216,10 +219,10 @@ Symfony is the result of the work of many people who made the code better - Niels Keurentjes (curry684) - Eugene Wissner - Julien Brochet (mewt) - - Gabriel Ostrolucký - Tristan Darricau (nicofuma) - Michaël Perrin (michael.perrin) - Marcel Beerta (mazen) + - gadelat (gadelat) - Loïc Faugeron - Jannik Zschiesche (apfelbox) - Hidde Wieringa (hiddewie) @@ -229,6 +232,7 @@ Symfony is the result of the work of many people who made the code better - Lorenz Schori - Sébastien Lavoie (lavoiesl) - Gregor Harlan (gharlan) + - Dariusz - Francois Zaninotto - Alexander Kotynia (olden) - Daniel Tschinder @@ -244,6 +248,7 @@ Symfony is the result of the work of many people who made the code better - Xavier Perez - Arjen Brouwer (arjenjb) - Katsuhiro OGAWA + - Thomas Calvet (fancyweb) - Patrick McDougle (patrick-mcdougle) - Alif Rachmawadi - Alessandro Chitolina @@ -263,9 +268,9 @@ Symfony is the result of the work of many people who made the code better - Nikolay Labinskiy (e-moe) - Leo Feyer - Chekote - - gadelat (gadelat) - Thomas Adam - Albert Casademont (acasademont) + - Viktor Bocharskyi (bocharsky_bw) - Jhonny Lidfors (jhonne) - Diego Agulló (aeoris) - Andreas Schempp (aschempp) @@ -276,10 +281,8 @@ Symfony is the result of the work of many people who made the code better - Nikita Konstantinov - Wodor Wodorski - Oskar Stark (oskarstark) - - Dariusz - Thomas Lallement (raziel057) - Giorgio Premi - - Matthieu Napoli (mnapoli) - Beau Simensen (simensen) - Michael Hirschler (mvhirsch) - Robert Kiss (kepten) @@ -296,7 +299,6 @@ Symfony is the result of the work of many people who made the code better - Christian Schmidt - Yanick Witschi (toflar) - Edi Modrić (emodric) - - Thomas Calvet (fancyweb) - Chad Sikorra (chadsikorra) - Chris Smith (cs278) - Florian Klein (docteurklein) @@ -315,7 +317,6 @@ Symfony is the result of the work of many people who made the code better - Baptiste Lafontaine - François Pluchino (francoispluchino) - Aurelijus Valeiša (aurelijus) - - Victor Bocharsky (bocharsky_bw) - Jan Decavele (jandc) - Gustavo Piltcher - Stepan Tanasiychuk (stfalcon) @@ -418,7 +419,6 @@ Symfony is the result of the work of many people who made the code better - Jan Schumann - Niklas Fiekas - Markus Bachmann (baachi) - - Gabriel Caruso - lancergr - Mihai Stancu - Olivier Dolbeau (odolbeau) @@ -467,6 +467,7 @@ Symfony is the result of the work of many people who made the code better - Gladhon - Sebastian Bergmann - Miroslav Sustek + - Sullivan SENECHAL (soullivaneuh) - Pablo Díez (pablodip) - Martin Hujer (martinhujer) - Kevin McBride @@ -499,6 +500,7 @@ Symfony is the result of the work of many people who made the code better - Arjen van der Meijden - Michele Locati - Dariusz Ruminski + - Mathieu Lechat - Erik Trapman (eriktrapman) - De Cock Xavier (xdecock) - Almog Baku (almogbaku) @@ -554,6 +556,7 @@ Symfony is the result of the work of many people who made the code better - Jean-Christophe Cuvelier [Artack] - alcaeus - vitaliytv + - Dalibor Karlović (dkarlovi) - Sebastian Blum - aubx - Marvin Butkereit @@ -609,6 +612,7 @@ Symfony is the result of the work of many people who made the code better - Ivo Bathke (ivoba) - Strate - Anton A. Sumin + - Israel J. Carberry - Miquel Rodríguez Telep (mrtorrent) - Sergey Kolodyazhnyy (skolodyazhnyy) - umpirski @@ -649,9 +653,9 @@ Symfony is the result of the work of many people who made the code better - Tiago Brito (blackmx) - Richard van den Brand (ricbra) - develop + - Greg Anderson - VJ - Delf Tonder (leberknecht) - - Sullivan SENECHAL (soullivaneuh) - Mark Sonnabaum - Richard Quadling - jochenvdv @@ -720,7 +724,6 @@ Symfony is the result of the work of many people who made the code better - Nikita Nefedov (nikita2206) - cgonzalez - Ben - - Mathieu Lechat - Vincent Composieux (eko) - Jayson Xu (superjavason) - Christopher Hertel (chertel) @@ -802,6 +805,7 @@ Symfony is the result of the work of many people who made the code better - Thibault Duplessis - Marc Abramowitz - Martijn Evers + - Tony Tran - Jacques Moati - Balazs Csaba (balazscsaba2006) - Douglas Reith (douglas_reith) @@ -812,6 +816,7 @@ Symfony is the result of the work of many people who made the code better - Michael Roterman (wtfzdotnet) - Arno Geurts - Adán Lobato (adanlobato) + - Ian Jenkins (jenkoian) - Matthew Davis (mdavis1982) - Maks - Antoine LA @@ -834,6 +839,7 @@ Symfony is the result of the work of many people who made the code better - Rootie - Raul Fraile (raulfraile) - sensio + - Sebastien Morel (plopix) - Patrick Kaufmann - Piotr Stankowski - Reece Fowell (reecefowell) @@ -846,6 +852,7 @@ Symfony is the result of the work of many people who made the code better - Christian Jul Jensen - Alexandre GESLIN (alexandregeslin) - The Whole Life to Learn + - ergiegonzaga - Farhad Safarov - Liverbool (liverbool) - Sam Malone @@ -877,6 +884,7 @@ Symfony is the result of the work of many people who made the code better - Danilo Silva - Arnaud PETITPAS (apetitpa) - Zachary Tong (polyfractal) + - Ashura - Hryhorii Hrebiniuk - Dennis Fridrich (dfridrich) - hamza @@ -896,11 +904,11 @@ Symfony is the result of the work of many people who made the code better - Wojciech Sznapka - Gavin Staniforth - Ariel J. Birnbaum + - Mathieu Santostefano - Arjan Keeman - Máximo Cuadros (mcuadros) - tamirvs - julien.galenski - - Israel J. Carberry - Bob van de Vijver - Christian Neff - Oliver Hoff @@ -923,6 +931,7 @@ Symfony is the result of the work of many people who made the code better - Antanas Arvasevicius - Maximilian Berghoff (electricmaxxx) - nacho + - Mathieu Piot - Piotr Antosik (antek88) - Artem Lopata - Sergey Novikov (s12v) @@ -964,6 +973,7 @@ Symfony is the result of the work of many people who made the code better - DerManoMann - Olaf Klischat - orlovv + - Peter Smeets (darkspartan) - Haralan Dobrev (hkdobrev) - Jhonny Lidfors (jhonny) - Julien Bianchi (jubianchi) @@ -1010,6 +1020,7 @@ Symfony is the result of the work of many people who made the code better - fduch (fduch) - Rhodri Pugh (rodnaph) - David de Boer (ddeboer) + - Ryan Rogers - Klaus Purer - arnaud (arnooo999) - Gilles Doge (gido) @@ -1020,6 +1031,7 @@ Symfony is the result of the work of many people who made the code better - Brooks Boyd - Roger Webb - Dmitriy Simushev + - Pawel Smolinski - pkowalczyk - Max Voloshin (maxvoloshin) - Nicolas Fabre (nfabre) @@ -1033,6 +1045,7 @@ Symfony is the result of the work of many people who made the code better - Felicitus - Krzysztof Przybyszewski - Paul Matthews + - Jakub Kisielewski - Vacheslav Silyutin - Juan Traverso - Alain Flaus (halundra) @@ -1047,7 +1060,7 @@ Symfony is the result of the work of many people who made the code better - Marco - Marc Torres - Alberto Aldegheri - - Dalibor Karlović + - Dmitri Petmanson - heccjj - Alexandre Melard - Jay Klehr @@ -1089,6 +1102,7 @@ Symfony is the result of the work of many people who made the code better - Pierre Tachoire (krichprollsch) - Marc J. Schmidt (marcjs) - Marco Jantke + - Remon van de Kamp - Saem Ghani - Clément LEFEBVRE - Conrad Kleinespel @@ -1173,7 +1187,9 @@ Symfony is the result of the work of many people who made the code better - Mathieu Morlon - Daniel Tschinder - Alexander Schranz + - Arnaud CHASSEUX - Rafał Muszyński (rafmus90) + - Sébastien Decrême (sebdec) - Timothy Anido (xanido) - Mara Blaga - Rick Prent @@ -1184,6 +1200,7 @@ Symfony is the result of the work of many people who made the code better - Jon Gotlin (jongotlin) - Michael Dowling (mtdowling) - Karlos Presumido (oneko) + - Thomas Counsell - BilgeXA - r1pp3rj4ck - Robert Queck @@ -1197,6 +1214,7 @@ Symfony is the result of the work of many people who made the code better - rkerner - Alex Silcock - Qingshan Luo + - Ergie Gonzaga - Matthew J Mucklo - fdgdfg (psampaz) - Stéphane Seng @@ -1217,6 +1235,7 @@ Symfony is the result of the work of many people who made the code better - Patrik Gmitter (patie) - Jonathan Gough - Benjamin Bender + - Jared Farrish - Konrad Mohrfeldt - Lance Chen - Andrew (drew) @@ -1302,6 +1321,7 @@ Symfony is the result of the work of many people who made the code better - Waqas Ahmed - Luis Muñoz - Matthew Donadio + - Houziaux mike - Andreas - Thomas Chmielowiec - shdev @@ -1329,6 +1349,7 @@ Symfony is the result of the work of many people who made the code better - loru88 - Romain Dorgueil - Christopher Parotat + - 蝦米 - Grayson Koonce (breerly) - Indra Gunawan (indragunawan) - Karim Cassam Chenaï (ka) @@ -1376,6 +1397,7 @@ Symfony is the result of the work of many people who made the code better - Artem Lopata (bumz) - Nicole Cordes - Roman Orlov + - andrey1s - VolCh - Alexey Popkov - Gijs Kunze @@ -1416,6 +1438,7 @@ Symfony is the result of the work of many people who made the code better - Tischoi - J Bruni - Alexey Prilipko + - Dmitriy Fedorenko - vlakoff - bertillon - Bertalan Attila @@ -1447,6 +1470,7 @@ Symfony is the result of the work of many people who made the code better - David Zuelke - Oleg Andreyev - Pierre Rineau + - Maxim Lovchikov - adenkejawen - Ari Pringle (apringle) - Dan Ordille (dordille) @@ -1463,6 +1487,7 @@ Symfony is the result of the work of many people who made the code better - Matt Lehner - Hein Zaw Htet™ - Ruben Kruiswijk + - Cosmin-Romeo TANASE - Michael J - Joseph Maarek - Alexander Menk @@ -1488,6 +1513,7 @@ Symfony is the result of the work of many people who made the code better - Even André Fiskvik - Arjan Keeman - Erik van Wingerden + - Valouleloup - Dane Powell - Gerrit Drost - Linnaea Von Lavia @@ -1517,14 +1543,15 @@ Symfony is the result of the work of many people who made the code better - David Joos (djoos) - Denis Klementjev (dklementjev) - Tomáš Polívka (draczris) + - Dennis Smink (dsmink) - Franz Liedke (franzliedke) + - Gaylord Poillon (gaylord_p) - Christophe BECKER (goabonga) - gondo (gondo) - Gusakov Nikita (hell0w0rd) - Osman Üngür (import) - Javier Núñez Berrocoso (javiernuber) - Jelle Bekker (jbekker) - - Ian Jenkins (jenkoian) - Giovanni Albero (johntree) - Jorge Martin (jorgemartind) - Joeri Verdeyen (jverdeyen) @@ -1536,6 +1563,7 @@ Symfony is the result of the work of many people who made the code better - Muriel (metalmumu) - Michael Pohlers (mick_the_big) - mlpo (mlpo) + - Marek Šimeček (mssimi) - Cayetano Soriano Gallego (neoshadybeat) - Ondrej Machulda (ondram) - Pablo Monterde Perez (plebs) @@ -1650,6 +1678,7 @@ Symfony is the result of the work of many people who made the code better - fmarchalemisys - mieszko4 - Steve Preston + - Kevin Frantz - Neophy7e - bokonet - Arrilot @@ -1659,9 +1688,11 @@ Symfony is the result of the work of many people who made the code better - djama - Michael Gwynne - Eduardo Conceição + - changmin.keum - Jon Cave - Sébastien HOUZE - Abdulkadir N. A. + - Adam Klvač - Yevgen Kovalienia - Lebnik - Shude @@ -1697,6 +1728,7 @@ Symfony is the result of the work of many people who made the code better - Oncle Tom - Sam Anthony - Christian Stocker + - Oussama Elgoumri - Dawid Nowak - Lesnykh Ilia - darnel @@ -1754,6 +1786,7 @@ Symfony is the result of the work of many people who made the code better - joris de wit (jdewit) - Jérémy CROMBEZ (jeremy) - Jose Manuel Gonzalez (jgonzalez) + - Joachim Krempel (jkrempel) - Jorge Maiden (jorgemaiden) - Justin Rainbow (jrainbow) - Juan Luis (juanlugb) @@ -1764,6 +1797,7 @@ Symfony is the result of the work of many people who made the code better - Krzysztof Menżyk (krymen) - samuel laulhau (lalop) - Laurent Bachelier (laurentb) + - Luís Cobucci (lcobucci) - Florent Viel (luxifer) - Matthieu Mota (matthieumota) - Matthieu Moquet (mattketmo) @@ -1788,6 +1822,7 @@ Symfony is the result of the work of many people who made the code better - Phil Taylor (prazgod) - Brayden Williams (redstar504) - Rich Sage (richsage) + - Rokas Mikalkėnas (rokasm) - Bart Ruysseveldt (ruyss) - Sascha Dens (saschadens) - scourgen hung (scourgen) diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md index 4eb1a0ed2a923..4a6d02b37440b 100644 --- a/UPGRADE-4.0.md +++ b/UPGRADE-4.0.md @@ -236,6 +236,17 @@ DependencyInjection * The `ExtensionCompilerPass` has been moved to before-optimization passes with priority -1000. + * In 3.4, parameter `container.dumper.inline_class_loader` was introduced. Unless + you're using a custom autoloader, you should enable this parameter. This can + drastically improve DX by reducing the time to load classes when the `DebugClassLoader` + is enabled. If you're using `FrameworkBundle`, this performance improvement will + also impact the "dev" environment: + + ```yml + parameters: + container.dumper.inline_class_loader: true + ``` + DoctrineBridge -------------- diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php index a0872338a51b5..fd739745af852 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php +++ b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php @@ -130,7 +130,9 @@ protected function execute(InputInterface $input, OutputInterface $output) try { $fs->remove($oldCacheDir); } catch (IOException $e) { - $io->warning($e->getMessage()); + if ($output->isVerbose()) { + $io->warning($e->getMessage()); + } } if ($output->isVerbose()) { diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/forward.svg b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/forward.svg index 96a5bd7d22e02..8b92d448fefd6 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/forward.svg +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/forward.svg @@ -1,4 +1,4 @@ - diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/redirect.svg b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/redirect.svg index 54ff4187a4c81..dcdd15c288bd8 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/redirect.svg +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Icon/redirect.svg @@ -1,5 +1,5 @@ - getDefinitionId($id); $this->graph->connect( $this->currentId, $this->currentDefinition, - $this->getDefinitionId($id), + $id, $this->getDefinition($id) ); } diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php index cb05f90143525..d60272b276558 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php @@ -90,9 +90,7 @@ private function processValue($value, $rootLevel = 0, $level = 0) $value = array_values($value); } } elseif ($value instanceof Reference) { - $id = (string) $value; - - if ($this->container->has($id)) { + if ($this->container->has($value)) { return $value; } $invalidBehavior = $value->getInvalidBehavior(); diff --git a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php index 8d7011c1b015c..f28726c11a55f 100644 --- a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php +++ b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php @@ -326,9 +326,11 @@ public function getReflectionClass(?string $class, bool $throw = true): ?\Reflec try { if (isset($this->classReflectors[$class])) { $classReflector = $this->classReflectors[$class]; - } else { + } elseif ($this->trackResources) { $resource = new ClassExistenceResource($class, false); $classReflector = $resource->isFresh(0) ? false : new \ReflectionClass($class); + } else { + $classReflector = new \ReflectionClass($class); } } catch (\ReflectionException $e) { if ($throw) { @@ -592,7 +594,7 @@ private function doGet($id, $invalidBehavior = ContainerInterface::EXCEPTION_ON_ * * @throws BadMethodCallException When this ContainerBuilder is compiled */ - public function merge(ContainerBuilder $container) + public function merge(self $container) { if ($this->isCompiled()) { throw new BadMethodCallException('Cannot merge on a compiled container.'); @@ -1324,16 +1326,16 @@ public function resolveEnvPlaceholders($value, $format = null, array &$usedEnvs $value = $bag->resolveValue($value); } - if (is_array($value)) { + if (\is_array($value)) { $result = array(); foreach ($value as $k => $v) { - $result[$this->resolveEnvPlaceholders($k, $format, $usedEnvs)] = $this->resolveEnvPlaceholders($v, $format, $usedEnvs); + $result[\is_string($k) ? $this->resolveEnvPlaceholders($k, $format, $usedEnvs) : $k] = $this->resolveEnvPlaceholders($v, $format, $usedEnvs); } return $result; } - if (!is_string($value)) { + if (!\is_string($value) || 38 > \strlen($value)) { return $value; } $envPlaceholders = $bag instanceof EnvPlaceholderParameterBag ? $bag->getEnvPlaceholders() : $this->envPlaceholders; diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 4e475fe0b81b9..55537643d3dc3 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -1552,11 +1552,12 @@ private function dumpValue($value, bool $interpolate = true): string } elseif ($value instanceof Variable) { return '$'.$value; } elseif ($value instanceof Reference) { - if (null !== $this->referenceVariables && isset($this->referenceVariables[$id = (string) $value])) { + $id = (string) $value; + if (null !== $this->referenceVariables && isset($this->referenceVariables[$id])) { return $this->dumpValue($this->referenceVariables[$id], $interpolate); } - return $this->getServiceCall((string) $value, $value); + return $this->getServiceCall($id, $value); } elseif ($value instanceof Expression) { return $this->getExpressionLanguage()->compile((string) $value, array('this' => 'container')); } elseif ($value instanceof Parameter) { diff --git a/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php b/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php index da6a21b83734a..dc5a4be292190 100644 --- a/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php +++ b/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php @@ -171,16 +171,16 @@ public function resolve() */ public function resolveValue($value, array $resolving = array()) { - if (is_array($value)) { + if (\is_array($value)) { $args = array(); foreach ($value as $k => $v) { - $args[$this->resolveValue($k, $resolving)] = $this->resolveValue($v, $resolving); + $args[\is_string($k) ? $this->resolveValue($k, $resolving) : $k] = $this->resolveValue($v, $resolving); } return $args; } - if (!is_string($value)) { + if (!\is_string($value) || 2 > \strlen($value)) { return $value; } diff --git a/src/Symfony/Component/Finder/Finder.php b/src/Symfony/Component/Finder/Finder.php index e7157b1b0a599..7cb0853ae78b6 100644 --- a/src/Symfony/Component/Finder/Finder.php +++ b/src/Symfony/Component/Finder/Finder.php @@ -297,6 +297,10 @@ public function size($size) /** * Excludes directories. * + * Directories passed as argument must be relative to the ones defined with the `in()` method. For example: + * + * $finder->in(__DIR__)->exclude('ruby'); + * * @param string|array $dirs A directory path or an array of directories * * @return $this diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php index edc0149f995a4..9cc7055e984a2 100644 --- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php +++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php @@ -141,7 +141,7 @@ protected function doWrite($sessionId, $data) */ public function updateTimestamp($sessionId, $data) { - $expiry = $this->createDateTime(time() + (int) ini_get('session.gc_maxlifetime')); + $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000); if ($this->mongo instanceof \MongoDB\Client) { $methodName = 'updateOne'; @@ -154,7 +154,7 @@ public function updateTimestamp($sessionId, $data) $this->getCollection()->$methodName( array($this->options['id_field'] => $sessionId), array('$set' => array( - $this->options['time_field'] => $this->createDateTime(), + $this->options['time_field'] => new \MongoDB\BSON\UTCDateTime(), $this->options['expiry_field'] => $expiry, )), $options diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index f3aa39982a8c9..d7038c6c1f2ff 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -63,11 +63,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl private $requestStackSize = 0; private $resetServices = false; - const VERSION = '4.0.5'; - const VERSION_ID = 40005; + const VERSION = '4.0.6'; + const VERSION_ID = 40006; const MAJOR_VERSION = 4; const MINOR_VERSION = 0; - const RELEASE_VERSION = 5; + const RELEASE_VERSION = 6; const EXTRA_VERSION = ''; const END_OF_MAINTENANCE = '07/2018';