diff --git a/CHANGELOG-5.2.md b/CHANGELOG-5.2.md
index b77697fd01f15..68a57b4be09f1 100644
--- a/CHANGELOG-5.2.md
+++ b/CHANGELOG-5.2.md
@@ -7,6 +7,17 @@ in 5.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/v5.2.0...v5.2.1
+* 5.2.5 (2021-03-10)
+
+ * bug #40415 Fix `ConstraintViolation#getPropertyPath()` to always return `string` (Ocramius)
+ * bug #40421 [FrameworkBundle] fix XSD (nicolas-grekas)
+ * bug #39685 [Mailer][Mime][TwigBridge][Validator] Allow egulias/email-validator 3.x (derrabus)
+ * bug #40398 [FrameworkBundle] : Fix method name compare in ResolveControllerNameSubscriber (glensc)
+ * bug #39733 [TwigBridge] Render email once (jderusse)
+ * bug #40386 [DependencyInjection][Security] Backport psr/container 1.1/2.0 compatibility (derrabus)
+ * bug #40376 [Messenger] Don't lock tables or start transactions (Nyholm)
+ * bug #40378 Changing ZulipTransportFactory tag to prevent the exception UnsupportedSchemeException (big-r81)
+
* 5.2.4 (2021-03-04)
* bug #40336 [Messenger] Doctrine setup with migrations (Nyholm)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index b64aa797a5b14..09e940bebd83c 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -4,17 +4,14 @@ CONTRIBUTORS
Symfony is the result of the work of many people who made the code better.
The Symfony Connect username in parenthesis allows to get more information
-about contributors (like https://connect.symfony.com/profile/fabpot). See
-https://symfony.com/contributors for more information.
-
- Fabien Potencier (fabpot)
- Nicolas Grekas (nicolas-grekas)
- Christian Flothmann (xabbuh)
- Bernhard Schussek (bschussek)
- Tobias Schultze (tobion)
- Robin Chalas (chalas_r)
- - Christophe Coevoet (stof)
- Alexander M. Turek (derrabus)
+ - Christophe Coevoet (stof)
- Kévin Dunglas (dunglas)
- Maxime Steinhausser (ogizanagi)
- Jordi Boggiano (seldaek)
@@ -26,12 +23,12 @@ https://symfony.com/contributors for more information.
- Jakub Zalas (jakubzalas)
- Johannes S (johannes)
- Kris Wallsmith (kriswallsmith)
- - Wouter de Jong (wouterj)
+ - Wouter De Jong (wouterj)
- Jérémy DERUSSÉ (jderusse)
- Thomas Calvet (fancyweb)
- - Yonel Ceruto (yonelceruto)
+ - Yonel Ceruto González (yonelceruto)
- Hugo Hamon (hhamon)
- - Abdellatif Ait boudad (aitboudad)
+ - Ait Boudad Abdellatif (aitboudad)
- Samuel ROZE (sroze)
- Romain Neutron (romain)
- Pascal Borreli (pborreli)
@@ -39,20 +36,20 @@ https://symfony.com/contributors for more information.
- Karma Dordrak (drak)
- Jules Pietri (heah)
- Lukas Kahwe Smith (lsmith)
- - Martin Hasoň (hason)
- - Hamza Amrouche (simperfit)
- Tobias Nyholm (tobias)
+ - Martin Hasoň (hason)
+ - Amrouche Hamza (simperfit)
- Jeremy Mikola (jmikola)
+ - Oskar Stark (oskarstark)
- Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw)
- - Oskar Stark (oskarstark)
- Eriksen Costa (eriksencosta)
- - Guilhem Niot (energetick)
+ - Ener-Getick (energetick)
- Sarah Khalil (saro0h)
- Jan Schädlich (jschaedl)
- Jonathan Wage (jwage)
- - Lynn van der Berg (kjarli)
+ - Iltar van der Berg (kjarli)
- Pierre du Plessis (pierredup)
- Matthias Pigulla (mpdude)
- Diego Saint Esteben (dosten)
@@ -70,7 +67,7 @@ https://symfony.com/contributors for more information.
- Bulat Shakirzyanov (avalanche123)
- Saša Stamenković (umpirsky)
- Peter Rehm (rpet)
- - Gabriel Ostrolucký (gadelat)
+ - gadelat (gadelat)
- Titouan Galopin (tgalopin)
- David Maicher (dmaicher)
- Gábor Egyed (1ed)
@@ -90,14 +87,14 @@ https://symfony.com/contributors for more information.
- Eric Clemmons (ericclemmons)
- Charles Sarrazin (csarrazi)
- Douglas Greenshields (shieldo)
+ - Jérôme Tamarelle (gromnan)
- Laurent VOULLEMIER (lvo)
- Arnout Boks (aboks)
- Graham Campbell (graham)
- - Jérôme Tamarelle (gromnan)
+ - David Buchmann (dbu)
- Deni
- Henrik Westphal (snc)
- Dariusz Górecki (canni)
- - David Buchmann (dbu)
- Dariusz Ruminski
- Fran Moreno (franmomu)
- Lee McDermott
@@ -130,6 +127,7 @@ https://symfony.com/contributors for more information.
- Massimiliano Arione (garak)
- Włodzimierz Gajda (gajdaw)
- Adrien Brault (adrienbrault)
+ - Antoine M (amakdessi)
- Jacob Dreesen (jdreesen)
- Florian Voutzinos (florianv)
- Teoh Han Hui (teohhanhui)
@@ -137,21 +135,21 @@ https://symfony.com/contributors for more information.
- Colin Frei
- Javier Spagnoletti (phansys)
- Joshua Thijssen
- - Antoine Makdessi (amakdessi)
- Daniel Wehner (dawehner)
- Tugdual Saunier (tucksaun)
+ - Julien Falque (julienfalque)
- excelwebzone
- Gordon Franke (gimler)
- Joel Wurtz (brouznouf)
- Fabien Pennequin (fabienpennequin)
- - Julien Falque (julienfalque)
- Théo FIDRY (theofidry)
- Eric GELOEN (gelo)
- Jannik Zschiesche (apfelbox)
- - jeremyFreeAgent (jeremyfreeagent)
+ - Jérémy Romey (jeremyfreeagent)
- Robert Schönthal (digitalkaoz)
- Gregor Harlan (gharlan)
- Florian Lonqueu-Brochard (florianlb)
+ - Tigran Azatyan (tigranazatyan)
- Gabriel Caruso (carusogabriel)
- Stefano Sala (stefano.sala)
- Yanick Witschi (toflar)
@@ -159,7 +157,6 @@ https://symfony.com/contributors for more information.
- Vincent AUBERT (vincent)
- Juti Noppornpitak (shiroyuki)
- Anthony MARTIN (xurudragon)
- - Tigran Azatyan (tigranazatyan)
- Sebastian Hörl (blogsh)
- Daniel Gomes (danielcsgomes)
- Hidenori Goto (hidenorigoto)
@@ -176,13 +173,14 @@ https://symfony.com/contributors for more information.
- François-Xavier de Guillebon (de-gui_f)
- Oleg Voronkovich
- Tomas Norkūnas (norkunas)
- - Philipp Wahala (hifi)
+ - hacfi (hifi)
- Rafael Dohms (rdohms)
- jwdeitch
- Ahmed TAILOULOUTE (ahmedtai)
- Mathias Arlaud (mtarld)
- Mikael Pajunen
- Gary PEGEOT (gary-p)
+ - HypeMC (hypemc)
- Arman Hosseini (arman)
- Niels Keurentjes (curry684)
- Vyacheslav Pavlov
@@ -195,7 +193,6 @@ https://symfony.com/contributors for more information.
- Ben Davies (bendavies)
- Andreas Schempp (aschempp)
- Clemens Tolboom
- - HypeMC (hypemc)
- Helmer Aaviksoo
- Hiromi Hishida (77web)
- Matthieu Ouellette-Vachon (maoueh)
@@ -203,6 +200,7 @@ https://symfony.com/contributors for more information.
- Dawid Nowak
- Maxime Helias (maxhelias)
- Amal Raghav (kertz)
+ - Albert Casademont (acasademont)
- Jonathan Ingram (jonathaningram)
- Artur Kotyrba
- Tyson Andre
@@ -210,7 +208,7 @@ https://symfony.com/contributors for more information.
- Samuel NELA (snela)
- Olivier Dolbeau (odolbeau)
- Fabien Bourigault (fbourigault)
- - Saif (╯°□°)╯ (azjezz)
+ - Saif Eddin Gmati (azjezz)
- James Halsall (jaitsu)
- Florent Mata (fmata)
- Warnar Boekkooi (boekkooi)
@@ -224,7 +222,7 @@ https://symfony.com/contributors for more information.
- Michaël Perrin (michael.perrin)
- Sergey Linnik (linniksa)
- Richard Miller (mr_r_miller)
- - Albert Casademont (acasademont)
+ - Ruud Kamphuis (ruudk)
- Wouter J
- Mario A. Alvarez Garcia (nomack84)
- Dennis Benkert (denderello)
@@ -238,7 +236,7 @@ https://symfony.com/contributors for more information.
- Benjamin Dulau (dbenjamin)
- Jan Rosier (rosier)
- Mathieu Lemoine (lemoinem)
- - Rémon van de Kamp (rpkamp)
+ - Remon van de Kamp (rpkamp)
- Christian Schmidt
- Andreas Hucks (meandmymonkey)
- Tom Van Looy (tvlooy)
@@ -263,6 +261,7 @@ https://symfony.com/contributors for more information.
- Hidde Wieringa (hiddewie)
- Jeremy Livingston (jeremylivingston)
- Michael Lee (zerustech)
+ - Timo Bakx (timobakx)
- Dmitrii Poddubnyi (karser)
- Matthieu Auger (matthieuauger)
- Leszek Prabucki (l3l0)
@@ -279,6 +278,7 @@ https://symfony.com/contributors for more information.
- Maxime Veber (nek-)
- Rui Marinho (ruimarinho)
- Eugene Wissner
+ - Andreas Möller (localheinz)
- Edi Modrić (emodric)
- Pascal Montoya
- Julien Brochet (mewt)
@@ -287,7 +287,6 @@ https://symfony.com/contributors for more information.
- Victor Bocharsky (bocharsky_bw)
- Marcel Beerta (mazen)
- Christopher Hertel (chertel)
- - Ruud Kamphuis (ruudk)
- Chi-teck
- Pavel Batanov (scaytrase)
- Mantis Development
@@ -300,7 +299,6 @@ https://symfony.com/contributors for more information.
- julien pauli (jpauli)
- Lorenz Schori
- Sébastien Lavoie (lavoiesl)
- - Timo Bakx (timobakx)
- Dariusz
- Farhad Safarov (safarov)
- Michael Babker (mbabker)
@@ -348,7 +346,7 @@ https://symfony.com/contributors for more information.
- Joseph Rouff (rouffj)
- Félix Labrecque (woodspire)
- GordonsLondon
- - Quynh Xuan Nguyen (xuanquynh)
+ - Nguyen Xuan Quynh (xuanquynh)
- Jan Sorgalla (jsor)
- Ray
- Chekote
@@ -362,10 +360,11 @@ https://symfony.com/contributors for more information.
- Nikita Konstantinov
- Wodor Wodorski
- Joe Bennett (kralos)
+ - Simon Berger
- soyuka
- Giorgio Premi
- renanbr
- - Alex Rock (pierstoval)
+ - Alex Rock Ancelet (pierstoval)
- Beau Simensen (simensen)
- Michael Hirschler (mvhirsch)
- Robert Kiss (kepten)
@@ -431,6 +430,7 @@ https://symfony.com/contributors for more information.
- Julien Galenski (ruian)
- Thomas Landauer (thomas-landauer)
- Bongiraud Dominique
+ - Kyle
- janschoenherr
- Emanuele Gaspari (inmarelibero)
- Dariusz Rumiński
@@ -442,7 +442,6 @@ https://symfony.com/contributors for more information.
- Mark Challoner (markchalloner)
- ivan
- Karoly Gossler (connorhu)
- - Simon Berger
- Ahmed Raafat
- Philippe Segatori
- Gennady Telegin (gtelegin)
@@ -469,6 +468,7 @@ https://symfony.com/contributors for more information.
- Sylvain Fabre (sylfabre)
- Artur Eshenbrener
- Harm van Tilborg (hvt)
+ - Malte Schlüter (maltemaltesich)
- Thomas Perez (scullwm)
- Felix Labrecque
- Yaroslav Kiliba
@@ -494,7 +494,7 @@ https://symfony.com/contributors for more information.
- ShinDarth
- Stéphane PY (steph_py)
- Philipp Kräutli (pkraeutli)
- - Grzegorz (Greg) Zdanowski (kiler129)
+ - Grzegorz Zdanowski (kiler129)
- Dimitri Gritsajuk (ottaviano)
- Kirill chEbba Chebunin (chebba)
-
@@ -576,6 +576,7 @@ https://symfony.com/contributors for more information.
- Mihai Stancu
- Ivan Nikolaev (destillat)
- Gildas Quéméner (gquemener)
+ - BoShurik
- Laurent Masforné (heisenberg)
- Claude Khedhiri (ck-developer)
- Desjardins Jérôme (jewome62)
@@ -593,7 +594,6 @@ https://symfony.com/contributors for more information.
- Asier Illarramendi (doup)
- Martijn Cuppens
- Vlad Gregurco (vgregurco)
- - Malte Schlüter (maltemaltesich)
- Boris Vujicic (boris.vujicic)
- Artem Lopata
- Judicaël RUFFIEUX (axanagor)
@@ -624,6 +624,7 @@ https://symfony.com/contributors for more information.
- Tavo Nieves J
- Luc Vieillescazes (iamluc)
- Lukáš Holeczy (holicz)
+ - Erik Saunier (snickers)
- franek (franek)
- Raulnet
- Christian Wahler
@@ -658,6 +659,7 @@ https://symfony.com/contributors for more information.
- Nathan Dench (ndenc2)
- Sebastian Bergmann
- Miroslav Sustek
+ - Michał (bambucha15)
- Pablo Díez (pablodip)
- Kevin McBride
- Sergio Santoro
@@ -666,6 +668,7 @@ https://symfony.com/contributors for more information.
- Manuel de Ruiter (manuel)
- Nathanael Noblet (gnat)
- nikos.sotiropoulos
+ - BENOIT POLASZEK (bpolaszek)
- Eduardo Oliveira (entering)
- Oleksii Zhurbytskyi
- Ilya Antipenko (aivus)
@@ -752,7 +755,6 @@ https://symfony.com/contributors for more information.
- Michiel Boeckaert (milio)
- Geoffrey Tran (geoff)
- Pablo Lozano (arkadis)
- - Kyle
- Jan Behrens
- Mantas Var (mvar)
- Terje Bråten
@@ -794,7 +796,6 @@ https://symfony.com/contributors for more information.
- James Johnston
- Noémi Salaün (noemi-salaun)
- Sinan Eldem
- - BoShurik
- Alexandre Dupuy (satchette)
- Michel Hunziker
- Malte Blättermann
@@ -848,7 +849,7 @@ https://symfony.com/contributors for more information.
- adev
- Stefan Warman
- Tristan Maindron (tmaindron)
- - Behnoush Norouzali (behnoush)
+ - Behnoush norouzali (behnoush)
- Marko H. Tamminen (gzumba)
- Wesley Lancel
- Xavier Briand (xavierbriand)
@@ -871,6 +872,7 @@ https://symfony.com/contributors for more information.
- Ivan Grigoriev
- Johann Saunier (prophet777)
- Sergey (upyx)
+ - Fabien Salles (blacked)
- Andreas Erhard
- Michael Devery (mickadoo)
- Antoine Corcy
@@ -929,7 +931,6 @@ https://symfony.com/contributors for more information.
- Michel Roca (mroca)
- Reedy
- Arturas Smorgun (asarturas)
- - Michał (bambucha15)
- Alexander Volochnev (exelenz)
- Michael Piecko
- Toni Peric (tperic)
@@ -980,8 +981,10 @@ https://symfony.com/contributors for more information.
- Andrew Tchircoff (andrewtch)
- michaelwilliams
- Martin Kirilov
+ - Alexandre Parent
- 1emming
- Nykopol (nykopol)
+ - Piotr Kugla (piku235)
- Jordan Deitch
- Casper Valdemar Poulsen
- Josiah (josiah)
@@ -990,9 +993,9 @@ https://symfony.com/contributors for more information.
- John Bohn (jbohn)
- Marc Morera (mmoreram)
- Jason Tan
- - BENOIT POLASZEK (bpolaszek)
- Julien Pauli
- Mathieu Rochette (mathroc)
+ - Jérôme Tanghe (deuchnord)
- Andrew Hilobok (hilobok)
- Noah Heck (myesain)
- Christian Soronellas (theunic)
@@ -1045,7 +1048,6 @@ https://symfony.com/contributors for more information.
- Rafał Wrzeszcz (rafalwrzeszcz)
- Vincent CHALAMON (vincentchalamon)
- Reen Lokum
- - Andreas Möller (localheinz)
- Dennis Langen (nijusan)
- Martin Parsiegla (spea)
- Manuel Alejandro Paz Cetina
@@ -1174,7 +1176,6 @@ https://symfony.com/contributors for more information.
- Benoît Merlet (trompette)
- Koen Kuipers
- datibbaw
- - Erik Saunier (snickers)
- Thiago Cordeiro (thiagocordeiro)
- Rootie
- Bernd Stellwag
@@ -1219,6 +1220,7 @@ https://symfony.com/contributors for more information.
- Christin Gruber (christingruber)
- Phan Thanh Ha (haphan)
- Chris Jones (leek)
+ - James Hemery
- neghmurken
- xaav
- Mahmoud Mostafa (mahmoud)
@@ -1547,6 +1549,7 @@ https://symfony.com/contributors for more information.
- Jorge Vahldick (jvahldick)
- Frederic Godfrin
- Paul Matthews
+ - Xesxen
- Jakub Kisielewski
- Vacheslav Silyutin
- Aleksandr Dankovtsev
@@ -1618,6 +1621,7 @@ https://symfony.com/contributors for more information.
- Lars Ambrosius Wallenborn (larsborn)
- Oriol Mangas Abellan (oriolman)
- Sebastian Göttschkes (sgoettschkes)
+ - Frankie Wittevrongel
- Tatsuya Tsuruoka
- Ross Tuck
- Gerben Oolbekkink
@@ -1649,7 +1653,6 @@ https://symfony.com/contributors for more information.
- Sebastian Utz
- Adrien Gallou (agallou)
- Andrea Sprega (asprega)
- - Fabien Salles (blacked)
- Maks Rafalko (bornfree)
- Karol Sójko (karolsojko)
- sl_toto (sl_toto)
@@ -1670,7 +1673,6 @@ https://symfony.com/contributors for more information.
- Cédric Lahouste (rapotor)
- Samuel Vogel (samuelvogel)
- Osayawe Ogbemudia Terry (terdia)
- - Alexandre Parent
- Berat Doğan
- Guillaume LECERF
- Juanmi Rodriguez Cerón
@@ -1701,6 +1703,7 @@ https://symfony.com/contributors for more information.
- Łukasz Makuch
- George Giannoulopoulos
- Alexander Pasichnick
+ - Ilya Ch. (ilya0)
- Luis Ramirez (luisdeimos)
- Daniel Richter (richtermeister)
- ChrisC
@@ -1735,6 +1738,7 @@ https://symfony.com/contributors for more information.
- Fabien S (bafs)
- Daniel Rotter (danrot)
- Frédéric Bouchery (fbouchery)
+ - kylekatarnls (kylekatarnls)
- Patrick Daley (padrig)
- Max Summe
- WedgeSama
@@ -1858,6 +1862,7 @@ https://symfony.com/contributors for more information.
- Dominik Piekarski (dompie)
- Andrew (drew)
- kor3k kor3k (kor3k)
+ - Rares Sebastian Moldovan (raresmldvn)
- Stelian Mocanita (stelian)
- Justin (wackymole)
- Flavian (2much)
@@ -1865,6 +1870,7 @@ https://symfony.com/contributors for more information.
- mike
- Gilbertsoft
- tadas
+ - Bastien Picharles
- Kirk Madera
- Keith Maika
- Mephistofeles
@@ -1901,10 +1907,10 @@ https://symfony.com/contributors for more information.
- wusuopu
- povilas
- Gavin Staniforth
+ - bahram
- Alessandro Tagliapietra (alex88)
- Andy Palmer (andyexeter)
- Biji (biji)
- - Jérôme Tanghe (deuchnord)
- Alex Teterin (errogaht)
- Gunnar Lium (gunnarlium)
- Tiago Garcia (tiagojsag)
@@ -2210,6 +2216,7 @@ https://symfony.com/contributors for more information.
- Ahmed Hannachi (tiecoders)
- Vincent LEFORT (vlefort)
- Walid BOUGHDIRI (walidboughdiri)
+ - wicliff wolda (wickedone)
- Wim Molenberghs (wimm)
- Darryl Hein (xmmedia)
- Sadicov Vladimir (xtech)
@@ -2252,10 +2259,12 @@ https://symfony.com/contributors for more information.
- Götz Gottwald
- Veres Lajos
- Ernest Hymel
+ - LoginovIlya
- Nick Chiu
- grifx
- Robert Campbell
- Matt Lehner
+ - carlos-ea
- Helmut Januschka
- Jérémy Benoist
- Hein Zaw Htet™
@@ -2272,6 +2281,7 @@ https://symfony.com/contributors for more information.
- Marin Nicolae
- Alessandro Loffredo
- Ian Phillips
+ - Carlos Tasada
- Haritz
- Matthieu Prat
- Grummfy
@@ -2465,6 +2475,7 @@ https://symfony.com/contributors for more information.
- Matt Fields
- Olatunbosun Egberinde
- Andras Debreczeni
+ - Knallcharge
- Vladimir Sazhin
- Michel Bardelmeijer
- Tomas Kmieliauskas
@@ -2513,6 +2524,7 @@ https://symfony.com/contributors for more information.
- Alexis BOYER
- Kaipi Yann
- adam-mospan
+ - Steve Hyde
- Sam Williams
- Guillaume Aveline
- Adrian Philipp
@@ -2624,6 +2636,7 @@ https://symfony.com/contributors for more information.
- sualko
- Molkobain
- Bilge
+ - Yendric
- ADmad
- Nicolas Roudaire
- Matthias Meyer
@@ -2779,6 +2792,7 @@ https://symfony.com/contributors for more information.
- Michael
- fh-github@fholzhauer.de
- AbdElKader Bouadjadja
+ - ddegentesh
- DSeemiller
- Jan Emrich
- Mark Topper
diff --git a/composer.json b/composer.json
index 667c2dee04081..fc7535421b83b 100644
--- a/composer.json
+++ b/composer.json
@@ -145,7 +145,7 @@
"predis/predis": "~1.1",
"psr/http-client": "^1.0",
"psr/simple-cache": "^1.0",
- "egulias/email-validator": "^2.1.10",
+ "egulias/email-validator": "^2.1.10|^3.1",
"symfony/phpunit-bridge": "^5.2",
"symfony/security-acl": "~2.8|~3.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
@@ -155,6 +155,7 @@
},
"conflict": {
"doctrine/dbal": "<2.10",
+ "egulias/email-validator": "~3.0.0",
"masterminds/html5": "<2.6",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php b/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php
index 49914454569e3..845515b901155 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Security/User/EntityUserProviderTest.php
@@ -234,4 +234,7 @@ abstract class UserLoaderRepository implements ObjectRepository, UserLoaderInter
abstract class PasswordUpgraderRepository implements ObjectRepository, PasswordUpgraderInterface
{
+ public function upgradePassword(UserInterface $user, string $newEncodedPassword): void
+ {
+ }
}
diff --git a/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php b/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php
index bf3433e154be0..f2ad907d76978 100644
--- a/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php
+++ b/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php
@@ -60,7 +60,7 @@ protected function configure()
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The line format', ConsoleFormatter::SIMPLE_FORMAT)
->addOption('date-format', null, InputOption::VALUE_REQUIRED, 'The date format', ConsoleFormatter::SIMPLE_DATE)
->addOption('filter', null, InputOption::VALUE_REQUIRED, 'An expression to filter log. Example: "level > 200 or channel in [\'app\', \'doctrine\']"')
- ->setDescription('Starts a log server that displays logs in real time')
+ ->setDescription('Start a log server that displays logs in real time')
->setHelp(<<<'EOF'
%command.name% starts a log server to display in real time the log
messages generated by your application:
diff --git a/src/Symfony/Bridge/Twig/Command/DebugCommand.php b/src/Symfony/Bridge/Twig/Command/DebugCommand.php
index 8962a41dd366e..1b1bf7a7c34b2 100644
--- a/src/Symfony/Bridge/Twig/Command/DebugCommand.php
+++ b/src/Symfony/Bridge/Twig/Command/DebugCommand.php
@@ -60,7 +60,7 @@ protected function configure()
new InputOption('filter', null, InputOption::VALUE_REQUIRED, 'Show details for all entries matching this filter'),
new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (text or json)', 'text'),
])
- ->setDescription('Shows a list of twig functions, filters, globals and tests')
+ ->setDescription('Show a list of twig functions, filters, globals and tests')
->setHelp(<<<'EOF'
The %command.name% command outputs a list of twig functions,
filters, globals and tests.
diff --git a/src/Symfony/Bridge/Twig/Command/LintCommand.php b/src/Symfony/Bridge/Twig/Command/LintCommand.php
index 505f05959bb68..00c31def64b73 100644
--- a/src/Symfony/Bridge/Twig/Command/LintCommand.php
+++ b/src/Symfony/Bridge/Twig/Command/LintCommand.php
@@ -48,7 +48,7 @@ public function __construct(Environment $twig)
protected function configure()
{
$this
- ->setDescription('Lints a template and outputs encountered errors')
+ ->setDescription('Lint a template and outputs encountered errors')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->addOption('show-deprecations', null, InputOption::VALUE_NONE, 'Show deprecations as errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
diff --git a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
index b19bc9be852b8..e26c2d5986e83 100644
--- a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
+++ b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
@@ -46,6 +46,14 @@ public function render(Message $message): void
}
$messageContext = $message->getContext();
+
+ $previousRenderingKey = $messageContext[__CLASS__] ?? null;
+ unset($messageContext[__CLASS__]);
+ $currentRenderingKey = md5(serialize([$messageContext, $message->getTextTemplate(), $message->getHtmlTemplate()]));
+ if ($previousRenderingKey === $currentRenderingKey) {
+ return;
+ }
+
if (isset($messageContext['email'])) {
throw new InvalidArgumentException(sprintf('A "%s" context cannot have an "email" entry as this is a reserved variable.', get_debug_type($message)));
}
@@ -66,6 +74,7 @@ public function render(Message $message): void
if (!$message->getTextBody() && null !== $html = $message->getHtmlBody()) {
$message->text($this->convertHtmlToText(\is_resource($html) ? stream_get_contents($html) : $html));
}
+ $message->context($message->getContext() + [__CLASS__ => $currentRenderingKey]);
}
private function convertHtmlToText(string $html): string
diff --git a/src/Symfony/Bridge/Twig/Tests/Mime/BodyRendererTest.php b/src/Symfony/Bridge/Twig/Tests/Mime/BodyRendererTest.php
index 316d41c159989..f13ab213c3c4f 100644
--- a/src/Symfony/Bridge/Twig/Tests/Mime/BodyRendererTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Mime/BodyRendererTest.php
@@ -79,6 +79,27 @@ public function testRenderWithContextReservedEmailEntry()
$this->prepareEmail('Text', '', ['email' => 'reserved!']);
}
+ public function testRenderedOnce()
+ {
+ $twig = new Environment(new ArrayLoader([
+ 'text' => 'Text',
+ ]));
+ $renderer = new BodyRenderer($twig);
+ $email = (new TemplatedEmail())
+ ->to('fabien@symfony.com')
+ ->from('helene@symfony.com')
+ ;
+ $email->textTemplate('text');
+
+ $renderer->render($email);
+ $this->assertEquals('Text', $email->getTextBody());
+
+ $email->text('reset');
+
+ $renderer->render($email);
+ $this->assertEquals('reset', $email->getTextBody());
+ }
+
private function prepareEmail(?string $text, ?string $html, array $context = []): TemplatedEmail
{
$twig = new Environment(new ArrayLoader([
diff --git a/src/Symfony/Bridge/Twig/composer.json b/src/Symfony/Bridge/Twig/composer.json
index 1a1f364eb9a85..f167ccd927f43 100644
--- a/src/Symfony/Bridge/Twig/composer.json
+++ b/src/Symfony/Bridge/Twig/composer.json
@@ -22,7 +22,7 @@
"twig/twig": "^2.13|^3.0.4"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10",
+ "egulias/email-validator": "^2.1.10|^3",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/asset": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
index 4c9f968736c59..279ef5062faaa 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
@@ -37,7 +37,7 @@ class AboutCommand extends Command
protected function configure()
{
$this
- ->setDescription('Displays information about the current project')
+ ->setDescription('Display information about the current project')
->setHelp(<<<'EOT'
The %command.name% command displays information about the current Symfony project.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
index 70ad92343eb25..d333fcaf29327 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php
@@ -61,10 +61,10 @@ protected function configure()
->setDefinition([
new InputArgument('target', InputArgument::OPTIONAL, 'The target directory', null),
])
- ->addOption('symlink', null, InputOption::VALUE_NONE, 'Symlinks the assets instead of copying it')
+ ->addOption('symlink', null, InputOption::VALUE_NONE, 'Symlink the assets instead of copying them')
->addOption('relative', null, InputOption::VALUE_NONE, 'Make relative symlinks')
->addOption('no-cleanup', null, InputOption::VALUE_NONE, 'Do not remove the assets of the bundles that no longer exist')
- ->setDescription('Installs bundles web assets under a public directory')
+ ->setDescription('Install bundle\'s web assets under a public directory')
->setHelp(<<<'EOT'
The %command.name% command installs bundle assets into a given
directory (e.g. the public directory).
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
index b9a829471f098..dbd93818c7dd6 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
@@ -58,7 +58,7 @@ protected function configure()
new InputOption('no-warmup', '', InputOption::VALUE_NONE, 'Do not warm up the cache'),
new InputOption('no-optional-warmers', '', InputOption::VALUE_NONE, 'Skip optional cache warmers (faster)'),
])
- ->setDescription('Clears the cache')
+ ->setDescription('Clear the cache')
->setHelp(<<<'EOF'
The %command.name% command clears the application cache for a given environment
and debug mode:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolClearCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolClearCommand.php
index 50aacd9bbd73d..123617e58b189 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolClearCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolClearCommand.php
@@ -47,7 +47,7 @@ protected function configure()
->setDefinition([
new InputArgument('pools', InputArgument::IS_ARRAY | InputArgument::REQUIRED, 'A list of cache pools or cache pool clearers'),
])
- ->setDescription('Clears cache pools')
+ ->setDescription('Clear cache pools')
->setHelp(<<<'EOF'
The %command.name% command clears the given cache pools or cache pool clearers.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolDeleteCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolDeleteCommand.php
index 2a7a2fe513040..922ec2dd7e94b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolDeleteCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolDeleteCommand.php
@@ -46,7 +46,7 @@ protected function configure()
new InputArgument('pool', InputArgument::REQUIRED, 'The cache pool from which to delete an item'),
new InputArgument('key', InputArgument::REQUIRED, 'The cache key to delete from the pool'),
])
- ->setDescription('Deletes an item from a cache pool')
+ ->setDescription('Delete an item from a cache pool')
->setHelp(<<<'EOF'
The %command.name% deletes an item from a given cache pool.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolPruneCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolPruneCommand.php
index 65f3ff6b5802e..fb9af73064cb4 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolPruneCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CachePoolPruneCommand.php
@@ -44,7 +44,7 @@ public function __construct(iterable $pools)
protected function configure()
{
$this
- ->setDescription('Prunes cache pools')
+ ->setDescription('Prune cache pools')
->setHelp(<<<'EOF'
The %command.name% command deletes all expired items from all pruneable pools.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CacheWarmupCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CacheWarmupCommand.php
index 8feb2dd9c51b2..0d410858ad7af 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CacheWarmupCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CacheWarmupCommand.php
@@ -48,7 +48,7 @@ protected function configure()
->setDefinition([
new InputOption('no-optional-warmers', '', InputOption::VALUE_NONE, 'Skip optional cache warmers (faster)'),
])
- ->setDescription('Warms up an empty cache')
+ ->setDescription('Warm up an empty cache')
->setHelp(<<<'EOF'
The %command.name% command warms up the cache.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
index c68f17e120bbd..1b39ea160bb81 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
@@ -44,7 +44,7 @@ protected function configure()
new InputArgument('name', InputArgument::OPTIONAL, 'The bundle name or the extension alias'),
new InputArgument('path', InputArgument::OPTIONAL, 'The configuration option path'),
])
- ->setDescription('Dumps the current configuration for an extension')
+ ->setDescription('Dump the current configuration for an extension')
->setHelp(<<<'EOF'
The %command.name% command dumps the current configuration for an
extension/bundle.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
index 62dcc856e0f56..f4b5439b6211b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
@@ -48,7 +48,7 @@ protected function configure()
new InputArgument('path', InputArgument::OPTIONAL, 'The configuration option path'),
new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (yaml or xml)', 'yaml'),
])
- ->setDescription('Dumps the default configuration for an extension')
+ ->setDescription('Dump the default configuration for an extension')
->setHelp(<<<'EOF'
The %command.name% command dumps the default configuration for an
extension/bundle.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
index 7c330dbdf4f85..e5532df079871 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
@@ -44,20 +44,20 @@ protected function configure()
$this
->setDefinition([
new InputArgument('name', InputArgument::OPTIONAL, 'A service name (foo)'),
- new InputOption('show-arguments', null, InputOption::VALUE_NONE, 'Used to show arguments in services'),
- new InputOption('show-hidden', null, InputOption::VALUE_NONE, 'Used to show hidden (internal) services'),
- new InputOption('tag', null, InputOption::VALUE_REQUIRED, 'Shows all services with a specific tag'),
- 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('env-var', null, InputOption::VALUE_REQUIRED, 'Displays a specific environment variable used in the container'),
- new InputOption('env-vars', null, InputOption::VALUE_NONE, 'Displays environment variables used in the container'),
+ new InputOption('show-arguments', null, InputOption::VALUE_NONE, 'Show arguments in services'),
+ new InputOption('show-hidden', null, InputOption::VALUE_NONE, 'Show hidden (internal) services'),
+ new InputOption('tag', null, InputOption::VALUE_REQUIRED, 'Show all services with a specific tag'),
+ new InputOption('tags', null, InputOption::VALUE_NONE, 'Display tagged services for an application'),
+ new InputOption('parameter', null, InputOption::VALUE_REQUIRED, 'Display a specific parameter for an application'),
+ new InputOption('parameters', null, InputOption::VALUE_NONE, 'Display parameters for an application'),
+ new InputOption('types', null, InputOption::VALUE_NONE, 'Display types (classes/interfaces) available in the container'),
+ new InputOption('env-var', null, InputOption::VALUE_REQUIRED, 'Display a specific environment variable used in the container'),
+ new InputOption('env-vars', null, InputOption::VALUE_NONE, 'Display environment variables used 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'),
- new InputOption('deprecations', null, InputOption::VALUE_NONE, 'Displays deprecations generated when compiling and warming up the container'),
+ new InputOption('deprecations', null, InputOption::VALUE_NONE, 'Display deprecations generated when compiling and warming up the container'),
])
- ->setDescription('Displays current services for an application')
+ ->setDescription('Display current services for an application')
->setHelp(<<<'EOF'
The %command.name% command displays all configured public services:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
index f059df1ee62fe..18930c1655b82 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
@@ -42,7 +42,7 @@ final class ContainerLintCommand extends Command
protected function configure()
{
$this
- ->setDescription('Ensures that arguments injected into services match type declarations')
+ ->setDescription('Ensure that arguments injected into services match type declarations')
->setHelp('This command parses service definitions and ensures that injected values match the type declarations of each services\' class.')
;
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/DebugAutowiringCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/DebugAutowiringCommand.php
index 32bd630f32516..79ac2dd8f8c98 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/DebugAutowiringCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/DebugAutowiringCommand.php
@@ -50,7 +50,7 @@ protected function configure()
new InputArgument('search', InputArgument::OPTIONAL, 'A search filter'),
new InputOption('all', null, InputOption::VALUE_NONE, 'Show also services that are not aliased'),
])
- ->setDescription('Lists classes/interfaces you can use for autowiring')
+ ->setDescription('List classes/interfaces you can use for autowiring')
->setHelp(<<<'EOF'
The %command.name% command displays the classes and interfaces that
you can use as type-hints for autowiring:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/EventDispatcherDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/EventDispatcherDebugCommand.php
index ad49cdeeaa87f..fd0a1ccb800e7 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/EventDispatcherDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/EventDispatcherDebugCommand.php
@@ -50,7 +50,7 @@ protected function configure()
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'),
])
- ->setDescription('Displays configured listeners for an application')
+ ->setDescription('Display configured listeners for an application')
->setHelp(<<<'EOF'
The %command.name% command displays all configured listeners:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
index 16acf7a7db9c4..f8c871970e8af 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
@@ -59,7 +59,7 @@ protected function configure()
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 route(s)'),
])
- ->setDescription('Displays current routes for an application')
+ ->setDescription('Display current routes for an application')
->setHelp(<<<'EOF'
The %command.name% displays the configured routes:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php
index 1e2fefbbacb26..58f177b5e8e5b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php
@@ -51,11 +51,11 @@ protected function configure()
$this
->setDefinition([
new InputArgument('path_info', InputArgument::REQUIRED, 'A path info'),
- new InputOption('method', null, InputOption::VALUE_REQUIRED, 'Sets the HTTP method'),
- new InputOption('scheme', null, InputOption::VALUE_REQUIRED, 'Sets the URI scheme (usually http or https)'),
- new InputOption('host', null, InputOption::VALUE_REQUIRED, 'Sets the URI host'),
+ new InputOption('method', null, InputOption::VALUE_REQUIRED, 'Set the HTTP method'),
+ new InputOption('scheme', null, InputOption::VALUE_REQUIRED, 'Set the URI scheme (usually http or https)'),
+ new InputOption('host', null, InputOption::VALUE_REQUIRED, 'Set the URI host'),
])
- ->setDescription('Helps debug routes by simulating a path info match')
+ ->setDescription('Help debug routes by simulating a path info match')
->setHelp(<<<'EOF'
The %command.name% shows which routes match a given request and which don't and for what reason:
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php
index 1571c7f1b7c79..72757fe7f360b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php
@@ -42,8 +42,8 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Decrypts all secrets and stores them in the local vault')
- ->addOption('force', 'f', InputOption::VALUE_NONE, 'Forces overriding of secrets that already exist in the local vault')
+ ->setDescription('Decrypt all secrets and stores them in the local vault')
+ ->addOption('force', 'f', InputOption::VALUE_NONE, 'Force overriding of secrets that already exist in the local vault')
->setHelp(<<<'EOF'
The %command.name% command decrypts all secrets and copies them in the local vault.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsEncryptFromLocalCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsEncryptFromLocalCommand.php
index e1c8904c698b5..47b9162c0bb61 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsEncryptFromLocalCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsEncryptFromLocalCommand.php
@@ -41,7 +41,7 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Encrypts all local secrets to the vault')
+ ->setDescription('Encrypt all local secrets to the vault')
->setHelp(<<<'EOF'
The %command.name% command encrypts all locally overridden secrets to the vault.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsGenerateKeysCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsGenerateKeysCommand.php
index 18dba29ac9797..14b6eaec0afe8 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsGenerateKeysCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsGenerateKeysCommand.php
@@ -44,9 +44,9 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Generates new encryption keys')
- ->addOption('local', 'l', InputOption::VALUE_NONE, 'Updates the local vault.')
- ->addOption('rotate', 'r', InputOption::VALUE_NONE, 'Re-encrypts existing secrets with the newly generated keys.')
+ ->setDescription('Generate new encryption keys')
+ ->addOption('local', 'l', InputOption::VALUE_NONE, 'Update the local vault.')
+ ->addOption('rotate', 'r', InputOption::VALUE_NONE, 'Re-encrypt existing secrets with the newly generated keys.')
->setHelp(<<<'EOF'
The %command.name% command generates a new encryption key.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsListCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsListCommand.php
index 9848ab993331e..96112e9abaccb 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsListCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsListCommand.php
@@ -45,7 +45,7 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Lists all secrets')
+ ->setDescription('List all secrets')
->addOption('reveal', 'r', InputOption::VALUE_NONE, 'Display decrypted values alongside names')
->setHelp(<<<'EOF'
The %command.name% command list all stored secrets.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsRemoveCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsRemoveCommand.php
index 2f06cb4592545..3a1f843c4b68d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsRemoveCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsRemoveCommand.php
@@ -44,9 +44,9 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Removes a secret from the vault')
+ ->setDescription('Remove a secret from the vault')
->addArgument('name', InputArgument::REQUIRED, 'The name of the secret')
- ->addOption('local', 'l', InputOption::VALUE_NONE, 'Updates the local vault.')
+ ->addOption('local', 'l', InputOption::VALUE_NONE, 'Update the local vault.')
->setHelp(<<<'EOF'
The %command.name% command removes a secret from the vault.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsSetCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsSetCommand.php
index 95b8f6a0f622b..5d2662232a5f0 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/SecretsSetCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/SecretsSetCommand.php
@@ -45,11 +45,11 @@ public function __construct(AbstractVault $vault, AbstractVault $localVault = nu
protected function configure()
{
$this
- ->setDescription('Sets a secret in the vault')
+ ->setDescription('Set a secret in the vault')
->addArgument('name', InputArgument::REQUIRED, 'The name of the secret')
->addArgument('file', InputArgument::OPTIONAL, 'A file where to read the secret from or "-" for reading from STDIN')
- ->addOption('local', 'l', InputOption::VALUE_NONE, 'Updates the local vault.')
- ->addOption('random', 'r', InputOption::VALUE_OPTIONAL, 'Generates a random value.', false)
+ ->addOption('local', 'l', InputOption::VALUE_NONE, 'Update the local vault.')
+ ->addOption('random', 'r', InputOption::VALUE_OPTIONAL, 'Generate a random value.', false)
->setHelp(<<<'EOF'
The %command.name% command stores a secret in the vault.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
index ec17387d9b078..a3fb878b1639e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
@@ -79,11 +79,11 @@ protected function configure()
new InputArgument('locale', InputArgument::REQUIRED, 'The locale'),
new InputArgument('bundle', InputArgument::OPTIONAL, 'The bundle name or directory where to load the messages'),
new InputOption('domain', null, InputOption::VALUE_OPTIONAL, 'The messages domain'),
- new InputOption('only-missing', null, InputOption::VALUE_NONE, 'Displays only missing messages'),
- new InputOption('only-unused', null, InputOption::VALUE_NONE, 'Displays only unused messages'),
+ new InputOption('only-missing', null, InputOption::VALUE_NONE, 'Display only missing messages'),
+ new InputOption('only-unused', null, InputOption::VALUE_NONE, 'Display only unused messages'),
new InputOption('all', null, InputOption::VALUE_NONE, 'Load messages from all registered bundles'),
])
- ->setDescription('Displays translation messages information')
+ ->setDescription('Display translation messages information')
->setHelp(<<<'EOF'
The %command.name% command helps finding unused or missing translation
messages and comparing them with the fallback ones by inspecting the
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
index 392541e656848..e9fc30580bbc7 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
@@ -85,7 +85,7 @@ protected function configure()
new InputOption('sort', null, InputOption::VALUE_OPTIONAL, 'Return list of messages sorted alphabetically', 'asc'),
new InputOption('as-tree', null, InputOption::VALUE_OPTIONAL, 'Dump the messages as a tree-like structure: The given value defines the level where to switch to inline YAML'),
])
- ->setDescription('Updates the translation file')
+ ->setDescription('Update the translation file')
->setHelp(<<<'EOF'
The %command.name% command extracts translation strings from templates
of a given bundle or the default translations directory. It can display them or merge
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/WorkflowDumpCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/WorkflowDumpCommand.php
index cec930da1c0da..ecdca7cb39452 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/WorkflowDumpCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/WorkflowDumpCommand.php
@@ -40,7 +40,7 @@ protected function configure()
->setDefinition([
new InputArgument('name', InputArgument::REQUIRED, 'A workflow name'),
new InputArgument('marking', InputArgument::IS_ARRAY, 'A marking (a list of places)'),
- new InputOption('label', 'l', InputOption::VALUE_REQUIRED, 'Labels a graph'),
+ new InputOption('label', 'l', InputOption::VALUE_REQUIRED, 'Label a graph'),
new InputOption('dump-format', null, InputOption::VALUE_REQUIRED, 'The dump format [dot|puml]', 'dot'),
])
->setDescription('Dump a workflow')
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Application.php b/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
index d1a4682b50ab5..0ce23600686dc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
@@ -41,7 +41,7 @@ public function __construct(KernelInterface $kernel)
$inputDefinition = $this->getDefinition();
$inputDefinition->addOption(new InputOption('--env', '-e', InputOption::VALUE_REQUIRED, 'The Environment name.', $kernel->getEnvironment()));
- $inputDefinition->addOption(new InputOption('--no-debug', null, InputOption::VALUE_NONE, 'Switches off debug mode.'));
+ $inputDefinition->addOption(new InputOption('--no-debug', null, InputOption::VALUE_NONE, 'Switch off debug mode.'));
}
/**
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/notifier_transports.php b/src/Symfony/Bundle/FrameworkBundle/Resources/config/notifier_transports.php
index be40329cc9ebc..50ce737e81533 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/notifier_transports.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/notifier_transports.php
@@ -89,7 +89,7 @@
->set('notifier.transport_factory.zulip', ZulipTransportFactory::class)
->parent('notifier.transport_factory.abstract')
- ->tag('texter.transport_factory')
+ ->tag('chatter.transport_factory')
->set('notifier.transport_factory.infobip', InfobipTransportFactory::class)
->parent('notifier.transport_factory.abstract')
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
index 61410d874cd05..7be0646353499 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
@@ -171,7 +171,7 @@
-
+
@@ -182,7 +182,7 @@
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/ApplicationTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/ApplicationTest.php
index 9feafee82fbcb..0dae2d3180653 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/ApplicationTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/ApplicationTest.php
@@ -205,7 +205,7 @@ public function testRunOnlyWarnsOnUnregistrableCommandAtTheEnd()
$tester->run(['command' => 'list']);
$this->assertSame(0, $tester->getStatusCode());
- $display = explode('Lists commands', $tester->getDisplay());
+ $display = explode('List commands', $tester->getDisplay());
$this->assertStringContainsString(trim('[WARNING] Some commands could not be registered:'), trim($display[1]));
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json
index 09c00ea6a16d6..41306489dadfa 100644
--- a/src/Symfony/Bundle/FrameworkBundle/composer.json
+++ b/src/Symfony/Bundle/FrameworkBundle/composer.json
@@ -76,7 +76,7 @@
"phpunit/phpunit": "<5.4.3",
"symfony/asset": "<5.1",
"symfony/browser-kit": "<4.4",
- "symfony/console": "<5.2",
+ "symfony/console": "<5.2.5",
"symfony/dotenv": "<5.1",
"symfony/dom-crawler": "<4.4",
"symfony/http-client": "<4.4",
diff --git a/src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php b/src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
index de23fdd618a11..02190215f3aa7 100644
--- a/src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
+++ b/src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
@@ -52,7 +52,7 @@ public function __construct(EncoderFactoryInterface $encoderFactory, array $user
protected function configure()
{
$this
- ->setDescription('Encodes a password')
+ ->setDescription('Encode a password')
->addArgument('password', InputArgument::OPTIONAL, 'The plain password to encode.')
->addArgument('user-class', InputArgument::OPTIONAL, 'The User entity class path associated with the encoder used to encode the password.')
->addOption('empty-salt', null, InputOption::VALUE_NONE, 'Do not generate a salt or let the encoder generate one.')
diff --git a/src/Symfony/Component/Console/Command/HelpCommand.php b/src/Symfony/Component/Console/Command/HelpCommand.php
index e704b9b2a0097..9bcd7764d7b55 100644
--- a/src/Symfony/Component/Console/Command/HelpCommand.php
+++ b/src/Symfony/Component/Console/Command/HelpCommand.php
@@ -40,7 +40,7 @@ protected function configure()
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 command help'),
])
- ->setDescription('Displays help for a command')
+ ->setDescription('Display help for a command')
->setHelp(<<<'EOF'
The %command.name% command displays help for a given command:
diff --git a/src/Symfony/Component/Console/Command/ListCommand.php b/src/Symfony/Component/Console/Command/ListCommand.php
index 284ddb5fea53a..36a5344b311b6 100644
--- a/src/Symfony/Component/Console/Command/ListCommand.php
+++ b/src/Symfony/Component/Console/Command/ListCommand.php
@@ -36,7 +36,7 @@ protected function configure()
new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw command list'),
new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'),
])
- ->setDescription('Lists commands')
+ ->setDescription('List commands')
->setHelp(<<<'EOF'
The %command.name% command lists all commands:
diff --git a/src/Symfony/Component/Console/Tests/Command/ListCommandTest.php b/src/Symfony/Component/Console/Tests/Command/ListCommandTest.php
index a5d6653ad8186..869952f537cfc 100644
--- a/src/Symfony/Component/Console/Tests/Command/ListCommandTest.php
+++ b/src/Symfony/Component/Console/Tests/Command/ListCommandTest.php
@@ -23,7 +23,7 @@ public function testExecuteListsCommands()
$commandTester = new CommandTester($command = $application->get('list'));
$commandTester->execute(['command' => $command->getName()], ['decorated' => false]);
- $this->assertMatchesRegularExpression('/help\s{2,}Displays help for a command/', $commandTester->getDisplay(), '->execute() returns a list of available commands');
+ $this->assertMatchesRegularExpression('/help\s{2,}Display help for a command/', $commandTester->getDisplay(), '->execute() returns a list of available commands');
}
public function testExecuteListsCommandsWithXmlOption()
@@ -40,8 +40,8 @@ public function testExecuteListsCommandsWithRawOption()
$commandTester = new CommandTester($command = $application->get('list'));
$commandTester->execute(['command' => $command->getName(), '--raw' => true]);
$output = <<<'EOF'
-help Displays help for a command
-list Lists commands
+help Display help for a command
+list List commands
EOF;
@@ -86,8 +86,8 @@ public function testExecuteListsCommandsOrder()
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
- help Displays help for a command
- list Lists commands
+ help Display help for a command
+ list List commands
0foo
0foo:bar 0foo:bar command
EOF;
@@ -103,8 +103,8 @@ public function testExecuteListsCommandsOrderRaw()
$commandTester = new CommandTester($command = $application->get('list'));
$commandTester->execute(['command' => $command->getName(), '--raw' => true]);
$output = <<<'EOF'
-help Displays help for a command
-list Lists commands
+help Display help for a command
+list List commands
0foo:bar 0foo:bar command
EOF;
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_1.json b/src/Symfony/Component/Console/Tests/Fixtures/application_1.json
index bb1eab28ed4c1..e1985fb0fd840 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_1.json
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_1.json
@@ -6,7 +6,7 @@
"usage": [
"help [--format FORMAT] [--raw] [--] []"
],
- "description": "Displays help for a command",
+ "description": "Display help for a command",
"help": "The help<\/info> command displays help for a given command:\n\n app\/console help list<\/info>\n\nYou can also output the help in other formats by using the --format<\/comment> option:\n\n app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the list<\/info> command.",
"definition": {
"arguments": {
@@ -109,7 +109,7 @@
"usage": [
"list [--raw] [--format FORMAT] [--] []"
],
- "description": "Lists commands",
+ "description": "List commands",
"help": "The list<\/info> command lists all commands:\n\n app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n app\/console list test<\/info>\n\nYou can also output the information in other formats by using the --format<\/comment> option:\n\n app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n app\/console list --raw<\/info>",
"definition": {
"arguments": {
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_1.md b/src/Symfony/Component/Console/Tests/Fixtures/application_1.md
index 38c84e4e232b9..afee6ea8d96f4 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_1.md
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_1.md
@@ -7,7 +7,7 @@ Console Tool
`help`
------
-Displays help for a command
+Display help for a command
### Usage
@@ -119,7 +119,7 @@ Do not ask any interactive question
`list`
------
-Lists commands
+List commands
### Usage
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_1.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_1.txt
index cc55447241368..b09764840b485 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_1.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_1.txt
@@ -13,5 +13,5 @@ Console Tool
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
- help Displays help for a command
- list Lists commands
+ help Display help for a command
+ list List commands
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_1.xml b/src/Symfony/Component/Console/Tests/Fixtures/application_1.xml
index 5b6a906c5a2a2..0dc09563fb9ed 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_1.xml
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_1.xml
@@ -5,7 +5,7 @@
help [--format FORMAT] [--raw] [--] [<command_name>]
- Displays help for a command
+ Display help for a commandThe <info>help</info> command displays help for a given command:
<info>app/console help list</info>
@@ -60,7 +60,7 @@
list [--raw] [--format FORMAT] [--] [<namespace>]
- Lists commands
+ List commandsThe <info>list</info> command lists all commands:
<info>app/console list</info>
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_2.json b/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
index ef8c99746bd62..2c42070ec9cdf 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
@@ -10,7 +10,7 @@
"usage": [
"help [--format FORMAT] [--raw] [--] []"
],
- "description": "Displays help for a command",
+ "description": "Display help for a command",
"help": "The help<\/info> command displays help for a given command:\n\n app\/console help list<\/info>\n\nYou can also output the help in other formats by using the --format<\/comment> option:\n\n app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the list<\/info> command.",
"definition": {
"arguments": {
@@ -113,7 +113,7 @@
"usage": [
"list [--raw] [--format FORMAT] [--] []"
],
- "description": "Lists commands",
+ "description": "List commands",
"help": "The list<\/info> command lists all commands:\n\n app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n app\/console list test<\/info>\n\nYou can also output the information in other formats by using the --format<\/comment> option:\n\n app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n app\/console list --raw<\/info>",
"definition": {
"arguments": {
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_2.md b/src/Symfony/Component/Console/Tests/Fixtures/application_2.md
index 5f957da376474..5785f272da985 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_2.md
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_2.md
@@ -20,7 +20,7 @@ My Symfony application v1.0
`help`
------
-Displays help for a command
+Display help for a command
### Usage
@@ -132,7 +132,7 @@ Do not ask any interactive question
`list`
------
-Lists commands
+List commands
### Usage
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_2.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_2.txt
index 0aab070b08797..e314eeb070f0a 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_2.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_2.txt
@@ -13,8 +13,8 @@ My Symfony application v1.0-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
- help Displays help for a command
- list Lists commands
+ help Display help for a command
+ list List commands
descriptordescriptor:command1 [alias1|alias2] command 1 description
descriptor:command2 command 2 description
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_2.xml b/src/Symfony/Component/Console/Tests/Fixtures/application_2.xml
index 4ec76624a7592..926c49b289365 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_2.xml
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_2.xml
@@ -5,7 +5,7 @@
help [--format FORMAT] [--raw] [--] [<command_name>]
- Displays help for a command
+ Display help for a commandThe <info>help</info> command displays help for a given command:
<info>app/console help list</info>
@@ -60,7 +60,7 @@
list [--raw] [--format FORMAT] [--] [<namespace>]
- Lists commands
+ List commandsThe <info>list</info> command lists all commands:
<info>app/console list</info>
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.md b/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.md
index 5d9b0881d31f4..74ac56ed206aa 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.md
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.md
@@ -11,7 +11,7 @@ MbString åpplicätion
`help`
------
-Displays help for a command
+Display help for a command
### Usage
@@ -123,7 +123,7 @@ Do not ask any interactive question
`list`
------
-Lists commands
+List commands
### Usage
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.txt
index b3948eabd0232..b1e9d8f475430 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_mbstring.txt
@@ -13,7 +13,7 @@ MbString åpplicätion
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
- help Displays help for a command
- list Lists commands
+ help Display help for a command
+ list List commands
descriptordescriptor:åèä command åèä description
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
index 8cbcf7a7a0dcd..1255d4f142e96 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
@@ -13,5 +13,5 @@ Options:
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
- help Displays help for a command
- list Lists commands
+ help Display help for a command
+ list List commands
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_run2.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_run2.txt
index b1b2e665ce398..8f1cbbf7ad1f9 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_run2.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_run2.txt
@@ -1,5 +1,5 @@
Description:
- Lists commands
+ List commands
Usage:
list [options] [--] []
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_run3.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_run3.txt
index b1b2e665ce398..8f1cbbf7ad1f9 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_run3.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_run3.txt
@@ -1,5 +1,5 @@
Description:
- Lists commands
+ List commands
Usage:
list [options] [--] []
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_run5.txt b/src/Symfony/Component/Console/Tests/Fixtures/application_run5.txt
index 1cf8d1f8b63b7..d4bc28e1db421 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_run5.txt
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_run5.txt
@@ -1,5 +1,5 @@
Description:
- Displays help for a command
+ Display help for a command
Usage:
help [options] [--] []
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php
index d201b58b987aa..cb6e8bc4ed1b3 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php
@@ -146,7 +146,7 @@ private function autowireCalls(\ReflectionClass $reflectionClass, bool $isRoot):
$this->decoratedClass = null;
$this->getPreviousValue = null;
- if ($isRoot && ($definition = $this->container->getDefinition($this->currentId)) && $this->container->has($this->decoratedId = $definition->innerServiceId)) {
+ if ($isRoot && ($definition = $this->container->getDefinition($this->currentId)) && null !== ($this->decoratedId = $definition->innerServiceId) && $this->container->has($this->decoratedId)) {
$this->decoratedClass = $this->container->findDefinition($this->decoratedId)->getClass();
}
diff --git a/src/Symfony/Component/Form/Command/DebugCommand.php b/src/Symfony/Component/Form/Command/DebugCommand.php
index 4150feaf8ce85..3ee7609725105 100644
--- a/src/Symfony/Component/Form/Command/DebugCommand.php
+++ b/src/Symfony/Component/Form/Command/DebugCommand.php
@@ -64,7 +64,7 @@ protected function configure()
new InputOption('show-deprecated', null, InputOption::VALUE_NONE, 'Display deprecated options in form types'),
new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt or json)', 'txt'),
])
- ->setDescription('Displays form type information')
+ ->setDescription('Display form type information')
->setHelp(<<<'EOF'
The %command.name% command displays information about form types.
diff --git a/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf b/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf
new file mode 100644
index 0000000000000..58591d69e9539
--- /dev/null
+++ b/src/Symfony/Component/Form/Resources/translations/validators.uz.xlf
@@ -0,0 +1,139 @@
+
+
+
+
+
+ This form should not contain extra fields.
+ Ushbu fo'rmada qo'shimcha maydonlar bo'lmasligi kerak.
+
+
+ The uploaded file was too large. Please try to upload a smaller file.
+ Yuklab olingan fayl juda katta. Iltimos, kichikroq faylni yuklashga harakat qiling.
+
+
+ The CSRF token is invalid. Please try to resubmit the form.
+ CSRF qiymati yaroqsiz. Fo'rmani qayta yuborishga harakat qiling.
+
+
+ This value is not a valid HTML5 color.
+ Qiymat noto'g'ri, HTML5 rangi emas.
+
+
+ Please enter a valid birthdate.
+ Iltimos, tug'ilgan kuningizni to'g'ri kiriting.
+
+
+ The selected choice is invalid.
+ Tanlangan parametr noto'g'ri.
+
+
+ The collection is invalid.
+ Kolleksiya noto'g'ri
+
+
+ Please select a valid color.
+ Iltimos, to'g'ri rang tanlang.
+
+
+ Please select a valid country.
+ Iltimos, to'g'ri mamlakatni tanlang.
+
+
+ Please select a valid currency.
+ Iltimos, to'g'ri valyutani tanlang.
+
+
+ Please choose a valid date interval.
+ Iltimos, to'g'ri sana oralig'ini tanlang.
+
+
+ Please enter a valid date and time.
+ Iltimos, to'g'ri sana va vaqtni kiriting.
+
+
+ Please enter a valid date.
+ Iltimos, to'g'ri sanani kiriting.
+
+
+ Please select a valid file.
+ Iltimos, to'g'ri faylni tanlang.
+
+
+ The hidden field is invalid.
+ Yashirin maydon qiymati yaroqsiz.
+
+
+ Please enter an integer.
+ Iltimos, butun son kiriting.
+
+
+ Please select a valid language.
+ Iltimos, to'g'ri tilni tanlang.
+
+
+ Please select a valid locale.
+ Iltimos, to'g'ri localni tanlang.
+
+
+ Please enter a valid money amount.
+ Iltimos, tegishli miqdordagi pulni kiriting.
+
+
+ Please enter a number.
+ Iltimos, raqam kiriting.
+
+
+ The password is invalid.
+ Parol noto'g'ri.
+
+
+ Please enter a percentage value.
+ Iltimos, foyizli qiymat kiriting.
+
+
+ The values do not match.
+ Qiymatlar mos kelmaydi.
+
+
+ Please enter a valid time.
+ Iltimos, to'g'ri vaqtni tanlang.
+
+
+ Please select a valid timezone.
+ Iltimos, to'g'ri vaqt zonasini tanlang.
+
+
+ Please enter a valid URL.
+ Iltimos, to'g'ri URL kiriting.
+
+
+ Please enter a valid search term.
+ Iltimos, to'g'ri qidiruv so'zini kiriting.
+
+
+ Please provide a valid phone number.
+ Iltimos, to'g'ri telefon raqamini kiriting.
+
+
+ The checkbox has an invalid value.
+ Belgilash katagida yaroqsiz qiymat mavjud.
+
+
+ Please enter a valid email address.
+ Iltimos, to'g'ri email kiriting.
+
+
+ Please select a valid option.
+ Iltimos, yaroqli variantni tanlang.
+
+
+ Please select a valid range.
+ Iltimos, yaroqli oraliqni tanlang.
+
+
+ Please enter a valid week.
+ Iltimos, haqiqiy haftani kiriting.
+
+
+
+
diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php
index 7c8b33d77c6bc..24573ec5aba7a 100644
--- a/src/Symfony/Component/HttpKernel/Kernel.php
+++ b/src/Symfony/Component/HttpKernel/Kernel.php
@@ -74,11 +74,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
private static $freshCache = [];
- public const VERSION = '5.2.4';
- public const VERSION_ID = 50204;
+ public const VERSION = '5.2.5';
+ public const VERSION_ID = 50205;
public const MAJOR_VERSION = 5;
public const MINOR_VERSION = 2;
- public const RELEASE_VERSION = 4;
+ public const RELEASE_VERSION = 5;
public const EXTRA_VERSION = '';
public const END_OF_MAINTENANCE = '07/2021';
diff --git a/src/Symfony/Component/Mailer/composer.json b/src/Symfony/Component/Mailer/composer.json
index 0794346413c15..673b00167df79 100644
--- a/src/Symfony/Component/Mailer/composer.json
+++ b/src/Symfony/Component/Mailer/composer.json
@@ -17,7 +17,7 @@
],
"require": {
"php": ">=7.2.5",
- "egulias/email-validator": "^2.1.10",
+ "egulias/email-validator": "^2.1.10|^3",
"psr/log": "~1.0",
"symfony/event-dispatcher": "^4.4|^5.0",
"symfony/mime": "^5.2",
diff --git a/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php b/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php
index 7b17e41af8d68..9fc3f6b527659 100644
--- a/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php
+++ b/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php
@@ -51,16 +51,10 @@ public function testGetExtraSetupSql()
$table->addOption('_symfony_messenger_table_name', 'queue_table');
$sql = implode("\n", $connection->getExtraSetupSqlForTable($table));
- /*
- * We need to start a transaction for the following commands to work properly:
- * doctrine:schema:create
- * messenger:setup-transports
- * doctrine:migrations:diff and doctrine:migrations:migrate
- */
- $this->assertStringContainsString('BEGIN;', $sql);
$this->assertStringContainsString('CREATE TRIGGER', $sql);
- // We MUST NOT commit, that will mess with the PDO in PHP 8
+ // We MUST NOT use transaction, that will mess with the PDO in PHP 8
+ $this->assertStringNotContainsString('BEGIN;', $sql);
$this->assertStringNotContainsString('COMMIT;', $sql);
}
diff --git a/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php b/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php
index eede0d9262502..5be0ae9773c2b 100644
--- a/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php
+++ b/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php
@@ -109,8 +109,6 @@ public function getExtraSetupSqlForTable(Table $createdTable): array
private function getTriggerSql(): array
{
return [
- 'BEGIN;',
- sprintf('LOCK TABLE %s;', $this->configuration['table_name']),
// create trigger function
sprintf(<<<'SQL'
CREATE OR REPLACE FUNCTION notify_%1$s() RETURNS TRIGGER AS $$
diff --git a/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php b/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php
index 03320b6f66e15..8357978be1f5d 100644
--- a/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php
+++ b/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php
@@ -71,7 +71,7 @@ protected function configure(): void
new InputOption('sleep', null, InputOption::VALUE_REQUIRED, 'Seconds to sleep before asking for new messages after no messages were found', 1),
new InputOption('bus', 'b', InputOption::VALUE_REQUIRED, 'Name of the bus to which received messages should be dispatched (if not passed, bus is determined automatically)'),
])
- ->setDescription('Consumes messages')
+ ->setDescription('Consume messages')
->setHelp(<<<'EOF'
The %command.name% command consumes messages and dispatches them to the message bus.
diff --git a/src/Symfony/Component/Messenger/Command/DebugCommand.php b/src/Symfony/Component/Messenger/Command/DebugCommand.php
index 31b19d0bff948..d24f7299df4f5 100644
--- a/src/Symfony/Component/Messenger/Command/DebugCommand.php
+++ b/src/Symfony/Component/Messenger/Command/DebugCommand.php
@@ -43,7 +43,7 @@ protected function configure()
{
$this
->addArgument('bus', InputArgument::OPTIONAL, sprintf('The bus id (one of "%s")', implode('", "', array_keys($this->mapping))))
- ->setDescription('Lists messages you can dispatch using the message buses')
+ ->setDescription('List messages you can dispatch using the message buses')
->setHelp(<<<'EOF'
The %command.name% command displays all messages that can be
dispatched using the message buses:
diff --git a/src/Symfony/Component/Messenger/Command/FailedMessagesRetryCommand.php b/src/Symfony/Component/Messenger/Command/FailedMessagesRetryCommand.php
index 87426edd9dbaa..448f04443aebf 100644
--- a/src/Symfony/Component/Messenger/Command/FailedMessagesRetryCommand.php
+++ b/src/Symfony/Component/Messenger/Command/FailedMessagesRetryCommand.php
@@ -59,7 +59,7 @@ protected function configure(): void
new InputArgument('id', InputArgument::IS_ARRAY, 'Specific message id(s) to retry'),
new InputOption('force', null, InputOption::VALUE_NONE, 'Force action without confirmation'),
])
- ->setDescription('Retries one or more messages from the failure transport')
+ ->setDescription('Retry one or more messages from the failure transport')
->setHelp(<<<'EOF'
The %command.name% retries message in the failure transport.
diff --git a/src/Symfony/Component/Messenger/Command/FailedMessagesShowCommand.php b/src/Symfony/Component/Messenger/Command/FailedMessagesShowCommand.php
index bf8a72f906367..b626f59f17e00 100644
--- a/src/Symfony/Component/Messenger/Command/FailedMessagesShowCommand.php
+++ b/src/Symfony/Component/Messenger/Command/FailedMessagesShowCommand.php
@@ -39,7 +39,7 @@ protected function configure(): void
new InputArgument('id', InputArgument::OPTIONAL, 'Specific message id to show'),
new InputOption('max', null, InputOption::VALUE_REQUIRED, 'Maximum number of messages to list', 50),
])
- ->setDescription('Shows one or more messages from the failure transport')
+ ->setDescription('Show one or more messages from the failure transport')
->setHelp(<<<'EOF'
The %command.name% shows message that are pending in the failure transport.
diff --git a/src/Symfony/Component/Messenger/Command/SetupTransportsCommand.php b/src/Symfony/Component/Messenger/Command/SetupTransportsCommand.php
index 84395892fdf9b..4157a911f4902 100644
--- a/src/Symfony/Component/Messenger/Command/SetupTransportsCommand.php
+++ b/src/Symfony/Component/Messenger/Command/SetupTransportsCommand.php
@@ -41,7 +41,7 @@ protected function configure()
{
$this
->addArgument('transport', InputArgument::OPTIONAL, 'Name of the transport to setup', null)
- ->setDescription('Prepares the required infrastructure for the transport')
+ ->setDescription('Prepare the required infrastructure for the transport')
->setHelp(<<%command.name% command setups the transports:
diff --git a/src/Symfony/Component/Messenger/Command/StopWorkersCommand.php b/src/Symfony/Component/Messenger/Command/StopWorkersCommand.php
index 7df9b9d2014f0..646ea5e87e151 100644
--- a/src/Symfony/Component/Messenger/Command/StopWorkersCommand.php
+++ b/src/Symfony/Component/Messenger/Command/StopWorkersCommand.php
@@ -42,7 +42,7 @@ protected function configure(): void
{
$this
->setDefinition([])
- ->setDescription('Stops workers after their current message')
+ ->setDescription('Stop workers after their current message')
->setHelp(<<<'EOF'
The %command.name% command sends a signal to stop any messenger:consume processes that are running.
diff --git a/src/Symfony/Component/Mime/Address.php b/src/Symfony/Component/Mime/Address.php
index ea17f716a590a..3ef967dd73231 100644
--- a/src/Symfony/Component/Mime/Address.php
+++ b/src/Symfony/Component/Mime/Address.php
@@ -12,6 +12,7 @@
namespace Symfony\Component\Mime;
use Egulias\EmailValidator\EmailValidator;
+use Egulias\EmailValidator\Validation\MessageIDValidation;
use Egulias\EmailValidator\Validation\RFCValidation;
use Symfony\Component\Mime\Encoder\IdnAddressEncoder;
use Symfony\Component\Mime\Exception\InvalidArgumentException;
@@ -51,7 +52,7 @@ public function __construct(string $address, string $name = '')
$this->address = trim($address);
$this->name = trim(str_replace(["\n", "\r"], '', $name));
- if (!self::$validator->isValid($this->address, new RFCValidation())) {
+ if (!self::$validator->isValid($this->address, class_exists(MessageIDValidation::class) ? new MessageIDValidation() : new RFCValidation())) {
throw new RfcComplianceException(sprintf('Email "%s" does not comply with addr-spec of RFC 2822.', $address));
}
}
diff --git a/src/Symfony/Component/Mime/composer.json b/src/Symfony/Component/Mime/composer.json
index a00c0678b3766..22ba0ee046ec6 100644
--- a/src/Symfony/Component/Mime/composer.json
+++ b/src/Symfony/Component/Mime/composer.json
@@ -23,7 +23,7 @@
"symfony/polyfill-php80": "^1.15"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10",
+ "egulias/email-validator": "^2.1.10|^3.1",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/property-access": "^4.4|^5.1",
@@ -31,6 +31,7 @@
"symfony/serializer": "^5.2"
},
"conflict": {
+ "egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<4.4"
diff --git a/src/Symfony/Component/Security/Core/Resources/translations/security.uz.xlf b/src/Symfony/Component/Security/Core/Resources/translations/security.uz.xlf
new file mode 100644
index 0000000000000..4f031976c1aad
--- /dev/null
+++ b/src/Symfony/Component/Security/Core/Resources/translations/security.uz.xlf
@@ -0,0 +1,75 @@
+
+
+
+
+
+ An authentication exception occurred.
+ Autentifikatsiyada xatolik.
+
+
+ Authentication credentials could not be found.
+ Autentifikatsiya ma'lumotlari topilmadi.
+
+
+ Authentication request could not be processed due to a system problem.
+ Tizimdagi muammo tufayli autentifikatsiya so'rovi bajarilmadi.
+
+
+ Invalid credentials.
+ Noto'g'ri ma'lumot.
+
+
+ Cookie has already been used by someone else.
+ Cookie faylini allaqachon kimdir ishlatgan.
+
+
+ Not privileged to request the resource.
+ Sizda ushbu manbani talab qilishga ruxsat yo'q..
+
+
+ Invalid CSRF token.
+ Noto'g'ri CSRF belgisi.
+
+
+ No authentication provider found to support the authentication token.
+ Haqiqiylikni tasdiqlovchi belgini qo'llab-quvvatlovchi biron bir autentifikatsiya provayderi topilmadi.
+
+
+ No session available, it either timed out or cookies are not enabled.
+ Sessiya topilmadi, muddati tugamadi yoki cookie-fayllar yoqilmagan.
+
+
+ No token could be found.
+ To'ken topilmadi.
+
+
+ Username could not be found.
+ Foydalanuvchi nomi topilmadi.
+
+
+ Account has expired.
+ Akkunt muddati tugagan.
+
+
+ Credentials have expired.
+ Autentifikatsiya ma'lumotlari muddati tugagan.
+
+
+ Account is disabled.
+ Akkunt o'chirilgan.
+
+
+ Account is locked.
+ Akkunt bloklangan.
+
+
+ Too many failed login attempts, please try again later.
+ Kirish urinishlari muvaffaqiyatsiz tugadi, keyinroq qayta urinib ko'ring.
+
+
+ Invalid or expired login link.
+ Kirish havolasi yaroqsiz yoki muddati tugagan.
+
+
+
+
diff --git a/src/Symfony/Component/Security/Core/composer.json b/src/Symfony/Component/Security/Core/composer.json
index 3d74c1c73dcea..177896a4e84eb 100644
--- a/src/Symfony/Component/Security/Core/composer.json
+++ b/src/Symfony/Component/Security/Core/composer.json
@@ -23,7 +23,7 @@
"symfony/deprecation-contracts": "^2.1"
},
"require-dev": {
- "psr/container": "^1.0",
+ "psr/container": "^1.0|^2.0",
"symfony/event-dispatcher": "^4.4|^5.0",
"symfony/expression-language": "^4.4|^5.0",
"symfony/http-foundation": "^4.4|^5.0",
diff --git a/src/Symfony/Component/Security/Http/Tests/EventListener/PasswordMigratingListenerTest.php b/src/Symfony/Component/Security/Http/Tests/EventListener/PasswordMigratingListenerTest.php
index 39a62e0f69d68..dea08f0186023 100644
--- a/src/Symfony/Component/Security/Http/Tests/EventListener/PasswordMigratingListenerTest.php
+++ b/src/Symfony/Component/Security/Http/Tests/EventListener/PasswordMigratingListenerTest.php
@@ -110,7 +110,7 @@ public function testUpgradeWithoutUpgrader()
private function createPasswordUpgrader()
{
- return $this->createMock(PasswordUpgraderInterface::class);
+ return $this->createMock(MigratingUserProvider::class);
}
private function createEvent(PassportInterface $passport)
@@ -121,4 +121,7 @@ private function createEvent(PassportInterface $passport)
abstract class MigratingUserProvider implements UserProviderInterface, PasswordUpgraderInterface
{
+ public function upgradePassword(UserInterface $user, string $newEncodedPassword): void
+ {
+ }
}
diff --git a/src/Symfony/Component/Translation/Command/XliffLintCommand.php b/src/Symfony/Component/Translation/Command/XliffLintCommand.php
index c487e82e1ed49..122f859b2f616 100644
--- a/src/Symfony/Component/Translation/Command/XliffLintCommand.php
+++ b/src/Symfony/Component/Translation/Command/XliffLintCommand.php
@@ -53,7 +53,7 @@ public function __construct(string $name = null, callable $directoryIteratorProv
protected function configure()
{
$this
- ->setDescription('Lints an XLIFF file and outputs encountered errors')
+ ->setDescription('Lint an XLIFF file and outputs encountered errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->setHelp(<<addArgument('class', InputArgument::REQUIRED, 'A fully qualified class name or a path')
->addOption('show-all', null, InputOption::VALUE_NONE, 'Show all classes even if they have no validation constraints')
- ->setDescription('Displays validation constraints for classes')
+ ->setDescription('Display validation constraints for classes')
->setHelp(<<<'EOF'
The %command.name% 'App\Entity\Dummy' command dumps the validators for the dummy class.
diff --git a/src/Symfony/Component/Validator/ConstraintViolation.php b/src/Symfony/Component/Validator/ConstraintViolation.php
index 982ebe275950a..2004745fe238d 100644
--- a/src/Symfony/Component/Validator/ConstraintViolation.php
+++ b/src/Symfony/Component/Validator/ConstraintViolation.php
@@ -140,7 +140,7 @@ public function getRoot()
*/
public function getPropertyPath()
{
- return $this->propertyPath;
+ return (string) $this->propertyPath;
}
/**
diff --git a/src/Symfony/Component/Validator/Resources/translations/validators.uz.xlf b/src/Symfony/Component/Validator/Resources/translations/validators.uz.xlf
new file mode 100644
index 0000000000000..31e5d5444d0c9
--- /dev/null
+++ b/src/Symfony/Component/Validator/Resources/translations/validators.uz.xlf
@@ -0,0 +1,391 @@
+
+
+
+
+
+ This value should be false.
+ Qiymat noto'g'ri bo'lishi kerak.
+
+
+ This value should be true.
+ Qiymat to'g'ri bo'lishi kerak.
+
+
+ This value should be of type {{ type }}.
+ Qiymat turi {{ type }} bo'lishi kerak.
+
+
+ This value should be blank.
+ Qiymat bo'sh bo'lishi kerak.
+
+
+ The value you selected is not a valid choice.
+ Tanlangan qiymat to'g'ri emas.
+
+
+ You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.
+ Siz hech bo'lmaganda {{ limit }} ta qiymat tanlashingiz kerak.|Siz kamida {{ limit }} ta qiymat tanlashingiz kerak.
+
+
+ You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.
+ Siz {{ limit }} ta qiymatni tanlashingiz kerak.|Siz {{ limit }} dan ortiq qiymat tanlashingiz kerak.
+
+
+ One or more of the given values is invalid.
+ Belgilangan qiymatlarning bir yoki bir nechtasi noto'g'ri.
+
+
+ This field was not expected.
+ Ushbu maydon kutilmagan edi.
+
+
+ This field is missing.
+ Bu maydon majvud emas.
+
+
+ This value is not a valid date.
+ Ushbu sana noto'g'ri.
+
+
+ This value is not a valid datetime.
+ Sana va vaqt qiymati noto'g'ri.
+
+
+ This value is not a valid email address.
+ Elektron pochta manzili noto'g'ri.
+
+
+ The file could not be found.
+ Fayl topilmadi.
+
+
+ The file is not readable.
+ Faylni o'qib bo'lmadi.
+
+
+ The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.
+ Fayl hajmi katta ({{ size }} {{ suffix }}). Maksimal ruxsat etilgan hajim {{ limit }} {{ suffix }}.
+
+
+ The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.
+ Faylning MIME turi noto'g'ri ({{ type }}). Ruxsat etilgan MIME turlar {{ types }}.
+
+
+ This value should be {{ limit }} or less.
+ Qiymat {{ limit }} ga teng yoki kam bo'lishi kerak.
+
+
+ This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.
+ Qiymat juda uzun. {{ limit }} ga teng yoki kam bo'lishi kerak.|Qiymat juda uzun. {{ limit }} yoki undan kam belgidan iborat bo'lishi kerak.
+
+
+ This value should be {{ limit }} or more.
+ Qiymat {{ limit }} yoki undan ortiq bo'lishi kerak.
+
+
+ This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.
+ Qiymat juda qisqa. {{ limit }} ta yoki undan ortiq belgidan iborat bo'lishi kerak.|Qiymat juda qisqa. {{ limit }} yoki undan ko'p belgidan iborat bo'lishi kerak
+
+
+ This value should not be blank.
+ Qiymatni bo'sh kirtish mumkin emas.
+
+
+ This value should not be null.
+ Qiymat null bo'lmasligi kerak.
+
+
+ This value should be null.
+ Qiymat null bo'lishi kerak.
+
+
+ This value is not valid.
+ Qiymat noto'g'ri.
+
+
+ This value is not a valid time.
+ Vaqt noto'g'ri.
+
+
+ This value is not a valid URL.
+ URL noto'g'ri
+
+
+ The two values should be equal.
+ Ikkala qiymat ham bir xil bo'lishi kerak.
+
+
+ The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.
+ Fayl hajmi katta. Maksimal ruxsat berilgan hajim {{ limit }} {{ suffix }}.
+
+
+ The file is too large.
+ Fayl hajmi katta.
+
+
+ The file could not be uploaded.
+ Faylni yuklab bo'lmadi.
+
+
+ This value should be a valid number.
+ Qiymat raqam bo'lishi kerak.
+
+
+ This value is not a valid country.
+ Mamlakat qiymati noto'g'ri.
+
+
+ This file is not a valid image.
+ Fayl yaroqli rasm formati emas.
+
+
+ This is not a valid IP address.
+ Ip manzil noto'g'ri.
+
+
+ This value is not a valid language.
+ Noto'g'ri til.
+
+
+ This value is not a valid locale.
+ Ushbu qiymat mahalliy qiymat emas.
+
+
+ This value is already used.
+ Ushbu qiymat allaqachon ishlatilgan.
+
+
+ The size of the image could not be detected.
+ Rasm o'lchamini aniqlab bo'lmadi.
+
+
+ The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.
+ Rasm kengligi juda katta ({{ width }}px). Maksimal ruxsat etilgan kenglik {{ max_width }}px.
+
+
+ The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.
+ Rasm kengligi juda kichkina ({{ width }}px). Minimal ruxsat etilgan kenglik {{ min_width }}px.
+
+
+ The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.
+ Rasm bo'yi juda katta ({{ height }}px). Maksimal ruxsat etilgan balandlik {{ max_height }}px.
+
+
+ The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.
+ Rasm bo'yi juda kichkina ({{ height }}px). Minimal ruxsat etilgan balandlik {{ min_height }}px.
+
+
+ This value should be the user's current password.
+ Qiymat joriy foydalanuvchi paroli bo'lishi kerak.
+
+
+ This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.
+ Qiymat {{ limit }} ta belgidan iborat bo'lishi kerak.|Qiymat {{ limit }} belgidan iborat bo'lishi kerak.
+
+
+ The file was only partially uploaded.
+ Fayl faqat qisman yuklangan.
+
+
+ No file was uploaded.
+ Fayl yuklanmagan.
+
+
+ No temporary folder was configured in php.ini.
+ php.ini da vaqtinchalik katalog sozlanmagan.
+
+
+ Cannot write temporary file to disk.
+ Diskka vaqtinchalik faylni yozib bo'lmadi.
+
+
+ A PHP extension caused the upload to fail.
+ PHP kengaytmasi yuklash paytida xatolik yuz berdi.
+
+
+ This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.
+ Ushbu to'plam {{ limit }} ta yoki undan ko'p narsalarni o'z ichiga olishi kerak.|Ushbu to'plam {{ limit }} yoki undan ortiq narsalarni o'z ichiga olishi kerak.
+
+
+ This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.
+ Ushbu to'plam {{ limit }} ta yoki undan kam narsalarni o'z ichiga olishi kerak.|Ushbu to'plamda {{ limit }} yoki undan kam element bo'lishi kerak.
+
+
+ This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.
+ Ushbu to'plam to'liq {{ limit }} narsani o'z ichiga olishi kerak.|Ushbu to'plamda to'liq {{ limit }} ta ma'lumotlar bo'lishi kerak.
+
+
+ Invalid card number.
+ Kata raqami noto'g'ri.
+
+
+ Unsupported card type or invalid card number.
+ Qo'llab-quvvatlanmaydigan karta turi yoki yaroqsiz karta raqami.
+
+
+ This is not a valid International Bank Account Number (IBAN).
+ Qiymat haqiqiy xalqaro hisob raqamining raqami (IBAN) emas.
+
+
+ This value is not a valid ISBN-10.
+ Qiymat to'g'ri ISBN-10 formatida emas.
+
+
+ This value is not a valid ISBN-13.
+ Qiymat to'g'ri ISBN-13 formatida emas.
+
+
+ This value is neither a valid ISBN-10 nor a valid ISBN-13.
+ Qiymat ISBN-10 va ISBN-13 formatlariga mos kelmaydi.
+
+
+ This value is not a valid ISSN.
+ Qiymat ISSN formatiga mos kelmaydi.
+
+
+ This value is not a valid currency.
+ Noto'g'ri valyuta formati.
+
+
+ This value should be equal to {{ compared_value }}.
+ Qiymat {{ compared_value }} ga teng bo'lishi shart.
+
+
+ This value should be greater than {{ compared_value }}.
+ Qiymat {{ compared_value }} dan katta bo'lishi shart.
+
+
+ This value should be greater than or equal to {{ compared_value }}.
+ Qiymat {{ compared_value }} dan katta yoki teng bo'lishi shart.
+
+
+ This value should be identical to {{ compared_value_type }} {{ compared_value }}.
+ Значение должно быть идентичным {{ compared_value_type }} {{ compared_value }}.
+
+
+ This value should be less than {{ compared_value }}.
+ Qiymat bir xil bo'lishi kerak {{ compared_value }}.
+
+
+ This value should be less than or equal to {{ compared_value }}.
+ Qiymat {{ compared_value }} dan kichik yoki teng bo'lishi shart.
+
+
+ This value should not be equal to {{ compared_value }}.
+ Qiymat {{ compared_value }} ga teng bo'lmasligi kerak.
+
+
+ This value should not be identical to {{ compared_value_type }} {{ compared_value }}.
+ Qiymat bir xil bo'lishi kerak emas {{ compared_value_type }} {{ compared_value }}.
+
+
+ The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.
+ Rasmning tomonlari nisbati juda katta ({{ ratio }}). Maksimal tomonlar nisbati {{ max_ratio }}.
+
+
+ The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.
+ Rasmning format nisbati juda kichik ({{ ratio }}). Minimal tomonlar nisbati {{ min_ratio }}.
+
+
+ The image is square ({{ width }}x{{ height }}px). Square images are not allowed.
+ Rasm kvadrat shaklida ({{ width }}x{{ height }}px). Kvadrat shaklida tasvirlarga ruxsat berilmaydi.
+
+
+ The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.
+ Landshaft tasvir ({{ width }}x{{ height }}px). Landshaft rasmlarga ruxsat berilmaydi.
+
+
+ The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.
+ Portret rasm ({{ width }}x{{ height }}px). Portretlarga ruxsat berilmaydi.
+
+
+ An empty file is not allowed.
+ Bo'sh fayllarga ruxsat berilmagan.
+
+
+ The host could not be resolved.
+ Xost nomini nomiga ruxsat berilmagan.
+
+
+ This value does not match the expected {{ charset }} charset.
+ Qiymat kutilgan {{ charset }} kodlashiga mos kelmaydi.
+
+
+ This is not a valid Business Identifier Code (BIC).
+ Qiymat BIC formatida emas.
+
+
+ Error
+ Xatolik
+
+
+ This is not a valid UUID.
+ Qiymat UUID formatida emas.
+
+
+ This value should be a multiple of {{ compared_value }}.
+ Qiymat {{ compared_value }} ning ko'paytmasi bo'lishi kerak.
+
+
+ This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.
+ Ushbu BIC IBAN {{ iban }} bilan bog'liq emas..
+
+
+ This value should be valid JSON.
+ Qiymat to'g'ri JSON bo'lishi kerak.
+
+
+ This collection should contain only unique elements.
+ Ushbu kolleksiyada takroriy elementlar bo'lmasligi kerak.
+
+
+ This value should be positive.
+ Qiymat musbat bo'lishi kerak.
+
+
+ This value should be either positive or zero.
+ Qiymat musbat yoki 0 ga teng bo'lishi kerak.
+
+
+ This value should be negative.
+ Qiymat manfiy bo'lishi kerak.
+
+
+ This value should be either negative or zero.
+ Qiymat manfiy yoki 0 ga teng bo'lishi kerak.
+
+
+ This value is not a valid timezone.
+ Qiymat to'g'ri vaqt zonasi emas.
+
+
+ This password has been leaked in a data breach, it must not be used. Please use another password.
+ Ushbu parol ma'lumotlarning tarqalishi tufayli buzilgan va uni ishlatmaslik kerak. Boshqa paroldan foydalaning.
+
+
+ This value should be between {{ min }} and {{ max }}.
+ Qiymat {{ min }} va {{ max }} oralig'ida bo'lishi shart.
+
+
+ This value is not a valid hostname.
+ Qiymat to'g'ri xost nomi emas.
+
+
+ The number of elements in this collection should be a multiple of {{ compared_value }}.
+ Ushbu to'plamdagi narsalar soni {{ compared_value }} dan ko'p bo'lishi kerak.
+
+
+ This value should satisfy at least one of the following constraints:
+ Qiymat quyidagi cheklovlardan kamida bittasiga javob berishi kerak:
+
+
+ Each element of this collection should satisfy its own set of constraints.
+ Ushbu to'plamdagi har bir narsa o'ziga xos cheklovlarni qondirishi kerak.
+
+
+ This value is not a valid International Securities Identification Number (ISIN).
+ Qiymat Qimmatli qog'ozlarning xalqaro identifikatsiya raqami (ISIN) ga mos emas.
+
+
+
+
diff --git a/src/Symfony/Component/Validator/Tests/ConstraintViolationTest.php b/src/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
index eb5810dafbd89..a7734635aacff 100644
--- a/src/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
+++ b/src/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
@@ -156,4 +156,19 @@ public function testMessageObjectMustBeStringable()
null
);
}
+
+ public function testRetrievedPropertyPathIsAStringEvenIfNotSet()
+ {
+ self::assertSame(
+ '',
+ (new ConstraintViolation(
+ 'irrelevant',
+ '',
+ [],
+ 'irrelevant',
+ null,
+ null
+ ))->getPropertyPath()
+ );
+ }
}
diff --git a/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
index ce5bec6034c6b..08456bd567e19 100644
--- a/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
+++ b/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
@@ -197,7 +197,7 @@ public function testModeStrict()
{
$constraint = new Email(['mode' => Email::VALIDATION_MODE_STRICT]);
- $this->validator->validate('example@localhost', $constraint);
+ $this->validator->validate('example@mywebsite.tld', $constraint);
$this->assertNoViolation();
}
diff --git a/src/Symfony/Component/Validator/composer.json b/src/Symfony/Component/Validator/composer.json
index a84291927d18f..acf7f485f0efe 100644
--- a/src/Symfony/Component/Validator/composer.json
+++ b/src/Symfony/Component/Validator/composer.json
@@ -42,7 +42,7 @@
"symfony/translation": "^4.4|^5.0",
"doctrine/annotations": "^1.10.4",
"doctrine/cache": "~1.0",
- "egulias/email-validator": "^2.1.10"
+ "egulias/email-validator": "^2.1.10|^3"
},
"conflict": {
"doctrine/lexer": "<1.0.2",
diff --git a/src/Symfony/Component/VarDumper/Command/ServerDumpCommand.php b/src/Symfony/Component/VarDumper/Command/ServerDumpCommand.php
index c8a61da98c5b6..3ec8353aff6fa 100644
--- a/src/Symfony/Component/VarDumper/Command/ServerDumpCommand.php
+++ b/src/Symfony/Component/VarDumper/Command/ServerDumpCommand.php
@@ -58,7 +58,7 @@ protected function configure()
$this
->addOption('format', null, InputOption::VALUE_REQUIRED, sprintf('The output format (%s)', $availableFormats), 'cli')
- ->setDescription('Starts a dump server that collects and displays dumps in a single place')
+ ->setDescription('Start a dump server that collects and displays dumps in a single place')
->setHelp(<<<'EOF'
%command.name% starts a dump server that collects and displays
dumps in a single place for debugging you application:
diff --git a/src/Symfony/Component/WebLink/Link.php b/src/Symfony/Component/WebLink/Link.php
index a43028443c62c..c0402c6dc0952 100644
--- a/src/Symfony/Component/WebLink/Link.php
+++ b/src/Symfony/Component/WebLink/Link.php
@@ -99,7 +99,6 @@ public function withHref($href)
{
$that = clone $this;
$that->href = $href;
- $that->templated = $this->hrefIsTemplated($href);
return $that;
}
diff --git a/src/Symfony/Component/Yaml/Command/LintCommand.php b/src/Symfony/Component/Yaml/Command/LintCommand.php
index 83f36a93839d2..1745603bb3bd7 100644
--- a/src/Symfony/Component/Yaml/Command/LintCommand.php
+++ b/src/Symfony/Component/Yaml/Command/LintCommand.php
@@ -53,7 +53,7 @@ public function __construct(string $name = null, callable $directoryIteratorProv
protected function configure()
{
$this
- ->setDescription('Lints a file and outputs encountered errors')
+ ->setDescription('Lint a file and outputs encountered errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->addOption('parse-tags', null, InputOption::VALUE_NONE, 'Parse custom tags')