diff --git a/.travis.yml b/.travis.yml
index cfc5ad7300080..288dd15517e53 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -266,6 +266,7 @@ install:
run_tests () {
set -e
export PHP=$1
+ phpenv global $PHP
if [[ !$deps && $PHP = 7.2 ]]; then
tfold src/Symfony/Component/HttpClient.h2push "$COMPOSER_UP symfony/contracts && docker run -it --rm -v $(pwd):/app -v $(phpenv which composer):/usr/local/bin/composer -v /usr/local/bin/vulcain:/usr/local/bin/vulcain -w /app php:7.3-alpine ./phpunit src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php --filter testHttp2Push"
@@ -275,7 +276,7 @@ install:
echo -e "\\n\\e[33;1mIntermediate PHP version $PHP is skipped for pull requests.\\e[0m"
return
fi
- phpenv global $PHP
+
([[ $deps ]] && cd src/Symfony/Component/HttpFoundation; cp composer.json composer.bak; composer config platform.ext-mongodb 1.6.0; composer require --dev --no-update mongodb/mongodb ~1.5.0)
tfold 'composer update' $COMPOSER_UP
tfold 'phpunit install' ./phpunit install
diff --git a/CHANGELOG-4.4.md b/CHANGELOG-4.4.md
index e5f07b9d13dab..4de4989aabb01 100644
--- a/CHANGELOG-4.4.md
+++ b/CHANGELOG-4.4.md
@@ -7,6 +7,66 @@ in 4.4 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v4.4.0...v4.4.1
+* 4.4.5 (2020-02-29)
+
+ * bug #35781 [Form] NumberToLocalizedStringTransformer return int if scale = 0 (VincentLanglet)
+ * bug #35846 [Serializer] prevent method calls on null values (xabbuh)
+ * bug #35897 [FrameworkBundle] add missing Messenger options to XML schema definition (xabbuh)
+ * bug #35870 [ErrorHandler] fix parsing static return type on interface method annotation (alekitto)
+ * bug #35839 [Security] Allow switching to another user when already switched (chalasr)
+ * bug #35851 [DoctrineBridge] Use new Types::* constants and support new json types (fancyweb)
+ * bug #35716 [PhpUnitBridge] Fix compatibility to PHPUnit 9 (Benjamin)
+ * bug #35803 [Cache] Fix versioned namespace atomic clears (trvrnrth)
+ * bug #35817 [DoctrineBridge] Use new Types::* constants and support new json type (fancyweb)
+ * bug #35832 [Debug][ErrorHandler] improved deprecation notices for methods new args and return type (HeahDude)
+ * bug #35827 [BrowserKit] Nested file array prevents uploading file (afilina)
+ * bug #35707 [ExpressionLanguage] Fixed collisions of character operators with object properties (Andrej-in-ua)
+ * bug #35794 [DoctrineBridge][DoctrineExtractor] Fix indexBy with custom and some core types (fancyweb)
+ * bug #35787 [PhpUnitBridge] Use trait instead of extending deprecated class (marcello-moenkemeyer)
+ * bug #35792 [Security] Prevent TypeError in case RememberMetoken has no attached user (nikophil)
+ * bug #35735 [Routing] Add locale requirement for localized routes (mtarld)
+ * bug #35772 [Config] don't throw on missing excluded paths (nicolas-grekas)
+ * bug #35774 [Ldap] force default network timeout (nicolas-grekas)
+ * bug #35702 [VarDumper] fixed DateCaster not displaying additional fields (Makdessi Alex)
+ * bug #35722 [HttpKernel] Set previous exception when rethrown from controller resolver (danut007ro)
+ * bug #35714 [HttpClient] Correctly remove trace level options for HttpCache (aschempp)
+ * bug #35718 [HttpKernel] fix registering DebugHandlersListener regardless of the PHP_SAPI (nicolas-grekas)
+ * bug #35728 Add missing autoload calls (greg0ire)
+ * bug #35693 [Finder] Fix unix root dir issue (chr-hertel)
+ * bug #35709 [HttpFoundation] fix not sending Content-Type header for 204 responses (Tobion)
+ * bug #35710 [ErrorHandler] silence warning when zend.assertions=-1 (nicolas-grekas)
+ * bug #35676 [Console] Handle zero row count in appendRow() for Table (Adam Prickett)
+ * bug #35696 [Console] Don't load same-namespace alternatives on exact match (chalasr)
+ * bug #35674 [HttpClient] fix getting response content after its destructor throwed an HttpExceptionInterface (nicolas-grekas)
+ * bug #35672 [HttpClient] fix HttpClientDataCollector when handling canceled responses (thematchless)
+ * bug #35641 [Process] throw when PhpProcess::fromShellCommandLine() is used (Guikingone)
+ * bug #35645 [ErrorHandler] Never throw on warnings triggered by assert() and set assert.exception=1 in Debug::enable() (nicolas-grekas)
+ * bug #35633 [Mailer] Do not ping the SMTP server before sending every message (micheh)
+ * bug #33897 [Console] Consider STDIN interactive (ostrolucky)
+ * bug #35605 [HttpFoundation][FrameworkBundle] fix support for samesite in session cookies (fabpot)
+ * bug #35609 [DoctrineBridge] Fixed submitting ids with query limit or offset (HeahDude)
+ * bug #35597 [PHPunit bridge] Provide current file as file path (greg0ire)
+ * bug #33960 [DI] Unknown env prefix not recognized as such (ro0NL)
+ * bug #35342 [DI] Fix support for multiple tags for locators and iterators (Alexandre Parent)
+ * bug #33820 [PhpUnitBridge] Fix some errors when using serialized deprecations (l-vo)
+ * bug #35553 Fix HTTP client config handling (julienfalque)
+ * bug #35588 [ErrorHandler] Escape variable in Exception template (jderusse)
+ * bug #35583 Add missing use statements (fabpot)
+ * bug #35582 Missing use statement 4.4 (fabpot)
+ * bug #34123 [Form] Fix handling of empty_data's \Closure value in Date/Time form types (yceruto)
+ * bug #35537 [Config][XmlReferenceDumper] Prevent potential \TypeError (fancyweb)
+ * bug #35227 [Mailer] Fix broken mandrill http send for recipients with names (vilius-g)
+ * bug #35430 [Translation] prefer intl domain when adding messages to catalogue (Guite)
+ * bug #35497 Fail on empty password verification (without warning on any implementation) (Stefan Kruppa)
+ * bug #35546 [Validator] check for __get method existence if property is uninitialized (alekitto)
+ * bug #35332 [Yaml][Inline] Fail properly on empty object tag and empty const tag (fancyweb)
+ * bug #35489 [PhpUnitBridge] Fix running skipped tests expecting only deprecations (chalasr)
+ * bug #35161 [FrameworkBundle] Check non-null type for numeric type (Arman-Hosseini)
+ * bug #34059 [DomCrawler] Skip disabled fields processing in Form (sbogx)
+ * bug #34114 [Console] SymonfyStyle - Check value isset to avoid PHP notice (leevigraham)
+ * bug #35557 [Config] dont catch instances of Error (nicolas-grekas)
+ * bug #35562 [HttpClient] fix HttpClientDataCollector when handling canceled responses (nicolas-grekas)
+
* 4.4.4 (2020-01-31)
* bug #35530 [HttpClient] Fix regex bearer (noniagriconomie)
diff --git a/CHANGELOG-5.0.md b/CHANGELOG-5.0.md
index f743e9945c8c3..7ecfa8a8c88e6 100644
--- a/CHANGELOG-5.0.md
+++ b/CHANGELOG-5.0.md
@@ -7,6 +7,45 @@ in 5.0 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v5.0.0...v5.0.1
+* 5.0.6 (2020-03-27)
+
+ * bug #36169 [HttpKernel] fix locking for PHP 7.4+ (nicolas-grekas)
+ * bug #36175 [Security/Http] Remember me: allow to set the samesite cookie flag (dunglas)
+ * bug #36173 [Http Foundation] Fix clear cookie samesite (guillbdx)
+ * bug #36176 [Security] Check if firewall is stateless before checking for session/previous session (koenreiniers)
+ * bug #36149 [Form] Support customized intl php.ini settings (jorrit)
+ * bug #36172 [Debug] fix for PHP 7.3.16+/7.4.4+ (nicolas-grekas)
+ * bug #36151 [Security] Fixed hardcoded value of SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE (lyrixx)
+ * bug #36141 Prevent warning in proc_open() (BenMorel)
+ * bug #36143 [FrameworkBundle] Fix Router Cache (guillbdx)
+ * bug #36103 [DI] fix preloading script generation (nicolas-grekas)
+ * bug #36118 [Security/Http] don't require the session to be started when tracking its id (nicolas-grekas)
+ * bug #36108 [DI] Fix CheckTypeDeclarationPass (guillbdx)
+ * bug #36121 [VarDumper] fix side-effect by not using mt_rand() (nicolas-grekas)
+ * bug #36073 [PropertyAccess][DX] Improved errors when reading uninitialized properties (HeahDude)
+ * bug #36063 [FrameworkBundle] start session on flashbag injection (William Arslett)
+ * bug #36031 [Console] Fallback to default answers when unable to read input (ostrolucky)
+ * bug #36083 [DI][Form] Fixed test suite (TimeType changes & unresolved merge conflict) (wouterj)
+ * bug #36026 [Mime] Fix boundary header (guillbdx)
+ * bug #36020 [Form] ignore microseconds submitted by Edge (xabbuh)
+ * bug #36038 [HttpClient] disable debug log with curl 7.64.0 (nicolas-grekas)
+ * bug #36041 fix import from config file using type: glob (Tobion)
+ * bug #35987 [DoctrineBridge][DoctrineExtractor] Fix wrong guessed type for "json" type (fancyweb)
+ * bug #35949 [DI] Fix container lint command when a synthetic service is used in an expression (HypeMC)
+ * bug #36023 [HttpClient] fix requests to hosts that idn_to_ascii() cannot handle (nicolas-grekas)
+ * bug #35938 [Form] Handle false as empty value on expanded choices (fancyweb)
+ * bug #36030 [SecurityBundle] Minor fix in LDAP config tree builder (HeahDude)
+ * bug #36017 [HttpKernel] Fix support for single-colon syntax for controllers (nicolas-grekas)
+ * bug #35993 Remove int return type from FlattenException::getCode (wucdbm)
+ * bug #36004 [Yaml] fix dumping strings containing CRs (xabbuh)
+ * bug #35982 [DI] Fix XmlFileLoader bad error message (przemyslaw-bogusz)
+ * bug #35957 [DI] ignore extra tags added by autoconfiguration in PriorityTaggedServiceTrait (nicolas-grekas)
+ * bug #35937 Revert "bug symfony#28179 [DomCrawler] Skip disabled fields processing in Form" (dmaicher)
+ * bug #35928 [Routing] Prevent localized routes _locale default & requirement from being overridden (fancyweb)
+ * bug #35912 [FrameworkBundle] register only existing transport factories (xabbuh)
+ * bug #35899 [DomCrawler] prevent deprecation being triggered from assertion (xabbuh)
+ * bug #35910 [SecurityBundle] Minor fixes in configuration tree builder (HeahDude)
+
* 5.0.5 (2020-02-29)
* bug #35781 [Form] NumberToLocalizedStringTransformer return int if scale = 0 (VincentLanglet)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index aea14fb7e6c5d..468c90ad49d1d 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -17,9 +17,9 @@ Symfony is the result of the work of many people who made the code better
- Maxime Steinhausser (ogizanagi)
- Ryan Weaver (weaverryan)
- Javier Eguiluz (javier.eguiluz)
+ - Grégoire Pineau (lyrixx)
- Jakub Zalas (jakubzalas)
- Roland Franssen (ro0)
- - Grégoire Pineau (lyrixx)
- Johannes S (johannes)
- Kris Wallsmith (kriswallsmith)
- Yonel Ceruto (yonelceruto)
@@ -27,31 +27,31 @@ Symfony is the result of the work of many people who made the code better
- Abdellatif Ait boudad (aitboudad)
- Samuel ROZE (sroze)
- Romain Neutron (romain)
+ - Wouter de Jong (wouterj)
- Pascal Borreli (pborreli)
- - Wouter De Jong (wouterj)
+ - Thomas Calvet (fancyweb)
- Joseph Bielawski (stloyd)
- Alexander M. Turek (derrabus)
- Karma Dordrak (drak)
- - Thomas Calvet (fancyweb)
- Lukas Kahwe Smith (lsmith)
- Martin Hasoň (hason)
- Hamza Amrouche (simperfit)
- - Jeremy Mikola (jmikola)
- Jules Pietri (heah)
- - Jean-François Simon (jfsimon)
+ - Jeremy Mikola (jmikola)
- Jérémy DERUSSÉ (jderusse)
+ - Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw)
- Eriksen Costa (eriksencosta)
- Guilhem Niot (energetick)
- - Sarah Khalil (saro0h)
- Tobias Nyholm (tobias)
+ - Sarah Khalil (saro0h)
- Jonathan Wage (jwage)
- Lynn van der Berg (kjarli)
- Diego Saint Esteben (dosten)
+ - Matthias Pigulla (mpdude)
- Alexandre Salomé (alexandresalome)
- William Durand (couac)
- - Matthias Pigulla (mpdude)
- Pierre du Plessis (pierredup)
- ornicar
- Dany Maillard (maidmaid)
@@ -59,29 +59,29 @@ Symfony is the result of the work of many people who made the code better
- stealth35 (stealth35)
- Alexander Mols (asm89)
- Konstantin Myakshin (koc)
+ - Grégoire Paris (greg0ire)
- Bulat Shakirzyanov (avalanche123)
- Valentin Udaltsov (vudaltsov)
- - Grégoire Paris (greg0ire)
+ - Kevin Bond (kbond)
- Saša Stamenković (umpirsky)
- Peter Rehm (rpet)
- - Kevin Bond (kbond)
- Henrik Bjørnskov (henrikbjorn)
- Miha Vrhovnik
+ - Gabriel Ostrolucký (gadelat)
- Diego Saint Esteben (dii3g0)
- Gábor Egyed (1ed)
- - Gabriel Ostrolucký (gadelat)
- Titouan Galopin (tgalopin)
- - Konstantin Kudryashov (everzet)
- David Maicher (dmaicher)
+ - Konstantin Kudryashov (everzet)
- Bilal Amarni (bamarni)
- Mathieu Piot (mpiot)
- Vladimir Reznichenko (kalessil)
+ - Jan Schädlich (jschaedl)
- Florin Patan (florinpatan)
- Jáchym Toušek (enumag)
- Andrej Hudec (pulzarraider)
- Michel Weimerskirch (mweimerskirch)
- Issei Murasawa (issei_m)
- - Jan Schädlich (jschaedl)
- Eric Clemmons (ericclemmons)
- Charles Sarrazin (csarrazi)
- Christian Raue
@@ -96,20 +96,20 @@ Symfony is the result of the work of many people who made the code better
- Lee McDermott
- Brandon Turner
- Luis Cordova (cordoval)
+ - Jérôme Tamarelle (gromnan)
- Daniel Holmes (dholmes)
- Toni Uebernickel (havvg)
+ - Fran Moreno (franmomu)
- Bart van den Burg (burgov)
- Jordan Alliot (jalliot)
- - Jérôme Tamarelle (gromnan)
- John Wards (johnwards)
- - Fran Moreno (franmomu)
- Antoine Hérault (herzult)
- Paráda József (paradajozsef)
- Arnaud Le Blanc (arnaud-lb)
- Maxime STEINHAUSSER
+ - Baptiste Clavié (talus)
- Michal Piotrowski (eventhorizon)
- Tim Nagel (merk)
- - Baptiste Clavié (talus)
- Chris Wilkinson (thewilkybarkid)
- Brice BERNARD (brikou)
- marc.weistroff
@@ -133,10 +133,10 @@ Symfony is the result of the work of many people who made the code better
- Tugdual Saunier (tucksaun)
- excelwebzone
- Gordon Franke (gimler)
+ - Joel Wurtz (brouznouf)
- Fabien Pennequin (fabienpennequin)
- Théo FIDRY (theofidry)
- Eric GELOEN (gelo)
- - Joel Wurtz (brouznouf)
- Lars Strojny (lstrojny)
- Jannik Zschiesche (apfelbox)
- Robert Schönthal (digitalkaoz)
@@ -145,6 +145,8 @@ Symfony is the result of the work of many people who made the code better
- Gabriel Caruso (carusogabriel)
- Stefano Sala (stefano.sala)
- Evgeniy (ewgraf)
+ - Massimiliano Arione (garak)
+ - Julien Falque (julienfalque)
- Vincent AUBERT (vincent)
- Juti Noppornpitak (shiroyuki)
- Alexander Schranz (alexander-schranz)
@@ -155,7 +157,6 @@ Symfony is the result of the work of many people who made the code better
- Hidenori Goto (hidenorigoto)
- Andréia Bohner (andreia)
- Yanick Witschi (toflar)
- - Julien Falque (julienfalque)
- Arnaud Kleinpeter (nanocom)
- Guilherme Blanco (guilhermeblanco)
- SpacePossum
@@ -163,12 +164,12 @@ Symfony is the result of the work of many people who made the code better
- Jérémie Augustin (jaugustin)
- François-Xavier de Guillebon (de-gui_f)
- Oleg Voronkovich
+ - Alessandro Chitolina (alekitto)
- Philipp Wahala (hifi)
- - Massimiliano Arione (garak)
- Rafael Dohms (rdohms)
- jwdeitch
- Mikael Pajunen
- - Alessandro Chitolina (alekitto)
+ - Arman Hosseini (arman)
- Niels Keurentjes (curry684)
- Vyacheslav Pavlov
- Richard van Laak (rvanlaak)
@@ -178,9 +179,9 @@ Symfony is the result of the work of many people who made the code better
- jeremyFreeAgent (jeremyfreeagent)
- Rouven Weßling (realityking)
- Jérôme Parmentier (lctrs)
+ - Andreas Schempp (aschempp)
- Clemens Tolboom
- Helmer Aaviksoo
- - Arman Hosseini (arman)
- Hiromi Hishida (77web)
- Matthieu Ouellette-Vachon (maoueh)
- Michał Pipa (michal.pipa)
@@ -193,7 +194,6 @@ Symfony is the result of the work of many people who made the code better
- GDIBass
- Samuel NELA (snela)
- Ben Davies (bendavies)
- - Andreas Schempp (aschempp)
- James Halsall (jaitsu)
- Matthieu Napoli (mnapoli)
- Florent Mata (fmata)
@@ -226,11 +226,13 @@ Symfony is the result of the work of many people who made the code better
- Stadly
- Stepan Anchugov (kix)
- bronze1man
+ - Filippo Tessarotto (slamdunk)
- sun (sun)
- Larry Garfield (crell)
- Nikolay Labinskiy (e-moe)
- Martin Schuhfuß (usefulthink)
- apetitpa
+ - Antoine Makdessi (amakdessi)
- Matthieu Bontemps (mbontemps)
- apetitpa
- Pierre Minnieur (pminnieur)
@@ -246,6 +248,7 @@ Symfony is the result of the work of many people who made the code better
- jeff
- John Kary (johnkary)
- Jan Rosier (rosier)
+ - Przemysław Bogusz (przemyslaw-bogusz)
- Justin Hileman (bobthecow)
- Blanchon Vincent (blanchonvincent)
- Michele Orselli (orso)
@@ -260,9 +263,11 @@ Symfony is the result of the work of many people who made the code better
- Tristan Darricau (nicofuma)
- Victor Bocharsky (bocharsky_bw)
- Tomas Norkūnas (norkunas)
+ - Wouter J
+ - Smaine Milianni (ismail1432)
- Marcel Beerta (mazen)
+ - Christopher Hertel (chertel)
- Ruud Kamphuis (ruudk)
- - Antoine Makdessi (amakdessi)
- Maxime Helias (maxhelias)
- Pavel Batanov (scaytrase)
- Mantis Development
@@ -275,7 +280,9 @@ Symfony is the result of the work of many people who made the code better
- julien pauli (jpauli)
- Lorenz Schori
- Sébastien Lavoie (lavoiesl)
+ - Ahmed TAILOULOUTE (ahmedtai)
- Dariusz
+ - Saif (╯°□°)╯ (azjezz)
- Dmitrii Poddubnyi (karser)
- Michael Babker (mbabker)
- Francois Zaninotto
@@ -289,7 +296,6 @@ Symfony is the result of the work of many people who made the code better
- Danny Berger (dpb587)
- Antonio J. García Lagar (ajgarlag)
- Adam Prager (padam87)
- - Przemysław Bogusz (przemyslaw-bogusz)
- Benoît Burnichon (bburnichon)
- Maciej Malarz (malarzm)
- Roman Marintšenko (inori)
@@ -307,19 +313,17 @@ Symfony is the result of the work of many people who made the code better
- Jordan Samouh (jordansamouh)
- Baptiste Lafontaine (magnetik)
- Jakub Kucharovic (jkucharovic)
+ - Loick Piera (pyrech)
- Uwe Jäger (uwej711)
- Eugene Leonovich (rybakit)
- - Filippo Tessarotto
- Joseph Rouff (rouffj)
- Félix Labrecque (woodspire)
- GordonsLondon
- Quynh Xuan Nguyen (xuanquynh)
- Jan Sorgalla (jsor)
- Ray
- - Smaine Milianni (ismail1432)
- Chekote
- François Pluchino (francoispluchino)
- - Christopher Hertel (chertel)
- Thomas Adam
- Jhonny Lidfors (jhonne)
- Diego Agulló (aeoris)
@@ -327,6 +331,7 @@ Symfony is the result of the work of many people who made the code better
- Bob den Otter (bopp)
- Thomas Schulz (king2500)
- Frank de Jonge (frenkynet)
+ - Jeroen Spee (jeroens)
- Nikita Konstantinov
- Wodor Wodorski
- Thomas Lallement (raziel057)
@@ -339,6 +344,7 @@ Symfony is the result of the work of many people who made the code better
- Robert Kiss (kepten)
- Zan Baldwin (zanderbaldwin)
- Roumen Damianoff (roumen)
+ - Emanuele Panzeri (thepanz)
- Kim Hemsø Rasmussen (kimhemsoe)
- Pascal Luna (skalpa)
- Wouter Van Hecke
@@ -352,7 +358,7 @@ Symfony is the result of the work of many people who made the code better
- Christian Schmidt
- Patrick Landolt (scube)
- MatTheCat
- - Loick Piera (pyrech)
+ - Vilius Grigaliūnas
- David Badura (davidbadura)
- Chad Sikorra (chadsikorra)
- Chris Smith (cs278)
@@ -371,8 +377,8 @@ Symfony is the result of the work of many people who made the code better
- Andrey Esaulov (andremaha)
- Grégoire Passault (gregwar)
- Jerzy Zawadzki (jzawadzki)
- - Wouter J
- Ismael Ambrosi (iambrosi)
+ - Craig Duncan (duncan3dc)
- Emmanuel BORGES (eborges78)
- Aurelijus Valeiša (aurelijus)
- Jan Decavele (jandc)
@@ -386,16 +392,19 @@ Symfony is the result of the work of many people who made the code better
- Francesc Rosàs (frosas)
- Romain Pierre (romain-pierre)
- Julien Galenski (ruian)
+ - Michael Käfer (michael_kaefer)
- Bongiraud Dominique
- janschoenherr
- Emanuele Gaspari (inmarelibero)
- Dariusz Rumiński
- Berny Cantos (xphere81)
+ - Laurent VOULLEMIER (lvo)
- Thierry Thuon (lepiaf)
- Ricard Clau (ricardclau)
- Mark Challoner (markchalloner)
- Philippe Segatori
- Gennady Telegin (gtelegin)
+ - Mathias Arlaud (mtarld)
- Erin Millard
- Artur Melo (restless)
- Matthew Lewinski (lewinski)
@@ -404,6 +413,7 @@ Symfony is the result of the work of many people who made the code better
- Nicolas LEFEVRE (nicoweb)
- alquerci
- Olivier Dolbeau (odolbeau)
+ - Oleg Andreyev
- Mateusz Sip (mateusz_sip)
- Francesco Levorato
- Vitaliy Zakharov (zakharovvi)
@@ -416,22 +426,22 @@ Symfony is the result of the work of many people who made the code better
- Artur Eshenbrener
- Timo Bakx (timobakx)
- Thomas Perez (scullwm)
- - Saif Eddin Gmati (azjezz)
- Felix Labrecque
- Yaroslav Kiliba
- Terje Bråten
- Robbert Klarenbeek (robbertkl)
- Eric Masoero (eric-masoero)
+ - Denis Brumann (dbrumann)
- JhonnyL
- hossein zolfi (ocean)
- Clément Gautier (clementgautier)
- Bastien Jaillot (bastnic)
- Dāvis Zālītis (k0d3r1s)
- - Emanuele Panzeri (thepanz)
- Sanpi
- Eduardo Gulias (egulias)
- giulio de donato (liuggio)
- ShinDarth
+ - Alan Poulain
- Stéphane PY (steph_py)
- Philipp Kräutli (pkraeutli)
- Grzegorz (Greg) Zdanowski (kiler129)
@@ -443,7 +453,6 @@ Symfony is the result of the work of many people who made the code better
- Alex Bowers
- Philipp Cordes
- Costin Bereveanu (schniper)
- - Vilius Grigaliūnas
- Loïc Chardonnet (gnusat)
- Marek Kalnik (marekkalnik)
- Vyacheslav Salakhutdinov (megazoll)
@@ -488,7 +497,6 @@ Symfony is the result of the work of many people who made the code better
- Christophe L. (christophelau)
- Sander Toonen (xatoo)
- Anthon Pang (robocoder)
- - Michael Käfer (michael_kaefer)
- Sébastien Santoro (dereckson)
- Brian King
- Michel Salib (michelsalib)
@@ -498,27 +506,28 @@ Symfony is the result of the work of many people who made the code better
- Alexandru Furculita (afurculita)
- Valentin Jonovs (valentins-jonovs)
- Guilhem N (guilhemn)
- - Laurent VOULLEMIER (lvo)
- Jeanmonod David (jeanmonod)
- Christopher Davis (chrisguitarguy)
- Webnet team (webnet)
- Farhad Safarov
- - Jeroen Spee (jeroens)
- Jan Schumann
- Niklas Fiekas
- Markus Bachmann (baachi)
- Kévin THERAGE (kevin_therage)
+ - Erkhembayar Gantulga (erheme318)
+ - Islam93
- lancergr
- Mihai Stancu
- Ivan Nikolaev (destillat)
- Gildas Quéméner (gquemener)
- - Oleg Andreyev
- Alessandro Lai (jean85)
- Desjardins Jérôme (jewome62)
- Arturs Vonda
- Josip Kruslin
- Matthew Smeets
+ - Toni Rudolf (toooni)
- Asmir Mustafic (goetas)
+ - Nicolas Philippe (nikophil)
- vagrant
- Aurimas Niekis (gcds)
- EdgarPE
@@ -531,6 +540,7 @@ Symfony is the result of the work of many people who made the code better
- Chris Sedlmayr (catchamonkey)
- Kamil Kokot (pamil)
- Seb Koelen
+ - Antonio Pauletich (x-coder264)
- Christoph Mewes (xrstf)
- Vitaliy Tverdokhlib (vitaliytv)
- Ariel Ferrandini (aferrandini)
@@ -542,7 +552,6 @@ Symfony is the result of the work of many people who made the code better
- Gonzalo Vilaseca (gonzalovilaseca)
- Tarmo Leppänen (tarlepp)
- Marcin Sikoń (marphi)
- - Denis Brumann (dbrumann)
- Dominik Zogg (dominik.zogg)
- Marek Pietrzak
- Luc Vieillescazes (iamluc)
@@ -552,7 +561,6 @@ Symfony is the result of the work of many people who made the code better
- Gintautas Miselis
- Rob Bast
- Roberto Espinoza (respinoza)
- - Alan Poulain
- Soufian EZ-ZANTAR (soezz)
- Zander Baldwin
- Gocha Ossinkine (ossinkine)
@@ -595,7 +603,6 @@ Symfony is the result of the work of many people who made the code better
- Roy Van Ginneken (rvanginneken)
- ondrowan
- Barry vd. Heuvel (barryvdh)
- - Craig Duncan (duncan3dc)
- Evan S Kaufman (evanskaufman)
- mcben
- Jérôme Vieilledent (lolautruche)
@@ -606,6 +613,7 @@ Symfony is the result of the work of many people who made the code better
- Remi Collet
- Vicent Soria Durá (vicentgodella)
- Michael Moravec
+ - Leevi Graham (leevigraham)
- Anthony Ferrara
- Ioan Negulescu
- Jakub Škvára (jskvara)
@@ -631,7 +639,9 @@ Symfony is the result of the work of many people who made the code better
- Nate (frickenate)
- Timothée Barray (tyx)
- jhonnyL
+ - Jacek Jędrzejewski (jacek.jedrzejewski)
- sasezaki
+ - Bozhidar Hristov (warxcell)
- Dawid Pakuła (zulusx)
- Florian Rey (nervo)
- Rodrigo Borrego Bernabé (rodrigobb)
@@ -658,13 +668,16 @@ Symfony is the result of the work of many people who made the code better
- Jeremy Benoist
- fritzmg
- Lenar Lõhmus
+ - Ion Bazan (ionbazan)
- Benjamin Laugueux (yzalis)
- Zach Badgett (zachbadgett)
+ - Chi-teck
- Aurélien Fredouelle
- Pavel Campr (pcampr)
- Andrii Dembitskyi
- Johnny Robeson (johnny)
- Marko Kaznovac (kaznovac)
+ - Guilliam Xavier
- Disquedur
- Michiel Boeckaert (milio)
- Geoffrey Tran (geoff)
@@ -685,6 +698,7 @@ Symfony is the result of the work of many people who made the code better
- Dmitry Simushev
- Joe Bennett (kralos)
- alcaeus
+ - Thomas Talbot (ioni)
- Fred Cox
- vitaliytv
- Philippe Segatori
@@ -703,6 +717,7 @@ Symfony is the result of the work of many people who made the code better
- Konstantin S. M. Möllers (ksmmoellers)
- James Johnston
- Sinan Eldem
+ - BoShurik
- Alexandre Dupuy (satchette)
- Malte Blättermann
- Simeon Kolev (simeon_kolev9)
@@ -725,12 +740,12 @@ Symfony is the result of the work of many people who made the code better
- Javier López (loalf)
- Reinier Kip
- Geoffrey Brier (geoffrey-brier)
+ - Alexandre Parent
- Vladimir Tsykun
- Dustin Dobervich (dustin10)
- dantleech
- Anne-Sophie Bachelard (annesophie)
- Sebastian Marek (proofek)
- - Erkhembayar Gantulga (erheme318)
- zenmate
- Michal Trojanowski
- David Fuhr
@@ -747,7 +762,6 @@ Symfony is the result of the work of many people who made the code better
- adev
- Stefan Warman
- Arkadius Stefanski (arkadius)
- - Antonio Pauletich (x-coder264)
- Tristan Maindron (tmaindron)
- Behnoush Norouzali (behnoush)
- Wesley Lancel
@@ -759,10 +773,10 @@ Symfony is the result of the work of many people who made the code better
- Miquel Rodríguez Telep (mrtorrent)
- Sergey Kolodyazhnyy (skolodyazhnyy)
- umpirski
+ - Artem Lopata
- M. Vondano
- Quentin de Longraye (quentinus95)
- Chris Heng (gigablah)
- - Islam93
- Shaun Simmons (simshaun)
- Richard Bradley
- Ulumuddin Yunus (joenoez)
@@ -852,7 +866,6 @@ Symfony is the result of the work of many people who made the code better
- Yuen-Chi Lian
- Tarjei Huse (tarjei)
- Besnik Br
- - Toni Rudolf (toooni)
- Jose Gonzalez
- Jonathan (jls-esokia)
- Oleksii Zhurbytskyi
@@ -871,12 +884,12 @@ Symfony is the result of the work of many people who made the code better
- Andrew Tchircoff (andrewtch)
- michaelwilliams
- 1emming
- - Leevi Graham (leevigraham)
- Nykopol (nykopol)
- Tri Pham (phamuyentri)
- Jordan Deitch
- Casper Valdemar Poulsen
- Josiah (josiah)
+ - Guillaume Verstraete (versgui)
- Greg ORIOL
- Joschi Kuphal
- John Bohn (jbohn)
@@ -890,16 +903,17 @@ Symfony is the result of the work of many people who made the code better
- fedor.f
- Yosmany Garcia (yosmanyga)
- Wouter de Wild
+ - Trevor North
- Degory Valentine
- izzyp
- Benoit Lévêque (benoit_leveque)
- Jeroen Fiege (fieg)
- Krzysiek Łabuś
- Xavier Lacot (xavier)
+ - Jon Dufresne
- possum
- Denis Zunke (donalberto)
- Ahmadou Waly Ndiaye (waly)
- - Ahmed TAILOULOUTE (ahmedtai)
- Jonathan Johnson (jrjohnson)
- Olivier Maisonneuve (olineuve)
- Pedro Miguel Maymone de Resende (pedroresende)
@@ -937,7 +951,6 @@ Symfony is the result of the work of many people who made the code better
- Roy Klutman (royklutman)
- Sofiane HADDAG (sofhad)
- frost-nzcr4
- - Bozhidar Hristov
- Laurent Bassin (lbassin)
- andrey1s
- Abhoryo
@@ -954,17 +967,20 @@ Symfony is the result of the work of many people who made the code better
- Julie Hourcade (juliehde)
- Dmitry Parnas (parnas)
- Paul LE CORRE
+ - Daniel Gorgan
- Tony Malzhacker
- Mathieu MARCHOIS
- Cyril Quintin (cyqui)
- Gerard van Helden (drm)
- Johnny Peck (johnnypeck)
+ - Stefan Kruppa
- Ivan Menshykov
- David Romaní
- Patrick Allaert
- Gustavo Falco (gfalco)
- Matt Robinson (inanimatt)
- Kristof Van Cauwenbergh (kristofvc)
+ - Peter Bowyer (pbowyer)
- Aleksey Podskrebyshev
- Calin Mihai Pristavu
- David Marín Carreño (davefx)
@@ -986,8 +1002,6 @@ Symfony is the result of the work of many people who made the code better
- Dmytro Boiko (eagle)
- Shin Ohno (ganchiku)
- Geert De Deckere (geertdd)
- - Ion Bazan (ionbazan)
- - Jacek Jędrzejewski (jacek.jedrzejewski)
- Jan Kramer (jankramer)
- abdul malik ikhsan (samsonasik)
- Henry Snoek (snoek09)
@@ -995,9 +1009,9 @@ Symfony is the result of the work of many people who made the code better
- Simone Di Maulo (toretto460)
- Christian Morgan
- Alexander Miehe (engerim)
+ - Jesse Rushlow (geeshoe)
- Morgan Auchede (mauchede)
- Sascha Dens (saschadens)
- - Chi-teck
- Don Pinkster
- Maksim Muruev
- Emil Einarsson
@@ -1023,7 +1037,6 @@ Symfony is the result of the work of many people who made the code better
- Marcos Gómez Vilches (markitosgv)
- Matthew Davis (mdavis1982)
- Markus S. (staabm)
- - Guilliam Xavier
- Maks
- Antoine LA
- den
@@ -1046,7 +1059,9 @@ Symfony is the result of the work of many people who made the code better
- Koen Kuipers
- datibbaw
- Erik Saunier (snickers)
+ - Thiago Cordeiro (thiagocordeiro)
- Rootie
+ - Alireza Mirsepassi (alirezamirsepassi)
- Daniel Alejandro Castro Arellano (lexcast)
- sensio
- Thomas Jarrand
@@ -1060,7 +1075,6 @@ Symfony is the result of the work of many people who made the code better
- Valérian Galliat
- d-ph
- Renan Taranto (renan-taranto)
- - Thomas Talbot (ioni)
- Rikijs Murgs
- Uladzimir Tsykun
- Ben Ramsey (ramsey)
@@ -1077,11 +1091,14 @@ Symfony is the result of the work of many people who made the code better
- neghmurken
- xaav
- Mahmoud Mostafa (mahmoud)
- - Mathias Arlaud (mtarld)
+ - Antonio Jose Cerezo (ajcerezo)
+ - Baptiste Leduc (korbeil)
- Ahmed Abdou
- Daniel Iwaniec
+ - Thomas Ferney
- Pieter
- Michael Tibben
+ - Hallison Boaventura (hallisonboaventura)
- Billie Thompson
- Ganesh Chandrasekaran
- Sander Marechal
@@ -1093,6 +1110,8 @@ Symfony is the result of the work of many people who made the code better
- EStyles (insidestyles)
- kevin.nadin
- jean pasqualini (darkilliant)
+ - Iliya Miroslavov Iliev (i.miroslavov)
+ - Safonov Nikita (ns3777k)
- Ross Motley (rossmotley)
- ttomor
- Mei Gwilym (meigwilym)
@@ -1105,6 +1124,7 @@ Symfony is the result of the work of many people who made the code better
- Nicolas Le Goff (nlegoff)
- Ben Oman
- Chris de Kok
+ - Lorenzo Millucci
- Andreas Kleemann
- Manuele Menozzi
- zairig imad (zairigimad)
@@ -1139,11 +1159,14 @@ Symfony is the result of the work of many people who made the code better
- Wojciech Sznapka
- Luis Pabon (luispabon)
- Gavin Staniforth
+ - Anna Filina (afilina)
- Ksaveras Šakys (xawiers)
- Ariel J. Birnbaum
+ - Patrick Luca Fazzi (ap3ir0n)
- Danijel Obradović
- Pablo Borowicz
- Mathieu Santostefano
+ - Michel Hunziker
- Arjan Keeman
- Máximo Cuadros (mcuadros)
- Lukas Mencl
@@ -1175,13 +1198,13 @@ Symfony is the result of the work of many people who made the code better
- mlazovla
- Alejandro Diaz Torres
- Max Beutel
+ - Jan Vernieuwe (vernija)
- Antanas Arvasevicius
- Pierre Dudoret
- Thomas
- Maximilian Berghoff (electricmaxxx)
- nacho
- Piotr Antosik (antek88)
- - Artem Lopata
- Vedran Mihočinec (v-m-i)
- Sergey Novikov (s12v)
- creiner
@@ -1199,11 +1222,11 @@ Symfony is the result of the work of many people who made the code better
- HypeMC
- jfcixmedia
- Dominic Tubach
- - Nicolas Philippe (nikophil)
- Nikita Konstantinov
- Martijn Evers
- Vitaliy Ryaboy (vitaliy)
- Benjamin Paap (benjaminpaap)
+ - Claus Due (namelesscoder)
- Christian
- Denis Golubovskiy (bukashk0zzz)
- Sergii Smertin (nfx)
@@ -1235,6 +1258,7 @@ Symfony is the result of the work of many people who made the code better
- Jakub Sacha
- Olaf Klischat
- orlovv
+ - Andrey Sevastianov
- Claude Dioudonnat
- Jonathan Hedstrom
- Peter Smeets (darkspartan)
@@ -1243,7 +1267,7 @@ Symfony is the result of the work of many people who made the code better
- Robert Meijers
- James Sansbury
- Marcin Chwedziak
- - Alexandre Parent
+ - Benjamin
- hjkl
- Tony Cosentino (tony-co)
- Dan Wilga
@@ -1288,14 +1312,17 @@ Symfony is the result of the work of many people who made the code better
- Yannick
- Vladimir Luchaninov (luchaninov)
- spdionis
+ - maxime.perrimond
- rchoquet
- gitlost
- Taras Girnyk
+ - Arun Philip
- Rémi Leclerc
- Jan Vernarsky
- Amine Yakoubi
- Eduardo García Sanz (coma)
- Sergio (deverad)
+ - Makdessi Alex
- James Gilliland
- fduch (fduch)
- Stuart Fyfe
@@ -1315,6 +1342,7 @@ Symfony is the result of the work of many people who made the code better
- Roger Webb
- Dmitriy Simushev
- Pawel Smolinski
+ - Tomasz (timitao)
- Oxan van Leeuwen
- pkowalczyk
- Soner Sayakci
@@ -1329,6 +1357,7 @@ Symfony is the result of the work of many people who made the code better
- Derek Lambert
- MightyBranch
- Kacper Gunia (cakper)
+ - Jérôme Tamarelle (jtamarelle-prismamedia)
- Peter Thompson (petert82)
- error56
- Felicitus
@@ -1363,8 +1392,10 @@ Symfony is the result of the work of many people who made the code better
- Mario Young
- Ilia (aliance)
- Chris McCafferty (cilefen)
+ - Florian Hermann (fhermann)
- Mo Di (modi)
- Pablo Schläpfer
+ - Patrick Berenschot
- SuRiKmAn
- Gert de Pagter
- Jelte Steijaert (jelte)
@@ -1384,6 +1415,7 @@ Symfony is the result of the work of many people who made the code better
- Justin Reherman (jreherman)
- Rubén Calvo (rubencm)
- Abdul.Mohsen B. A. A
+ - Peter Jaap Blaakmeer
- Swen van Zanten
- Benoît Burnichon
- pthompson
@@ -1399,6 +1431,7 @@ Symfony is the result of the work of many people who made the code better
- Kévin Gomez (kevin)
- Mihai Nica (redecs)
- Andrei Igna
+ - Adam Prickett
- azine
- Dawid Sajdak
- Ludek Stepan
@@ -1406,6 +1439,7 @@ Symfony is the result of the work of many people who made the code better
- Craig Menning (cmenning)
- Balázs Benyó (duplabe)
- Erika Heidi Reinaldo (erikaheidi)
+ - Kyryll Maesh (gauss)
- Pierre Tachoire (krichprollsch)
- Marc J. Schmidt (marcjs)
- František Maša
@@ -1460,6 +1494,7 @@ Symfony is the result of the work of many people who made the code better
- Antal Áron (antalaron)
- Vašek Purchart (vasek-purchart)
- Janusz Jabłoński (yanoosh)
+ - Ivan Grigoriev
- Fleuv
- Sandro Hopf
- Łukasz Makuch
@@ -1477,8 +1512,8 @@ Symfony is the result of the work of many people who made the code better
- Philip Frank
- David Brooks
- Lance McNearney
- - Guillaume Verstraete
- Giorgio Premi
+ - Aurélien Fontaine
- ncou
- Ian Carroll
- caponica
@@ -1488,6 +1523,7 @@ Symfony is the result of the work of many people who made the code better
- Pete Mitchell (peterjmit)
- Tom Corrigan (tomcorrigan)
- Luis Galeas
+ - Bogdan Scordaliu
- Martin Pärtel
- Daniel Rotter (danrot)
- Frédéric Bouchery (fbouchery)
@@ -1497,6 +1533,7 @@ Symfony is the result of the work of many people who made the code better
- WedgeSama
- Felds Liscia
- Chihiro Adachi (chihiro-adachi)
+ - Axel Guckelsberger (guite)
- Raphaëll Roussel
- Tadcka
- Beth Binkovitz
@@ -1527,6 +1564,7 @@ Symfony is the result of the work of many people who made the code better
- Arnaud CHASSEUX
- tuqqu
- Wojciech Gorczyca
+ - Neagu Cristian-Doru (cristian-neagu)
- Rafał Muszyński (rafmus90)
- Sébastien Decrême (sebdec)
- Timothy Anido (xanido)
@@ -1553,6 +1591,7 @@ Symfony is the result of the work of many people who made the code better
- Nouhail AL FIDI (alfidi)
- Fabian Steiner (fabstei)
- Felipy Tavares Amorim (felipyamorim)
+ - Guillaume Loulier (guikingone)
- Klaus Silveira (klaussilveira)
- Thomas Chmielowiec (chmielot)
- Jānis Lukss
@@ -1588,12 +1627,12 @@ Symfony is the result of the work of many people who made the code better
- Benhssaein Youssef
- Benjamin Bender
- Jared Farrish
- - Trevor North
- karl.rixon
- raplider
- Konrad Mohrfeldt
- Lance Chen
- Ciaran McNulty (ciaranmcnulty)
+ - Dominik Piekarski (dompie)
- Andrew (drew)
- kor3k kor3k (kor3k)
- Stelian Mocanita (stelian)
@@ -1607,6 +1646,7 @@ Symfony is the result of the work of many people who made the code better
- Hoffmann András
- LubenZA
- Olivier
+ - knezmilos13
- Cyril PASCAL
- Michael Bessolov
- pscheit
@@ -1680,6 +1720,7 @@ Symfony is the result of the work of many people who made the code better
- Ikhsan Agustian
- Arnau González (arnaugm)
- Simon Bouland (bouland)
+ - Dmitry Pigin (dotty)
- Jibé Barth (jibbarth)
- Matthew Foster (mfoster)
- Reyo Stallenberg (reyostallenberg)
@@ -1697,7 +1738,6 @@ Symfony is the result of the work of many people who made the code better
- stloyd
- Andreas
- Chris Tickner
- - BoShurik
- Andrew Coulton
- Ulugbek Miniyarov
- Jeremy Benoist
@@ -1718,7 +1758,6 @@ Symfony is the result of the work of many people who made the code better
- Eric Schildkamp
- Andreas
- Markus
- - Daniel Gorgan
- kernig
- Thomas Chmielowiec
- shdev
@@ -1762,9 +1801,9 @@ Symfony is the result of the work of many people who made the code better
- Andrey Helldar (helldar)
- Karim Cassam Chenaï (ka)
- Maksym Slesarenko (maksym_slesarenko)
+ - Marcello Mönkemeyer (marcello-moenkemeyer)
- Michal Kurzeja (mkurzeja)
- Nicolas Bastien (nicolas_bastien)
- - Peter Bowyer (pbowyer)
- Nikola Svitlica (thecelavi)
- Denis (yethee)
- Andrew Zhilin (zhil)
@@ -1775,6 +1814,7 @@ Symfony is the result of the work of many people who made the code better
- Normunds
- Luiz “Felds” Liscia
- Thomas Rothe
+ - Adrien Wilmet
- Martin
- nietonfir
- alefranz
@@ -1867,6 +1907,7 @@ Symfony is the result of the work of many people who made the code better
- gedrox
- Bohan Yang
- Alan Bondarchuk
+ - Pchol
- dropfen
- Andrey Chernykh
- Edvinas Klovas
@@ -1889,6 +1930,7 @@ Symfony is the result of the work of many people who made the code better
- AmsTaFF (amstaff)
- Simon Müller (boscho)
- Yannick Bensacq (cibou)
+ - Cyrille Bourgois (cyrilleb)
- Damien (damien_vauchel)
- Frédéric G. Marand (fgm)
- Freek Van der Herten (freekmurze)
@@ -1909,6 +1951,7 @@ Symfony is the result of the work of many people who made the code better
- Ahmed Hannachi (tiecoders)
- Vincent LEFORT (vlefort)
- Walid BOUGHDIRI (walidboughdiri)
+ - Wim Molenberghs (wimm)
- Darryl Hein (xmmedia)
- Sadicov Vladimir (xtech)
- Kevin EMO (zarcox)
@@ -1944,6 +1987,7 @@ Symfony is the result of the work of many people who made the code better
- Martin Mayer (martin)
- Grzegorz Łukaszewicz (newicz)
- Jonny Schmid (schmidjon)
+ - Ashura
- Götz Gottwald
- Veres Lajos
- Nick Chiu
@@ -2015,11 +2059,13 @@ Symfony is the result of the work of many people who made the code better
- Achilles Kaloeridis (achilles)
- Adria Lopez (adlpz)
- Aaron Scherer (aequasi)
+ - baron (bastien)
- Rosio (ben-rosio)
- Simon Paarlberg (blamh)
- Jeroen Thora (bolle)
- Brieuc THOMAS (brieucthomas)
- Masao Maeda (brtriver)
+ - Damien Harper (damien.harper)
- Darius Leskauskas (darles)
- david perez (davidpv)
- Daniël Brekelmans (dbrekelmans)
@@ -2059,6 +2105,7 @@ Symfony is the result of the work of many people who made the code better
- Pierre Gasté (pierre_g)
- Pablo Monterde Perez (plebs)
- Jimmy Leger (redpanda)
+ - Dmitry (staratel)
- Marcin Szepczynski (szepczynski)
- Cyrille Jouineau (tuxosaurus)
- Vladimir Chernyshev (volch)
@@ -2069,7 +2116,6 @@ Symfony is the result of the work of many people who made the code better
- Angel Fernando Quiroz Campos
- Ondrej Mirtes
- akimsko
- - Stefan Kruppa
- Youpie
- srsbiz
- Taylan Kasap
@@ -2087,6 +2133,7 @@ Symfony is the result of the work of many people who made the code better
- Damian Sromek
- Ben
- Evgeniy Tetenchuk
+ - Sjoerd Adema
- Shrey Puranik
- Lars Moelleken
- dasmfm
@@ -2137,6 +2184,7 @@ Symfony is the result of the work of many people who made the code better
- BenjaminBeck
- Aurelijus Rožėnas
- Beno!t POLASZEK
+ - Armando
- Jordan Hoff
- znerol
- Christian Eikermann
@@ -2167,6 +2215,7 @@ Symfony is the result of the work of many people who made the code better
- Jack Wright
- MrNicodemuz
- Anonymous User
+ - Dieter
- Paweł Tomulik
- Eric J. Duran
- Alexandru Bucur
@@ -2224,9 +2273,9 @@ Symfony is the result of the work of many people who made the code better
- Shude
- Richard Hodgson
- Ondřej Führer
+ - Bogdan
- Sema
- Elan Ruusamäe
- - Jon Dufresne
- Thorsten Hallwas
- Alex Nostadt
- Michael Squires
@@ -2278,6 +2327,7 @@ Symfony is the result of the work of many people who made the code better
- tirnanog06
- phc
- Дмитрий Пацура
+ - Signor Pedro
- ilyes kooli
- Ilia Lazarev
- Michaël VEROUX
@@ -2289,6 +2339,7 @@ Symfony is the result of the work of many people who made the code better
- Bilge
- ADmad
- Nicolas Roudaire
+ - Matthias Meyer
- Temuri Takalandze (abgeo)
- Alfonso (afgar)
- Andreas Forsblom (aforsblo)
@@ -2319,7 +2370,6 @@ Symfony is the result of the work of many people who made the code better
- Carsten Eilers (fnc)
- Sorin Gitlan (forapathy)
- Yohan Giarelli (frequence-web)
- - Jesse Rushlow (geeshoe)
- Gerry Vandermaesen (gerryvdm)
- Ghazy Ben Ahmed (ghazy)
- Arash Tabriziyan (ghost098)
@@ -2386,10 +2436,10 @@ Symfony is the result of the work of many people who made the code better
- Thomas Baumgartner (shoplifter)
- Schuyler Jager (sjager)
- Volker (skydiablo)
+ - Success Go (successgo)
- Julien Sanchez (sumbobyboys)
- Guillermo Gisinger (t3chn0r)
- Markus Tacker (tacker)
- - Thiago Cordeiro (thiagocordeiro)
- Tom Newby (tomnewbyau)
- Andrew Clark (tqt_andrew_clark)
- David Lumaye (tux1124)
@@ -2411,6 +2461,7 @@ Symfony is the result of the work of many people who made the code better
- craigmarvelley
- Stano Turza
- simpson
+ - Antoine Leblanc
- drublic
- MaPePeR
- Andreas Streichardt
@@ -2440,7 +2491,6 @@ Symfony is the result of the work of many people who made the code better
- max
- Alexander Bauer (abauer)
- Ahmad Mayahi (ahmadmayahi)
- - Alireza Mirsepassi (alirezamirsepassi)
- Mohamed Karnichi (amiral)
- Andrew Carter (andrewcarteruk)
- Adam Elsodaney (archfizz)
diff --git a/link b/link
index cea19663e8873..1525ab0cb9bbf 100755
--- a/link
+++ b/link
@@ -38,7 +38,7 @@ if (!is_dir("$pathToProject/vendor/symfony")) {
$sfPackages = array('symfony/symfony' => __DIR__);
$filesystem = new Filesystem();
-$braces = array('Bundle', 'Bridge', 'Component', 'Component/Security', 'Contracts');
+$braces = array('Bundle', 'Bridge', 'Component', 'Component/Security', 'Component/Mailer/Bridge', 'Component/Messenger/Bridge', 'Component/Notifier/Bridge', 'Contracts');
$directories = array_merge(...array_values(array_map(function ($part) {
return glob(__DIR__.'/src/Symfony/'.$part.'/*', GLOB_ONLYDIR | GLOB_NOSORT);
}, $braces)));
diff --git a/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php b/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
index 23230f7e22fa0..0a50e9d48bc39 100644
--- a/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
+++ b/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
@@ -429,7 +429,7 @@ private function validateAutoMapping(array $managerConfigs): ?string
}
if (null !== $autoMappedManager) {
- throw new \LogicException(sprintf('You cannot enable "auto_mapping" on more than one manager at the same time (found in "%s" and %s").', $autoMappedManager, $name));
+ throw new \LogicException(sprintf('You cannot enable "auto_mapping" on more than one manager at the same time (found in "%s" and "%s"").', $autoMappedManager, $name));
}
$autoMappedManager = $name;
diff --git a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php
index e73de3ddf934c..c1bbde27aa9c6 100644
--- a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php
+++ b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php
@@ -69,7 +69,7 @@ private function addTaggedSubscribers(ContainerBuilder $container)
$connections = isset($tag['connection']) ? [$tag['connection']] : array_keys($this->connections);
foreach ($connections as $con) {
if (!isset($this->connections[$con])) {
- throw new RuntimeException(sprintf('The Doctrine connection "%s" referenced in service "%s" does not exist. Available connections names: %s', $con, $id, implode(', ', array_keys($this->connections))));
+ throw new RuntimeException(sprintf('The Doctrine connection "%s" referenced in service "%s" does not exist. Available connections names: "%s".', $con, $id, implode('", "', array_keys($this->connections))));
}
$this->getEventManagerDef($container, $con)->addMethodCall('addEventSubscriber', [new Reference($id)]);
@@ -92,7 +92,7 @@ private function addTaggedListeners(ContainerBuilder $container)
$connections = isset($tag['connection']) ? [$tag['connection']] : array_keys($this->connections);
foreach ($connections as $con) {
if (!isset($this->connections[$con])) {
- throw new RuntimeException(sprintf('The Doctrine connection "%s" referenced in service "%s" does not exist. Available connections names: %s', $con, $id, implode(', ', array_keys($this->connections))));
+ throw new RuntimeException(sprintf('The Doctrine connection "%s" referenced in service "%s" does not exist. Available connections names: "%s".', $con, $id, implode('", "', array_keys($this->connections))));
}
$listenerRefs[$con][$id] = new Reference($id);
diff --git a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterMappingsPass.php b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterMappingsPass.php
index 3c06fa25a9311..e253720d8026f 100644
--- a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterMappingsPass.php
+++ b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterMappingsPass.php
@@ -125,7 +125,7 @@ public function __construct($driver, array $namespaces, array $managerParameters
$this->driverPattern = $driverPattern;
$this->enabledParameter = $enabledParameter;
if (\count($aliasMap) && (!$configurationPattern || !$registerAliasMethodName)) {
- throw new \InvalidArgumentException('configurationPattern and registerAliasMethodName are required to register namespace alias');
+ throw new \InvalidArgumentException('configurationPattern and registerAliasMethodName are required to register namespace alias.');
}
$this->configurationPattern = $configurationPattern;
$this->registerAliasMethodName = $registerAliasMethodName;
@@ -218,7 +218,7 @@ private function getManagerName(ContainerBuilder $container): string
}
}
- throw new InvalidArgumentException(sprintf('Could not find the manager name parameter in the container. Tried the following parameter names: "%s"', implode('", "', $this->managerParameters)));
+ throw new InvalidArgumentException(sprintf('Could not find the manager name parameter in the container. Tried the following parameter names: "%s".', implode('", "', $this->managerParameters)));
}
/**
diff --git a/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php b/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php
index 259f25776085a..8f04409ef5bf1 100644
--- a/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php
+++ b/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php
@@ -53,7 +53,7 @@ public function configureOptions(OptionsResolver $resolver)
public function getLoader(ObjectManager $manager, $queryBuilder, string $class)
{
if (!$queryBuilder instanceof QueryBuilder) {
- throw new \TypeError(sprintf('Expected an instance of %s, but got %s.', QueryBuilder::class, \is_object($queryBuilder) ? \get_class($queryBuilder) : \gettype($queryBuilder)));
+ throw new \TypeError(sprintf('Expected an instance of "%s", but got "%s".', QueryBuilder::class, \is_object($queryBuilder) ? \get_class($queryBuilder) : \gettype($queryBuilder)));
}
return new ORMQueryBuilderLoader($queryBuilder);
@@ -79,7 +79,7 @@ public function getBlockPrefix()
public function getQueryBuilderPartsForCachingHash($queryBuilder): ?array
{
if (!$queryBuilder instanceof QueryBuilder) {
- throw new \TypeError(sprintf('Expected an instance of %s, but got %s.', QueryBuilder::class, \is_object($queryBuilder) ? \get_class($queryBuilder) : \gettype($queryBuilder)));
+ throw new \TypeError(sprintf('Expected an instance of "%s", but got "%s".', QueryBuilder::class, \is_object($queryBuilder) ? \get_class($queryBuilder) : \gettype($queryBuilder)));
}
return [
diff --git a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
index 2a70ebb2ade98..7464f03fe2a28 100644
--- a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
+++ b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
@@ -163,7 +163,6 @@ public function getTypes(string $class, string $property, array $context = [])
switch ($typeOfField) {
case self::$useDeprecatedConstants ? DBALType::TARRAY : Types::ARRAY:
case 'json_array':
- case self::$useDeprecatedConstants ? false : Types::JSON:
return [new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true)];
case self::$useDeprecatedConstants ? DBALType::SIMPLE_ARRAY : Types::SIMPLE_ARRAY:
@@ -278,7 +277,6 @@ private function getPhpType(string $doctrineType): ?string
case self::$useDeprecatedConstants ? DBALType::TARRAY : Types::ARRAY:
case self::$useDeprecatedConstants ? DBALType::SIMPLE_ARRAY : Types::SIMPLE_ARRAY:
case 'json_array':
- case self::$useDeprecatedConstants ? false : Types::JSON:
return Type::BUILTIN_TYPE_ARRAY;
}
diff --git a/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php b/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php
index 65d6bed3bcd31..5dc99cc85a5b9 100644
--- a/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php
+++ b/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php
@@ -92,7 +92,7 @@ public function refreshUser(UserInterface $user)
$refreshedUser = $repository->find($id);
if (null === $refreshedUser) {
- throw new UsernameNotFoundException(sprintf('User with id %s not found', json_encode($id)));
+ throw new UsernameNotFoundException(sprintf('User with id %s not found.', json_encode($id)));
}
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
index c7dbb08a7b1ac..4ea6a678e3eba 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
@@ -178,7 +178,7 @@ public function typesProvider()
];
if (class_exists(Types::class)) {
- $provider[] = ['json', [new Type(Type::BUILTIN_TYPE_ARRAY, true, null, true)]];
+ $provider[] = ['json', null];
}
return $provider;
diff --git a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php
index a66339649313c..6e4807c58fb7a 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineFooType.php
@@ -50,7 +50,7 @@ public function convertToDatabaseValue($value, AbstractPlatform $platform)
return null;
}
if (!$value instanceof Foo) {
- throw new ConversionException(sprintf('Expected %s, got %s', 'Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\Foo', \gettype($value)));
+ throw new ConversionException(sprintf('Expected "%s", got "%s"', 'Symfony\Bridge\Doctrine\Tests\PropertyInfo\Fixtures\Foo', \gettype($value)));
}
return $foo->bar;
diff --git a/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php b/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php
index 458472c6e0cbe..b8b0f7b9e99cb 100644
--- a/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php
+++ b/src/Symfony/Bridge/Monolog/Handler/ElasticsearchLogstashHandler.php
@@ -52,7 +52,7 @@ class ElasticsearchLogstashHandler extends AbstractHandler
public function __construct(string $endpoint = 'http://127.0.0.1:9200', string $index = 'monolog', HttpClientInterface $client = null, int $level = Logger::DEBUG, bool $bubble = true)
{
if (!interface_exists(HttpClientInterface::class)) {
- throw new \LogicException(sprintf('The %s handler needs an HTTP client. Try running "composer require symfony/http-client".', __CLASS__));
+ throw new \LogicException(sprintf('The "%s" handler needs an HTTP client. Try running "composer require symfony/http-client".', __CLASS__));
}
parent::__construct($level, $bubble);
diff --git a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php
index cc0b19774c6c4..410c99e53b030 100644
--- a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php
+++ b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php
@@ -32,10 +32,10 @@ public function __construct(RequestStack $requestStack, array $exclusions, $acti
{
foreach ($exclusions as $exclusion) {
if (!\array_key_exists('code', $exclusion)) {
- throw new \LogicException(sprintf('An exclusion must have a "code" key'));
+ throw new \LogicException(sprintf('An exclusion must have a "code" key.'));
}
if (!\array_key_exists('urls', $exclusion)) {
- throw new \LogicException(sprintf('An exclusion must have a "urls" key'));
+ throw new \LogicException(sprintf('An exclusion must have a "urls" key.'));
}
}
diff --git a/src/Symfony/Bridge/Monolog/Handler/SwiftMailerHandler.php b/src/Symfony/Bridge/Monolog/Handler/SwiftMailerHandler.php
index f255f0a83ed16..d5470c6b18916 100644
--- a/src/Symfony/Bridge/Monolog/Handler/SwiftMailerHandler.php
+++ b/src/Symfony/Bridge/Monolog/Handler/SwiftMailerHandler.php
@@ -85,7 +85,7 @@ private function flushMemorySpool()
}
if (null === $this->transport) {
- throw new \Exception('No transport available to flush mail queue');
+ throw new \Exception('No transport available to flush mail queue.');
}
$spool->flushQueue($this->transport);
diff --git a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php
index 6b42814bbc906..d26ffc45de692 100644
--- a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php
+++ b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Configuration.php
@@ -48,10 +48,10 @@ private function __construct(array $thresholds = [], $regex = '', $verboseOutput
foreach ($thresholds as $group => $threshold) {
if (!\in_array($group, $groups, true)) {
- throw new \InvalidArgumentException(sprintf('Unrecognized threshold "%s", expected one of "%s"', $group, implode('", "', $groups)));
+ throw new \InvalidArgumentException(sprintf('Unrecognized threshold "%s", expected one of "%s".', $group, implode('", "', $groups)));
}
if (!is_numeric($threshold)) {
- throw new \InvalidArgumentException(sprintf('Threshold for group "%s" has invalid value "%s"', $group, $threshold));
+ throw new \InvalidArgumentException(sprintf('Threshold for group "%s" has invalid value "%s".', $group, $threshold));
}
$this->thresholds[$group] = (int) $threshold;
}
@@ -146,7 +146,7 @@ public static function fromUrlEncodedString($serializedConfiguration)
parse_str($serializedConfiguration, $normalizedConfiguration);
foreach (array_keys($normalizedConfiguration) as $key) {
if (!\in_array($key, ['max', 'disabled', 'verbose'], true)) {
- throw new \InvalidArgumentException(sprintf('Unknown configuration option "%s"', $key));
+ throw new \InvalidArgumentException(sprintf('Unknown configuration option "%s".', $key));
}
}
diff --git a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php
index f4e9a8ff97e1d..62e09c461cca5 100644
--- a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php
+++ b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php
@@ -109,7 +109,7 @@ public function originatesFromAnObject()
public function originatingClass()
{
if (null === $this->originClass) {
- throw new \LogicException('Check with originatesFromAnObject() before calling this method');
+ throw new \LogicException('Check with originatesFromAnObject() before calling this method.');
}
return $this->originClass;
@@ -121,7 +121,7 @@ public function originatingClass()
public function originatingMethod()
{
if (null === $this->originMethod) {
- throw new \LogicException('Check with originatesFromAnObject() before calling this method');
+ throw new \LogicException('Check with originatesFromAnObject() before calling this method.');
}
return $this->originMethod;
@@ -237,7 +237,7 @@ private function getPackage($path)
$relativePath = substr($path, \strlen($vendorRoot) + 1);
$vendor = strstr($relativePath, \DIRECTORY_SEPARATOR, true);
if (false === $vendor) {
- throw new \RuntimeException(sprintf('Could not find directory separator "%s" in path "%s"', \DIRECTORY_SEPARATOR, $relativePath));
+ throw new \RuntimeException(sprintf('Could not find directory separator "%s" in path "%s".', \DIRECTORY_SEPARATOR, $relativePath));
}
return rtrim($vendor.'/'.strstr(substr(
@@ -247,7 +247,7 @@ private function getPackage($path)
}
}
- throw new \RuntimeException(sprintf('No vendors found for path "%s"', $path));
+ throw new \RuntimeException(sprintf('No vendors found for path "%s".', $path));
}
/**
diff --git a/src/Symfony/Bridge/ProxyManager/LazyProxy/PhpDumper/LazyLoadingValueHolderGenerator.php b/src/Symfony/Bridge/ProxyManager/LazyProxy/PhpDumper/LazyLoadingValueHolderGenerator.php
index 5dd40af9b3420..2ff31bbda353b 100644
--- a/src/Symfony/Bridge/ProxyManager/LazyProxy/PhpDumper/LazyLoadingValueHolderGenerator.php
+++ b/src/Symfony/Bridge/ProxyManager/LazyProxy/PhpDumper/LazyLoadingValueHolderGenerator.php
@@ -88,7 +88,7 @@ public function generate(\ReflectionClass $originalClass, ClassGenerator $classG
$newBody = preg_replace('/^(\$this->initializer[a-zA-Z0-9]++) && .*;\n\nreturn (\$this->valueHolder)/', '$1 || $2', $body);
if ($body === $newBody) {
- throw new \UnexpectedValueException(sprintf('Unexpected lazy-proxy format generated for method %s::__destruct()', $originalClass->name));
+ throw new \UnexpectedValueException(sprintf('Unexpected lazy-proxy format generated for method "%s::__destruct()".', $originalClass->name));
}
$destructor->setBody($newBody);
diff --git a/src/Symfony/Bridge/Twig/Command/DebugCommand.php b/src/Symfony/Bridge/Twig/Command/DebugCommand.php
index 2f365c216b423..219613eb2f16c 100644
--- a/src/Symfony/Bridge/Twig/Command/DebugCommand.php
+++ b/src/Symfony/Bridge/Twig/Command/DebugCommand.php
@@ -92,7 +92,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$filter = $input->getOption('filter');
if (null !== $name && [] === $this->getFilesystemLoaders()) {
- throw new InvalidArgumentException(sprintf('Argument "name" not supported, it requires the Twig loader "%s"', FilesystemLoader::class));
+ throw new InvalidArgumentException(sprintf('Argument "name" not supported, it requires the Twig loader "%s".', FilesystemLoader::class));
}
switch ($input->getOption('format')) {
@@ -317,7 +317,7 @@ private function getMetadata(string $type, $entity)
} elseif (\is_string($cb) && preg_match('{^(.+)::(.+)$}', $cb, $m) && method_exists($m[1], $m[2])) {
$refl = new \ReflectionMethod($m[1], $m[2]);
} else {
- throw new \UnexpectedValueException('Unsupported callback type');
+ throw new \UnexpectedValueException('Unsupported callback type.');
}
$args = $refl->getParameters();
diff --git a/src/Symfony/Bridge/Twig/Command/LintCommand.php b/src/Symfony/Bridge/Twig/Command/LintCommand.php
index a41e3ea9a5100..03b7f6d2f8d19 100644
--- a/src/Symfony/Bridge/Twig/Command/LintCommand.php
+++ b/src/Symfony/Bridge/Twig/Command/LintCommand.php
@@ -145,7 +145,7 @@ protected function findFiles(string $filename)
return Finder::create()->files()->in($filename)->name('*.twig');
}
- throw new RuntimeException(sprintf('File or directory "%s" is not readable', $filename));
+ throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename));
}
private function validate(string $template, string $file): array
diff --git a/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php b/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php
index d149c626a0027..5a79062d362a1 100644
--- a/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php
+++ b/src/Symfony/Bridge/Twig/ErrorRenderer/TwigErrorRenderer.php
@@ -35,7 +35,7 @@ class TwigErrorRenderer implements ErrorRendererInterface
public function __construct(Environment $twig, HtmlErrorRenderer $fallbackErrorRenderer = null, $debug = false)
{
if (!\is_bool($debug) && !\is_callable($debug)) {
- throw new \TypeError(sprintf('Argument 3 passed to %s() must be a boolean or a callable, %s given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
+ throw new \TypeError(sprintf('Argument 3 passed to "%s()" must be a boolean or a callable, "%s" given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
}
$this->twig = $twig;
diff --git a/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php b/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php
index aa5a2dde3d746..ad160413567b5 100644
--- a/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php
+++ b/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php
@@ -21,6 +21,9 @@
use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\TwigFilter;
+// Help opcache.preload discover always-needed symbols
+class_exists(TranslatorInterface::class);
+
/**
* Provides integration of the Translation component with Twig.
*
diff --git a/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php b/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php
index 7329163e17bcf..6d9bffcfcc47e 100644
--- a/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php
+++ b/src/Symfony/Bridge/Twig/Mime/NotificationEmail.php
@@ -51,7 +51,7 @@ public function __construct(Headers $headers = null, AbstractPart $body = null)
}
if ($missingPackages) {
- throw new \LogicException(sprintf('You cannot use "%s" if the %s Twig extension%s not available; try running "composer require %s".', static::class, implode(' and ', $missingPackages), \count($missingPackages) > 1 ? 's are' : ' is', implode(' ', array_keys($missingPackages))));
+ throw new \LogicException(sprintf('You cannot use "%s" if the "%s" Twig extension%s not available; try running "composer require "%s"".', static::class, implode('" and "', $missingPackages), \count($missingPackages) > 1 ? 's are' : ' is', implode(' ', array_keys($missingPackages))));
}
parent::__construct($headers, $body);
diff --git a/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/RouterCacheWarmer.php b/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/RouterCacheWarmer.php
index fecce2759f7a4..5b4b6e5097a72 100644
--- a/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/RouterCacheWarmer.php
+++ b/src/Symfony/Bundle/FrameworkBundle/CacheWarmer/RouterCacheWarmer.php
@@ -47,7 +47,7 @@ public function warmUp(string $cacheDir)
return;
}
- throw new \LogicException(sprintf('The router %s cannot be warmed up because it does not implement %s.', \get_class($router), WarmableInterface::class));
+ throw new \LogicException(sprintf('The router "%s" cannot be warmed up because it does not implement "%s".', \get_class($router), WarmableInterface::class));
}
/**
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
index 232348d0360c8..22fdfe7b60292 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php
@@ -112,11 +112,11 @@ protected function findExtension(string $name)
public function validateConfiguration(ExtensionInterface $extension, $configuration)
{
if (!$configuration) {
- throw new \LogicException(sprintf('The extension with alias "%s" does not have its getConfiguration() method setup', $extension->getAlias()));
+ throw new \LogicException(sprintf('The extension with alias "%s" does not have its getConfiguration() method setup.', $extension->getAlias()));
}
if (!$configuration instanceof ConfigurationInterface) {
- throw new \LogicException(sprintf('Configuration class "%s" should implement ConfigurationInterface in order to be dumpable', \get_class($configuration)));
+ throw new \LogicException(sprintf('Configuration class "%s" should implement ConfigurationInterface in order to be dumpable.', \get_class($configuration)));
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
index 6711e456b10a0..75836ce0b7f37 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
@@ -85,7 +85,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$fs->remove($oldCacheDir);
if (!is_writable($realCacheDir)) {
- throw new RuntimeException(sprintf('Unable to write in the "%s" directory', $realCacheDir));
+ throw new RuntimeException(sprintf('Unable to write in the "%s" directory.', $realCacheDir));
}
$io->comment(sprintf('Clearing the cache for the %s environment with debug %s', $kernel->getEnvironment(), var_export($kernel->isDebug(), true)));
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
index 2aa631eb76e44..ef4d0fb51ab16 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
@@ -145,7 +145,7 @@ private function getConfigForPath(array $config, string $path, string $alias)
foreach ($steps as $step) {
if (!\array_key_exists($step, $config)) {
- throw new LogicException(sprintf('Unable to find configuration for "%s.%s"', $alias, $path));
+ throw new LogicException(sprintf('Unable to find configuration for "%s.%s".', $alias, $path));
}
$config = $config[$step];
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php
index cbb01dc6cf4bb..fb89768bf5f33 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php
@@ -94,24 +94,12 @@ protected function write(string $content, bool $decorated = false)
$this->output->write($content, false, $decorated ? OutputInterface::OUTPUT_NORMAL : OutputInterface::OUTPUT_RAW);
}
- /**
- * Describes an InputArgument instance.
- */
abstract protected function describeRouteCollection(RouteCollection $routes, array $options = []);
- /**
- * Describes an InputOption instance.
- */
abstract protected function describeRoute(Route $route, array $options = []);
- /**
- * Describes container parameters.
- */
abstract protected function describeContainerParameters(ParameterBag $parameters, array $options = []);
- /**
- * Describes container tags.
- */
abstract protected function describeContainerTags(ContainerBuilder $builder, array $options = []);
/**
@@ -132,24 +120,12 @@ abstract protected function describeContainerService($service, array $options =
*/
abstract protected function describeContainerServices(ContainerBuilder $builder, array $options = []);
- /**
- * Describes a service definition.
- */
abstract protected function describeContainerDefinition(Definition $definition, array $options = []);
- /**
- * Describes a service alias.
- */
abstract protected function describeContainerAlias(Alias $alias, array $options = [], ContainerBuilder $builder = null);
- /**
- * Describes a container parameter.
- */
abstract protected function describeContainerParameter($parameter, array $options = []);
- /**
- * Describes container environment variables.
- */
abstract protected function describeContainerEnvVars(array $envs, array $options = []);
/**
@@ -305,9 +281,6 @@ protected function sortByPriority(array $tag): array
return $tag;
}
- /**
- * Gets class description from a docblock.
- */
public static function getClassDescription(string $class, string &$resolvedClass = null): string
{
$resolvedClass = $class;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
index 9d1e97d5f7f2f..b9e5bad0f5c52 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
@@ -30,9 +30,6 @@
*/
class JsonDescriptor extends Descriptor
{
- /**
- * {@inheritdoc}
- */
protected function describeRouteCollection(RouteCollection $routes, array $options = [])
{
$data = [];
@@ -43,25 +40,16 @@ protected function describeRouteCollection(RouteCollection $routes, array $optio
$this->writeData($data, $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeRoute(Route $route, array $options = [])
{
$this->writeData($this->getRouteData($route), $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameters(ParameterBag $parameters, array $options = [])
{
$this->writeData($this->sortParameters($parameters), $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerTags(ContainerBuilder $builder, array $options = [])
{
$showHidden = isset($options['show_hidden']) && $options['show_hidden'];
@@ -77,9 +65,6 @@ protected function describeContainerTags(ContainerBuilder $builder, array $optio
$this->writeData($data, $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerService($service, array $options = [], ContainerBuilder $builder = null)
{
if (!isset($options['id'])) {
@@ -95,9 +80,6 @@ protected function describeContainerService($service, array $options = [], Conta
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerServices(ContainerBuilder $builder, array $options = [])
{
$serviceIds = isset($options['tag']) && $options['tag']
@@ -131,17 +113,11 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$this->writeData($data, $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerDefinition(Definition $definition, array $options = [])
{
$this->writeData($this->getContainerDefinitionData($definition, isset($options['omit_tags']) && $options['omit_tags'], isset($options['show_arguments']) && $options['show_arguments']), $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerAlias(Alias $alias, array $options = [], ContainerBuilder $builder = null)
{
if (!$builder) {
@@ -156,25 +132,16 @@ protected function describeContainerAlias(Alias $alias, array $options = [], Con
);
}
- /**
- * {@inheritdoc}
- */
protected function describeEventDispatcherListeners(EventDispatcherInterface $eventDispatcher, array $options = [])
{
$this->writeData($this->getEventDispatcherListenersData($eventDispatcher, \array_key_exists('event', $options) ? $options['event'] : null), $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeCallable($callable, array $options = [])
{
$this->writeData($this->getCallableData($callable), $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameter($parameter, array $options = [])
{
$key = isset($options['parameter']) ? $options['parameter'] : '';
@@ -182,17 +149,11 @@ protected function describeContainerParameter($parameter, array $options = [])
$this->writeData([$key => $parameter], $options);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerEnvVars(array $envs, array $options = [])
{
throw new LogicException('Using the JSON format to debug environment variables is not supported.');
}
- /**
- * Writes data as json.
- */
private function writeData(array $data, array $options)
{
$flags = isset($options['json_encoding']) ? $options['json_encoding'] : 0;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
index ab4f0567b76a7..a04402796b4c5 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
@@ -28,9 +28,6 @@
*/
class MarkdownDescriptor extends Descriptor
{
- /**
- * {@inheritdoc}
- */
protected function describeRouteCollection(RouteCollection $routes, array $options = [])
{
$first = true;
@@ -45,9 +42,6 @@ protected function describeRouteCollection(RouteCollection $routes, array $optio
$this->write("\n");
}
- /**
- * {@inheritdoc}
- */
protected function describeRoute(Route $route, array $options = [])
{
$output = '- Path: '.$route->getPath()
@@ -71,9 +65,6 @@ protected function describeRoute(Route $route, array $options = [])
$this->write("\n");
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameters(ParameterBag $parameters, array $options = [])
{
$this->write("Container parameters\n====================\n");
@@ -82,9 +73,6 @@ protected function describeContainerParameters(ParameterBag $parameters, array $
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerTags(ContainerBuilder $builder, array $options = [])
{
$showHidden = isset($options['show_hidden']) && $options['show_hidden'];
@@ -99,9 +87,6 @@ protected function describeContainerTags(ContainerBuilder $builder, array $optio
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerService($service, array $options = [], ContainerBuilder $builder = null)
{
if (!isset($options['id'])) {
@@ -119,9 +104,6 @@ protected function describeContainerService($service, array $options = [], Conta
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerServices(ContainerBuilder $builder, array $options = [])
{
$showHidden = isset($options['show_hidden']) && $options['show_hidden'];
@@ -183,9 +165,6 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerDefinition(Definition $definition, array $options = [])
{
$output = '';
@@ -246,9 +225,6 @@ protected function describeContainerDefinition(Definition $definition, array $op
$this->write(isset($options['id']) ? sprintf("### %s\n\n%s\n", $options['id'], $output) : $output);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerAlias(Alias $alias, array $options = [], ContainerBuilder $builder = null)
{
$output = '- Service: `'.$alias.'`'
@@ -270,25 +246,16 @@ protected function describeContainerAlias(Alias $alias, array $options = [], Con
$this->describeContainerDefinition($builder->getDefinition((string) $alias), array_merge($options, ['id' => (string) $alias]));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameter($parameter, array $options = [])
{
$this->write(isset($options['parameter']) ? sprintf("%s\n%s\n\n%s", $options['parameter'], str_repeat('=', \strlen($options['parameter'])), $this->formatParameter($parameter)) : $parameter);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerEnvVars(array $envs, array $options = [])
{
throw new LogicException('Using the markdown format to debug environment variables is not supported.');
}
- /**
- * {@inheritdoc}
- */
protected function describeEventDispatcherListeners(EventDispatcherInterface $eventDispatcher, array $options = [])
{
$event = \array_key_exists('event', $options) ? $options['event'] : null;
@@ -322,9 +289,6 @@ protected function describeEventDispatcherListeners(EventDispatcherInterface $ev
}
}
- /**
- * {@inheritdoc}
- */
protected function describeCallable($callable, array $options = [])
{
$string = '';
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
index 37e2117bc6cd6..45c995a467371 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
@@ -43,9 +43,6 @@ public function __construct(FileLinkFormatter $fileLinkFormatter = null)
$this->fileLinkFormatter = $fileLinkFormatter;
}
- /**
- * {@inheritdoc}
- */
protected function describeRouteCollection(RouteCollection $routes, array $options = [])
{
$showControllers = isset($options['show_controllers']) && $options['show_controllers'];
@@ -83,9 +80,6 @@ protected function describeRouteCollection(RouteCollection $routes, array $optio
}
}
- /**
- * {@inheritdoc}
- */
protected function describeRoute(Route $route, array $options = [])
{
$tableHeaders = ['Property', 'Value'];
@@ -112,9 +106,6 @@ protected function describeRoute(Route $route, array $options = [])
$table->render();
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameters(ParameterBag $parameters, array $options = [])
{
$tableHeaders = ['Parameter', 'Value'];
@@ -128,9 +119,6 @@ protected function describeContainerParameters(ParameterBag $parameters, array $
$options['output']->table($tableHeaders, $tableRows);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerTags(ContainerBuilder $builder, array $options = [])
{
$showHidden = isset($options['show_hidden']) && $options['show_hidden'];
@@ -147,9 +135,6 @@ protected function describeContainerTags(ContainerBuilder $builder, array $optio
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerService($service, array $options = [], ContainerBuilder $builder = null)
{
if (!isset($options['id'])) {
@@ -171,9 +156,6 @@ protected function describeContainerService($service, array $options = [], Conta
}
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerServices(ContainerBuilder $builder, array $options = [])
{
$showHidden = isset($options['show_hidden']) && $options['show_hidden'];
@@ -263,9 +245,6 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$options['output']->table($tableHeaders, $tableRows);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerDefinition(Definition $definition, array $options = [])
{
if (isset($options['id'])) {
@@ -374,9 +353,6 @@ protected function describeContainerDefinition(Definition $definition, array $op
$options['output']->table($tableHeaders, $tableRows);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerAlias(Alias $alias, array $options = [], ContainerBuilder $builder = null)
{
if ($alias->isPublic()) {
@@ -392,9 +368,6 @@ protected function describeContainerAlias(Alias $alias, array $options = [], Con
$this->describeContainerDefinition($builder->getDefinition((string) $alias), array_merge($options, ['id' => (string) $alias]));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameter($parameter, array $options = [])
{
$options['output']->table(
@@ -405,9 +378,6 @@ protected function describeContainerParameter($parameter, array $options = [])
]);
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerEnvVars(array $envs, array $options = [])
{
$dump = new Dumper($this->output);
@@ -470,9 +440,6 @@ protected function describeContainerEnvVars(array $envs, array $options = [])
}
}
- /**
- * {@inheritdoc}
- */
protected function describeEventDispatcherListeners(EventDispatcherInterface $eventDispatcher, array $options = [])
{
$event = \array_key_exists('event', $options) ? $options['event'] : null;
@@ -497,9 +464,6 @@ protected function describeEventDispatcherListeners(EventDispatcherInterface $ev
}
}
- /**
- * {@inheritdoc}
- */
protected function describeCallable($callable, array $options = [])
{
$this->writeText($this->formatCallable($callable), $options);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
index 16e79f45f4cb8..a7f348e76d219 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
@@ -31,41 +31,26 @@
*/
class XmlDescriptor extends Descriptor
{
- /**
- * {@inheritdoc}
- */
protected function describeRouteCollection(RouteCollection $routes, array $options = [])
{
$this->writeDocument($this->getRouteCollectionDocument($routes));
}
- /**
- * {@inheritdoc}
- */
protected function describeRoute(Route $route, array $options = [])
{
$this->writeDocument($this->getRouteDocument($route, isset($options['name']) ? $options['name'] : null));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameters(ParameterBag $parameters, array $options = [])
{
$this->writeDocument($this->getContainerParametersDocument($parameters));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerTags(ContainerBuilder $builder, array $options = [])
{
$this->writeDocument($this->getContainerTagsDocument($builder, isset($options['show_hidden']) && $options['show_hidden']));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerService($service, array $options = [], ContainerBuilder $builder = null)
{
if (!isset($options['id'])) {
@@ -75,25 +60,16 @@ protected function describeContainerService($service, array $options = [], Conta
$this->writeDocument($this->getContainerServiceDocument($service, $options['id'], $builder, isset($options['show_arguments']) && $options['show_arguments']));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerServices(ContainerBuilder $builder, array $options = [])
{
$this->writeDocument($this->getContainerServicesDocument($builder, isset($options['tag']) ? $options['tag'] : null, isset($options['show_hidden']) && $options['show_hidden'], isset($options['show_arguments']) && $options['show_arguments'], isset($options['filter']) ? $options['filter'] : null));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerDefinition(Definition $definition, array $options = [])
{
$this->writeDocument($this->getContainerDefinitionDocument($definition, isset($options['id']) ? $options['id'] : null, isset($options['omit_tags']) && $options['omit_tags'], isset($options['show_arguments']) && $options['show_arguments']));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerAlias(Alias $alias, array $options = [], ContainerBuilder $builder = null)
{
$dom = new \DOMDocument('1.0', 'UTF-8');
@@ -110,41 +86,26 @@ protected function describeContainerAlias(Alias $alias, array $options = [], Con
$this->writeDocument($dom);
}
- /**
- * {@inheritdoc}
- */
protected function describeEventDispatcherListeners(EventDispatcherInterface $eventDispatcher, array $options = [])
{
$this->writeDocument($this->getEventDispatcherListenersDocument($eventDispatcher, \array_key_exists('event', $options) ? $options['event'] : null));
}
- /**
- * {@inheritdoc}
- */
protected function describeCallable($callable, array $options = [])
{
$this->writeDocument($this->getCallableDocument($callable));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerParameter($parameter, array $options = [])
{
$this->writeDocument($this->getContainerParameterDocument($parameter, $options));
}
- /**
- * {@inheritdoc}
- */
protected function describeContainerEnvVars(array $envs, array $options = [])
{
throw new LogicException('Using the XML format to debug environment variables is not supported.');
}
- /**
- * Writes DOM document.
- */
private function writeDocument(\DOMDocument $dom)
{
$dom->formatOutput = true;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php b/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php
index 4818d379312a3..343c2bbaf5528 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php
@@ -79,7 +79,7 @@ public function setContainer(ContainerInterface $container): ?ContainerInterface
protected function getParameter(string $name)
{
if (!$this->container->has('parameter_bag')) {
- throw new ServiceNotFoundException('parameter_bag', null, null, [], sprintf('The "%s::getParameter()" method is missing a parameter bag to work properly. Did you forget to register your controller as a service subscriber? This can be fixed either by using autoconfiguration or by manually wiring a "parameter_bag" in the service locator passed to the controller.', static::class));
+ throw new ServiceNotFoundException('parameter_bag.', null, null, [], sprintf('The "%s::getParameter()" method is missing a parameter bag to work properly. Did you forget to register your controller as a service subscriber? This can be fixed either by using autoconfiguration or by manually wiring a "parameter_bag" in the service locator passed to the controller.', static::class));
}
return $this->container->get('parameter_bag')->get($name);
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php
index 357c079c4aa0b..d6e61cc605521 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php
@@ -39,7 +39,7 @@ public function process(ContainerBuilder $container)
if (isset($attributes[0]['template'])) {
if (!isset($attributes[0]['id'])) {
- throw new InvalidArgumentException(sprintf('Data collector service "%s" must have an id attribute in order to specify a template', $id));
+ throw new InvalidArgumentException(sprintf('Data collector service "%s" must have an id attribute in order to specify a template.', $id));
}
$template = [$attributes[0]['id'], $attributes[0]['template']];
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
index 005086436e80a..beb573ac61403 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
@@ -84,6 +84,8 @@
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\MessageBusInterface;
+use Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory;
+use Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory;
use Symfony\Component\Messenger\Transport\TransportFactoryInterface;
use Symfony\Component\Messenger\Transport\TransportInterface;
use Symfony\Component\Mime\MimeTypeGuesserInterface;
@@ -312,6 +314,16 @@ public function load(array $configs, ContainerBuilder $container)
$container->removeDefinition('console.command.messenger_failed_messages_show');
$container->removeDefinition('console.command.messenger_failed_messages_remove');
$container->removeDefinition('cache.messenger.restart_workers_signal');
+
+ if ($container->hasDefinition('messenger.transport.amqp.factory') && class_exists(AmqpTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.amqp.factory')
+ ->addTag('messenger.transport_factory');
+ }
+
+ if ($container->hasDefinition('messenger.transport.redis.factory') && class_exists(RedisTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.redis.factory')
+ ->addTag('messenger.transport_factory');
+ }
}
if ($this->httpClientConfigEnabled = $this->isConfigEnabled($container, $config['http_client'])) {
@@ -1073,7 +1085,7 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
if ($container->fileExists($dir)) {
$dirs[] = $transPaths[] = $dir;
} else {
- throw new \UnexpectedValueException(sprintf('%s defined in translator.paths does not exist or is not a directory', $dir));
+ throw new \UnexpectedValueException(sprintf('"%s" defined in translator.paths does not exist or is not a directory.', $dir));
}
}
@@ -1567,6 +1579,14 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
$loader->load('messenger.xml');
+ if (class_exists(AmqpTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.amqp.factory')->addTag('messenger.transport_factory');
+ }
+
+ if (class_exists(RedisTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.redis.factory')->addTag('messenger.transport_factory');
+ }
+
if (null === $config['default_bus'] && 1 === \count($config['buses'])) {
$config['default_bus'] = key($config['buses']);
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
index 6cafc4399e31a..e21ae0d7ba90d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
+++ b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
@@ -22,6 +22,11 @@
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TestServiceContainerWeakRefPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\UnusedTagsPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\WorkflowGuardListenerPass;
+use Symfony\Component\Cache\Adapter\ApcuAdapter;
+use Symfony\Component\Cache\Adapter\ArrayAdapter;
+use Symfony\Component\Cache\Adapter\ChainAdapter;
+use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
+use Symfony\Component\Cache\Adapter\PhpFilesAdapter;
use Symfony\Component\Cache\DependencyInjection\CacheCollectorPass;
use Symfony\Component\Cache\DependencyInjection\CachePoolClearerPass;
use Symfony\Component\Cache\DependencyInjection\CachePoolPass;
@@ -31,6 +36,7 @@
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
use Symfony\Component\DependencyInjection\Compiler\RegisterReverseContainerPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\Dotenv\Dotenv;
use Symfony\Component\ErrorHandler\ErrorHandler;
use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
use Symfony\Component\Form\DependencyInjection\FormPass;
@@ -57,6 +63,19 @@
use Symfony\Component\Validator\DependencyInjection\AddAutoMappingConfigurationPass;
use Symfony\Component\Validator\DependencyInjection\AddConstraintValidatorsPass;
use Symfony\Component\Validator\DependencyInjection\AddValidatorInitializersPass;
+use Symfony\Component\VarExporter\Internal\Hydrator;
+use Symfony\Component\VarExporter\Internal\Registry;
+
+// Help opcache.preload discover always-needed symbols
+class_exists(ApcuAdapter::class);
+class_exists(ArrayAdapter::class);
+class_exists(ChainAdapter::class);
+class_exists(PhpArrayAdapter::class);
+class_exists(PhpFilesAdapter::class);
+class_exists(Dotenv::class);
+class_exists(ErrorHandler::class);
+class_exists(Hydrator::class);
+class_exists(Registry::class);
/**
* Bundle.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
index 14117ee8e40a4..9d30261c7357c 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
@@ -67,13 +67,9 @@
-
-
-
+
-
-
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml
index 0cb7b4e200fe9..ae44e4db33163 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml
@@ -13,8 +13,6 @@
-
-
@@ -37,10 +35,14 @@
-
+
+
+
-
+
+
+ %kernel.cache_dir%/sessions
diff --git a/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php b/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
index f9def3da5be95..d26bdd19ff9f3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
@@ -14,16 +14,23 @@
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Component\Config\Loader\LoaderInterface;
+use Symfony\Component\Config\Resource\FileExistenceResource;
+use Symfony\Component\Config\Resource\FileResource;
use Symfony\Component\DependencyInjection\Config\ContainerParametersResource;
use Symfony\Component\DependencyInjection\ContainerInterface as SymfonyContainerInterface;
use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface;
+use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Router as BaseRouter;
use Symfony\Contracts\Service\ServiceSubscriberInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(RedirectableCompiledUrlMatcher::class);
+class_exists(Route::class);
+
/**
* This Router creates the Loader only when the cache is empty.
*
@@ -66,6 +73,16 @@ public function getRouteCollection()
$this->collection = $this->container->get('routing.loader')->load($this->resource, $this->options['resource_type']);
$this->resolveParameters($this->collection);
$this->collection->addResource(new ContainerParametersResource($this->collectedParameters));
+
+ try {
+ $containerFile = ($this->paramFetcher)('kernel.cache_dir').'/'.($this->paramFetcher)('kernel.container_class').'.php';
+ if (file_exists($containerFile)) {
+ $this->collection->addResource(new FileResource($containerFile));
+ } else {
+ $this->collection->addResource(new FileExistenceResource($containerFile));
+ }
+ } catch (ParameterNotFoundException $exception) {
+ }
}
return $this->collection;
@@ -171,7 +188,7 @@ private function resolve($value)
return (string) $this->resolve($resolved);
}
- throw new RuntimeException(sprintf('The container parameter "%s", used in the route configuration value "%s", must be a string or numeric, but it is of type %s.', $match[1], $value, \gettype($resolved)));
+ throw new RuntimeException(sprintf('The container parameter "%s", used in the route configuration value "%s", must be a string or numeric, but it is of type "%s".', $match[1], $value, \gettype($resolved)));
}, $value);
return str_replace('%%', '%', $escapedValue);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Secrets/SodiumVault.php b/src/Symfony/Bundle/FrameworkBundle/Secrets/SodiumVault.php
index 047d8d5804009..0bbfa080803ee 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Secrets/SodiumVault.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Secrets/SodiumVault.php
@@ -34,7 +34,7 @@ class SodiumVault extends AbstractVault implements EnvVarLoaderInterface
public function __construct(string $secretsDir, $decryptionKey = null)
{
if (null !== $decryptionKey && !\is_string($decryptionKey) && !(\is_object($decryptionKey) && method_exists($decryptionKey, '__toString'))) {
- throw new \TypeError(sprintf('Decryption key should be a string or an object that implements the __toString() method, %s given.', \gettype($decryptionKey)));
+ throw new \TypeError(sprintf('Decryption key should be a string or an object that implements the __toString() method, "%s" given.', \gettype($decryptionKey)));
}
$this->pathPrefix = rtrim(strtr($secretsDir, '/', \DIRECTORY_SEPARATOR), \DIRECTORY_SEPARATOR).\DIRECTORY_SEPARATOR.basename($secretsDir).'.';
@@ -177,7 +177,7 @@ public function loadEnvVars(): array
private function loadKeys(): void
{
if (!\function_exists('sodium_crypto_box_seal')) {
- throw new \LogicException('The "sodium" PHP extension is required to deal with secrets. Alternatively, try running "composer require paragonie/sodium_compat" if you cannot enable the extension."');
+ throw new \LogicException('The "sodium" PHP extension is required to deal with secrets. Alternatively, try running "composer require paragonie/sodium_compat" if you cannot enable the extension.".');
}
if (null !== $this->encryptionKey || '' !== $this->decryptionKey = (string) $this->decryptionKey) {
@@ -214,7 +214,7 @@ private function export(string $file, string $data): void
private function createSecretsDir(): void
{
if ($this->secretsDir && !is_dir($this->secretsDir) && !@mkdir($this->secretsDir, 0777, true) && !is_dir($this->secretsDir)) {
- throw new \RuntimeException(sprintf('Unable to create the secrets directory (%s)', $this->secretsDir));
+ throw new \RuntimeException(sprintf('Unable to create the secrets directory (%s).', $this->secretsDir));
}
$this->secretsDir = null;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php
index 07cc3831891de..1400403411010 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php
@@ -55,11 +55,11 @@ protected function tearDown(): void
protected static function getKernelClass()
{
if (!isset($_SERVER['KERNEL_CLASS']) && !isset($_ENV['KERNEL_CLASS'])) {
- throw new \LogicException(sprintf('You must set the KERNEL_CLASS environment variable to the fully-qualified class name of your Kernel in phpunit.xml / phpunit.xml.dist or override the %1$s::createKernel() or %1$s::getKernelClass() method.', static::class));
+ throw new \LogicException(sprintf('You must set the KERNEL_CLASS environment variable to the fully-qualified class name of your Kernel in phpunit.xml / phpunit.xml.dist or override the "%1$s::createKernel()" or "%1$s::getKernelClass()" method.', static::class));
}
if (!class_exists($class = $_ENV['KERNEL_CLASS'] ?? $_SERVER['KERNEL_CLASS'])) {
- throw new \RuntimeException(sprintf('Class "%s" doesn\'t exist or cannot be autoloaded. Check that the KERNEL_CLASS value in phpunit.xml matches the fully-qualified class name of your Kernel or override the %s::createKernel() method.', $class, static::class));
+ throw new \RuntimeException(sprintf('Class "%s" doesn\'t exist or cannot be autoloaded. Check that the KERNEL_CLASS value in phpunit.xml matches the fully-qualified class name of your Kernel or override the "%s::createKernel()" method.', $class, static::class));
}
return $class;
diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
index 4935dd8098598..d1f4a5716752f 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
@@ -41,7 +41,7 @@ protected function tearDown(): void
protected static function createClient(array $options = [], array $server = [])
{
if (static::$booted) {
- throw new \LogicException(sprintf('Booting the kernel before calling %s() is not supported, the kernel should only be booted once.', __METHOD__));
+ throw new \LogicException(sprintf('Booting the kernel before calling "%s()" is not supported, the kernel should only be booted once.', __METHOD__));
}
$kernel = static::bootKernel($options);
@@ -52,7 +52,7 @@ protected static function createClient(array $options = [], array $server = [])
if (class_exists(KernelBrowser::class)) {
throw new \LogicException('You cannot create the client used in functional tests if the "framework.test" config is not set to true.');
}
- throw new \LogicException('You cannot create the client used in functional tests if the BrowserKit component is not available. Try running "composer require symfony/browser-kit"');
+ throw new \LogicException('You cannot create the client used in functional tests if the BrowserKit component is not available. Try running "composer require symfony/browser-kit".');
}
$client->setServerParameters($server);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/RouterCacheWarmerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/RouterCacheWarmerTest.php
index 43e8a8123bd44..9e792eb278d5c 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/RouterCacheWarmerTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/RouterCacheWarmerTest.php
@@ -40,7 +40,7 @@ public function testWarmUpWithoutWarmebleInterface()
$containerMock->expects($this->any())->method('get')->with('router')->willReturn($routerMock);
$routerCacheWarmer = new RouterCacheWarmer($containerMock);
$this->expectException(\LogicException::class);
- $this->expectExceptionMessage('cannot be warmed up because it does not implement Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface');
+ $this->expectExceptionMessage('cannot be warmed up because it does not implement "Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface"');
$routerCacheWarmer->warmUp('/tmp');
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/TestAbstractController.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/TestAbstractController.php
index 30480d9f1d2d7..5238aee8ff07b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/TestAbstractController.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/TestAbstractController.php
@@ -41,11 +41,11 @@ public function setContainer(ContainerInterface $container): ?ContainerInterface
continue;
}
if (!isset($expected[$id])) {
- throw new \UnexpectedValueException(sprintf('Service "%s" is not expected, as declared by %s::getSubscribedServices()', $id, AbstractController::class));
+ throw new \UnexpectedValueException(sprintf('Service "%s" is not expected, as declared by "%s::getSubscribedServices()".', $id, AbstractController::class));
}
$type = substr($expected[$id], 1);
if (!$container->get($id) instanceof $type) {
- throw new \UnexpectedValueException(sprintf('Service "%s" is expected to be an instance of "%s", as declared by %s::getSubscribedServices()', $id, $type, AbstractController::class));
+ throw new \UnexpectedValueException(sprintf('Service "%s" is expected to be an instance of "%s", as declared by "%s::getSubscribedServices()".', $id, $type, AbstractController::class));
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/InjectedFlashbagSessionController.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/InjectedFlashbagSessionController.php
new file mode 100644
index 0000000000000..20c33a17e4353
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/InjectedFlashbagSessionController.php
@@ -0,0 +1,36 @@
+flashBag = $flashBag;
+ $this->router = $router;
+ }
+
+ public function setFlashAction(Request $request, $message)
+ {
+ $this->flashBag->add('notice', $message);
+
+ return new RedirectResponse($this->router->generate('session_showflash'));
+ }
+}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Resources/config/routing.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Resources/config/routing.yml
index 08be59db08bc7..155871fc278ec 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Resources/config/routing.yml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Resources/config/routing.yml
@@ -18,6 +18,10 @@ session_setflash:
path: /session_setflash/{message}
defaults: { _controller: Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller\SessionController::setFlashAction }
+injected_flashbag_session_setflash:
+ path: injected_flashbag/session_setflash/{message}
+ defaults: { _controller: Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller\InjectedFlashbagSessionController::setFlashAction}
+
session_showflash:
path: /session_showflash
defaults: { _controller: Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller\SessionController::showFlashAction }
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SessionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SessionTest.php
index ae8c7afafd425..530492ab8b4ed 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SessionTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SessionTest.php
@@ -69,6 +69,29 @@ public function testFlash($config, $insulate)
$this->assertStringContainsString('No flash was set.', $crawler->text());
}
+ /**
+ * Tests flash messages work when flashbag service is injected to the constructor.
+ *
+ * @dataProvider getConfigs
+ */
+ public function testFlashOnInjectedFlashbag($config, $insulate)
+ {
+ $client = $this->createClient(['test_case' => 'Session', 'root_config' => $config]);
+ if ($insulate) {
+ $client->insulate();
+ }
+
+ // set flash
+ $client->request('GET', '/injected_flashbag/session_setflash/Hello%20world.');
+
+ // check flash displays on redirect
+ $this->assertStringContainsString('Hello world.', $client->followRedirect()->text());
+
+ // check flash is gone
+ $crawler = $client->request('GET', '/session_showflash');
+ $this->assertStringContainsString('No flash was set.', $crawler->text());
+ }
+
/**
* See if two separate insulated clients can run without
* polluting each other's session data.
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Session/config.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Session/config.yml
index ad6bdb691ca52..4807c42d1ede8 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Session/config.yml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Session/config.yml
@@ -5,3 +5,7 @@ services:
Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller\SubRequestController:
tags:
- { name: controller.service_arguments, action: indexAction, argument: handler, id: fragment.handler }
+
+ Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller\InjectedFlashbagSessionController:
+ autowire: true
+ tags: ['controller.service_arguments']
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Routing/RouterTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Routing/RouterTest.php
index b9b057da20a26..f7971cb733144 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Routing/RouterTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Routing/RouterTest.php
@@ -390,7 +390,7 @@ public function testExceptionOnNonExistentParameterWithSfContainer()
public function testExceptionOnNonStringParameter()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('The container parameter "object", used in the route configuration value "/%object%", must be a string or numeric, but it is of type object.');
+ $this->expectExceptionMessage('The container parameter "object", used in the route configuration value "/%object%", must be a string or numeric, but it is of type "object".');
$routes = new RouteCollection();
$routes->add('foo', new Route('/%object%'));
@@ -405,7 +405,7 @@ public function testExceptionOnNonStringParameter()
public function testExceptionOnNonStringParameterWithSfContainer()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('The container parameter "object", used in the route configuration value "/%object%", must be a string or numeric, but it is of type object.');
+ $this->expectExceptionMessage('The container parameter "object", used in the route configuration value "/%object%", must be a string or numeric, but it is of type "object".');
$routes = new RouteCollection();
$routes->add('foo', new Route('/%object%'));
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Compiler/AddSecurityVotersPass.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Compiler/AddSecurityVotersPass.php
index 87103c37a30c0..c3c7b86ab2f72 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Compiler/AddSecurityVotersPass.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Compiler/AddSecurityVotersPass.php
@@ -52,7 +52,7 @@ public function process(ContainerBuilder $container)
$class = $container->getParameterBag()->resolveValue($definition->getClass());
if (!is_a($class, VoterInterface::class, true)) {
- throw new LogicException(sprintf('%s must implement the %s when used as a voter.', $class, VoterInterface::class));
+ throw new LogicException(sprintf('"%s" must implement the "%s" when used as a voter.', $class, VoterInterface::class));
}
if ($debug) {
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/GuardAuthenticationFactory.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/GuardAuthenticationFactory.php
index be4adc6edad99..467f3adbd324c 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/GuardAuthenticationFactory.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/GuardAuthenticationFactory.php
@@ -115,6 +115,6 @@ private function determineEntryPoint(?string $defaultEntryPointId, array $config
}
// we have multiple entry points - we must ask them to configure one
- throw new \LogicException(sprintf('Because you have multiple guard authenticators, you need to set the "guard.entry_point" key to one of your authenticators (%s)', implode(', ', $authenticatorIds)));
+ throw new \LogicException(sprintf('Because you have multiple guard authenticators, you need to set the "guard.entry_point" key to one of your authenticators (%s).', implode(', ', $authenticatorIds)));
}
}
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php
index 6853bcf712df0..c30dad838dd02 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php
@@ -141,7 +141,7 @@ public function addConfiguration(NodeDefinition $node)
->end()
->prototype('scalar')->end()
->end()
- ->scalarNode('catch_exceptions')->defaultTrue()->end()
+ ->booleanNode('catch_exceptions')->defaultTrue()->end()
;
foreach ($this->options as $name => $value) {
@@ -151,6 +151,8 @@ public function addConfiguration(NodeDefinition $node)
$builder->enumNode($name)->values([null, Cookie::SAMESITE_LAX, Cookie::SAMESITE_STRICT, Cookie::SAMESITE_NONE])->defaultValue($value);
} elseif (\is_bool($value)) {
$builder->booleanNode($name)->defaultValue($value);
+ } elseif (\is_int($value)) {
+ $builder->integerNode($name)->defaultValue($value);
} else {
$builder->scalarNode($name)->defaultValue($value);
}
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/UserProvider/LdapFactory.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/UserProvider/LdapFactory.php
index 97e7243e992bd..c2a334369ca0c 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/UserProvider/LdapFactory.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/UserProvider/LdapFactory.php
@@ -48,11 +48,13 @@ public function getKey()
public function addConfiguration(NodeDefinition $node)
{
$node
+ ->fixXmlConfig('extra_field')
+ ->fixXmlConfig('default_role')
->children()
->scalarNode('service')->isRequired()->cannotBeEmpty()->defaultValue('ldap')->end()
->scalarNode('base_dn')->isRequired()->cannotBeEmpty()->end()
- ->scalarNode('search_dn')->end()
- ->scalarNode('search_password')->end()
+ ->scalarNode('search_dn')->defaultNull()->end()
+ ->scalarNode('search_password')->defaultNull()->end()
->arrayNode('extra_fields')
->prototype('scalar')->end()
->end()
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php
index baf395b4c4a94..851f7da78690b 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php
@@ -650,7 +650,7 @@ private function createUserDaoProvider(string $name, array $provider, ContainerB
return $name;
}
- throw new InvalidConfigurationException(sprintf('Unable to create definition for "%s" user provider', $name));
+ throw new InvalidConfigurationException(sprintf('Unable to create definition for "%s" user provider.', $name));
}
private function getUserProviderId(string $name): string
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Compiler/AddSecurityVotersPassTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Compiler/AddSecurityVotersPassTest.php
index 997174080c141..ed435f7fa9709 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Compiler/AddSecurityVotersPassTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Compiler/AddSecurityVotersPassTest.php
@@ -130,7 +130,7 @@ public function testThatVotersAreNotTraceableWithoutDebugMode(): void
public function testVoterMissingInterface()
{
$exception = LogicException::class;
- $message = 'stdClass must implement the Symfony\Component\Security\Core\Authorization\Voter\VoterInterface when used as a voter.';
+ $message = '"stdClass" must implement the "Symfony\Component\Security\Core\Authorization\Voter\VoterInterface" when used as a voter.';
$this->expectException($exception);
$this->expectExceptionMessage($message);
diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php
index 51b6d9b4f022f..bd0c606a86d38 100644
--- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php
+++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php
@@ -39,7 +39,7 @@ public function process(ContainerBuilder $container)
}
if (!$found) {
- throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader"');
+ throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader".');
}
if (1 === $found) {
diff --git a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php
index 74bf224cfd6b1..12eaa4ba4c41b 100644
--- a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php
+++ b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php
@@ -308,7 +308,7 @@ private function loadFromFile(ContainerBuilder $container, $file, $format)
$loader = new YamlFileLoader($container, $locator);
break;
default:
- throw new \InvalidArgumentException(sprintf('Unsupported format: %s', $format));
+ throw new \InvalidArgumentException(sprintf('Unsupported format: "%s"', $format));
}
$loader->load($file.'.'.$format);
diff --git a/src/Symfony/Bundle/TwigBundle/TwigBundle.php b/src/Symfony/Bundle/TwigBundle/TwigBundle.php
index 3910dd5e2e389..58760b65ae932 100644
--- a/src/Symfony/Bundle/TwigBundle/TwigBundle.php
+++ b/src/Symfony/Bundle/TwigBundle/TwigBundle.php
@@ -19,6 +19,20 @@
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
+use Twig\Cache\FilesystemCache;
+use Twig\Extension\CoreExtension;
+use Twig\Extension\EscaperExtension;
+use Twig\Extension\OptimizerExtension;
+use Twig\Extension\StagingExtension;
+use Twig\ExtensionSet;
+
+// Help opcache.preload discover always-needed symbols
+class_exists(FilesystemCache::class);
+class_exists(CoreExtension::class);
+class_exists(EscaperExtension::class);
+class_exists(OptimizerExtension::class);
+class_exists(StagingExtension::class);
+class_exists(ExtensionSet::class);
/**
* Bundle.
diff --git a/src/Symfony/Component/Asset/UrlPackage.php b/src/Symfony/Component/Asset/UrlPackage.php
index 98bc1287c773f..bc4da2435f71b 100644
--- a/src/Symfony/Component/Asset/UrlPackage.php
+++ b/src/Symfony/Component/Asset/UrlPackage.php
@@ -124,7 +124,7 @@ private function getSslUrls(array $urls)
if ('https://' === substr($url, 0, 8) || '//' === substr($url, 0, 2)) {
$sslUrls[] = $url;
} elseif (null === parse_url($url, PHP_URL_SCHEME)) {
- throw new InvalidArgumentException(sprintf('"%s" is not a valid URL', $url));
+ throw new InvalidArgumentException(sprintf('"%s" is not a valid URL.', $url));
}
}
diff --git a/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php b/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php
index cc4bf5a554fe4..72b7c3427088a 100644
--- a/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php
+++ b/src/Symfony/Component/Asset/VersionStrategy/JsonManifestVersionStrategy.php
@@ -59,7 +59,7 @@ private function getManifestPath(string $path): ?string
$this->manifestData = json_decode(file_get_contents($this->manifestPath), true);
if (0 < json_last_error()) {
- throw new \RuntimeException(sprintf('Error parsing JSON from asset manifest file "%s" - %s', $this->manifestPath, json_last_error_msg()));
+ throw new \RuntimeException(sprintf('Error parsing JSON from asset manifest file "%s" - %s.', $this->manifestPath, json_last_error_msg()));
}
}
diff --git a/src/Symfony/Component/BrowserKit/AbstractBrowser.php b/src/Symfony/Component/BrowserKit/AbstractBrowser.php
index de85599fd74b9..dbd6051c8fd5b 100644
--- a/src/Symfony/Component/BrowserKit/AbstractBrowser.php
+++ b/src/Symfony/Component/BrowserKit/AbstractBrowser.php
@@ -451,7 +451,7 @@ protected function doRequestInProcess($request)
}
if (!$process->isSuccessful() || !preg_match('/^O\:\d+\:/', $process->getOutput())) {
- throw new \RuntimeException(sprintf('OUTPUT: %s ERROR OUTPUT: %s', $process->getOutput(), $process->getErrorOutput()));
+ throw new \RuntimeException(sprintf('OUTPUT: %s ERROR OUTPUT: %s.', $process->getOutput(), $process->getErrorOutput()));
}
return unserialize($process->getOutput());
diff --git a/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php b/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
index d12d8f6ae0d8b..36a1f2d63a5be 100644
--- a/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
@@ -41,7 +41,7 @@ protected function __construct(string $namespace = '', int $defaultLifetime = 0)
{
$this->namespace = '' === $namespace ? '' : CacheItem::validateKey($namespace).static::NS_SEPARATOR;
if (null !== $this->maxIdLength && \strlen($namespace) > $this->maxIdLength - 24) {
- throw new InvalidArgumentException(sprintf('Namespace must be %d chars max, %d given ("%s")', $this->maxIdLength - 24, \strlen($namespace), $namespace));
+ throw new InvalidArgumentException(sprintf('Namespace must be %d chars max, %d given ("%s").', $this->maxIdLength - 24, \strlen($namespace), $namespace));
}
$this->createCacheItem = \Closure::bind(
static function ($key, $value, $isHit) use ($defaultLifetime) {
@@ -131,7 +131,7 @@ public static function createConnection(string $dsn, array $options = [])
return MemcachedAdapter::createConnection($dsn, $options);
}
- throw new InvalidArgumentException(sprintf('Unsupported DSN: %s.', $dsn));
+ throw new InvalidArgumentException(sprintf('Unsupported DSN: "%s".', $dsn));
}
/**
diff --git a/src/Symfony/Component/Cache/Adapter/AbstractTagAwareAdapter.php b/src/Symfony/Component/Cache/Adapter/AbstractTagAwareAdapter.php
index a1d244043d7b7..1a73d974c98f2 100644
--- a/src/Symfony/Component/Cache/Adapter/AbstractTagAwareAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/AbstractTagAwareAdapter.php
@@ -41,7 +41,7 @@ protected function __construct(string $namespace = '', int $defaultLifetime = 0)
{
$this->namespace = '' === $namespace ? '' : CacheItem::validateKey($namespace).':';
if (null !== $this->maxIdLength && \strlen($namespace) > $this->maxIdLength - 24) {
- throw new InvalidArgumentException(sprintf('Namespace must be %d chars max, %d given ("%s")', $this->maxIdLength - 24, \strlen($namespace), $namespace));
+ throw new InvalidArgumentException(sprintf('Namespace must be %d chars max, %d given ("%s").', $this->maxIdLength - 24, \strlen($namespace), $namespace));
}
$this->createCacheItem = \Closure::bind(
static function ($key, $value, $isHit) use ($defaultLifetime) {
diff --git a/src/Symfony/Component/Cache/Adapter/AdapterInterface.php b/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
index 99c5cd1f9f49e..cbab77946fba7 100644
--- a/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
+++ b/src/Symfony/Component/Cache/Adapter/AdapterInterface.php
@@ -14,6 +14,9 @@
use Psr\Cache\CacheItemPoolInterface;
use Symfony\Component\Cache\CacheItem;
+// Help opcache.preload discover always-needed symbols
+class_exists(CacheItem::class);
+
/**
* Interface for adapters managing instances of Symfony's CacheItem.
*
diff --git a/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php b/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php
index 62ba4d9a82663..48d2f5ec4bb6d 100644
--- a/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php
@@ -25,7 +25,7 @@ class ApcuAdapter extends AbstractAdapter
public function __construct(string $namespace = '', int $defaultLifetime = 0, string $version = null)
{
if (!static::isSupported()) {
- throw new CacheException('APCu is not enabled');
+ throw new CacheException('APCu is not enabled.');
}
if ('cli' === \PHP_SAPI) {
ini_set('apc.use_request_time', 0);
diff --git a/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php b/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php
index e2bc068050220..1233fc7afcfbd 100644
--- a/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/MemcachedAdapter.php
@@ -48,7 +48,7 @@ class MemcachedAdapter extends AbstractAdapter
public function __construct(\Memcached $client, string $namespace = '', int $defaultLifetime = 0, MarshallerInterface $marshaller = null)
{
if (!static::isSupported()) {
- throw new CacheException('Memcached >= 2.2.0 is required');
+ throw new CacheException('Memcached >= 2.2.0 is required.');
}
if ('Memcached' === \get_class($client)) {
$opt = $client->getOption(\Memcached::OPT_SERIALIZER);
@@ -92,10 +92,10 @@ public static function createConnection($servers, array $options = [])
if (\is_string($servers)) {
$servers = [$servers];
} elseif (!\is_array($servers)) {
- throw new InvalidArgumentException(sprintf('MemcachedAdapter::createClient() expects array or string as first argument, %s given.', \gettype($servers)));
+ throw new InvalidArgumentException(sprintf('MemcachedAdapter::createClient() expects array or string as first argument, "%s" given.', \gettype($servers)));
}
if (!static::isSupported()) {
- throw new CacheException('Memcached >= 2.2.0 is required');
+ throw new CacheException('Memcached >= 2.2.0 is required.');
}
set_error_handler(function ($type, $msg, $file, $line) { throw new \ErrorException($msg, 0, $type, $file, $line); });
try {
@@ -110,7 +110,7 @@ public static function createConnection($servers, array $options = [])
continue;
}
if (0 !== strpos($dsn, 'memcached:')) {
- throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: %s does not start with "memcached:"', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s" does not start with "memcached:".', $dsn));
}
$params = preg_replace_callback('#^memcached:(//)?(?:([^@]*+)@)?#', function ($m) use (&$username, &$password) {
if (!empty($m[2])) {
@@ -120,7 +120,7 @@ public static function createConnection($servers, array $options = [])
return 'file:'.($m[1] ?? '');
}, $dsn);
if (false === $params = parse_url($params)) {
- throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn));
}
$query = $hosts = [];
if (isset($params['query'])) {
@@ -128,7 +128,7 @@ public static function createConnection($servers, array $options = [])
if (isset($query['host'])) {
if (!\is_array($hosts = $query['host'])) {
- throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn));
}
foreach ($hosts as $host => $weight) {
if (false === $port = strrpos($host, ':')) {
@@ -147,7 +147,7 @@ public static function createConnection($servers, array $options = [])
}
}
if (!isset($params['host']) && !isset($params['path'])) {
- throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Memcached DSN: "%s".', $dsn));
}
if (isset($params['path']) && preg_match('#/(\d+)$#', $params['path'], $m)) {
$params['weight'] = $m[1];
diff --git a/src/Symfony/Component/Cache/Adapter/PdoAdapter.php b/src/Symfony/Component/Cache/Adapter/PdoAdapter.php
index 99a671516af6f..73e4695ba82df 100644
--- a/src/Symfony/Component/Cache/Adapter/PdoAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/PdoAdapter.php
@@ -73,7 +73,7 @@ public function __construct($connOrDsn, string $namespace = '', int $defaultLife
if ($connOrDsn instanceof \PDO) {
if (\PDO::ERRMODE_EXCEPTION !== $connOrDsn->getAttribute(\PDO::ATTR_ERRMODE)) {
- throw new InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__));
+ throw new InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)).', __CLASS__));
}
$this->conn = $connOrDsn;
diff --git a/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php b/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php
index 84946f6446d0a..2c337b6259e36 100644
--- a/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php
@@ -296,21 +296,21 @@ public function warmUp(array $values)
{
if (file_exists($this->file)) {
if (!is_file($this->file)) {
- throw new InvalidArgumentException(sprintf('Cache path exists and is not a file: %s.', $this->file));
+ throw new InvalidArgumentException(sprintf('Cache path exists and is not a file: "%s".', $this->file));
}
if (!is_writable($this->file)) {
- throw new InvalidArgumentException(sprintf('Cache file is not writable: %s.', $this->file));
+ throw new InvalidArgumentException(sprintf('Cache file is not writable: "%s".', $this->file));
}
} else {
$directory = \dirname($this->file);
if (!is_dir($directory) && !@mkdir($directory, 0777, true)) {
- throw new InvalidArgumentException(sprintf('Cache directory does not exist and cannot be created: %s.', $directory));
+ throw new InvalidArgumentException(sprintf('Cache directory does not exist and cannot be created: "%s".', $directory));
}
if (!is_writable($directory)) {
- throw new InvalidArgumentException(sprintf('Cache directory is not writable: %s.', $directory));
+ throw new InvalidArgumentException(sprintf('Cache directory is not writable: "%s".', $directory));
}
}
@@ -336,7 +336,7 @@ public function warmUp(array $values)
try {
$value = VarExporter::export($value, $isStaticValue);
} catch (\Exception $e) {
- throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable %s value.', $key, \is_object($value) ? \get_class($value) : 'array'), 0, $e);
+ throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \is_object($value) ? \get_class($value) : 'array'), 0, $e);
}
} elseif (\is_string($value)) {
// Wrap "N;" in a closure to not confuse it with an encoded `null`
@@ -345,7 +345,7 @@ public function warmUp(array $values)
}
$value = var_export($value, true);
} elseif (!is_scalar($value)) {
- throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable %s value.', $key, \gettype($value)));
+ throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \gettype($value)));
} else {
$value = var_export($value, true);
}
diff --git a/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php b/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php
index f148a8909fe23..013df35ba68e0 100644
--- a/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php
+++ b/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php
@@ -226,7 +226,7 @@ protected function doSave(array $values, int $lifetime)
try {
$value = VarExporter::export($value, $isStaticValue);
} catch (\Exception $e) {
- throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable %s value.', $key, \is_object($value) ? \get_class($value) : 'array'), 0, $e);
+ throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \is_object($value) ? \get_class($value) : 'array'), 0, $e);
}
} elseif (\is_string($value)) {
// Wrap "N;" in a closure to not confuse it with an encoded `null`
@@ -235,7 +235,7 @@ protected function doSave(array $values, int $lifetime)
}
$value = var_export($value, true);
} elseif (!is_scalar($value)) {
- throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable %s value.', $key, \gettype($value)));
+ throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, \gettype($value)));
} else {
$value = var_export($value, true);
}
@@ -264,7 +264,7 @@ protected function doSave(array $values, int $lifetime)
}
if (!$ok && !is_writable($this->directory)) {
- throw new CacheException(sprintf('Cache directory is not writable (%s)', $this->directory));
+ throw new CacheException(sprintf('Cache directory is not writable (%s).', $this->directory));
}
return $ok;
diff --git a/src/Symfony/Component/Cache/CacheItem.php b/src/Symfony/Component/Cache/CacheItem.php
index 5880803db9d6a..d147a95b07ed6 100644
--- a/src/Symfony/Component/Cache/CacheItem.php
+++ b/src/Symfony/Component/Cache/CacheItem.php
@@ -82,7 +82,7 @@ public function expiresAt($expiration): self
} elseif ($expiration instanceof \DateTimeInterface) {
$this->expiry = (float) $expiration->format('U.u');
} else {
- throw new InvalidArgumentException(sprintf('Expiration date must implement DateTimeInterface or be null, "%s" given', \is_object($expiration) ? \get_class($expiration) : \gettype($expiration)));
+ throw new InvalidArgumentException(sprintf('Expiration date must implement DateTimeInterface or be null, "%s" given.', \is_object($expiration) ? \get_class($expiration) : \gettype($expiration)));
}
return $this;
@@ -102,7 +102,7 @@ public function expiresAfter($time): self
} elseif (\is_int($time)) {
$this->expiry = $time + microtime(true);
} else {
- throw new InvalidArgumentException(sprintf('Expiration date must be an integer, a DateInterval or null, "%s" given', \is_object($time) ? \get_class($time) : \gettype($time)));
+ throw new InvalidArgumentException(sprintf('Expiration date must be an integer, a DateInterval or null, "%s" given.', \is_object($time) ? \get_class($time) : \gettype($time)));
}
return $this;
@@ -121,16 +121,16 @@ public function tag($tags): ItemInterface
}
foreach ($tags as $tag) {
if (!\is_string($tag)) {
- throw new InvalidArgumentException(sprintf('Cache tag must be string, "%s" given', \is_object($tag) ? \get_class($tag) : \gettype($tag)));
+ throw new InvalidArgumentException(sprintf('Cache tag must be string, "%s" given.', \is_object($tag) ? \get_class($tag) : \gettype($tag)));
}
if (isset($this->newMetadata[self::METADATA_TAGS][$tag])) {
continue;
}
if ('' === $tag) {
- throw new InvalidArgumentException('Cache tag length must be greater than zero');
+ throw new InvalidArgumentException('Cache tag length must be greater than zero.');
}
if (false !== strpbrk($tag, self::RESERVED_CHARACTERS)) {
- throw new InvalidArgumentException(sprintf('Cache tag "%s" contains reserved characters %s', $tag, self::RESERVED_CHARACTERS));
+ throw new InvalidArgumentException(sprintf('Cache tag "%s" contains reserved characters "%s".', $tag, self::RESERVED_CHARACTERS));
}
$this->newMetadata[self::METADATA_TAGS][$tag] = $tag;
}
@@ -156,13 +156,13 @@ public function getMetadata(): array
public static function validateKey($key): string
{
if (!\is_string($key)) {
- throw new InvalidArgumentException(sprintf('Cache key must be string, "%s" given', \is_object($key) ? \get_class($key) : \gettype($key)));
+ throw new InvalidArgumentException(sprintf('Cache key must be string, "%s" given.', \is_object($key) ? \get_class($key) : \gettype($key)));
}
if ('' === $key) {
- throw new InvalidArgumentException('Cache key length must be greater than zero');
+ throw new InvalidArgumentException('Cache key length must be greater than zero.');
}
if (false !== strpbrk($key, self::RESERVED_CHARACTERS)) {
- throw new InvalidArgumentException(sprintf('Cache key "%s" contains reserved characters %s', $key, self::RESERVED_CHARACTERS));
+ throw new InvalidArgumentException(sprintf('Cache key "%s" contains reserved characters "%s".', $key, self::RESERVED_CHARACTERS));
}
return $key;
diff --git a/src/Symfony/Component/Cache/Psr16Cache.php b/src/Symfony/Component/Cache/Psr16Cache.php
index 65015169b9a8c..7358bf5184f6a 100644
--- a/src/Symfony/Component/Cache/Psr16Cache.php
+++ b/src/Symfony/Component/Cache/Psr16Cache.php
@@ -144,7 +144,7 @@ public function getMultiple($keys, $default = null)
if ($keys instanceof \Traversable) {
$keys = iterator_to_array($keys, false);
} elseif (!\is_array($keys)) {
- throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
+ throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given.', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
}
try {
@@ -193,7 +193,7 @@ public function setMultiple($values, $ttl = null)
{
$valuesIsArray = \is_array($values);
if (!$valuesIsArray && !$values instanceof \Traversable) {
- throw new InvalidArgumentException(sprintf('Cache values must be array or Traversable, "%s" given', \is_object($values) ? \get_class($values) : \gettype($values)));
+ throw new InvalidArgumentException(sprintf('Cache values must be array or Traversable, "%s" given.', \is_object($values) ? \get_class($values) : \gettype($values)));
}
$items = [];
@@ -247,7 +247,7 @@ public function deleteMultiple($keys)
if ($keys instanceof \Traversable) {
$keys = iterator_to_array($keys, false);
} elseif (!\is_array($keys)) {
- throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
+ throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given.', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
}
try {
diff --git a/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php b/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php
index 86ab270cd8e7d..702fe21faf549 100644
--- a/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php
+++ b/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php
@@ -44,7 +44,7 @@ private function init(string $namespace, ?string $directory)
$directory .= \DIRECTORY_SEPARATOR;
// On Windows the whole path is limited to 258 chars
if ('\\' === \DIRECTORY_SEPARATOR && \strlen($directory) > 234) {
- throw new InvalidArgumentException(sprintf('Cache directory too long (%s)', $directory));
+ throw new InvalidArgumentException(sprintf('Cache directory too long (%s).', $directory));
}
$this->directory = $directory;
diff --git a/src/Symfony/Component/Cache/Traits/FilesystemTrait.php b/src/Symfony/Component/Cache/Traits/FilesystemTrait.php
index d6926c79630bd..a2dddaef2bbe5 100644
--- a/src/Symfony/Component/Cache/Traits/FilesystemTrait.php
+++ b/src/Symfony/Component/Cache/Traits/FilesystemTrait.php
@@ -103,7 +103,7 @@ protected function doSave(array $values, int $lifetime)
}
if ($failed && !is_writable($this->directory)) {
- throw new CacheException(sprintf('Cache directory is not writable (%s)', $this->directory));
+ throw new CacheException(sprintf('Cache directory is not writable (%s).', $this->directory));
}
return $failed;
diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php
index 5a8460a0d2824..db6107200051a 100644
--- a/src/Symfony/Component/Cache/Traits/RedisTrait.php
+++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php
@@ -56,7 +56,7 @@ private function init($redisClient, string $namespace, int $defaultLifetime, ?Ma
}
if (!$redisClient instanceof \Redis && !$redisClient instanceof \RedisArray && !$redisClient instanceof \RedisCluster && !$redisClient instanceof \Predis\ClientInterface && !$redisClient instanceof RedisProxy && !$redisClient instanceof RedisClusterProxy) {
- throw new InvalidArgumentException(sprintf('%s() expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, %s given.', __METHOD__, \is_object($redisClient) ? \get_class($redisClient) : \gettype($redisClient)));
+ throw new InvalidArgumentException(sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, "%s" given.', __METHOD__, \is_object($redisClient) ? \get_class($redisClient) : \gettype($redisClient)));
}
if ($redisClient instanceof \Predis\ClientInterface && $redisClient->getOptions()->exceptions) {
@@ -93,11 +93,11 @@ public static function createConnection($dsn, array $options = [])
} elseif (0 === strpos($dsn, 'rediss:')) {
$scheme = 'rediss';
} else {
- throw new InvalidArgumentException(sprintf('Invalid Redis DSN: %s does not start with "redis:" or "rediss".', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s" does not start with "redis:" or "rediss".', $dsn));
}
if (!\extension_loaded('redis') && !class_exists(\Predis\Client::class)) {
- throw new CacheException(sprintf('Cannot find the "redis" extension nor the "predis/predis" package: %s', $dsn));
+ throw new CacheException(sprintf('Cannot find the "redis" extension nor the "predis/predis" package: "%s".', $dsn));
}
$params = preg_replace_callback('#^'.$scheme.':(//)?(?:(?:[^:@]*+:)?([^@]*+)@)?#', function ($m) use (&$auth) {
@@ -109,7 +109,7 @@ public static function createConnection($dsn, array $options = [])
}, $dsn);
if (false === $params = parse_url($params)) {
- throw new InvalidArgumentException(sprintf('Invalid Redis DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn));
}
$query = $hosts = [];
@@ -119,7 +119,7 @@ public static function createConnection($dsn, array $options = [])
if (isset($query['host'])) {
if (!\is_array($hosts = $query['host'])) {
- throw new InvalidArgumentException(sprintf('Invalid Redis DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn));
}
foreach ($hosts as $host => $parameters) {
if (\is_string($parameters)) {
@@ -151,11 +151,11 @@ public static function createConnection($dsn, array $options = [])
}
if (!$hosts) {
- throw new InvalidArgumentException(sprintf('Invalid Redis DSN: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Redis DSN: "%s".', $dsn));
}
if (isset($params['redis_sentinel']) && !class_exists(\Predis\Client::class)) {
- throw new CacheException(sprintf('Redis Sentinel support requires the "predis/predis" package: %s', $dsn));
+ throw new CacheException(sprintf('Redis Sentinel support requires the "predis/predis" package: "%s".', $dsn));
}
$params += $query + $options + self::$defaultConnectionOptions;
@@ -174,7 +174,7 @@ public static function createConnection($dsn, array $options = [])
try {
@$redis->{$connect}($hosts[0]['host'] ?? $hosts[0]['path'], $hosts[0]['port'] ?? null, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval']);
} catch (\RedisException $e) {
- throw new InvalidArgumentException(sprintf('Redis connection failed (%s): %s', $e->getMessage(), $dsn));
+ throw new InvalidArgumentException(sprintf('Redis connection failed (%s): "%s".', $e->getMessage(), $dsn));
}
set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; });
@@ -182,7 +182,7 @@ public static function createConnection($dsn, array $options = [])
restore_error_handler();
if (!$isConnected) {
$error = preg_match('/^Redis::p?connect\(\): (.*)/', $error, $error) ? sprintf(' (%s)', $error[1]) : '';
- throw new InvalidArgumentException(sprintf('Redis connection failed%s: %s', $error, $dsn));
+ throw new InvalidArgumentException(sprintf('Redis connection failed%s: "%s".', $error, $dsn));
}
if ((null !== $auth && !$redis->auth($auth))
@@ -190,7 +190,7 @@ public static function createConnection($dsn, array $options = [])
|| ($params['read_timeout'] && !$redis->setOption(\Redis::OPT_READ_TIMEOUT, $params['read_timeout']))
) {
$e = preg_replace('/^ERR /', '', $redis->getLastError());
- throw new InvalidArgumentException(sprintf('Redis connection failed (%s): %s', $e, $dsn));
+ throw new InvalidArgumentException(sprintf('Redis connection failed (%s): "%s".', $e, $dsn));
}
if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) {
@@ -215,7 +215,7 @@ public static function createConnection($dsn, array $options = [])
try {
$redis = new $class($hosts, $params);
} catch (\RedisClusterException $e) {
- throw new InvalidArgumentException(sprintf('Redis connection failed (%s): %s', $e->getMessage(), $dsn));
+ throw new InvalidArgumentException(sprintf('Redis connection failed (%s): "%s".', $e->getMessage(), $dsn));
}
if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) {
@@ -230,7 +230,7 @@ public static function createConnection($dsn, array $options = [])
try {
$redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent']);
} catch (\RedisClusterException $e) {
- throw new InvalidArgumentException(sprintf('Redis connection failed (%s): %s', $e->getMessage(), $dsn));
+ throw new InvalidArgumentException(sprintf('Redis connection failed (%s): "%s".', $e->getMessage(), $dsn));
}
if (0 < $params['tcp_keepalive'] && \defined('Redis::OPT_TCP_KEEPALIVE')) {
@@ -250,7 +250,7 @@ public static function createConnection($dsn, array $options = [])
if ($params['redis_cluster']) {
$params['cluster'] = 'redis';
if (isset($params['redis_sentinel'])) {
- throw new InvalidArgumentException(sprintf('Cannot use both "redis_cluster" and "redis_sentinel" at the same time: %s', $dsn));
+ throw new InvalidArgumentException(sprintf('Cannot use both "redis_cluster" and "redis_sentinel" at the same time: "%s".', $dsn));
}
} elseif (isset($params['redis_sentinel'])) {
$params['replication'] = 'sentinel';
diff --git a/src/Symfony/Component/Config/Definition/ArrayNode.php b/src/Symfony/Component/Config/Definition/ArrayNode.php
index 88e8eaf559a4c..4e9deacaa60f7 100644
--- a/src/Symfony/Component/Config/Definition/ArrayNode.php
+++ b/src/Symfony/Component/Config/Definition/ArrayNode.php
@@ -207,7 +207,7 @@ public function addChild(NodeInterface $node)
protected function finalizeValue($value)
{
if (false === $value) {
- throw new UnsetKeyException(sprintf('Unsetting key for path "%s", value: %s', $this->getPath(), json_encode($value)));
+ throw new UnsetKeyException(sprintf('Unsetting key for path "%s", value: "%s".', $this->getPath(), json_encode($value)));
}
foreach ($this->children as $name => $child) {
diff --git a/src/Symfony/Component/Config/Definition/BaseNode.php b/src/Symfony/Component/Config/Definition/BaseNode.php
index 72325d8480a14..b52769c2e5f2e 100644
--- a/src/Symfony/Component/Config/Definition/BaseNode.php
+++ b/src/Symfony/Component/Config/Definition/BaseNode.php
@@ -48,7 +48,7 @@ abstract class BaseNode implements NodeInterface
public function __construct(?string $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR)
{
if (false !== strpos($name = (string) $name, $pathSeparator)) {
- throw new \InvalidArgumentException('The name must not contain "'.$pathSeparator.'".');
+ throw new \InvalidArgumentException('The name must not contain ".'.$pathSeparator.'".');
}
$this->name = $name;
@@ -422,7 +422,7 @@ final public function finalize($value)
throw $e;
} catch (\Exception $e) {
- throw new InvalidConfigurationException(sprintf('Invalid configuration for path "%s": %s', $this->getPath(), $e->getMessage()), $e->getCode(), $e);
+ throw new InvalidConfigurationException(sprintf('Invalid configuration for path "%s": %s.', $this->getPath(), $e->getMessage()), $e->getCode(), $e);
}
}
diff --git a/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php b/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php
index fdac03acca0df..1e11ea520afce 100644
--- a/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php
+++ b/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php
@@ -466,23 +466,23 @@ protected function validateConcreteNode(ArrayNode $node)
$path = $node->getPath();
if (null !== $this->key) {
- throw new InvalidDefinitionException(sprintf('->useAttributeAsKey() is not applicable to concrete nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->useAttributeAsKey() is not applicable to concrete nodes at path "%s".', $path));
}
if (false === $this->allowEmptyValue) {
- throw new InvalidDefinitionException(sprintf('->cannotBeEmpty() is not applicable to concrete nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->cannotBeEmpty() is not applicable to concrete nodes at path "%s".', $path));
}
if (true === $this->atLeastOne) {
- throw new InvalidDefinitionException(sprintf('->requiresAtLeastOneElement() is not applicable to concrete nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->requiresAtLeastOneElement() is not applicable to concrete nodes at path "%s".', $path));
}
if ($this->default) {
- throw new InvalidDefinitionException(sprintf('->defaultValue() is not applicable to concrete nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->defaultValue() is not applicable to concrete nodes at path "%s".', $path));
}
if (false !== $this->addDefaultChildren) {
- throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() is not applicable to concrete nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() is not applicable to concrete nodes at path "%s".', $path));
}
}
@@ -496,20 +496,20 @@ protected function validatePrototypeNode(PrototypedArrayNode $node)
$path = $node->getPath();
if ($this->addDefaults) {
- throw new InvalidDefinitionException(sprintf('->addDefaultsIfNotSet() is not applicable to prototype nodes at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->addDefaultsIfNotSet() is not applicable to prototype nodes at path "%s".', $path));
}
if (false !== $this->addDefaultChildren) {
if ($this->default) {
- throw new InvalidDefinitionException(sprintf('A default value and default children might not be used together at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('A default value and default children might not be used together at path "%s".', $path));
}
if (null !== $this->key && (null === $this->addDefaultChildren || \is_int($this->addDefaultChildren) && $this->addDefaultChildren > 0)) {
- throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() should set default children names as ->useAttributeAsKey() is used at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() should set default children names as ->useAttributeAsKey() is used at path "%s".', $path));
}
if (null === $this->key && (\is_string($this->addDefaultChildren) || \is_array($this->addDefaultChildren))) {
- throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() might not set default children names as ->useAttributeAsKey() is not used at path "%s"', $path));
+ throw new InvalidDefinitionException(sprintf('->addDefaultChildrenIfNoneSet() might not set default children names as ->useAttributeAsKey() is not used at path "%s".', $path));
}
}
}
diff --git a/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php b/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php
index 4d918cef12b31..0be19a2e2b06e 100644
--- a/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php
+++ b/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php
@@ -198,7 +198,7 @@ public function thenInvalid(string $message)
*/
public function thenUnset()
{
- $this->thenPart = function ($v) { throw new UnsetKeyException('Unsetting key'); };
+ $this->thenPart = function ($v) { throw new UnsetKeyException('Unsetting key.'); };
return $this;
}
diff --git a/src/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php b/src/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php
index 0d0207ca4fc79..390b1136567e6 100644
--- a/src/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php
+++ b/src/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php
@@ -35,7 +35,7 @@ abstract class NumericNodeDefinition extends ScalarNodeDefinition
public function max($max)
{
if (isset($this->min) && $this->min > $max) {
- throw new \InvalidArgumentException(sprintf('You cannot define a max(%s) as you already have a min(%s)', $max, $this->min));
+ throw new \InvalidArgumentException(sprintf('You cannot define a max(%s) as you already have a min(%s).', $max, $this->min));
}
$this->max = $max;
@@ -54,7 +54,7 @@ public function max($max)
public function min($min)
{
if (isset($this->max) && $this->max < $min) {
- throw new \InvalidArgumentException(sprintf('You cannot define a min(%s) as you already have a max(%s)', $min, $this->max));
+ throw new \InvalidArgumentException(sprintf('You cannot define a min(%s) as you already have a max(%s).', $min, $this->max));
}
$this->min = $min;
diff --git a/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php b/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php
index 757963d42a9be..1046b0ac2de15 100644
--- a/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php
+++ b/src/Symfony/Component/Config/Definition/Dumper/YamlReferenceDumper.php
@@ -39,7 +39,7 @@ public function dumpAtPath(ConfigurationInterface $configuration, string $path)
foreach (explode('.', $path) as $step) {
if (!$node instanceof ArrayNode) {
- throw new \UnexpectedValueException(sprintf('Unable to find node at path "%s.%s"', $rootNode->getName(), $path));
+ throw new \UnexpectedValueException(sprintf('Unable to find node at path "%s.%s".', $rootNode->getName(), $path));
}
/** @var NodeInterface[] $children */
@@ -53,7 +53,7 @@ public function dumpAtPath(ConfigurationInterface $configuration, string $path)
}
}
- throw new \UnexpectedValueException(sprintf('Unable to find node at path "%s.%s"', $rootNode->getName(), $path));
+ throw new \UnexpectedValueException(sprintf('Unable to find node at path "%s.%s".', $rootNode->getName(), $path));
}
return $this->dumpNode($node);
diff --git a/src/Symfony/Component/Config/Definition/PrototypedArrayNode.php b/src/Symfony/Component/Config/Definition/PrototypedArrayNode.php
index ff4570ee765e0..cad428f72cbd0 100644
--- a/src/Symfony/Component/Config/Definition/PrototypedArrayNode.php
+++ b/src/Symfony/Component/Config/Definition/PrototypedArrayNode.php
@@ -175,7 +175,7 @@ public function addChild(NodeInterface $node)
protected function finalizeValue($value)
{
if (false === $value) {
- throw new UnsetKeyException(sprintf('Unsetting key for path "%s", value: %s', $this->getPath(), json_encode($value)));
+ throw new UnsetKeyException(sprintf('Unsetting key for path "%s", value: "%s".', $this->getPath(), json_encode($value)));
}
foreach ($value as $k => $v) {
diff --git a/src/Symfony/Component/Config/FileLocator.php b/src/Symfony/Component/Config/FileLocator.php
index 965f940d45dcc..2e82bf0bea90f 100644
--- a/src/Symfony/Component/Config/FileLocator.php
+++ b/src/Symfony/Component/Config/FileLocator.php
@@ -68,7 +68,7 @@ public function locate(string $name, string $currentPath = null, bool $first = t
}
if (!$filepaths) {
- throw new FileLocatorFileNotFoundException(sprintf('The file "%s" does not exist (in: %s).', $name, implode(', ', $paths)), 0, null, $notfound);
+ throw new FileLocatorFileNotFoundException(sprintf('The file "%s" does not exist (in: "%s").', $name, implode('", "', $paths)), 0, null, $notfound);
}
return $filepaths;
diff --git a/src/Symfony/Component/Config/Loader/FileLoader.php b/src/Symfony/Component/Config/Loader/FileLoader.php
index 58dc4e7f89d6e..926b208592376 100644
--- a/src/Symfony/Component/Config/Loader/FileLoader.php
+++ b/src/Symfony/Component/Config/Loader/FileLoader.php
@@ -83,7 +83,7 @@ public function import($resource, string $type = null, bool $ignoreErrors = fals
$ret = [];
$isSubpath = 0 !== $i && false !== strpos(substr($resource, 0, $i), '/');
foreach ($this->glob($resource, false, $_, $ignoreErrors || !$isSubpath, false, $excluded) as $path => $info) {
- if (null !== $res = $this->doImport($path, $type, $ignoreErrors, $sourceResource)) {
+ if (null !== $res = $this->doImport($path, 'glob' === $type ? null : $type, $ignoreErrors, $sourceResource)) {
$ret[] = $res;
}
$isSubpath = true;
diff --git a/src/Symfony/Component/Config/Tests/Fixtures/Util/not_readable.xml b/src/Symfony/Component/Config/Tests/Fixtures/Util/not_readable.xml
new file mode 100644
index 0000000000000..e69de29bb2d1d
diff --git a/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php b/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php
index d1a47a8ea3376..2aecdf8259c65 100644
--- a/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php
+++ b/src/Symfony/Component/Config/Tests/Util/XmlUtilsTest.php
@@ -20,11 +20,37 @@ public function testLoadFile()
{
$fixtures = __DIR__.'/../Fixtures/Util/';
+ try {
+ XmlUtils::loadFile($fixtures);
+ $this->fail();
+ } catch (\InvalidArgumentException $e) {
+ $this->assertStringContainsString('is not a file', $e->getMessage());
+ }
+
+ try {
+ XmlUtils::loadFile($fixtures.'non_existing.xml');
+ $this->fail();
+ } catch (\InvalidArgumentException $e) {
+ $this->assertStringContainsString('is not a file', $e->getMessage());
+ }
+
+ try {
+ if ('\\' === \DIRECTORY_SEPARATOR) {
+ $this->markTestSkipped('chmod is not supported on Windows');
+ }
+ chmod($fixtures.'not_readable.xml', 000);
+ XmlUtils::loadFile($fixtures.'not_readable.xml');
+ $this->fail();
+ } catch (\InvalidArgumentException $e) {
+ chmod($fixtures.'not_readable.xml', 0644);
+ $this->assertStringContainsString('is not readable', $e->getMessage());
+ }
+
try {
XmlUtils::loadFile($fixtures.'invalid.xml');
$this->fail();
} catch (\InvalidArgumentException $e) {
- $this->assertStringContainsString('ERROR 77', $e->getMessage());
+ $this->assertStringContainsString('ERROR ', $e->getMessage());
}
try {
@@ -165,7 +191,7 @@ public function testLoadEmptyXmlFile()
$file = __DIR__.'/../Fixtures/foo.xml';
$this->expectException('InvalidArgumentException');
- $this->expectExceptionMessage(sprintf('File %s does not contain valid XML, it is empty.', $file));
+ $this->expectExceptionMessage(sprintf('File "%s" does not contain valid XML, it is empty.', $file));
XmlUtils::loadFile($file);
}
@@ -186,7 +212,7 @@ public function testLoadWrongEmptyXMLWithErrorHandler()
XmlUtils::loadFile($file);
$this->fail('An exception should have been raised');
} catch (\InvalidArgumentException $e) {
- $this->assertEquals(sprintf('File %s does not contain valid XML, it is empty.', $file), $e->getMessage());
+ $this->assertEquals(sprintf('File "%s" does not contain valid XML, it is empty.', $file), $e->getMessage());
}
} finally {
restore_error_handler();
diff --git a/src/Symfony/Component/Config/Util/XmlUtils.php b/src/Symfony/Component/Config/Util/XmlUtils.php
index 0ebeec4daaf57..5c8d387a704a0 100644
--- a/src/Symfony/Component/Config/Util/XmlUtils.php
+++ b/src/Symfony/Component/Config/Util/XmlUtils.php
@@ -122,9 +122,18 @@ public static function parse(string $content, $schemaOrCallable = null)
*/
public static function loadFile(string $file, $schemaOrCallable = null)
{
+ if (!is_file($file)) {
+ throw new \InvalidArgumentException(sprintf('Resource "%s" is not a file.', $file));
+ }
+
+ if (!is_readable($file)) {
+ throw new \InvalidArgumentException(sprintf('File "%s" is not readable.', $file));
+ }
+
$content = @file_get_contents($file);
+
if ('' === trim($content)) {
- throw new \InvalidArgumentException(sprintf('File %s does not contain valid XML, it is empty.', $file));
+ throw new \InvalidArgumentException(sprintf('File "%s" does not contain valid XML, it is empty.', $file));
}
try {
diff --git a/src/Symfony/Component/Console/Application.php b/src/Symfony/Component/Console/Application.php
index c1fd41b80b9b1..6fdb5e68c7fa3 100644
--- a/src/Symfony/Component/Console/Application.php
+++ b/src/Symfony/Component/Console/Application.php
@@ -576,7 +576,7 @@ public function findNamespace(string $namespace)
$exact = \in_array($namespace, $namespaces, true);
if (\count($namespaces) > 1 && !$exact) {
- throw new NamespaceNotFoundException(sprintf("The namespace \"%s\" is ambiguous.\nDid you mean one of these?\n%s", $namespace, $this->getAbbreviationSuggestions(array_values($namespaces))), array_values($namespaces));
+ throw new NamespaceNotFoundException(sprintf("The namespace \"%s\" is ambiguous.\nDid you mean one of these?\n%s.", $namespace, $this->getAbbreviationSuggestions(array_values($namespaces))), array_values($namespaces));
}
return $exact ? $namespace : reset($namespaces);
@@ -682,7 +682,7 @@ public function find(string $name)
if (\count($commands) > 1) {
$suggestions = $this->getAbbreviationSuggestions(array_filter($abbrevs));
- throw new CommandNotFoundException(sprintf("Command \"%s\" is ambiguous.\nDid you mean one of these?\n%s", $name, $suggestions), array_values($commands));
+ throw new CommandNotFoundException(sprintf("Command \"%s\" is ambiguous.\nDid you mean one of these?\n%s.", $name, $suggestions), array_values($commands));
}
}
diff --git a/src/Symfony/Component/Console/Command/Command.php b/src/Symfony/Component/Console/Command/Command.php
index 07da4a9223c70..6d65228693e57 100644
--- a/src/Symfony/Component/Console/Command/Command.php
+++ b/src/Symfony/Component/Console/Command/Command.php
@@ -255,7 +255,7 @@ public function run(InputInterface $input, OutputInterface $output)
$statusCode = $this->execute($input, $output);
if (!\is_int($statusCode)) {
- throw new \TypeError(sprintf('Return value of "%s::execute()" must be of the type int, %s returned.', static::class, \gettype($statusCode)));
+ throw new \TypeError(sprintf('Return value of "%s::execute()" must be of the type int, "%s" returned.', static::class, \gettype($statusCode)));
}
}
diff --git a/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php b/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php
index af8836391264c..d361b489013e4 100644
--- a/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php
+++ b/src/Symfony/Component/Console/Descriptor/ApplicationDescription.php
@@ -77,7 +77,7 @@ public function getCommands(): array
public function getCommand(string $name): Command
{
if (!isset($this->commands[$name]) && !isset($this->aliases[$name])) {
- throw new CommandNotFoundException(sprintf('Command %s does not exist.', $name));
+ throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name));
}
return isset($this->commands[$name]) ? $this->commands[$name] : $this->aliases[$name];
diff --git a/src/Symfony/Component/Console/Exception/MissingInputException.php b/src/Symfony/Component/Console/Exception/MissingInputException.php
new file mode 100644
index 0000000000000..04f02ade45001
--- /dev/null
+++ b/src/Symfony/Component/Console/Exception/MissingInputException.php
@@ -0,0 +1,21 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Console\Exception;
+
+/**
+ * Represents failure to read input from stdin.
+ *
+ * @author Gabriel Ostrolucký
+ */
+class MissingInputException extends RuntimeException implements ExceptionInterface
+{
+}
diff --git a/src/Symfony/Component/Console/Formatter/OutputFormatter.php b/src/Symfony/Component/Console/Formatter/OutputFormatter.php
index 2ca63b6f17d83..8fc9f286ec675 100644
--- a/src/Symfony/Component/Console/Formatter/OutputFormatter.php
+++ b/src/Symfony/Component/Console/Formatter/OutputFormatter.php
@@ -113,7 +113,7 @@ public function hasStyle(string $name)
public function getStyle(string $name)
{
if (!$this->hasStyle($name)) {
- throw new InvalidArgumentException(sprintf('Undefined style: %s', $name));
+ throw new InvalidArgumentException(sprintf('Undefined style: "%s".', $name));
}
return $this->styles[strtolower($name)];
diff --git a/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php b/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
index c5d3ea109814f..b1291cb031667 100644
--- a/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
+++ b/src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
@@ -87,7 +87,7 @@ public function setForeground(string $color = null)
}
if (!isset(static::$availableForegroundColors[$color])) {
- throw new InvalidArgumentException(sprintf('Invalid foreground color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableForegroundColors))));
+ throw new InvalidArgumentException(sprintf('Invalid foreground color specified: "%s". Expected one of (%s).', $color, implode(', ', array_keys(static::$availableForegroundColors))));
}
$this->foreground = static::$availableForegroundColors[$color];
@@ -105,7 +105,7 @@ public function setBackground(string $color = null)
}
if (!isset(static::$availableBackgroundColors[$color])) {
- throw new InvalidArgumentException(sprintf('Invalid background color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableBackgroundColors))));
+ throw new InvalidArgumentException(sprintf('Invalid background color specified: "%s". Expected one of (%s).', $color, implode(', ', array_keys(static::$availableBackgroundColors))));
}
$this->background = static::$availableBackgroundColors[$color];
@@ -122,7 +122,7 @@ public function setHref(string $url): void
public function setOption(string $option)
{
if (!isset(static::$availableOptions[$option])) {
- throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions))));
+ throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s).', $option, implode(', ', array_keys(static::$availableOptions))));
}
if (!\in_array(static::$availableOptions[$option], $this->options)) {
@@ -136,7 +136,7 @@ public function setOption(string $option)
public function unsetOption(string $option)
{
if (!isset(static::$availableOptions[$option])) {
- throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions))));
+ throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s).', $option, implode(', ', array_keys(static::$availableOptions))));
}
$pos = array_search(static::$availableOptions[$option], $this->options);
diff --git a/src/Symfony/Component/Console/Helper/QuestionHelper.php b/src/Symfony/Component/Console/Helper/QuestionHelper.php
index 594a291602305..b45c9db548300 100644
--- a/src/Symfony/Component/Console/Helper/QuestionHelper.php
+++ b/src/Symfony/Component/Console/Helper/QuestionHelper.php
@@ -11,6 +11,7 @@
namespace Symfony\Component\Console\Helper;
+use Symfony\Component\Console\Exception\MissingInputException;
use Symfony\Component\Console\Exception\RuntimeException;
use Symfony\Component\Console\Formatter\OutputFormatter;
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
@@ -48,44 +49,32 @@ public function ask(InputInterface $input, OutputInterface $output, Question $qu
}
if (!$input->isInteractive()) {
- $default = $question->getDefault();
-
- if (null === $default) {
- return $default;
- }
-
- if ($validator = $question->getValidator()) {
- return \call_user_func($question->getValidator(), $default);
- } elseif ($question instanceof ChoiceQuestion) {
- $choices = $question->getChoices();
-
- if (!$question->isMultiselect()) {
- return isset($choices[$default]) ? $choices[$default] : $default;
- }
-
- $default = explode(',', $default);
- foreach ($default as $k => $v) {
- $v = $question->isTrimmable() ? trim($v) : $v;
- $default[$k] = isset($choices[$v]) ? $choices[$v] : $v;
- }
- }
-
- return $default;
+ return $this->getDefaultAnswer($question);
}
if ($input instanceof StreamableInputInterface && $stream = $input->getStream()) {
$this->inputStream = $stream;
}
- if (!$question->getValidator()) {
- return $this->doAsk($output, $question);
- }
+ try {
+ if (!$question->getValidator()) {
+ return $this->doAsk($output, $question);
+ }
- $interviewer = function () use ($output, $question) {
- return $this->doAsk($output, $question);
- };
+ $interviewer = function () use ($output, $question) {
+ return $this->doAsk($output, $question);
+ };
- return $this->validateAttempts($interviewer, $output, $question);
+ return $this->validateAttempts($interviewer, $output, $question);
+ } catch (MissingInputException $exception) {
+ $input->setInteractive(false);
+
+ if (null === $fallbackOutput = $this->getDefaultAnswer($question)) {
+ throw $exception;
+ }
+
+ return $fallbackOutput;
+ }
}
/**
@@ -134,7 +123,7 @@ private function doAsk(OutputInterface $output, Question $question)
if (false === $ret) {
$ret = fgets($inputStream, 4096);
if (false === $ret) {
- throw new RuntimeException('Aborted.');
+ throw new MissingInputException('Aborted.');
}
if ($question->isTrimmable()) {
$ret = trim($ret);
@@ -158,6 +147,36 @@ private function doAsk(OutputInterface $output, Question $question)
return $ret;
}
+ /**
+ * @return mixed
+ */
+ private function getDefaultAnswer(Question $question)
+ {
+ $default = $question->getDefault();
+
+ if (null === $default) {
+ return $default;
+ }
+
+ if ($validator = $question->getValidator()) {
+ return \call_user_func($question->getValidator(), $default);
+ } elseif ($question instanceof ChoiceQuestion) {
+ $choices = $question->getChoices();
+
+ if (!$question->isMultiselect()) {
+ return isset($choices[$default]) ? $choices[$default] : $default;
+ }
+
+ $default = explode(',', $default);
+ foreach ($default as $k => $v) {
+ $v = $question->isTrimmable() ? trim($v) : $v;
+ $default[$k] = isset($choices[$v]) ? $choices[$v] : $v;
+ }
+ }
+
+ return $default;
+ }
+
/**
* Outputs the question prompt.
*/
@@ -238,7 +257,7 @@ private function autocomplete(OutputInterface $output, Question $question, $inpu
// as opposed to fgets(), fread() returns an empty string when the stream content is empty, not false.
if (false === $c || ('' === $ret && '' === $c && null === $question->getDefault())) {
shell_exec(sprintf('stty %s', $sttyMode));
- throw new RuntimeException('Aborted.');
+ throw new MissingInputException('Aborted.');
} elseif ("\177" === $c) { // Backspace Character
if (0 === $numMatches && 0 !== $i) {
--$i;
@@ -404,7 +423,7 @@ private function getHiddenResponse(OutputInterface $output, $inputStream, bool $
shell_exec(sprintf('stty %s', $sttyMode));
if (false === $value) {
- throw new RuntimeException('Aborted.');
+ throw new MissingInputException('Aborted.');
}
if ($trimmable) {
$value = trim($value);
diff --git a/src/Symfony/Component/Console/Helper/Table.php b/src/Symfony/Component/Console/Helper/Table.php
index 5aefa3d7b9e02..8fc1d74296b35 100644
--- a/src/Symfony/Component/Console/Helper/Table.php
+++ b/src/Symfony/Component/Console/Helper/Table.php
@@ -606,7 +606,7 @@ private function fillNextRows(array $rows, int $line): array
$unmergedRows = [];
foreach ($rows[$line] as $column => $cell) {
if (null !== $cell && !$cell instanceof TableCell && !is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) {
- throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing __toString, %s given.', \gettype($cell)));
+ throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.', \gettype($cell)));
}
if ($cell instanceof TableCell && $cell->getRowspan() > 1) {
$nbLines = $cell->getRowspan() - 1;
diff --git a/src/Symfony/Component/Console/Helper/TableStyle.php b/src/Symfony/Component/Console/Helper/TableStyle.php
index 83719424cfbf5..28c950cf673e8 100644
--- a/src/Symfony/Component/Console/Helper/TableStyle.php
+++ b/src/Symfony/Component/Console/Helper/TableStyle.php
@@ -56,7 +56,7 @@ class TableStyle
public function setPaddingChar(string $paddingChar)
{
if (!$paddingChar) {
- throw new LogicException('The padding char must not be empty');
+ throw new LogicException('The padding char must not be empty.');
}
$this->paddingChar = $paddingChar;
diff --git a/src/Symfony/Component/Console/Input/StringInput.php b/src/Symfony/Component/Console/Input/StringInput.php
index 0ec0197784480..6fddf6488d4a4 100644
--- a/src/Symfony/Component/Console/Input/StringInput.php
+++ b/src/Symfony/Component/Console/Input/StringInput.php
@@ -57,7 +57,7 @@ private function tokenize(string $input): array
$tokens[] = stripcslashes($match[1]);
} else {
// should never happen
- throw new InvalidArgumentException(sprintf('Unable to parse input near "... %s ..."', substr($input, $cursor, 10)));
+ throw new InvalidArgumentException(sprintf('Unable to parse input near "... %s ...".', substr($input, $cursor, 10)));
}
$cursor += \strlen($match[0]);
diff --git a/src/Symfony/Component/Console/Question/ChoiceQuestion.php b/src/Symfony/Component/Console/Question/ChoiceQuestion.php
index 020b733f132ac..24e6604946672 100644
--- a/src/Symfony/Component/Console/Question/ChoiceQuestion.php
+++ b/src/Symfony/Component/Console/Question/ChoiceQuestion.php
@@ -150,7 +150,7 @@ private function getDefaultValidator(): callable
}
if (\count($results) > 1) {
- throw new InvalidArgumentException(sprintf('The provided answer is ambiguous. Value should be one of %s.', implode(' or ', $results)));
+ throw new InvalidArgumentException(sprintf('The provided answer is ambiguous. Value should be one of "%s".', implode('" or "', $results)));
}
$result = array_search($value, $choices);
diff --git a/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
index fcba3b3b2fd19..139aa7290d8dc 100644
--- a/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
@@ -630,7 +630,7 @@ public function testSelectChoiceFromChoiceList($providedAnswer, $expectedValue)
public function testAmbiguousChoiceFromChoicelist()
{
$this->expectException('InvalidArgumentException');
- $this->expectExceptionMessage('The provided answer is ambiguous. Value should be one of env_2 or env_3.');
+ $this->expectExceptionMessage('The provided answer is ambiguous. Value should be one of "env_2" or "env_3".');
$possibleChoices = [
'env_1' => 'My first environment',
'env_2' => 'My environment',
@@ -696,7 +696,7 @@ public function testChoiceOutputFormattingQuestionForUtf8Keys()
public function testAskThrowsExceptionOnMissingInput()
{
- $this->expectException('Symfony\Component\Console\Exception\RuntimeException');
+ $this->expectException('Symfony\Component\Console\Exception\MissingInputException');
$this->expectExceptionMessage('Aborted.');
$dialog = new QuestionHelper();
$dialog->ask($this->createStreamableInputInterfaceMock($this->getInputStream('')), $this->createOutputInterface(), new Question('What\'s your name?'));
@@ -704,7 +704,7 @@ public function testAskThrowsExceptionOnMissingInput()
public function testAskThrowsExceptionOnMissingInputForChoiceQuestion()
{
- $this->expectException('Symfony\Component\Console\Exception\RuntimeException');
+ $this->expectException('Symfony\Component\Console\Exception\MissingInputException');
$this->expectExceptionMessage('Aborted.');
$dialog = new QuestionHelper();
$dialog->ask($this->createStreamableInputInterfaceMock($this->getInputStream('')), $this->createOutputInterface(), new ChoiceQuestion('Choice', ['a', 'b']));
@@ -712,7 +712,7 @@ public function testAskThrowsExceptionOnMissingInputForChoiceQuestion()
public function testAskThrowsExceptionOnMissingInputWithValidator()
{
- $this->expectException('Symfony\Component\Console\Exception\RuntimeException');
+ $this->expectException('Symfony\Component\Console\Exception\MissingInputException');
$this->expectExceptionMessage('Aborted.');
$dialog = new QuestionHelper();
diff --git a/src/Symfony/Component/Console/Tests/Helper/TableTest.php b/src/Symfony/Component/Console/Tests/Helper/TableTest.php
index c4acc3fbff9c3..daa09feed004e 100644
--- a/src/Symfony/Component/Console/Tests/Helper/TableTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/TableTest.php
@@ -770,7 +770,7 @@ public function testColumnStyle()
public function testThrowsWhenTheCellInAnArray()
{
$this->expectException('Symfony\Component\Console\Exception\InvalidArgumentException');
- $this->expectExceptionMessage('A cell must be a TableCell, a scalar or an object implementing __toString, array given.');
+ $this->expectExceptionMessage('A cell must be a TableCell, a scalar or an object implementing "__toString()", "array" given.');
$table = new Table($output = $this->getOutputStream());
$table
->setHeaders(['ISBN', 'Title', 'Author', 'Price'])
diff --git a/src/Symfony/Component/Console/Tests/phpt/uses_stdin_as_interactive_input.phpt b/src/Symfony/Component/Console/Tests/phpt/uses_stdin_as_interactive_input.phpt
index db1bb4ce436e2..3f329cc73f805 100644
--- a/src/Symfony/Component/Console/Tests/phpt/uses_stdin_as_interactive_input.phpt
+++ b/src/Symfony/Component/Console/Tests/phpt/uses_stdin_as_interactive_input.phpt
@@ -18,7 +18,8 @@ require $vendor.'/vendor/autoload.php';
(new Application())
->register('app')
->setCode(function(InputInterface $input, OutputInterface $output) {
- $output->writeln((new QuestionHelper())->ask($input, $output, new Question('Foo?')));
+ $output->writeln((new QuestionHelper())->ask($input, $output, new Question('Foo?', 'foo')));
+ $output->writeln((new QuestionHelper())->ask($input, $output, new Question('Bar?', 'bar')));
})
->getApplication()
->setDefaultCommand('app', true)
@@ -26,3 +27,4 @@ require $vendor.'/vendor/autoload.php';
;
--EXPECT--
Foo?Hello World
+Bar?bar
diff --git a/src/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php b/src/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php
index 38c8dc154809a..6ce83cdc9b1c3 100644
--- a/src/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php
+++ b/src/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php
@@ -55,7 +55,7 @@ public function handle(Reader $reader, TokenStream $stream): bool
$match = $reader->findPattern($this->patterns->getQuotedStringPattern($quote));
if (!$match) {
- throw new InternalErrorException(sprintf('Should have found at least an empty match at %s.', $reader->getPosition()));
+ throw new InternalErrorException(sprintf('Should have found at least an empty match at %d.', $reader->getPosition()));
}
// check unclosed strings
diff --git a/src/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php b/src/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php
index 4b889de1ea72d..2b79aaafc9fcb 100644
--- a/src/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php
+++ b/src/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php
@@ -53,7 +53,7 @@ public function translateNthChild(XPathExpr $xpath, FunctionNode $function, bool
try {
list($a, $b) = Parser::parseSeries($function->getArguments());
} catch (SyntaxErrorException $e) {
- throw new ExpressionErrorException(sprintf('Invalid series: %s', implode(', ', $function->getArguments())), 0, $e);
+ throw new ExpressionErrorException(sprintf('Invalid series: "%s".', implode('", "', $function->getArguments())), 0, $e);
}
$xpath->addStarPrefix();
diff --git a/src/Symfony/Component/DependencyInjection/Argument/ReferenceSetArgumentTrait.php b/src/Symfony/Component/DependencyInjection/Argument/ReferenceSetArgumentTrait.php
index 6f8d5d97e508f..e3946ab394e7a 100644
--- a/src/Symfony/Component/DependencyInjection/Argument/ReferenceSetArgumentTrait.php
+++ b/src/Symfony/Component/DependencyInjection/Argument/ReferenceSetArgumentTrait.php
@@ -45,7 +45,7 @@ public function setValues(array $values)
{
foreach ($values as $k => $v) {
if (null !== $v && !$v instanceof Reference) {
- throw new InvalidArgumentException(sprintf('A %s must hold only Reference instances, "%s" given.', __CLASS__, \is_object($v) ? \get_class($v) : \gettype($v)));
+ throw new InvalidArgumentException(sprintf('A "%s" must hold only Reference instances, "%s" given.', __CLASS__, \is_object($v) ? \get_class($v) : \gettype($v)));
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php b/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php
index 0d00d52dca3f1..a992d26ae154b 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php
@@ -209,7 +209,7 @@ private function getExpressionLanguage(): ExpressionLanguage
$arg = $this->processValue(new Reference($id));
$this->inExpression = false;
if (!$arg instanceof Reference) {
- throw new RuntimeException(sprintf('"%s::processValue()" must return a Reference when processing an expression, %s returned for service("%s").', static::class, \is_object($arg) ? \get_class($arg) : \gettype($arg), $id));
+ throw new RuntimeException(sprintf('"%s::processValue()" must return a Reference when processing an expression, "%s" returned for service("%s").', static::class, \is_object($arg) ? \get_class($arg) : \gettype($arg), $id));
}
$arg = sprintf('"%s"', $arg);
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php
index b132174932dc7..bad2624529138 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/CheckTypeDeclarationsPass.php
@@ -17,7 +17,6 @@
use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument;
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Exception\EnvNotFoundException;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Exception\InvalidParameterTypeException;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
@@ -191,7 +190,12 @@ private function checkType(Definition $checkedDefinition, $value, \ReflectionPar
} elseif ($value instanceof Parameter) {
$value = $this->container->getParameter($value);
} elseif ($value instanceof Expression) {
- $value = $this->getExpressionLanguage()->evaluate($value, ['container' => $this->container]);
+ try {
+ $value = $this->getExpressionLanguage()->evaluate($value, ['container' => $this->container]);
+ } catch (\Exception $e) {
+ // If a service from the expression cannot be fetched from the container, we skip the validation.
+ return;
+ }
} elseif (\is_string($value)) {
if ('%' === ($value[0] ?? '') && preg_match('/^%([^%]+)%$/', $value, $match)) {
// Only array parameters are not inlined when dumped.
@@ -202,7 +206,7 @@ private function checkType(Definition $checkedDefinition, $value, \ReflectionPar
if ('' === preg_replace('/'.$envPlaceholderUniquePrefix.'_\w+_[a-f0-9]{32}/U', '', $value, -1, $c) && 1 === $c) {
try {
$value = $this->container->resolveEnvPlaceholders($value, true);
- } catch (EnvNotFoundException | RuntimeException $e) {
+ } catch (\Exception $e) {
// If an env placeholder cannot be resolved, we skip the validation.
return;
}
@@ -245,7 +249,11 @@ private function checkType(Definition $checkedDefinition, $value, \ReflectionPar
return;
}
- if ('iterable' === $type && (\is_array($value) || is_subclass_of($class, \Traversable::class))) {
+ if ('iterable' === $type && (\is_array($value) || 'array' === $class || is_subclass_of($class, \Traversable::class))) {
+ return;
+ }
+
+ if ($type === $class) {
return;
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php b/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php
index 1a2c829854dc6..c24d5976b3ccb 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php
@@ -15,7 +15,6 @@
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\TypedReference;
/**
* Trait that allows a generic method to find and sort service by priority option in the tag.
@@ -50,11 +49,10 @@ private function findAndSortTaggedServices($tagName, ContainerBuilder $container
$tagName = $tagName->getTag();
}
+ $i = 0;
$services = [];
foreach ($container->findTaggedServiceIds($tagName, true) as $serviceId => $attributes) {
- $class = $r = null;
-
$defaultPriority = null;
$defaultIndex = null;
@@ -64,78 +62,101 @@ private function findAndSortTaggedServices($tagName, ContainerBuilder $container
if (isset($attribute['priority'])) {
$priority = $attribute['priority'];
} elseif (null === $defaultPriority && $defaultPriorityMethod) {
- $class = $container->getDefinition($serviceId)->getClass();
- $class = $container->getParameterBag()->resolveValue($class) ?: null;
-
- if (($r = ($r ?? $container->getReflectionClass($class))) && $r->hasMethod($defaultPriorityMethod)) {
- if (!($rm = $r->getMethod($defaultPriorityMethod))->isStatic()) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should be static: tag "%s" on service "%s".', $class, $defaultPriorityMethod, $tagName, $serviceId));
- }
-
- if (!$rm->isPublic()) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should be public: tag "%s" on service "%s".', $class, $defaultPriorityMethod, $tagName, $serviceId));
- }
-
- $defaultPriority = $rm->invoke(null);
-
- if (!\is_int($defaultPriority)) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should return an integer, got %s: tag "%s" on service "%s".', $class, $defaultPriorityMethod, \gettype($priority), $tagName, $serviceId));
- }
- }
+ $defaultPriority = PriorityTaggedServiceUtil::getDefaultPriority($container, $serviceId, $defaultPriorityMethod, $tagName);
}
+ $priority = $priority ?? $defaultPriority ?? $defaultPriority = 0;
- $priority = $priority ?? $defaultPriority ?? 0;
+ if (null === $indexAttribute && !$needsIndexes) {
+ $services[] = [$priority, ++$i, null, $serviceId];
+ continue 2;
+ }
if (null !== $indexAttribute && isset($attribute[$indexAttribute])) {
$index = $attribute[$indexAttribute];
- } elseif (null === $defaultIndex && null === $indexAttribute && !$needsIndexes) {
- // With partially associative array, insertion to get next key is simpler.
- $services[$priority][] = null;
- end($services[$priority]);
- $defaultIndex = key($services[$priority]);
} elseif (null === $defaultIndex && $defaultIndexMethod) {
- $class = $container->getDefinition($serviceId)->getClass();
- $class = $container->getParameterBag()->resolveValue($class) ?: null;
+ $defaultIndex = PriorityTaggedServiceUtil::getDefaultIndex($container, $serviceId, $defaultIndexMethod, $tagName, $indexAttribute);
+ }
+ $index = $index ?? $defaultIndex ?? $defaultIndex = $serviceId;
- if (($r = ($r ?? $container->getReflectionClass($class))) && $r->hasMethod($defaultIndexMethod)) {
- if (!($rm = $r->getMethod($defaultIndexMethod))->isStatic()) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should be static: tag "%s" on service "%s" is missing "%s" attribute.', $class, $defaultIndexMethod, $tagName, $serviceId, $indexAttribute));
- }
+ $services[] = [$priority, ++$i, $index, $serviceId];
+ }
+ }
- if (!$rm->isPublic()) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should be public: tag "%s" on service "%s" is missing "%s" attribute.', $class, $defaultIndexMethod, $tagName, $serviceId, $indexAttribute));
- }
+ uasort($services, static function ($a, $b) { return $b[0] <=> $a[0] ?: $a[1] <=> $b[1]; });
- $defaultIndex = $rm->invoke(null);
+ $refs = [];
+ foreach ($services as [, , $index, $serviceId]) {
+ if (null === $index) {
+ $refs[] = new Reference($serviceId);
+ } else {
+ $refs[$index] = new Reference($serviceId);
+ }
+ }
- if (!\is_string($defaultIndex)) {
- throw new InvalidArgumentException(sprintf('Method "%s::%s()" should return a string, got %s: tag "%s" on service "%s" is missing "%s" attribute.', $class, $defaultIndexMethod, \gettype($defaultIndex), $tagName, $serviceId, $indexAttribute));
- }
- }
+ return $refs;
+ }
+}
- $defaultIndex = $defaultIndex ?? $serviceId;
- }
+/**
+ * @internal
+ */
+class PriorityTaggedServiceUtil
+{
+ /**
+ * Gets the index defined by the default index method.
+ */
+ public static function getDefaultIndex(ContainerBuilder $container, string $serviceId, string $defaultIndexMethod, string $tagName, string $indexAttribute): ?string
+ {
+ $class = $container->getDefinition($serviceId)->getClass();
+ $class = $container->getParameterBag()->resolveValue($class) ?: null;
- $index = $index ?? $defaultIndex;
+ if (!($r = $container->getReflectionClass($class)) || !$r->hasMethod($defaultIndexMethod)) {
+ return null;
+ }
- $reference = null;
- if (!$class || 'stdClass' === $class) {
- $reference = new Reference($serviceId);
- } elseif ($index === $serviceId) {
- $reference = new TypedReference($serviceId, $class);
- } else {
- $reference = new TypedReference($serviceId, $class, ContainerBuilder::EXCEPTION_ON_INVALID_REFERENCE, \is_string($index) ? $index : null);
- }
+ if (!($rm = $r->getMethod($defaultIndexMethod))->isStatic()) {
+ throw new InvalidArgumentException(sprintf('Either method "%s::%s()" should be static or tag "%s" on service "%s" is missing attribute "%s".', $class, $defaultIndexMethod, $tagName, $serviceId, $indexAttribute));
+ }
- $services[$priority][$index] = $reference;
- }
+ if (!$rm->isPublic()) {
+ throw new InvalidArgumentException(sprintf('Either method "%s::%s()" should be public or tag "%s" on service "%s" is missing attribute "%s".', $class, $defaultIndexMethod, $tagName, $serviceId, $indexAttribute));
+ }
+
+ $defaultIndex = $rm->invoke(null);
+
+ if (!\is_string($defaultIndex)) {
+ throw new InvalidArgumentException(sprintf('Either method "%s::%s()" should return a string (got "%s") or tag "%s" on service "%s" is missing attribute "%s".', $class, $defaultIndexMethod, \gettype($defaultIndex), $tagName, $serviceId, $indexAttribute));
+ }
+
+ return $defaultIndex;
+ }
+
+ /**
+ * Gets the priority defined by the default priority method.
+ */
+ public static function getDefaultPriority(ContainerBuilder $container, string $serviceId, string $defaultPriorityMethod, string $tagName): ?int
+ {
+ $class = $container->getDefinition($serviceId)->getClass();
+ $class = $container->getParameterBag()->resolveValue($class) ?: null;
+
+ if (!($r = $container->getReflectionClass($class)) || !$r->hasMethod($defaultPriorityMethod)) {
+ return null;
}
- if ($services) {
- krsort($services);
- $services = array_merge(...$services);
+ if (!($rm = $r->getMethod($defaultPriorityMethod))->isStatic()) {
+ throw new InvalidArgumentException(sprintf('Either method "%s::%s()" should be static or tag "%s" on service "%s" is missing attribute "priority".', $class, $defaultPriorityMethod, $tagName, $serviceId));
+ }
+
+ if (!$rm->isPublic()) {
+ throw new InvalidArgumentException(sprintf('Either method "%s::%s()" should be public or tag "%s" on service "%s" is missing attribute "priority".', $class, $defaultPriorityMethod, $tagName, $serviceId));
+ }
+
+ $defaultPriority = $rm->invoke(null);
+
+ if (!\is_int($defaultPriority)) {
+ throw new InvalidArgumentException(sprintf('Method "%s::%s()" should return an integer (got "%s") or tag "%s" on service "%s" is missing attribute "priority".', $class, $defaultPriorityMethod, \gettype($defaultPriority), $tagName, $serviceId));
}
- return $services;
+ return $defaultPriority;
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
index 761aa314faa05..4e9ebb39337f1 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
@@ -134,7 +134,7 @@ protected function processValue($value, bool $isRoot = false)
}
if (null !== $bindingValue && !$bindingValue instanceof Reference && !$bindingValue instanceof Definition && !$bindingValue instanceof TaggedIteratorArgument && !$bindingValue instanceof ServiceLocatorArgument) {
- throw new InvalidArgumentException(sprintf('Invalid value for binding key "%s" for service "%s": expected null, %s, %s, %s or ServiceLocatorArgument, %s given.', $key, $this->currentId, Reference::class, Definition::class, TaggedIteratorArgument::class, \gettype($bindingValue)));
+ throw new InvalidArgumentException(sprintf('Invalid value for binding key "%s" for service "%s": expected null, "%s", "%s", "%s" or ServiceLocatorArgument, "%s" given.', $key, $this->currentId, Reference::class, Definition::class, TaggedIteratorArgument::class, \gettype($bindingValue)));
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php
index 8fa3868c5a1b8..2c4abec5182ed 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php
@@ -76,7 +76,7 @@ protected function processValue($value, bool $isRoot = false)
}
if (null !== $argument && !$argument instanceof Reference && !$argument instanceof Definition) {
- throw new InvalidArgumentException(sprintf('Invalid service "%s": the value of argument "%s" of method "%s()" must be null, an instance of %s or an instance of %s, %s given.', $this->currentId, $key, $class !== $this->currentId ? $class.'::'.$method : $method, Reference::class, Definition::class, \gettype($argument)));
+ throw new InvalidArgumentException(sprintf('Invalid service "%s": the value of argument "%s" of method "%s()" must be null, an instance of "%s" or an instance of "%s", "%s" given.', $this->currentId, $key, $class !== $this->currentId ? $class.'::'.$method : $method, Reference::class, Definition::class, \gettype($argument)));
}
$typeFound = false;
diff --git a/src/Symfony/Component/DependencyInjection/Container.php b/src/Symfony/Component/DependencyInjection/Container.php
index 53bebdfcc58da..1a4a0b7053608 100644
--- a/src/Symfony/Component/DependencyInjection/Container.php
+++ b/src/Symfony/Component/DependencyInjection/Container.php
@@ -11,6 +11,8 @@
namespace Symfony\Component\DependencyInjection;
+use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
+use Symfony\Component\DependencyInjection\Argument\ServiceLocator as ArgumentServiceLocator;
use Symfony\Component\DependencyInjection\Exception\EnvNotFoundException;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException;
@@ -22,6 +24,10 @@
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Contracts\Service\ResetInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(RewindableGenerator::class);
+class_exists(ArgumentServiceLocator::class);
+
/**
* Container is a dependency injection container.
*
diff --git a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
index 414dad611c56d..204927ade77ea 100644
--- a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
+++ b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
@@ -210,7 +210,7 @@ public function getExtension(string $name)
return $this->extensionsByNs[$name];
}
- throw new LogicException(sprintf('Container extension "%s" is not registered', $name));
+ throw new LogicException(sprintf('Container extension "%s" is not registered.', $name));
}
/**
@@ -809,7 +809,7 @@ public function setAliases(array $aliases)
public function setAlias(string $alias, $id)
{
if ('' === $alias || '\\' === $alias[-1] || \strlen($alias) !== strcspn($alias, "\0\r\n'")) {
- throw new InvalidArgumentException(sprintf('Invalid alias id: "%s"', $alias));
+ throw new InvalidArgumentException(sprintf('Invalid alias id: "%s".', $alias));
}
if (\is_string($id)) {
@@ -945,11 +945,11 @@ public function getDefinitions()
public function setDefinition(string $id, Definition $definition)
{
if ($this->isCompiled()) {
- throw new BadMethodCallException('Adding definition to a compiled container is not allowed');
+ throw new BadMethodCallException('Adding definition to a compiled container is not allowed.');
}
if ('' === $id || '\\' === $id[-1] || \strlen($id) !== strcspn($id, "\0\r\n'")) {
- throw new InvalidArgumentException(sprintf('Invalid service id: "%s"', $id));
+ throw new InvalidArgumentException(sprintf('Invalid service id: "%s".', $id));
}
unset($this->aliasDefinitions[$id], $this->removedIds[$id]);
@@ -1064,7 +1064,7 @@ private function createService(Definition $definition, array &$inlineServices, b
if (\is_array($factory)) {
$factory = [$this->doResolveServices($parameterBag->resolveValue($factory[0]), $inlineServices, $isConstructorArgument), $factory[1]];
} elseif (!\is_string($factory)) {
- throw new RuntimeException(sprintf('Cannot create service "%s" because of invalid factory', $id));
+ throw new RuntimeException(sprintf('Cannot create service "%s" because of invalid factory.', $id));
}
}
@@ -1387,7 +1387,7 @@ public function resolveEnvPlaceholders($value, $format = null, array &$usedEnvs
$completed = true;
} else {
if (!\is_string($resolved) && !is_numeric($resolved)) {
- throw new RuntimeException(sprintf('A string value must be composed of strings and/or numbers, but found parameter "env(%s)" of type %s inside string value "%s".', $env, \gettype($resolved), $this->resolveEnvPlaceholders($value)));
+ throw new RuntimeException(sprintf('A string value must be composed of strings and/or numbers, but found parameter "env(%s)" of type "%s" inside string value "%s".', $env, \gettype($resolved), $this->resolveEnvPlaceholders($value)));
}
$value = str_ireplace($placeholder, $resolved, $value);
}
diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
index b0dd26912b62a..8dbdb73090751 100644
--- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
@@ -82,6 +82,7 @@ class PhpDumper extends Dumper
private $inlinedRequires = [];
private $circularReferences = [];
private $singleUsePrivateIds = [];
+ private $preload = [];
private $addThrow = false;
private $addGetService = false;
private $locatedIds = [];
@@ -143,6 +144,7 @@ public function dump(array $options = [])
'hot_path_tag' => 'container.hot_path',
'inline_factories_parameter' => 'container.dumper.inline_factories',
'inline_class_loader_parameter' => 'container.dumper.inline_class_loader',
+ 'preload_classes' => [],
'service_locator_tag' => 'container.service_locator',
'build_time' => time(),
], $options);
@@ -227,8 +229,12 @@ public function dump(array $options = [])
$proxyClasses = $this->inlineFactories ? $this->generateProxyClasses() : null;
+ if ($options['preload_classes']) {
+ $this->preload = array_combine($options['preload_classes'], $options['preload_classes']);
+ }
+
$code =
- $this->startClass($options['class'], $baseClass, $preload).
+ $this->startClass($options['class'], $baseClass).
$this->addServices($services).
$this->addDeprecatedAliases().
$this->addDefaultParametersMethod()
@@ -303,7 +309,7 @@ public function dump(array $options = [])
$id = hash('crc32', $hash.$time);
$this->asFiles = false;
- if ($preload && null !== $autoloadFile = $this->getAutoloadFile()) {
+ if ($this->preload && null !== $autoloadFile = $this->getAutoloadFile()) {
$autoloadFile = substr($this->export($autoloadFile), 2, -1);
$code[$options['class'].'.preload.php'] = <<preload as $class) {
+ if (!$class || false !== strpos($class, '$')) {
+ continue;
+ }
+ if (!(class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false)) || (new \ReflectionClass($class))->isUserDefined()) {
+ $code[$options['class'].'.preload.php'] .= sprintf("\$classes[] = '%s';\n", $class);
+ }
}
$code[$options['class'].'.preload.php'] .= <<<'EOF'
@@ -368,6 +379,7 @@ public function dump(array $options = [])
$this->circularReferences = [];
$this->locatedIds = [];
$this->exportedVariables = [];
+ $this->preload = [];
$unusedEnvs = [];
foreach ($this->container->getEnvCounters() as $env => $use) {
@@ -546,8 +558,10 @@ private function addServiceInclude(string $cId, Definition $definition): string
if ($this->inlineRequires && (!$this->isHotPath($definition) || $this->getProxyDumper()->isProxyCandidate($definition))) {
$lineage = [];
foreach ($this->inlinedDefinitions as $def) {
- if (!$def->isDeprecated() && \is_string($class = \is_array($factory = $def->getFactory()) && \is_string($factory[0]) ? $factory[0] : $def->getClass())) {
- $this->collectLineage($class, $lineage);
+ if (!$def->isDeprecated()) {
+ foreach ($this->getClasses($def) as $class) {
+ $this->collectLineage($class, $lineage);
+ }
}
}
@@ -556,9 +570,10 @@ private function addServiceInclude(string $cId, Definition $definition): string
&& ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE !== $behavior
&& $this->container->has($id)
&& $this->isTrivialInstance($def = $this->container->findDefinition($id))
- && \is_string($class = \is_array($factory = $def->getFactory()) && \is_string($factory[0]) ? $factory[0] : $def->getClass())
) {
- $this->collectLineage($class, $lineage);
+ foreach ($this->getClasses($def) as $class) {
+ $this->collectLineage($class, $lineage);
+ }
}
}
@@ -798,20 +813,32 @@ protected function {$methodName}($lazyInitialization)
EOF;
}
- $this->serviceCalls = [];
- $this->inlinedDefinitions = $this->getDefinitionsFromArguments([$definition], null, $this->serviceCalls);
+ if ($definition->hasErrors() && $e = $definition->getErrors()) {
+ $this->addThrow = true;
- if ($definition->isDeprecated()) {
- $code .= sprintf(" @trigger_error(%s, E_USER_DEPRECATED);\n\n", $this->export($definition->getDeprecationMessage($id)));
- }
+ $code .= sprintf(" \$this->throw(%s);\n", $this->export(reset($e)));
+ } else {
+ $this->serviceCalls = [];
+ $this->inlinedDefinitions = $this->getDefinitionsFromArguments([$definition], null, $this->serviceCalls);
- if ($this->getProxyDumper()->isProxyCandidate($definition)) {
- $factoryCode = $asFile ? ($definition->isShared() ? "\$this->load('%s.php', false)" : '$this->factories[%2$s](false)') : '$this->%s(false)';
- $code .= $this->getProxyDumper()->getProxyFactoryCode($definition, $id, sprintf($factoryCode, $methodName, $this->doExport($id)));
- }
+ if ($definition->isDeprecated()) {
+ $code .= sprintf(" @trigger_error(%s, E_USER_DEPRECATED);\n\n", $this->export($definition->getDeprecationMessage($id)));
+ } else {
+ foreach ($this->inlinedDefinitions as $def) {
+ foreach ($this->getClasses($def) as $class) {
+ $this->preload[$class] = $class;
+ }
+ }
+ }
+
+ if ($this->getProxyDumper()->isProxyCandidate($definition)) {
+ $factoryCode = $asFile ? ($definition->isShared() ? "\$this->load('%s.php', false)" : '$this->factories[%2$s](false)') : '$this->%s(false)';
+ $code .= $this->getProxyDumper()->getProxyFactoryCode($definition, $id, sprintf($factoryCode, $methodName, $this->doExport($id)));
+ }
- $code .= $this->addServiceInclude($id, $definition);
- $code .= $this->addInlineService($id, $definition);
+ $code .= $this->addServiceInclude($id, $definition);
+ $code .= $this->addInlineService($id, $definition);
+ }
if ($asFile) {
$code = implode("\n", array_map(function ($line) { return $line ? substr($line, 8) : $line; }, explode("\n", $code)));
@@ -958,7 +985,15 @@ private function addServices(array &$services = null): string
$definitions = $this->container->getDefinitions();
ksort($definitions);
foreach ($definitions as $id => $definition) {
- $services[$id] = $definition->isSynthetic() ? null : $this->addService($id, $definition);
+ if (!$definition->isSynthetic()) {
+ $services[$id] = $this->addService($id, $definition);
+ } else {
+ $services[$id] = null;
+
+ foreach ($this->getClasses($definition) as $class) {
+ $this->preload[$class] = $class;
+ }
+ }
}
foreach ($definitions as $id => $definition) {
@@ -1024,7 +1059,7 @@ private function addNewInstance(Definition $definition, string $return = '', str
if (\is_array($callable)) {
if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $callable[1])) {
- throw new RuntimeException(sprintf('Cannot dump definition because of invalid factory method (%s)', $callable[1] ?: 'n/a'));
+ throw new RuntimeException(sprintf('Cannot dump definition because of invalid factory method (%s).', $callable[1] ?: 'n/a'));
}
if ($callable[0] instanceof Reference
@@ -1059,7 +1094,7 @@ private function addNewInstance(Definition $definition, string $return = '', str
return $return.sprintf('new %s(%s)', $this->dumpLiteralClass($this->dumpValue($class)), implode(', ', $arguments)).$tail;
}
- private function startClass(string $class, string $baseClass, ?array &$preload): string
+ private function startClass(string $class, string $baseClass): string
{
$namespaceLine = !$this->asFiles && $this->namespace ? "\nnamespace {$this->namespace};\n" : '';
@@ -1122,7 +1157,7 @@ public function __construct()
$code .= $this->addMethodMap();
$code .= $this->asFiles && !$this->inlineFactories ? $this->addFileMap() : '';
$code .= $this->addAliases();
- $code .= $this->addInlineRequires($preload);
+ $code .= $this->addInlineRequires();
$code .= <<hotPathTag || !$this->inlineRequires) {
return '';
@@ -1340,8 +1375,7 @@ private function addInlineRequires(?array &$preload): string
$inlinedDefinitions = $this->getDefinitionsFromArguments([$definition]);
foreach ($inlinedDefinitions as $def) {
- if (\is_string($class = \is_array($factory = $def->getFactory()) && \is_string($factory[0]) ? $factory[0] : $def->getClass())) {
- $preload[$class] = $class;
+ foreach ($this->getClasses($def) as $class) {
$this->collectLineage($class, $lineage);
}
}
@@ -1370,7 +1404,7 @@ private function addDefaultParametersMethod(): string
foreach ($this->container->getParameterBag()->all() as $key => $value) {
if ($key !== $resolvedKey = $this->container->resolveEnvPlaceholders($key)) {
- throw new InvalidArgumentException(sprintf('Parameter name cannot use env parameters: %s.', $resolvedKey));
+ throw new InvalidArgumentException(sprintf('Parameter name cannot use env parameters: "%s".', $resolvedKey));
}
$export = $this->exportParameters([$value]);
$export = explode('0 => ', substr(rtrim($export, " ]\n"), 2, -1), 2);
@@ -1757,7 +1791,7 @@ private function dumpLiteralClass(string $class): string
return sprintf('${($_ = %s) && false ?: "_"}', $class);
}
if (0 !== strpos($class, "'") || !preg_match('/^\'(?:\\\{2})?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*\'$/', $class)) {
- throw new RuntimeException(sprintf('Cannot dump definition because of invalid class name (%s)', $class ?: 'n/a'));
+ throw new RuntimeException(sprintf('Cannot dump definition because of invalid class name (%s).', $class ?: 'n/a'));
}
$class = substr(str_replace('\\\\', '\\', $class), 1, -1);
@@ -2061,4 +2095,29 @@ private function getAutoloadFile(): ?string
return null;
}
+
+ private function getClasses(Definition $definition): array
+ {
+ $classes = [];
+
+ while ($definition instanceof Definition) {
+ $classes[] = trim($definition->getClass(), '\\');
+ $factory = $definition->getFactory();
+
+ if (!\is_array($factory)) {
+ $factory = [$factory];
+ }
+
+ if (\is_string($factory[0])) {
+ if (false !== $i = strrpos($factory[0], '::')) {
+ $factory[0] = substr($factory[0], 0, $i);
+ }
+ $classes[] = trim($factory[0], '\\');
+ }
+
+ $definition = $factory[0];
+ }
+
+ return array_filter($classes);
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php
index 987605f98f25c..f54c2603ddded 100644
--- a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php
+++ b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php
@@ -184,7 +184,7 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv)
}
if (!is_scalar($env)) {
- throw new RuntimeException(sprintf('Non-scalar env var "%s" cannot be cast to %s.', $name, $prefix));
+ throw new RuntimeException(sprintf('Non-scalar env var "%s" cannot be cast to "%s".', $name, $prefix));
}
if ('string' === $prefix) {
@@ -231,7 +231,7 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv)
}
if (null !== $env && !\is_array($env)) {
- throw new RuntimeException(sprintf('Invalid JSON env var "%s": array or null expected, %s given.', $name, \gettype($env)));
+ throw new RuntimeException(sprintf('Invalid JSON env var "%s": array or null expected, "%s" given.', $name, \gettype($env)));
}
return $env;
@@ -241,10 +241,10 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv)
$parsedEnv = parse_url($env);
if (false === $parsedEnv) {
- throw new RuntimeException(sprintf('Invalid URL in env var "%s"', $name));
+ throw new RuntimeException(sprintf('Invalid URL in env var "%s".', $name));
}
if (!isset($parsedEnv['scheme'], $parsedEnv['host'])) {
- throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, %s given.', $name, $env));
+ throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, "%s" given.', $name, $env));
}
$parsedEnv += [
'port' => null,
diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php
index 2a9121a97bca9..24bd0009684af 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php
@@ -31,7 +31,7 @@ public function __call(string $method, array $args)
return $this->{'set'.$method}(...$args);
}
- throw new \BadMethodCallException(sprintf('Call to undefined method %s::%s()', static::class, $method));
+ throw new \BadMethodCallException(sprintf('Call to undefined method "%s::%s()".', static::class, $method));
}
/**
diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php
index 28c9d7958591d..cc97ddbdb42a0 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php
@@ -48,7 +48,7 @@ final public function extension(string $namespace, array $config)
{
if (!$this->container->hasExtension($namespace)) {
$extensions = array_filter(array_map(function (ExtensionInterface $ext) { return $ext->getAlias(); }, $this->container->getExtensions()));
- throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s', $namespace, $this->file, $namespace, $extensions ? sprintf('"%s"', implode('", "', $extensions)) : 'none'));
+ throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in "%s"). Looked for namespace "%s", found "%s".', $namespace, $this->file, $namespace, $extensions ? implode('", "', $extensions) : 'none'));
}
$this->container->loadFromExtension($namespace, static::processValue($config));
diff --git a/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php
index 09290f9b68d52..c8b1ce9805de9 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php
@@ -57,7 +57,7 @@ public function import($resource, $type = null, $ignoreErrors = false, $sourceRe
if ($ignoreNotFound = 'not_found' === $ignoreErrors) {
$args[2] = false;
} elseif (!\is_bool($ignoreErrors)) {
- throw new \TypeError(sprintf('Invalid argument $ignoreErrors provided to %s::import(): boolean or "not_found" expected, %s given.', static::class, \gettype($ignoreErrors)));
+ throw new \TypeError(sprintf('Invalid argument $ignoreErrors provided to "%s::import()": boolean or "not_found" expected, "%s" given.', static::class, \gettype($ignoreErrors)));
}
try {
@@ -90,10 +90,10 @@ public function import($resource, $type = null, $ignoreErrors = false, $sourceRe
public function registerClasses(Definition $prototype, $namespace, $resource, $exclude = null)
{
if ('\\' !== substr($namespace, -1)) {
- throw new InvalidArgumentException(sprintf('Namespace prefix must end with a "\\": %s.', $namespace));
+ throw new InvalidArgumentException(sprintf('Namespace prefix must end with a "\\": "%s".', $namespace));
}
if (!preg_match('/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+\\\\)++$/', $namespace)) {
- throw new InvalidArgumentException(sprintf('Namespace is not a valid PSR-4 prefix: %s.', $namespace));
+ throw new InvalidArgumentException(sprintf('Namespace is not a valid PSR-4 prefix: "%s".', $namespace));
}
$classes = $this->findClasses($namespace, $resource, (array) $exclude);
@@ -178,7 +178,7 @@ private function findClasses(string $namespace, string $pattern, array $excludeP
$prefixLen = \strlen($resource->getPrefix());
if ($excludePrefix && 0 !== strpos($excludePrefix, $resource->getPrefix())) {
- throw new InvalidArgumentException(sprintf('Invalid "exclude" pattern when importing classes for "%s": make sure your "exclude" pattern (%s) is a subset of the "resource" pattern (%s)', $namespace, $excludePattern, $pattern));
+ throw new InvalidArgumentException(sprintf('Invalid "exclude" pattern when importing classes for "%s": make sure your "exclude" pattern (%s) is a subset of the "resource" pattern (%s).', $namespace, $excludePattern, $pattern));
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
index 82e61b6335ba1..62ba842908df7 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
@@ -171,7 +171,7 @@ private function getServiceDefaults(\DOMDocument $xml, string $file): array
foreach ($defaults['tags'] as $tag) {
if ('' === $tag->getAttribute('name')) {
- throw new InvalidArgumentException(sprintf('The tag name for tag "" in %s must be a non-empty string.', $file));
+ throw new InvalidArgumentException(sprintf('The tag name for tag "" in "%s" must be a non-empty string.', $file));
}
}
@@ -344,7 +344,7 @@ private function parseDefinition(\DOMElement $service, string $file, array $defa
}
if ('' === $tag->getAttribute('name')) {
- throw new InvalidArgumentException(sprintf('The tag name for service "%s" in %s must be a non-empty string.', (string) $service->getAttribute('id'), $file));
+ throw new InvalidArgumentException(sprintf('The tag name for service "%s" in "%s" must be a non-empty string.', (string) $service->getAttribute('id'), $file));
}
$definition->addTag($tag->getAttribute('name'), $parameters);
@@ -395,7 +395,7 @@ private function parseFileToDOM(string $file): \DOMDocument
try {
$dom = XmlUtils::loadFile($file, [$this, 'validateSchema']);
} catch (\InvalidArgumentException $e) {
- throw new InvalidArgumentException(sprintf('Unable to parse file "%s": %s', $file, $e->getMessage()), $e->getCode(), $e);
+ throw new InvalidArgumentException(sprintf('Unable to parse file "%s": "%s".', $file, $e->getMessage()), $e->getCode(), $e);
}
$this->validateExtensions($dom, $file);
@@ -437,7 +437,7 @@ private function processAnonymousServices(\DOMDocument $xml, string $file)
// anonymous services "in the wild"
if (false !== $nodes = $xpath->query('//container:services/container:service[not(@id)]')) {
foreach ($nodes as $node) {
- throw new InvalidArgumentException(sprintf('Top-level services must have "id" attribute, none found in %s at line %d.', $file, $node->getLineNo()));
+ throw new InvalidArgumentException(sprintf('Top-level services must have "id" attribute, none found in "%s" at line %d.', $file, $node->getLineNo()));
}
}
@@ -591,7 +591,7 @@ public function validateSchema(\DOMDocument $dom)
$path = str_replace([$ns, str_replace('http://', 'https://', $ns)], str_replace('\\', '/', $extension->getXsdValidationBasePath()).'/', $items[$i + 1]);
if (!is_file($path)) {
- throw new RuntimeException(sprintf('Extension "%s" references a non-existent XSD file "%s"', \get_class($extension), $path));
+ throw new RuntimeException(sprintf('Extension "%s" references a non-existent XSD file "%s".', \get_class($extension), $path));
}
$schemaLocations[$items[$i]] = $path;
@@ -678,7 +678,7 @@ private function validateExtensions(\DOMDocument $dom, string $file)
// can it be handled by an extension?
if (!$this->container->hasExtension($node->namespaceURI)) {
$extensionNamespaces = array_filter(array_map(function (ExtensionInterface $ext) { return $ext->getNamespace(); }, $this->container->getExtensions()));
- throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s', $node->tagName, $file, $node->namespaceURI, $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'));
+ throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in "%s"). Looked for namespace "%s", found "%s".', $node->tagName, $file, $node->namespaceURI, $extensionNamespaces ? implode('", "', $extensionNamespaces) : 'none'));
}
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
index cb17e5743d59a..e13a3f5abe56f 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
@@ -134,7 +134,7 @@ public function load($resource, string $type = null)
// parameters
if (isset($content['parameters'])) {
if (!\is_array($content['parameters'])) {
- throw new InvalidArgumentException(sprintf('The "parameters" key should contain an array in %s. Check your YAML syntax.', $path));
+ throw new InvalidArgumentException(sprintf('The "parameters" key should contain an array in "%s". Check your YAML syntax.', $path));
}
foreach ($content['parameters'] as $key => $value) {
@@ -180,7 +180,7 @@ private function parseImports(array $content, string $file)
}
if (!\is_array($content['imports'])) {
- throw new InvalidArgumentException(sprintf('The "imports" key should contain an array in %s. Check your YAML syntax.', $file));
+ throw new InvalidArgumentException(sprintf('The "imports" key should contain an array in "%s". Check your YAML syntax.', $file));
}
$defaultDirectory = \dirname($file);
@@ -189,7 +189,7 @@ private function parseImports(array $content, string $file)
$import = ['resource' => $import];
}
if (!isset($import['resource'])) {
- throw new InvalidArgumentException(sprintf('An import should provide a resource in %s. Check your YAML syntax.', $file));
+ throw new InvalidArgumentException(sprintf('An import should provide a resource in "%s". Check your YAML syntax.', $file));
}
$this->setCurrentDir($defaultDirectory);
@@ -204,7 +204,7 @@ private function parseDefinitions(array $content, string $file)
}
if (!\is_array($content['services'])) {
- throw new InvalidArgumentException(sprintf('The "services" key should contain an array in %s. Check your YAML syntax.', $file));
+ throw new InvalidArgumentException(sprintf('The "services" key should contain an array in "%s". Check your YAML syntax.', $file));
}
if (\array_key_exists('_instanceof', $content['services'])) {
@@ -218,10 +218,10 @@ private function parseDefinitions(array $content, string $file)
$this->isLoadingInstanceof = true;
foreach ($instanceof as $id => $service) {
if (!$service || !\is_array($service)) {
- throw new InvalidArgumentException(sprintf('Type definition "%s" must be a non-empty array within "_instanceof" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Type definition "%s" must be a non-empty array within "_instanceof" in "%s". Check your YAML syntax.', $id, $file));
}
if (\is_string($service) && 0 === strpos($service, '@')) {
- throw new InvalidArgumentException(sprintf('Type definition "%s" cannot be an alias within "_instanceof" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Type definition "%s" cannot be an alias within "_instanceof" in "%s". Check your YAML syntax.', $id, $file));
}
$this->parseDefinition($id, $service, $file, []);
}
@@ -257,7 +257,7 @@ private function parseDefaults(array &$content, string $file): array
if (isset($defaults['tags'])) {
if (!\is_array($tags = $defaults['tags'])) {
- throw new InvalidArgumentException(sprintf('Parameter "tags" in "_defaults" must be an array in %s. Check your YAML syntax.', $file));
+ throw new InvalidArgumentException(sprintf('Parameter "tags" in "_defaults" must be an array in "%s". Check your YAML syntax.', $file));
}
foreach ($tags as $tag) {
@@ -266,18 +266,18 @@ private function parseDefaults(array &$content, string $file): array
}
if (!isset($tag['name'])) {
- throw new InvalidArgumentException(sprintf('A "tags" entry in "_defaults" is missing a "name" key in %s.', $file));
+ throw new InvalidArgumentException(sprintf('A "tags" entry in "_defaults" is missing a "name" key in "%s".', $file));
}
$name = $tag['name'];
unset($tag['name']);
if (!\is_string($name) || '' === $name) {
- throw new InvalidArgumentException(sprintf('The tag name in "_defaults" must be a non-empty string in %s.', $file));
+ throw new InvalidArgumentException(sprintf('The tag name in "_defaults" must be a non-empty string in "%s".', $file));
}
foreach ($tag as $attribute => $value) {
if (!is_scalar($value) && null !== $value) {
- throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type in %s. Check your YAML syntax.', $name, $attribute, $file));
+ throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type in "%s". Check your YAML syntax.', $name, $attribute, $file));
}
}
}
@@ -285,7 +285,7 @@ private function parseDefaults(array &$content, string $file): array
if (isset($defaults['bind'])) {
if (!\is_array($defaults['bind'])) {
- throw new InvalidArgumentException(sprintf('Parameter "bind" in "_defaults" must be an array in %s. Check your YAML syntax.', $file));
+ throw new InvalidArgumentException(sprintf('Parameter "bind" in "_defaults" must be an array in "%s". Check your YAML syntax.', $file));
}
foreach ($this->resolveServices($defaults['bind'], $file) as $argument => $value) {
@@ -338,7 +338,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
}
if (!\is_array($service)) {
- throw new InvalidArgumentException(sprintf('A service definition must be an array or a string starting with "@" but %s found for service "%s" in %s. Check your YAML syntax.', \gettype($service), $id, $file));
+ throw new InvalidArgumentException(sprintf('A service definition must be an array or a string starting with "@" but "%s" found for service "%s" in "%s". Check your YAML syntax.', \gettype($service), $id, $file));
}
$this->checkDefinition($id, $service, $file);
@@ -459,16 +459,16 @@ private function parseDefinition(string $id, $service, string $file, array $defa
if (isset($service['calls'])) {
if (!\is_array($service['calls'])) {
- throw new InvalidArgumentException(sprintf('Parameter "calls" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Parameter "calls" must be an array for service "%s" in "%s". Check your YAML syntax.', $id, $file));
}
foreach ($service['calls'] as $k => $call) {
if (!\is_array($call) && (!\is_string($k) || !$call instanceof TaggedValue)) {
- throw new InvalidArgumentException(sprintf('Invalid method call for service "%s": expected map or array, %s given in %s.', $id, $call instanceof TaggedValue ? '!'.$call->getTag() : \gettype($call), $file));
+ throw new InvalidArgumentException(sprintf('Invalid method call for service "%s": expected map or array, "%s" given in "%s".', $id, $call instanceof TaggedValue ? '!'.$call->getTag() : \gettype($call), $file));
}
if (\is_string($k)) {
- throw new InvalidArgumentException(sprintf('Invalid method call for service "%s", did you forgot a leading dash before "%s: ..." in %s?', $id, $k, $file));
+ throw new InvalidArgumentException(sprintf('Invalid method call for service "%s", did you forgot a leading dash before "%s: ..." in "%s"?', $id, $k, $file));
}
if (isset($call['method'])) {
@@ -482,7 +482,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
if ($args instanceof TaggedValue) {
if ('returns_clone' !== $args->getTag()) {
- throw new InvalidArgumentException(sprintf('Unsupported tag "!%s", did you mean "!returns_clone" for service "%s" in %s?', $args->getTag(), $id, $file));
+ throw new InvalidArgumentException(sprintf('Unsupported tag "!%s", did you mean "!returns_clone" for service "%s" in "%s"?', $args->getTag(), $id, $file));
}
$returnsClone = true;
@@ -491,7 +491,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
$returnsClone = false;
}
} elseif (empty($call[0])) {
- throw new InvalidArgumentException(sprintf('Invalid call for service "%s": the method must be defined as the first index of an array or as the only key of a map in %s.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Invalid call for service "%s": the method must be defined as the first index of an array or as the only key of a map in "%s".', $id, $file));
} else {
$method = $call[0];
$args = $call[1] ?? [];
@@ -500,7 +500,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
}
if (!\is_array($args)) {
- throw new InvalidArgumentException(sprintf('The second parameter for function call "%s" must be an array of its arguments for service "%s" in %s. Check your YAML syntax.', $method, $id, $file));
+ throw new InvalidArgumentException(sprintf('The second parameter for function call "%s" must be an array of its arguments for service "%s" in "%s". Check your YAML syntax.', $method, $id, $file));
}
$args = $this->resolveServices($args, $file);
@@ -510,7 +510,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
$tags = isset($service['tags']) ? $service['tags'] : [];
if (!\is_array($tags)) {
- throw new InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in "%s". Check your YAML syntax.', $id, $file));
}
if (isset($defaults['tags'])) {
@@ -523,18 +523,18 @@ private function parseDefinition(string $id, $service, string $file, array $defa
}
if (!isset($tag['name'])) {
- throw new InvalidArgumentException(sprintf('A "tags" entry is missing a "name" key for service "%s" in %s.', $id, $file));
+ throw new InvalidArgumentException(sprintf('A "tags" entry is missing a "name" key for service "%s" in "%s".', $id, $file));
}
$name = $tag['name'];
unset($tag['name']);
if (!\is_string($name) || '' === $name) {
- throw new InvalidArgumentException(sprintf('The tag name for service "%s" in %s must be a non-empty string.', $id, $file));
+ throw new InvalidArgumentException(sprintf('The tag name for service "%s" in "%s" must be a non-empty string.', $id, $file));
}
foreach ($tag as $attribute => $value) {
if (!is_scalar($value) && null !== $value) {
- throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in %s. Check your YAML syntax.', $id, $name, $attribute, $file));
+ throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in "%s". Check your YAML syntax.', $id, $name, $attribute, $file));
}
}
@@ -575,7 +575,7 @@ private function parseDefinition(string $id, $service, string $file, array $defa
if (isset($service['bind'])) {
if (!\is_array($service['bind'])) {
- throw new InvalidArgumentException(sprintf('Parameter "bind" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('Parameter "bind" must be an array for service "%s" in "%s". Check your YAML syntax.', $id, $file));
}
$bindings = array_merge($bindings, $this->resolveServices($service['bind'], $file));
@@ -599,12 +599,12 @@ private function parseDefinition(string $id, $service, string $file, array $defa
}
if (\array_key_exists('namespace', $service) && !\array_key_exists('resource', $service)) {
- throw new InvalidArgumentException(sprintf('A "resource" attribute must be set when the "namespace" attribute is set for service "%s" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('A "resource" attribute must be set when the "namespace" attribute is set for service "%s" in "%s". Check your YAML syntax.', $id, $file));
}
if (\array_key_exists('resource', $service)) {
if (!\is_string($service['resource'])) {
- throw new InvalidArgumentException(sprintf('A "resource" attribute must be of type string for service "%s" in %s. Check your YAML syntax.', $id, $file));
+ throw new InvalidArgumentException(sprintf('A "resource" attribute must be of type string for service "%s" in "%s". Check your YAML syntax.', $id, $file));
}
$exclude = isset($service['exclude']) ? $service['exclude'] : null;
$namespace = isset($service['namespace']) ? $service['namespace'] : $id;
@@ -646,10 +646,10 @@ private function parseCallable($callable, string $parameter, string $id, string
return $callable;
}
- throw new InvalidArgumentException(sprintf('Parameter "%s" must contain an array with two elements for service "%s" in %s. Check your YAML syntax.', $parameter, $id, $file));
+ throw new InvalidArgumentException(sprintf('Parameter "%s" must contain an array with two elements for service "%s" in "%s". Check your YAML syntax.', $parameter, $id, $file));
}
- throw new InvalidArgumentException(sprintf('Parameter "%s" must be a string or an array for service "%s" in %s. Check your YAML syntax.', $parameter, $id, $file));
+ throw new InvalidArgumentException(sprintf('Parameter "%s" must be a string or an array for service "%s" in "%s". Check your YAML syntax.', $parameter, $id, $file));
}
/**
@@ -682,7 +682,7 @@ protected function loadFile($file)
try {
$configuration = $this->yamlParser->parseFile($file, Yaml::PARSE_CONSTANT | Yaml::PARSE_CUSTOM_TAGS);
} catch (ParseException $e) {
- throw new InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML: %s', $file, $e->getMessage()), 0, $e);
+ throw new InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML: "%s".', $file, $e->getMessage()), 0, $e);
}
return $this->validate($configuration, $file);
@@ -710,7 +710,7 @@ private function validate($content, string $file): ?array
if (!$this->container->hasExtension($namespace)) {
$extensionNamespaces = array_filter(array_map(function (ExtensionInterface $ext) { return $ext->getAlias(); }, $this->container->getExtensions()));
- throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s', $namespace, $file, $namespace, $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'));
+ throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s" (in "%s"). Looked for namespace "%s", found "%s".', $namespace, $file, $namespace, $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'));
}
}
diff --git a/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php b/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php
index ec95d4c1b402e..bb0cc804dd69c 100644
--- a/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php
+++ b/src/Symfony/Component/DependencyInjection/ParameterBag/EnvPlaceholderParameterBag.php
@@ -45,7 +45,7 @@ public function get(string $name)
}
}
if (!preg_match('/^(?:\w*+:)*+\w++$/', $env)) {
- throw new InvalidArgumentException(sprintf('Invalid %s name: only "word" characters are allowed.', $name));
+ throw new InvalidArgumentException(sprintf('Invalid "%s" name: only "word" characters are allowed.', $name));
}
if ($this->has($name) && null !== ($defaultValue = parent::get($name)) && !\is_string($defaultValue)) {
throw new RuntimeException(sprintf('The default value of an env() parameter must be a string or null, but "%s" given to "%s".', \gettype($defaultValue), $name));
@@ -147,7 +147,7 @@ public function resolve()
foreach ($this->envPlaceholders as $env => $placeholders) {
if ($this->has($name = "env($env)") && null !== ($default = $this->parameters[$name]) && !\is_string($default)) {
- throw new RuntimeException(sprintf('The default value of env parameter "%s" must be a string or null, %s given.', $env, \gettype($default)));
+ throw new RuntimeException(sprintf('The default value of env parameter "%s" must be a string or null, "%s" given.', $env, \gettype($default)));
}
}
}
diff --git a/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php b/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php
index 643424ad55043..ce63e3cf50195 100644
--- a/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php
+++ b/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php
@@ -227,7 +227,7 @@ public function resolveString(string $value, array $resolving = [])
$resolved = $this->get($key);
if (!\is_string($resolved) && !is_numeric($resolved)) {
- throw new RuntimeException(sprintf('A string value must be composed of strings and/or numbers, but found parameter "%s" of type %s inside string value "%s".', $key, \gettype($resolved), $value));
+ throw new RuntimeException(sprintf('A string value must be composed of strings and/or numbers, but found parameter "%s" of type "%s" inside string value "%s".', $key, \gettype($resolved), $value));
}
$resolved = (string) $resolved;
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php
index 79cbacecfc5b6..9524c7a4f61bd 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckTypeDeclarationsPassTest.php
@@ -536,6 +536,42 @@ public function testProcessFactoryDoesNotLoadCodeByDefault()
$this->addToAssertionCount(1);
}
+ public function testProcessFactoryForTypeSameAsClass()
+ {
+ $container = new ContainerBuilder();
+
+ $container->register('foo', Foo::class);
+ $container->register('bar', 'callable')
+ ->setFactory([
+ new Reference('foo'),
+ 'createCallable',
+ ]);
+ $container->register('bar_call', BarMethodCall::class)
+ ->addMethodCall('setCallable', [new Reference('bar')]);
+
+ (new CheckTypeDeclarationsPass(true))->process($container);
+
+ $this->addToAssertionCount(1);
+ }
+
+ public function testProcessFactoryForIterableTypeAndArrayClass()
+ {
+ $container = new ContainerBuilder();
+
+ $container->register('foo', Foo::class);
+ $container->register('bar', 'array')
+ ->setFactory([
+ new Reference('foo'),
+ 'createArray',
+ ]);
+ $container->register('bar_call', BarMethodCall::class)
+ ->addMethodCall('setIterable', [new Reference('bar')]);
+
+ (new CheckTypeDeclarationsPass(true))->process($container);
+
+ $this->addToAssertionCount(1);
+ }
+
public function testProcessPassingBuiltinTypeDoesNotLoadCodeByDefault()
{
$container = new ContainerBuilder();
@@ -739,4 +775,20 @@ public function testProcessSuccessWhenPassingServiceClosureArgumentToClosure()
$this->addToAssertionCount(1);
}
+
+ public function testExpressionLanguageWithSyntheticService()
+ {
+ $container = new ContainerBuilder();
+
+ $container->register('synthetic')
+ ->setSynthetic(true);
+ $container->register('baz', \stdClass::class)
+ ->addArgument(new Reference('synthetic'));
+ $container->register('bar', Bar::class)
+ ->addArgument(new Expression('service("baz").getStdClass()'));
+
+ (new CheckTypeDeclarationsPass())->process($container);
+
+ $this->addToAssertionCount(1);
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php
index 57ca9af427128..25ac597844520 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/PriorityTaggedServiceTraitTest.php
@@ -12,9 +12,11 @@
namespace Symfony\Component\DependencyInjection\Tests\Compiler;
use PHPUnit\Framework\TestCase;
+use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument;
use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
+use Symfony\Component\DependencyInjection\Tests\Fixtures\BarTagClass;
class PriorityTaggedServiceTraitTest extends TestCase
{
@@ -85,6 +87,50 @@ public function testWithEmptyArray()
$priorityTaggedServiceTraitImplementation = new PriorityTaggedServiceTraitImplementation();
$this->assertEquals([], $priorityTaggedServiceTraitImplementation->test('my_custom_tag', $container));
}
+
+ public function testOnlyTheFirstNonIndexedTagIsListed()
+ {
+ $container = new ContainerBuilder();
+ $container->register('service1')->addTag('my_custom_tag');
+
+ $definition = $container->register('service2', BarTagClass::class);
+ $definition->addTag('my_custom_tag', ['priority' => 100]);
+ $definition->addTag('my_custom_tag', []);
+
+ $priorityTaggedServiceTraitImplementation = new PriorityTaggedServiceTraitImplementation();
+
+ $expected = [
+ new Reference('service2'),
+ new Reference('service1'),
+ ];
+ $this->assertEquals($expected, $priorityTaggedServiceTraitImplementation->test('my_custom_tag', $container));
+ }
+
+ public function testOnlyTheIndexedTagsAreListed()
+ {
+ $container = new ContainerBuilder();
+ $container->register('service1')->addTag('my_custom_tag', ['foo' => 'bar']);
+
+ $definition = $container->register('service2', BarTagClass::class);
+ $definition->addTag('my_custom_tag', ['priority' => 100]);
+ $definition->addTag('my_custom_tag', ['foo' => 'a']);
+ $definition->addTag('my_custom_tag', ['foo' => 'b', 'priority' => 100]);
+ $definition->addTag('my_custom_tag', ['foo' => 'b']);
+ $definition->addTag('my_custom_tag', []);
+
+ $priorityTaggedServiceTraitImplementation = new PriorityTaggedServiceTraitImplementation();
+
+ $tag = new TaggedIteratorArgument('my_custom_tag', 'foo');
+ $expected = [
+ 'bar_tag_class' => new Reference('service2'),
+ 'b' => new Reference('service2'),
+ 'bar' => new Reference('service1'),
+ 'a' => new Reference('service2'),
+ ];
+ $services = $priorityTaggedServiceTraitImplementation->test($tag, $container);
+ $this->assertSame(array_keys($expected), array_keys($services));
+ $this->assertEquals($expected, $priorityTaggedServiceTraitImplementation->test($tag, $container));
+ }
}
class PriorityTaggedServiceTraitImplementation
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveTaggedIteratorArgumentPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveTaggedIteratorArgumentPassTest.php
index 2322817e86662..2a07f26178980 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveTaggedIteratorArgumentPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveTaggedIteratorArgumentPassTest.php
@@ -37,4 +37,20 @@ public function testProcess()
$expected->setValues([new Reference('b'), new Reference('c'), new Reference('a')]);
$this->assertEquals($expected, $properties['foos']);
}
+
+ public function testProcessWithIndexes()
+ {
+ $container = new ContainerBuilder();
+ $container->register('service_a', 'stdClass')->addTag('foo', ['key' => '1']);
+ $container->register('service_b', 'stdClass')->addTag('foo', ['key' => '2']);
+ $container->register('service_c', 'stdClass')->setProperty('foos', new TaggedIteratorArgument('foo', 'key'));
+
+ (new ResolveTaggedIteratorArgumentPass())->process($container);
+
+ $properties = $container->getDefinition('service_c')->getProperties();
+
+ $expected = new TaggedIteratorArgument('foo', 'key');
+ $expected->setValues(['1' => new Reference('service_a'), '2' => new Reference('service_b')]);
+ $this->assertEquals($expected, $properties['foos']);
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php
index f44890c6e662e..ca25fb7558344 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php
@@ -101,7 +101,7 @@ public function testInvalidEnvInConfig()
public function testNulledEnvInConfig()
{
$this->expectException('Symfony\Component\Config\Definition\Exception\InvalidTypeException');
- $this->expectExceptionMessage('Invalid type for path "env_extension.int_node". Expected int, but got NULL.');
+ $this->expectExceptionMessageRegexp('/^Invalid type for path "env_extension\.int_node"\. Expected "?int"?, but got (NULL|"null")\.$/');
$container = new ContainerBuilder();
$container->setParameter('env(NULLED)', null);
$container->registerExtension(new EnvExtension());
diff --git a/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php b/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
index 5a3cd6c7e4d0f..abb9a9c2ed366 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
@@ -738,7 +738,7 @@ public function testCompileWithArrayAndAnotherResolveEnv()
public function testCompileWithArrayInStringResolveEnv()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('A string value must be composed of strings and/or numbers, but found parameter "env(json:ARRAY)" of type array inside string value "ABC %env(json:ARRAY)%".');
+ $this->expectExceptionMessage('A string value must be composed of strings and/or numbers, but found parameter "env(json:ARRAY)" of type "array" inside string value "ABC %env(json:ARRAY)%".');
putenv('ARRAY={"foo":"bar"}');
$container = new ContainerBuilder();
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php
index dde7afce91fd7..34998824c5de7 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/Foo.php
@@ -13,4 +13,14 @@ public static function createBarArguments(\stdClass $stdClass, \stdClass $stdCla
{
return new Bar($stdClass);
}
+
+ public static function createCallable(): callable
+ {
+ return function() {};
+ }
+
+ public static function createArray(): array
+ {
+ return [];
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_as_files.txt b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_as_files.txt
index e3ba543f5d9bc..9bc9764745e16 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_as_files.txt
+++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_as_files.txt
@@ -529,6 +529,24 @@ class ProjectServiceContainer extends Container
}
}
+ [ProjectServiceContainer.preload.php] => privates['foo4'] = new \stdClass();
+ $this->throw('BOOM');
+ }
+
+ protected function throw($message)
+ {
+ throw new RuntimeException($message);
}
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
index d2e81db377313..0a56e7a4acd34 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
@@ -589,7 +589,7 @@ public function testDecoratedServicesWithWrongOnInvalidSyntaxThrowsException()
public function testInvalidTagsWithDefaults()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException');
- $this->expectExceptionMessageRegExp('/Parameter "tags" must be an array for service "Foo\\\Bar" in .+services31_invalid_tags\.yml\. Check your YAML syntax./');
+ $this->expectExceptionMessageRegExp('/Parameter "tags" must be an array for service "Foo\\\Bar" in ".+services31_invalid_tags\.yml"\. Check your YAML syntax./');
$loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
$loader->load('services31_invalid_tags.yml');
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/EnvPlaceholderParameterBagTest.php b/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/EnvPlaceholderParameterBagTest.php
index 0e61dba035258..10c5dddae5960 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/EnvPlaceholderParameterBagTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/EnvPlaceholderParameterBagTest.php
@@ -112,7 +112,7 @@ public function testMergeWithDifferentIdentifiersForPlaceholders()
public function testResolveEnvRequiresStrings()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('The default value of env parameter "INT_VAR" must be a string or null, integer given.');
+ $this->expectExceptionMessage('The default value of env parameter "INT_VAR" must be a string or null, "integer" given.');
$bag = new EnvPlaceholderParameterBag();
$bag->get('env(INT_VAR)');
@@ -154,7 +154,7 @@ public function testResolveEnvAllowsNull()
public function testResolveThrowsOnBadDefaultValue()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('The default value of env parameter "ARRAY_VAR" must be a string or null, array given.');
+ $this->expectExceptionMessage('The default value of env parameter "ARRAY_VAR" must be a string or null, "array" given.');
$bag = new EnvPlaceholderParameterBag();
$bag->get('env(ARRAY_VAR)');
$bag->set('env(ARRAY_VAR)', []);
diff --git a/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php b/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
index b96cdd50ff30f..1a442967a47a0 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
@@ -162,7 +162,7 @@ public function testResolveValue()
$bag->resolveValue('%foo%');
$this->fail('->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
} catch (RuntimeException $e) {
- $this->assertEquals('A string value must be composed of strings and/or numbers, but found parameter "bar" of type array inside string value "a %bar%".', $e->getMessage(), '->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
+ $this->assertEquals('A string value must be composed of strings and/or numbers, but found parameter "bar" of type "array" inside string value "a %bar%".', $e->getMessage(), '->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
}
$bag = new ParameterBag(['foo' => '%bar%', 'bar' => '%foobar%', 'foobar' => '%foo%']);
diff --git a/src/Symfony/Component/DomCrawler/AbstractUriElement.php b/src/Symfony/Component/DomCrawler/AbstractUriElement.php
index 3dc67c7cab636..e25813b97cf3d 100644
--- a/src/Symfony/Component/DomCrawler/AbstractUriElement.php
+++ b/src/Symfony/Component/DomCrawler/AbstractUriElement.php
@@ -49,7 +49,7 @@ public function __construct(\DOMElement $node, string $currentUri = null, ?strin
$elementUriIsRelative = null === parse_url(trim($this->getRawUri()), PHP_URL_SCHEME);
$baseUriIsAbsolute = \in_array(strtolower(substr($this->currentUri, 0, 4)), ['http', 'file']);
if ($elementUriIsRelative && !$baseUriIsAbsolute) {
- throw new \InvalidArgumentException(sprintf('The URL of the element is relative, so you must define its base URI passing an absolute URL to the constructor of the %s class ("%s" was passed).', __CLASS__, $this->currentUri));
+ throw new \InvalidArgumentException(sprintf('The URL of the element is relative, so you must define its base URI passing an absolute URL to the constructor of the "%s" class ("%s" was passed).', __CLASS__, $this->currentUri));
}
}
diff --git a/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php b/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php
index c4b08c88b9abb..9b763ab20a28b 100644
--- a/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php
+++ b/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php
@@ -133,11 +133,11 @@ public function setValue($value)
foreach ($value as $v) {
if (!$this->containsOption($v, $this->options)) {
- throw new \InvalidArgumentException(sprintf('Input "%s" cannot take "%s" as a value (possible values: %s).', $this->name, $v, implode(', ', $this->availableOptionValues())));
+ throw new \InvalidArgumentException(sprintf('Input "%s" cannot take "%s" as a value (possible values: "%s").', $this->name, $v, implode('", "', $this->availableOptionValues())));
}
}
} elseif (!$this->containsOption($value, $this->options)) {
- throw new \InvalidArgumentException(sprintf('Input "%s" cannot take "%s" as a value (possible values: %s).', $this->name, $value, implode(', ', $this->availableOptionValues())));
+ throw new \InvalidArgumentException(sprintf('Input "%s" cannot take "%s" as a value (possible values: "%s").', $this->name, $value, implode('", "', $this->availableOptionValues())));
}
if ($this->multiple) {
@@ -205,7 +205,7 @@ protected function initialize()
}
if ('input' === $this->node->nodeName && 'checkbox' !== strtolower($this->node->getAttribute('type')) && 'radio' !== strtolower($this->node->getAttribute('type'))) {
- throw new \LogicException(sprintf('A ChoiceFormField can only be created from an input tag with a type of checkbox or radio (given type is %s).', $this->node->getAttribute('type')));
+ throw new \LogicException(sprintf('A ChoiceFormField can only be created from an input tag with a type of checkbox or radio (given type is "%s").', $this->node->getAttribute('type')));
}
$this->value = null;
diff --git a/src/Symfony/Component/DomCrawler/Field/FileFormField.php b/src/Symfony/Component/DomCrawler/Field/FileFormField.php
index f38aca3f4ee4a..d4d60be227321 100644
--- a/src/Symfony/Component/DomCrawler/Field/FileFormField.php
+++ b/src/Symfony/Component/DomCrawler/Field/FileFormField.php
@@ -29,7 +29,7 @@ public function setErrorCode(int $error)
{
$codes = [UPLOAD_ERR_INI_SIZE, UPLOAD_ERR_FORM_SIZE, UPLOAD_ERR_PARTIAL, UPLOAD_ERR_NO_FILE, UPLOAD_ERR_NO_TMP_DIR, UPLOAD_ERR_CANT_WRITE, UPLOAD_ERR_EXTENSION];
if (!\in_array($error, $codes)) {
- throw new \InvalidArgumentException(sprintf('The error code %s is not valid.', $error));
+ throw new \InvalidArgumentException(sprintf('The error code "%s" is not valid.', $error));
}
$this->value = ['name' => '', 'type' => '', 'tmp_name' => '', 'error' => $error, 'size' => 0];
@@ -94,7 +94,7 @@ protected function initialize()
}
if ('file' !== strtolower($this->node->getAttribute('type'))) {
- throw new \LogicException(sprintf('A FileFormField can only be created from an input tag with a type of file (given type is %s).', $this->node->getAttribute('type')));
+ throw new \LogicException(sprintf('A FileFormField can only be created from an input tag with a type of file (given type is "%s").', $this->node->getAttribute('type')));
}
$this->setValue(null);
diff --git a/src/Symfony/Component/DomCrawler/Form.php b/src/Symfony/Component/DomCrawler/Form.php
index 56d10108c1a98..adafc0a07ce1c 100644
--- a/src/Symfony/Component/DomCrawler/Form.php
+++ b/src/Symfony/Component/DomCrawler/Form.php
@@ -89,6 +89,10 @@ public function getValues()
{
$values = [];
foreach ($this->fields->all() as $name => $field) {
+ if ($field->isDisabled()) {
+ continue;
+ }
+
if (!$field instanceof Field\FileFormField && $field->hasValue()) {
$values[$name] = $field->getValue();
}
@@ -111,6 +115,10 @@ public function getFiles()
$files = [];
foreach ($this->fields->all() as $name => $field) {
+ if ($field->isDisabled()) {
+ continue;
+ }
+
if ($field instanceof Field\FileFormField) {
$files[$name] = $field->getValue();
}
@@ -459,7 +467,7 @@ private function initialize()
private function addField(\DOMElement $node)
{
- if (!$node->hasAttribute('name') || !$node->getAttribute('name') || $node->hasAttribute('disabled')) {
+ if (!$node->hasAttribute('name') || !$node->getAttribute('name')) {
return;
}
diff --git a/src/Symfony/Component/DomCrawler/FormFieldRegistry.php b/src/Symfony/Component/DomCrawler/FormFieldRegistry.php
index 7cfdd53494915..f5807e600deb9 100644
--- a/src/Symfony/Component/DomCrawler/FormFieldRegistry.php
+++ b/src/Symfony/Component/DomCrawler/FormFieldRegistry.php
@@ -77,7 +77,7 @@ public function &get(string $name)
while ($segments) {
$path = array_shift($segments);
if (!\is_array($target) || !\array_key_exists($path, $target)) {
- throw new \InvalidArgumentException(sprintf('Unreachable field "%s"', $path));
+ throw new \InvalidArgumentException(sprintf('Unreachable field "%s".', $path));
}
$target = &$target[$path];
}
diff --git a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
index 0ddca408697fb..c9d996175eab4 100644
--- a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
+++ b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
@@ -45,7 +45,7 @@ protected function matches($crawler): bool
return false;
}
- return false !== mb_strpos($crawler->text(), $this->expectedText);
+ return false !== mb_strpos($crawler->text(null, false), $this->expectedText);
}
/**
diff --git a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
index 30271f01917a2..66adadd9d4ba8 100644
--- a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
+++ b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
@@ -45,7 +45,7 @@ protected function matches($crawler): bool
return false;
}
- return $this->expectedText === trim($crawler->text());
+ return $this->expectedText === trim($crawler->text(null, false));
}
/**
diff --git a/src/Symfony/Component/DomCrawler/Tests/FormTest.php b/src/Symfony/Component/DomCrawler/Tests/FormTest.php
index 52e778bed9b4a..88987b05b5a74 100644
--- a/src/Symfony/Component/DomCrawler/Tests/FormTest.php
+++ b/src/Symfony/Component/DomCrawler/Tests/FormTest.php
@@ -159,12 +159,12 @@ public function testConstructorHandlesFormValues()
public function testMultiValuedFields()
{
$form = $this->createForm('
');
@@ -227,10 +227,10 @@ public function provideInitializeValues()
[],
],
[
- 'skips disabled input fields',
+ 'takes into account disabled input fields',
'
',
- [],
+ ['foo' => ['InputFormField', 'foo']],
],
[
'appends the submitted button value',
diff --git a/src/Symfony/Component/ErrorHandler/ErrorHandler.php b/src/Symfony/Component/ErrorHandler/ErrorHandler.php
index 2ac16e380d032..0c8edfcd9d3b9 100644
--- a/src/Symfony/Component/ErrorHandler/ErrorHandler.php
+++ b/src/Symfony/Component/ErrorHandler/ErrorHandler.php
@@ -246,14 +246,14 @@ public function setLoggers(array $loggers): array
if (!\is_array($log)) {
$log = [$log];
} elseif (!\array_key_exists(0, $log)) {
- throw new \InvalidArgumentException('No logger provided');
+ throw new \InvalidArgumentException('No logger provided.');
}
if (null === $log[0]) {
$this->loggedErrors &= ~$type;
} elseif ($log[0] instanceof LoggerInterface) {
$this->loggedErrors |= $type;
} else {
- throw new \InvalidArgumentException('Invalid logger provided');
+ throw new \InvalidArgumentException('Invalid logger provided.');
}
$this->loggers[$type] = $log + $prev[$type];
@@ -519,7 +519,7 @@ public function handleError(int $type, string $message, string $file, int $line)
if ($this->isRecursive) {
$log = 0;
} else {
- if (!\defined('HHVM_VERSION')) {
+ if (\PHP_VERSION_ID < (\PHP_VERSION_ID < 70400 ? 70316 : 70404)) {
$currentErrorHandler = set_error_handler('var_dump');
restore_error_handler();
}
@@ -531,7 +531,7 @@ public function handleError(int $type, string $message, string $file, int $line)
} finally {
$this->isRecursive = false;
- if (!\defined('HHVM_VERSION')) {
+ if (\PHP_VERSION_ID < (\PHP_VERSION_ID < 70400 ? 70316 : 70404)) {
set_error_handler($currentErrorHandler);
}
}
diff --git a/src/Symfony/Component/ErrorHandler/ErrorRenderer/CliErrorRenderer.php b/src/Symfony/Component/ErrorHandler/ErrorRenderer/CliErrorRenderer.php
index aa132d1cfaccb..5c0f6a7dce636 100644
--- a/src/Symfony/Component/ErrorHandler/ErrorRenderer/CliErrorRenderer.php
+++ b/src/Symfony/Component/ErrorHandler/ErrorRenderer/CliErrorRenderer.php
@@ -15,6 +15,9 @@
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
+// Help opcache.preload discover always-needed symbols
+class_exists(CliDumper::class);
+
/**
* @author Nicolas Grekas
*/
diff --git a/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php b/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php
index 883a94f68968f..ce8cab6d65217 100644
--- a/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php
+++ b/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php
@@ -46,11 +46,11 @@ class HtmlErrorRenderer implements ErrorRendererInterface
public function __construct($debug = false, string $charset = null, $fileLinkFormat = null, string $projectDir = null, $outputBuffer = '', LoggerInterface $logger = null)
{
if (!\is_bool($debug) && !\is_callable($debug)) {
- throw new \TypeError(sprintf('Argument 1 passed to %s() must be a boolean or a callable, %s given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
+ throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a boolean or a callable, "%s" given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
}
if (!\is_string($outputBuffer) && !\is_callable($outputBuffer)) {
- throw new \TypeError(sprintf('Argument 5 passed to %s() must be a string or a callable, %s given.', __METHOD__, \is_object($outputBuffer) ? \get_class($outputBuffer) : \gettype($outputBuffer)));
+ throw new \TypeError(sprintf('Argument 5 passed to "%s()" must be a string or a callable, "%s" given.', __METHOD__, \is_object($outputBuffer) ? \get_class($outputBuffer) : \gettype($outputBuffer)));
}
$this->debug = $debug;
diff --git a/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php b/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php
index 6cc363d0d9f1e..d1dd652a64973 100644
--- a/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php
+++ b/src/Symfony/Component/ErrorHandler/ErrorRenderer/SerializerErrorRenderer.php
@@ -35,11 +35,11 @@ class SerializerErrorRenderer implements ErrorRendererInterface
public function __construct(SerializerInterface $serializer, $format, ErrorRendererInterface $fallbackErrorRenderer = null, $debug = false)
{
if (!\is_string($format) && !\is_callable($format)) {
- throw new \TypeError(sprintf('Argument 2 passed to %s() must be a string or a callable, %s given.', __METHOD__, \is_object($format) ? \get_class($format) : \gettype($format)));
+ throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be a string or a callable, "%s" given.', __METHOD__, \is_object($format) ? \get_class($format) : \gettype($format)));
}
if (!\is_bool($debug) && !\is_callable($debug)) {
- throw new \TypeError(sprintf('Argument 4 passed to %s() must be a boolean or a callable, %s given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
+ throw new \TypeError(sprintf('Argument 4 passed to "%s()" must be a boolean or a callable, "%s" given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug)));
}
$this->serializer = $serializer;
diff --git a/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php b/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php
index b6843e71ab267..a425f724f34d4 100644
--- a/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php
+++ b/src/Symfony/Component/ErrorHandler/Exception/FlattenException.php
@@ -210,7 +210,10 @@ public function setMessage($message): self
return $this;
}
- public function getCode(): int
+ /**
+ * @return int|string int most of the time (might be a string with PDOException)
+ */
+ public function getCode()
{
return $this->code;
}
diff --git a/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php b/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php
index 70710302fd970..28b311549272e 100644
--- a/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php
+++ b/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php
@@ -363,8 +363,6 @@ public function testHandleDeprecation()
$handler = new ErrorHandler();
$handler->setDefaultLogger($logger);
@$handler->handleError(E_USER_DEPRECATED, 'Foo deprecation', __FILE__, __LINE__, []);
-
- restore_error_handler();
}
/**
@@ -618,6 +616,10 @@ public function errorHandlerWhenLoggingProvider(): iterable
public function testAssertQuietEval()
{
+ if ('-1' === ini_get('zend.assertions')) {
+ $this->markTestSkipped('zend.assertions is forcibly disabled');
+ }
+
$ini = [
ini_set('zend.assertions', 1),
ini_set('assert.active', 1),
diff --git a/src/Symfony/Component/ErrorHandler/Tests/Exception/FlattenExceptionTest.php b/src/Symfony/Component/ErrorHandler/Tests/Exception/FlattenExceptionTest.php
index 5783de38bcc39..cd5f723319dec 100644
--- a/src/Symfony/Component/ErrorHandler/Tests/Exception/FlattenExceptionTest.php
+++ b/src/Symfony/Component/ErrorHandler/Tests/Exception/FlattenExceptionTest.php
@@ -13,6 +13,7 @@
use PHPUnit\Framework\TestCase;
use Symfony\Component\ErrorHandler\Exception\FlattenException;
+use Symfony\Component\ErrorHandler\Tests\Fixtures\StringErrorCodeException;
use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
@@ -183,6 +184,15 @@ public function testFile(\Throwable $exception)
$this->assertSame($exception->getFile(), $flattened->getFile());
}
+ /**
+ * @dataProvider stringAndIntDataProvider
+ */
+ public function testCode(\Throwable $exception)
+ {
+ $flattened = FlattenException::createFromThrowable($exception);
+ $this->assertSame($exception->getCode(), $flattened->getCode());
+ }
+
/**
* @dataProvider flattenDataProvider
*/
@@ -224,6 +234,14 @@ public function flattenDataProvider(): array
];
}
+ public function stringAndIntDataProvider(): array
+ {
+ return [
+ [new \Exception('test1', 123)],
+ [new StringErrorCodeException('test2', '42S02')],
+ ];
+ }
+
public function testArguments()
{
if (\PHP_VERSION_ID >= 70400) {
diff --git a/src/Symfony/Component/ErrorHandler/Tests/Fixtures/StringErrorCodeException.php b/src/Symfony/Component/ErrorHandler/Tests/Fixtures/StringErrorCodeException.php
new file mode 100644
index 0000000000000..d4cbc02abe9b6
--- /dev/null
+++ b/src/Symfony/Component/ErrorHandler/Tests/Fixtures/StringErrorCodeException.php
@@ -0,0 +1,13 @@
+code = $code;
+ }
+
+}
diff --git a/src/Symfony/Component/ExpressionLanguage/Lexer.php b/src/Symfony/Component/ExpressionLanguage/Lexer.php
index 9dd695bf170d9..b5648d2f67f54 100644
--- a/src/Symfony/Component/ExpressionLanguage/Lexer.php
+++ b/src/Symfony/Component/ExpressionLanguage/Lexer.php
@@ -57,12 +57,12 @@ public function tokenize(string $expression)
} elseif (false !== strpos(')]}', $expression[$cursor])) {
// closing bracket
if (empty($brackets)) {
- throw new SyntaxError(sprintf('Unexpected "%s"', $expression[$cursor]), $cursor, $expression);
+ throw new SyntaxError(sprintf('Unexpected "%s".', $expression[$cursor]), $cursor, $expression);
}
list($expect, $cur) = array_pop($brackets);
if ($expression[$cursor] != strtr($expect, '([{', ')]}')) {
- throw new SyntaxError(sprintf('Unclosed "%s"', $expect), $cur, $expression);
+ throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $cur, $expression);
}
$tokens[] = new Token(Token::PUNCTUATION_TYPE, $expression[$cursor], $cursor + 1);
@@ -85,7 +85,7 @@ public function tokenize(string $expression)
$cursor += \strlen($match[0]);
} else {
// unlexable
- throw new SyntaxError(sprintf('Unexpected character "%s"', $expression[$cursor]), $cursor, $expression);
+ throw new SyntaxError(sprintf('Unexpected character "%s".', $expression[$cursor]), $cursor, $expression);
}
}
@@ -93,7 +93,7 @@ public function tokenize(string $expression)
if (!empty($brackets)) {
list($expect, $cur) = array_pop($brackets);
- throw new SyntaxError(sprintf('Unclosed "%s"', $expect), $cur, $expression);
+ throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $cur, $expression);
}
return new TokenStream($tokens, $expression);
diff --git a/src/Symfony/Component/ExpressionLanguage/Node/BinaryNode.php b/src/Symfony/Component/ExpressionLanguage/Node/BinaryNode.php
index c9dcdf34e4f46..4fb6fa02920eb 100644
--- a/src/Symfony/Component/ExpressionLanguage/Node/BinaryNode.php
+++ b/src/Symfony/Component/ExpressionLanguage/Node/BinaryNode.php
@@ -148,13 +148,13 @@ public function evaluate(array $functions, array $values)
return $left * $right;
case '/':
if (0 == $right) {
- throw new \DivisionByZeroError('Division by zero');
+ throw new \DivisionByZeroError('Division by zero.');
}
return $left / $right;
case '%':
if (0 == $right) {
- throw new \DivisionByZeroError('Modulo by zero');
+ throw new \DivisionByZeroError('Modulo by zero.');
}
return $left % $right;
diff --git a/src/Symfony/Component/ExpressionLanguage/Parser.php b/src/Symfony/Component/ExpressionLanguage/Parser.php
index 521cd73ceac8a..4642ea31419c4 100644
--- a/src/Symfony/Component/ExpressionLanguage/Parser.php
+++ b/src/Symfony/Component/ExpressionLanguage/Parser.php
@@ -96,7 +96,7 @@ public function parse(TokenStream $stream, array $names = [])
$node = $this->parseExpression();
if (!$stream->isEOF()) {
- throw new SyntaxError(sprintf('Unexpected token "%s" of value "%s"', $stream->current->type, $stream->current->value), $stream->current->cursor, $stream->getExpression());
+ throw new SyntaxError(sprintf('Unexpected token "%s" of value "%s".', $stream->current->type, $stream->current->value), $stream->current->cursor, $stream->getExpression());
}
return $node;
@@ -192,13 +192,13 @@ public function parsePrimaryExpression()
default:
if ('(' === $this->stream->current->value) {
if (false === isset($this->functions[$token->value])) {
- throw new SyntaxError(sprintf('The function "%s" does not exist', $token->value), $token->cursor, $this->stream->getExpression(), $token->value, array_keys($this->functions));
+ throw new SyntaxError(sprintf('The function "%s" does not exist.', $token->value), $token->cursor, $this->stream->getExpression(), $token->value, array_keys($this->functions));
}
$node = new Node\FunctionNode($token->value, $this->parseArguments());
} else {
if (!\in_array($token->value, $this->names, true)) {
- throw new SyntaxError(sprintf('Variable "%s" is not valid', $token->value), $token->cursor, $this->stream->getExpression(), $token->value, $this->names);
+ throw new SyntaxError(sprintf('Variable "%s" is not valid.', $token->value), $token->cursor, $this->stream->getExpression(), $token->value, $this->names);
}
// is the name used in the compiled code different
@@ -224,7 +224,7 @@ public function parsePrimaryExpression()
} elseif ($token->test(Token::PUNCTUATION_TYPE, '{')) {
$node = $this->parseHashExpression();
} else {
- throw new SyntaxError(sprintf('Unexpected token "%s" of value "%s"', $token->type, $token->value), $token->cursor, $this->stream->getExpression());
+ throw new SyntaxError(sprintf('Unexpected token "%s" of value "%s".', $token->type, $token->value), $token->cursor, $this->stream->getExpression());
}
}
@@ -286,7 +286,7 @@ public function parseHashExpression()
} else {
$current = $this->stream->current;
- throw new SyntaxError(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s"', $current->type, $current->value), $current->cursor, $this->stream->getExpression());
+ throw new SyntaxError(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s".', $current->type, $current->value), $current->cursor, $this->stream->getExpression());
}
$this->stream->expect(Token::PUNCTUATION_TYPE, ':', 'A hash key must be followed by a colon (:)');
@@ -324,7 +324,7 @@ public function parsePostfixExpression(Node\Node $node)
// As a result, if $token is NOT an operator OR $token->value is NOT a valid property or method name, an exception shall be thrown.
(Token::OPERATOR_TYPE !== $token->type || !preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A', $token->value))
) {
- throw new SyntaxError('Expected name', $token->cursor, $this->stream->getExpression());
+ throw new SyntaxError('Expected name.', $token->cursor, $this->stream->getExpression());
}
$arg = new Node\ConstantNode($token->value, true);
diff --git a/src/Symfony/Component/ExpressionLanguage/SyntaxError.php b/src/Symfony/Component/ExpressionLanguage/SyntaxError.php
index d3313b83219fd..b67fdd12e6143 100644
--- a/src/Symfony/Component/ExpressionLanguage/SyntaxError.php
+++ b/src/Symfony/Component/ExpressionLanguage/SyntaxError.php
@@ -15,7 +15,7 @@ class SyntaxError extends \LogicException
{
public function __construct(string $message, int $cursor = 0, string $expression = '', string $subject = null, array $proposals = null)
{
- $message = sprintf('%s around position %d', $message, $cursor);
+ $message = sprintf('%s around position %d', rtrim($message, '.'), $cursor);
if ($expression) {
$message = sprintf('%s for expression `%s`', $message, $expression);
}
diff --git a/src/Symfony/Component/ExpressionLanguage/TokenStream.php b/src/Symfony/Component/ExpressionLanguage/TokenStream.php
index a85e5853be2ca..8d5a1cbd51515 100644
--- a/src/Symfony/Component/ExpressionLanguage/TokenStream.php
+++ b/src/Symfony/Component/ExpressionLanguage/TokenStream.php
@@ -49,7 +49,7 @@ public function next()
++$this->position;
if (!isset($this->tokens[$this->position])) {
- throw new SyntaxError('Unexpected end of expression', $this->current->cursor, $this->expression);
+ throw new SyntaxError('Unexpected end of expression.', $this->current->cursor, $this->expression);
}
$this->current = $this->tokens[$this->position];
@@ -65,7 +65,7 @@ public function expect($type, string $value = null, string $message = null)
{
$token = $this->current;
if (!$token->test($type, $value)) {
- throw new SyntaxError(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)', $message ? $message.'. ' : '', $token->type, $token->value, $type, $value ? sprintf(' with value "%s"', $value) : ''), $token->cursor, $this->expression);
+ throw new SyntaxError(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s).', $message ? $message.'. ' : '', $token->type, $token->value, $type, $value ? sprintf(' with value "%s"', $value) : ''), $token->cursor, $this->expression);
}
$this->next();
}
diff --git a/src/Symfony/Component/Filesystem/Filesystem.php b/src/Symfony/Component/Filesystem/Filesystem.php
index 3fa4d6bb51288..75ccd3a79c24b 100644
--- a/src/Symfony/Component/Filesystem/Filesystem.php
+++ b/src/Symfony/Component/Filesystem/Filesystem.php
@@ -99,7 +99,7 @@ public function mkdir($dirs, int $mode = 0777)
if (self::$lastError) {
throw new IOException(sprintf('Failed to create "%s": %s.', $dir, self::$lastError), 0, null, $dir);
}
- throw new IOException(sprintf('Failed to create "%s"', $dir), 0, null, $dir);
+ throw new IOException(sprintf('Failed to create "%s".', $dir), 0, null, $dir);
}
}
}
@@ -345,7 +345,7 @@ public function hardlink(string $originFile, $targetFiles)
}
if (!is_file($originFile)) {
- throw new FileNotFoundException(sprintf('Origin file "%s" is not a file', $originFile));
+ throw new FileNotFoundException(sprintf('Origin file "%s" is not a file.', $originFile));
}
foreach ($this->toIterable($targetFiles) as $targetFile) {
@@ -369,10 +369,10 @@ private function linkException(string $origin, string $target, string $linkType)
{
if (self::$lastError) {
if ('\\' === \DIRECTORY_SEPARATOR && false !== strpos(self::$lastError, 'error code(1314)')) {
- throw new IOException(sprintf('Unable to create %s link due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?', $linkType), 0, null, $target);
+ throw new IOException(sprintf('Unable to create "%s" link due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?', $linkType), 0, null, $target);
}
}
- throw new IOException(sprintf('Failed to create %s link from "%s" to "%s".', $linkType, $origin, $target), 0, null, $target);
+ throw new IOException(sprintf('Failed to create "%s" link from "%s" to "%s".', $linkType, $origin, $target), 0, null, $target);
}
/**
@@ -640,7 +640,7 @@ public function tempnam(string $dir, string $prefix)
public function dumpFile(string $filename, $content)
{
if (\is_array($content)) {
- throw new \TypeError(sprintf('Argument 2 passed to %s() must be string or resource, array given.', __METHOD__));
+ throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__));
}
$dir = \dirname($filename);
@@ -676,7 +676,7 @@ public function dumpFile(string $filename, $content)
public function appendToFile(string $filename, $content)
{
if (\is_array($content)) {
- throw new \TypeError(sprintf('Argument 2 passed to %s() must be string or resource, array given.', __METHOD__));
+ throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__));
}
$dir = \dirname($filename);
diff --git a/src/Symfony/Component/Form/AbstractExtension.php b/src/Symfony/Component/Form/AbstractExtension.php
index 02fcea9e53e1b..763a6ac869847 100644
--- a/src/Symfony/Component/Form/AbstractExtension.php
+++ b/src/Symfony/Component/Form/AbstractExtension.php
@@ -57,7 +57,7 @@ public function getType(string $name)
}
if (!isset($this->types[$name])) {
- throw new InvalidArgumentException(sprintf('The type "%s" can not be loaded by this extension', $name));
+ throw new InvalidArgumentException(sprintf('The type "%s" can not be loaded by this extension.', $name));
}
return $this->types[$name];
diff --git a/src/Symfony/Component/Form/Button.php b/src/Symfony/Component/Form/Button.php
index 4188ef3e2c731..e8d521047f6e2 100644
--- a/src/Symfony/Component/Form/Button.php
+++ b/src/Symfony/Component/Form/Button.php
@@ -105,7 +105,7 @@ public function offsetUnset($offset)
public function setParent(FormInterface $parent = null)
{
if ($this->submitted) {
- throw new AlreadySubmittedException('You cannot set the parent of a submitted button');
+ throw new AlreadySubmittedException('You cannot set the parent of a submitted button.');
}
$this->parent = $parent;
@@ -375,7 +375,7 @@ public function handleRequest($request = null)
public function submit($submittedData, bool $clearMissing = true)
{
if ($this->submitted) {
- throw new AlreadySubmittedException('A form can only be submitted once');
+ throw new AlreadySubmittedException('A form can only be submitted once.');
}
$this->submitted = true;
diff --git a/src/Symfony/Component/Form/Command/DebugCommand.php b/src/Symfony/Component/Form/Command/DebugCommand.php
index 642b06036853e..66a3f46cbd28d 100644
--- a/src/Symfony/Component/Form/Command/DebugCommand.php
+++ b/src/Symfony/Component/Form/Command/DebugCommand.php
@@ -191,7 +191,7 @@ private function getFqcnTypeClass(InputInterface $input, SymfonyStyle $io, strin
return $classes[0];
}
if (!$input->isInteractive()) {
- throw new InvalidArgumentException(sprintf("The type \"%s\" is ambiguous.\n\nDid you mean one of these?\n %s", $shortClassName, implode("\n ", $classes)));
+ throw new InvalidArgumentException(sprintf("The type \"%s\" is ambiguous.\n\nDid you mean one of these?\n %s.", $shortClassName, implode("\n ", $classes)));
}
return $io->choice(sprintf("The type \"%s\" is ambiguous.\n\nSelect one of the following form types to display its information:", $shortClassName), $classes, $classes[0]);
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php
index b073a123cfd53..f79920971c015 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php
@@ -76,7 +76,7 @@ public function reverseTransform($array)
return null;
}
- throw new TransformationFailedException(sprintf('The keys "%s" should not be empty', implode('", "', $emptyKeys)));
+ throw new TransformationFailedException(sprintf('The keys "%s" should not be empty.', implode('", "', $emptyKeys)));
}
return $result;
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php
index c95eb7db215ce..4727c42e547c2 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php
@@ -43,13 +43,13 @@ public function __construct(string $inputTimezone = null, string $outputTimezone
try {
new \DateTimeZone($this->inputTimezone);
} catch (\Exception $e) {
- throw new InvalidArgumentException(sprintf('Input timezone is invalid: %s.', $this->inputTimezone), $e->getCode(), $e);
+ throw new InvalidArgumentException(sprintf('Input timezone is invalid: "%s".', $this->inputTimezone), $e->getCode(), $e);
}
try {
new \DateTimeZone($this->outputTimezone);
} catch (\Exception $e) {
- throw new InvalidArgumentException(sprintf('Output timezone is invalid: %s.', $this->outputTimezone), $e->getCode(), $e);
+ throw new InvalidArgumentException(sprintf('Output timezone is invalid: "%s".', $this->outputTimezone), $e->getCode(), $e);
}
}
}
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php
index e1d510b2e0798..f4fd09b627fc9 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php
@@ -35,7 +35,7 @@ public function __construct(string $trueValue, array $falseValues = [null])
$this->trueValue = $trueValue;
$this->falseValues = $falseValues;
if (\in_array($this->trueValue, $this->falseValues, true)) {
- throw new InvalidArgumentException('The specified "true" value is contained in the false-values');
+ throw new InvalidArgumentException('The specified "true" value is contained in the false-values.');
}
}
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php
index cad078285fccb..e1feafe62e1d3 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php
@@ -45,7 +45,7 @@ public function reverseTransform($value)
return null;
}
- throw new TransformationFailedException(sprintf('The choice "%s" does not exist or is not unique', $value));
+ throw new TransformationFailedException(sprintf('The choice "%s" does not exist or is not unique.', $value));
}
return current($choices);
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php
index ac2108f0c43aa..6c9e4fe9dc2b9 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php
@@ -65,7 +65,7 @@ public function reverseTransform($array)
$choices = $this->choiceList->getChoicesForValues($array);
if (\count($choices) !== \count($array)) {
- throw new TransformationFailedException('Could not find all matching choices for the given values');
+ throw new TransformationFailedException('Could not find all matching choices for the given values.');
}
return $choices;
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php
index 48fe6c1bf0824..4e463c176e75b 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php
@@ -129,14 +129,14 @@ public function reverseTransform($value)
}
}
if (\count($emptyFields) > 0) {
- throw new TransformationFailedException(sprintf('The fields "%s" should not be empty', implode('", "', $emptyFields)));
+ throw new TransformationFailedException(sprintf('The fields "%s" should not be empty.', implode('", "', $emptyFields)));
}
if (isset($value['invert']) && !\is_bool($value['invert'])) {
- throw new TransformationFailedException('The value of "invert" must be boolean');
+ throw new TransformationFailedException('The value of "invert" must be boolean.');
}
foreach (self::$availableFields as $field => $char) {
if ('invert' !== $field && isset($value[$field]) && !ctype_digit((string) $value[$field])) {
- throw new TransformationFailedException(sprintf('This amount of "%s" is invalid', $field));
+ throw new TransformationFailedException(sprintf('This amount of "%s" is invalid.', $field));
}
}
try {
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php
index a06a244b0f46c..5b79ae82eb6c0 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php
@@ -79,7 +79,7 @@ public function reverseTransform($value)
return null;
}
if (!$this->isISO8601($value)) {
- throw new TransformationFailedException('Non ISO 8601 date strings are not supported yet');
+ throw new TransformationFailedException('Non ISO 8601 date strings are not supported yet.');
}
$valuePattern = '/^'.preg_replace('/%([yYmMdDhHiIsSwW])(\w)/', '(?P<$1>\d+)$2', $this->format).'$/';
if (!preg_match($valuePattern, $value)) {
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php
index c376c5973ccd8..8cfc6eff2e932 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php
@@ -133,35 +133,35 @@ public function reverseTransform($value)
}
if (\count($emptyFields) > 0) {
- throw new TransformationFailedException(sprintf('The fields "%s" should not be empty', implode('", "', $emptyFields)));
+ throw new TransformationFailedException(sprintf('The fields "%s" should not be empty.', implode('", "', $emptyFields)));
}
if (isset($value['month']) && !ctype_digit((string) $value['month'])) {
- throw new TransformationFailedException('This month is invalid');
+ throw new TransformationFailedException('This month is invalid.');
}
if (isset($value['day']) && !ctype_digit((string) $value['day'])) {
- throw new TransformationFailedException('This day is invalid');
+ throw new TransformationFailedException('This day is invalid.');
}
if (isset($value['year']) && !ctype_digit((string) $value['year'])) {
- throw new TransformationFailedException('This year is invalid');
+ throw new TransformationFailedException('This year is invalid.');
}
if (!empty($value['month']) && !empty($value['day']) && !empty($value['year']) && false === checkdate($value['month'], $value['day'], $value['year'])) {
- throw new TransformationFailedException('This is an invalid date');
+ throw new TransformationFailedException('This is an invalid date.');
}
if (isset($value['hour']) && !ctype_digit((string) $value['hour'])) {
- throw new TransformationFailedException('This hour is invalid');
+ throw new TransformationFailedException('This hour is invalid.');
}
if (isset($value['minute']) && !ctype_digit((string) $value['minute'])) {
- throw new TransformationFailedException('This minute is invalid');
+ throw new TransformationFailedException('This minute is invalid.');
}
if (isset($value['second']) && !ctype_digit((string) $value['second'])) {
- throw new TransformationFailedException('This second is invalid');
+ throw new TransformationFailedException('This second is invalid.');
}
try {
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php
index 2dfbbf17d60d1..b5288920acaf1 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php
@@ -117,11 +117,16 @@ public function reverseTransform($value)
// date-only patterns require parsing to be done in UTC, as midnight might not exist in the local timezone due
// to DST changes
$dateOnly = $this->isPatternDateOnly();
+ $dateFormatter = $this->getIntlDateFormatter($dateOnly);
- $timestamp = $this->getIntlDateFormatter($dateOnly)->parse($value);
+ try {
+ $timestamp = @$dateFormatter->parse($value);
+ } catch (\IntlException $e) {
+ throw new TransformationFailedException($e->getMessage(), $e->getCode(), $e);
+ }
if (0 != intl_get_error_code()) {
- throw new TransformationFailedException(intl_get_error_message());
+ throw new TransformationFailedException(intl_get_error_message(), intl_get_error_code());
} elseif ($timestamp > 253402214400) {
// This timestamp represents UTC midnight of 9999-12-31 to prevent 5+ digit years
throw new TransformationFailedException('Years beyond 9999 are not supported.');
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
index 59d59093e09e1..d86ae70968388 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
@@ -149,7 +149,7 @@ public function reverseTransform($value)
}
if (\in_array($value, ['NaN', 'NAN', 'nan'], true)) {
- throw new TransformationFailedException('"NaN" is not a valid number');
+ throw new TransformationFailedException('"NaN" is not a valid number.');
}
$position = 0;
@@ -180,7 +180,7 @@ public function reverseTransform($value)
}
if ($result >= PHP_INT_MAX || $result <= -PHP_INT_MAX) {
- throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like');
+ throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like.');
}
$result = $this->castParsedValue($result);
@@ -201,7 +201,7 @@ public function reverseTransform($value)
$remainder = trim($remainder, " \t\n\r\0\x0b\xc2\xa0");
if ('' !== $remainder) {
- throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s"', $remainder));
+ throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s".', $remainder));
}
}
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php
index 4ead932927a9d..9e6d3f94a9b27 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php
@@ -162,7 +162,7 @@ public function reverseTransform($value)
$remainder = trim($remainder, " \t\n\r\0\x0b\xc2\xa0");
if ('' !== $remainder) {
- throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s"', $remainder));
+ throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s".', $remainder));
}
}
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php
index c1944cb9bfe3c..4f04645eb77d7 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php
@@ -64,7 +64,7 @@ public function reverseTransform($array)
foreach ($this->keys as $key) {
if (isset($array[$key]) && '' !== $array[$key] && false !== $array[$key] && [] !== $array[$key]) {
if ($array[$key] !== $result) {
- throw new TransformationFailedException('All values in the array should be the same');
+ throw new TransformationFailedException('All values in the array should be the same.');
}
} else {
$emptyKeys[] = $key;
@@ -77,7 +77,7 @@ public function reverseTransform($array)
return null;
}
- throw new TransformationFailedException(sprintf('The keys "%s" should not be empty', implode('", "', $emptyKeys)));
+ throw new TransformationFailedException(sprintf('The keys "%s" should not be empty.', implode('", "', $emptyKeys)));
}
return $result;
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php b/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php
index 2b29c5ad9bf16..b1605b50dce88 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php
@@ -33,6 +33,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
// doing so also calls setDataLocked(true).
$builder->setData(isset($options['data']) ? $options['data'] : false);
$builder->addViewTransformer(new BooleanToStringTransformer($options['value'], $options['false_values']));
+ $builder->setAttribute('_false_is_empty', true); // @internal - A boolean flag to treat false as empty, see Form::isEmpty() - Do not rely on it, it will be removed in Symfony 5.1.
}
/**
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
index d26d0fd5752bb..ba673728e3081 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
@@ -311,28 +311,28 @@ public function configureOptions(OptionsResolver $resolver)
$resolver->setNormalizer('date_format', function (Options $options, $dateFormat) {
if (null !== $dateFormat && 'single_text' === $options['widget'] && self::HTML5_FORMAT === $options['format']) {
- throw new LogicException(sprintf('Cannot use the "date_format" option of the %s with an HTML5 date.', self::class));
+ throw new LogicException(sprintf('Cannot use the "date_format" option of the "%s" with an HTML5 date.', self::class));
}
return $dateFormat;
});
$resolver->setNormalizer('date_widget', function (Options $options, $dateWidget) {
if (null !== $dateWidget && 'single_text' === $options['widget']) {
- throw new LogicException(sprintf('Cannot use the "date_widget" option of the %s when the "widget" option is set to "single_text".', self::class));
+ throw new LogicException(sprintf('Cannot use the "date_widget" option of the "%s" when the "widget" option is set to "single_text".', self::class));
}
return $dateWidget;
});
$resolver->setNormalizer('time_widget', function (Options $options, $timeWidget) {
if (null !== $timeWidget && 'single_text' === $options['widget']) {
- throw new LogicException(sprintf('Cannot use the "time_widget" option of the %s when the "widget" option is set to "single_text".', self::class));
+ throw new LogicException(sprintf('Cannot use the "time_widget" option of the "%s" when the "widget" option is set to "single_text".', self::class));
}
return $timeWidget;
});
$resolver->setNormalizer('html5', function (Options $options, $html5) {
if ($html5 && self::HTML5_FORMAT !== $options['format']) {
- throw new LogicException(sprintf('Cannot use the "format" option of %s when the "html5" option is enabled.', self::class));
+ throw new LogicException(sprintf('Cannot use the "format" option of "%s" when the "html5" option is enabled.', self::class));
}
return $html5;
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/DateType.php b/src/Symfony/Component/Form/Extension/Core/Type/DateType.php
index a187798cdbd97..f7a55ffe74dd0 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/DateType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/DateType.php
@@ -325,7 +325,7 @@ public function configureOptions(OptionsResolver $resolver)
$resolver->setNormalizer('html5', function (Options $options, $html5) {
if ($html5 && 'single_text' === $options['widget'] && self::HTML5_FORMAT !== $options['format']) {
- throw new LogicException(sprintf('Cannot use the "format" option of %s when the "html5" option is enabled.', self::class));
+ throw new LogicException(sprintf('Cannot use the "format" option of "%s" when the "html5" option is enabled.', self::class));
}
return $html5;
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php b/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
index b5c035f46246e..1d37ec073af63 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
@@ -61,16 +61,18 @@ public function buildForm(FormBuilderInterface $builder, array $options)
}
if ('single_text' === $options['widget']) {
- // handle seconds ignored by user's browser when with_seconds enabled
- // https://codereview.chromium.org/450533009/
- if ($options['with_seconds']) {
- $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $e) {
- $data = $e->getData();
- if ($data && preg_match('/^\d{2}:\d{2}$/', $data)) {
- $e->setData($data.':00');
+ $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $e) use ($options) {
+ $data = $e->getData();
+ if ($data && preg_match('/^(?P\d{2}):(?P\d{2})(?::(?P\d{2})(?:\.\d+)?)?$/', $data, $matches)) {
+ if ($options['with_seconds']) {
+ // handle seconds ignored by user's browser when with_seconds enabled
+ // https://codereview.chromium.org/450533009/
+ $e->setData(sprintf('%s:%s:%s', $matches['hours'], $matches['minutes'], isset($matches['seconds']) ? $matches['seconds'] : '00'));
+ } else {
+ $e->setData(sprintf('%s:%s', $matches['hours'], $matches['minutes']));
}
- });
- }
+ }
+ });
if (null !== $options['reference_date']) {
$format = 'Y-m-d '.$format;
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/WeekType.php b/src/Symfony/Component/Form/Extension/Core/Type/WeekType.php
index 70e0000ad9912..bae115756afca 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/WeekType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/WeekType.php
@@ -161,7 +161,7 @@ public function configureOptions(OptionsResolver $resolver)
$resolver->setNormalizer('choice_translation_domain', $choiceTranslationDomainNormalizer);
$resolver->setNormalizer('html5', function (Options $options, $html5) {
if ($html5 && 'single_text' !== $options['widget']) {
- throw new LogicException(sprintf('The "widget" option of %s must be set to "single_text" when the "html5" option is enabled.', self::class));
+ throw new LogicException(sprintf('The "widget" option of "%s" must be set to "single_text" when the "html5" option is enabled.', self::class));
}
return $html5;
diff --git a/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php b/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php
index 969fcd066f764..43fd327e5d7ce 100644
--- a/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php
+++ b/src/Symfony/Component/Form/Extension/DataCollector/FormDataCollector.php
@@ -70,7 +70,7 @@ class FormDataCollector extends DataCollector implements FormDataCollectorInterf
public function __construct(FormDataExtractorInterface $dataExtractor)
{
if (!class_exists(ClassStub::class)) {
- throw new \LogicException(sprintf('The VarDumper component is needed for using the %s class. Install symfony/var-dumper version 3.4 or above.', __CLASS__));
+ throw new \LogicException(sprintf('The VarDumper component is needed for using the "%s" class. Install symfony/var-dumper version 3.4 or above.', __CLASS__));
}
$this->dataExtractor = $dataExtractor;
diff --git a/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationPath.php b/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationPath.php
index 7c0f1631ddcee..6e318a62da770 100644
--- a/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationPath.php
+++ b/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationPath.php
@@ -163,7 +163,7 @@ public function getElements()
public function getElement(int $index)
{
if (!isset($this->elements[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the violation path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the violation path.', $index));
}
return $this->elements[$index];
@@ -175,7 +175,7 @@ public function getElement(int $index)
public function isProperty(int $index)
{
if (!isset($this->isIndex[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the violation path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the violation path.', $index));
}
return !$this->isIndex[$index];
@@ -187,7 +187,7 @@ public function isProperty(int $index)
public function isIndex(int $index)
{
if (!isset($this->isIndex[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the violation path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the violation path.', $index));
}
return $this->isIndex[$index];
@@ -210,7 +210,7 @@ public function isIndex(int $index)
public function mapsForm(int $index)
{
if (!isset($this->mapsForm[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the violation path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the violation path.', $index));
}
return $this->mapsForm[$index];
diff --git a/src/Symfony/Component/Form/Form.php b/src/Symfony/Component/Form/Form.php
index 823ea9a191a36..b697ee25e4e24 100644
--- a/src/Symfony/Component/Form/Form.php
+++ b/src/Symfony/Component/Form/Form.php
@@ -168,7 +168,7 @@ public function __construct(FormConfigInterface $config)
// `setData` and `add` will not lead to the correct population of
// the child forms.
if ($config->getCompound() && !$config->getDataMapper()) {
- throw new LogicException('Compound forms need a data mapper');
+ throw new LogicException('Compound forms need a data mapper.');
}
// If the form inherits the data from its parent, it is not necessary
@@ -265,7 +265,7 @@ public function isDisabled()
public function setParent(FormInterface $parent = null)
{
if ($this->submitted) {
- throw new AlreadySubmittedException('You cannot set the parent of a submitted form');
+ throw new AlreadySubmittedException('You cannot set the parent of a submitted form.');
}
if (null !== $parent && '' === $this->name) {
@@ -500,7 +500,7 @@ public function handleRequest($request = null)
public function submit($submittedData, bool $clearMissing = true)
{
if ($this->submitted) {
- throw new AlreadySubmittedException('A form can only be submitted once');
+ throw new AlreadySubmittedException('A form can only be submitted once.');
}
// Initialize errors in the very beginning so we're sure
@@ -730,7 +730,9 @@ public function isEmpty()
// arrays, countables
((\is_array($this->modelData) || $this->modelData instanceof \Countable) && 0 === \count($this->modelData)) ||
// traversables that are not countable
- ($this->modelData instanceof \Traversable && 0 === iterator_count($this->modelData));
+ ($this->modelData instanceof \Traversable && 0 === iterator_count($this->modelData)) ||
+ // @internal - Do not rely on it, it will be removed in Symfony 5.1.
+ (false === $this->modelData && $this->config->getAttribute('_false_is_empty'));
}
/**
@@ -832,7 +834,7 @@ public function all()
public function add($child, string $type = null, array $options = [])
{
if ($this->submitted) {
- throw new AlreadySubmittedException('You cannot add children to a submitted form');
+ throw new AlreadySubmittedException('You cannot add children to a submitted form.');
}
if (!$this->config->getCompound()) {
@@ -903,7 +905,7 @@ public function add($child, string $type = null, array $options = [])
public function remove(string $name)
{
if ($this->submitted) {
- throw new AlreadySubmittedException('You cannot remove children from a submitted form');
+ throw new AlreadySubmittedException('You cannot remove children from a submitted form.');
}
if (isset($this->children[$name])) {
@@ -1053,7 +1055,7 @@ private function modelToNorm($value)
$value = $transformer->transform($value);
}
} catch (TransformationFailedException $exception) {
- throw new TransformationFailedException('Unable to transform data for property path "'.$this->getPropertyPath().'": '.$exception->getMessage(), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
+ throw new TransformationFailedException(sprintf('Unable to transform data for property path "%s": %s', $this->getPropertyPath(), $exception->getMessage()), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
}
return $value;
@@ -1075,7 +1077,7 @@ private function normToModel($value)
$value = $transformers[$i]->reverseTransform($value);
}
} catch (TransformationFailedException $exception) {
- throw new TransformationFailedException('Unable to reverse value for property path "'.$this->getPropertyPath().'": '.$exception->getMessage(), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
+ throw new TransformationFailedException(sprintf('Unable to reverse value for property path "%s": %s', $this->getPropertyPath(), $exception->getMessage()), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
}
return $value;
@@ -1104,7 +1106,7 @@ private function normToView($value)
$value = $transformer->transform($value);
}
} catch (TransformationFailedException $exception) {
- throw new TransformationFailedException('Unable to transform value for property path "'.$this->getPropertyPath().'": '.$exception->getMessage(), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
+ throw new TransformationFailedException(sprintf('Unable to transform value for property path "%s": %s', $this->getPropertyPath(), $exception->getMessage()), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
}
return $value;
@@ -1128,7 +1130,7 @@ private function viewToNorm($value)
$value = $transformers[$i]->reverseTransform($value);
}
} catch (TransformationFailedException $exception) {
- throw new TransformationFailedException('Unable to reverse value for property path "'.$this->getPropertyPath().'": '.$exception->getMessage(), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
+ throw new TransformationFailedException(sprintf('Unable to reverse value for property path "%s": %s', $this->getPropertyPath(), $exception->getMessage()), $exception->getCode(), $exception, $exception->getInvalidMessage(), $exception->getInvalidMessageParameters());
}
return $value;
diff --git a/src/Symfony/Component/Form/FormRenderer.php b/src/Symfony/Component/Form/FormRenderer.php
index c656283794207..2ac3b57ee5581 100644
--- a/src/Symfony/Component/Form/FormRenderer.php
+++ b/src/Symfony/Component/Form/FormRenderer.php
@@ -291,9 +291,9 @@ public function humanize(string $text)
public function encodeCurrency(Environment $environment, string $text, string $widget = ''): string
{
if ('UTF-8' === $charset = $environment->getCharset()) {
- $text = htmlspecialchars($text, ENT_QUOTES | (\defined('ENT_SUBSTITUTE') ? ENT_SUBSTITUTE : 0), 'UTF-8');
+ $text = htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
} else {
- $text = htmlentities($text, ENT_QUOTES | (\defined('ENT_SUBSTITUTE') ? ENT_SUBSTITUTE : 0), 'UTF-8');
+ $text = htmlentities($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$text = iconv('UTF-8', $charset, $text);
$widget = iconv('UTF-8', $charset, $widget);
}
diff --git a/src/Symfony/Component/Form/FormView.php b/src/Symfony/Component/Form/FormView.php
index 0d1310b22d11c..6393c2d2372a3 100644
--- a/src/Symfony/Component/Form/FormView.php
+++ b/src/Symfony/Component/Form/FormView.php
@@ -132,7 +132,7 @@ public function offsetExists($name)
*/
public function offsetSet($name, $value)
{
- throw new BadMethodCallException('Not supported');
+ throw new BadMethodCallException('Not supported.');
}
/**
diff --git a/src/Symfony/Component/Form/PreloadedExtension.php b/src/Symfony/Component/Form/PreloadedExtension.php
index 3970c014c23f7..3c487e2c857be 100644
--- a/src/Symfony/Component/Form/PreloadedExtension.php
+++ b/src/Symfony/Component/Form/PreloadedExtension.php
@@ -46,7 +46,7 @@ public function __construct(array $types, array $typeExtensions, FormTypeGuesser
public function getType(string $name)
{
if (!isset($this->types[$name])) {
- throw new InvalidArgumentException(sprintf('The type "%s" can not be loaded by this extension', $name));
+ throw new InvalidArgumentException(sprintf('The type "%s" can not be loaded by this extension.', $name));
}
return $this->types[$name];
diff --git a/src/Symfony/Component/Form/ResolvedFormType.php b/src/Symfony/Component/Form/ResolvedFormType.php
index 7815d4f833fe3..6dd1500a5fbfd 100644
--- a/src/Symfony/Component/Form/ResolvedFormType.php
+++ b/src/Symfony/Component/Form/ResolvedFormType.php
@@ -96,7 +96,7 @@ public function createBuilder(FormFactoryInterface $factory, string $name, array
try {
$options = $this->getOptionsResolver()->resolve($options);
} catch (ExceptionInterface $e) {
- throw new $e(sprintf('An error has occurred resolving the options of the form "%s": %s', \get_class($this->getInnerType()), $e->getMessage()), $e->getCode(), $e);
+ throw new $e(sprintf('An error has occurred resolving the options of the form "%s": %s.', \get_class($this->getInnerType()), $e->getMessage()), $e->getCode(), $e);
}
// Should be decoupled from the specific option at some point
diff --git a/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php b/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php
index 254883f871e56..5d9ddfd89caa0 100644
--- a/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php
+++ b/src/Symfony/Component/Form/Test/Traits/ValidatorExtensionTrait.php
@@ -27,11 +27,11 @@ trait ValidatorExtensionTrait
protected function getValidatorExtension(): ValidatorExtension
{
if (!interface_exists(ValidatorInterface::class)) {
- throw new \Exception('In order to use the "ValidatorExtensionTrait", the symfony/validator component must be installed');
+ throw new \Exception('In order to use the "ValidatorExtensionTrait", the symfony/validator component must be installed.');
}
if (!$this instanceof TypeTestCase) {
- throw new \Exception(sprintf('The trait "ValidatorExtensionTrait" can only be added to a class that extends %s', TypeTestCase::class));
+ throw new \Exception(sprintf('The trait "ValidatorExtensionTrait" can only be added to a class that extends "%s".', TypeTestCase::class));
}
$this->validator = $this->getMockBuilder(ValidatorInterface::class)->getMock();
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php
index 808571cbef41e..c9821bfe7475b 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php
@@ -27,6 +27,12 @@ protected function setUp(): void
{
parent::setUp();
+ // Normalize intl. configuration settings.
+ if (\extension_loaded('intl')) {
+ $this->iniSet('intl.use_exceptions', 0);
+ $this->iniSet('intl.error_level', 0);
+ }
+
// Since we test against "de_AT", we need the full implementation
IntlTestHelper::requireFullIntl($this, '57.1');
@@ -322,4 +328,44 @@ public function testReverseTransformFiveDigitYearsWithTimestamp()
$transformer = new DateTimeToLocalizedStringTransformer('UTC', 'UTC', null, null, \IntlDateFormatter::GREGORIAN, 'yyyy-MM-dd HH:mm:ss');
$transformer->reverseTransform('20107-03-21 12:34:56');
}
+
+ public function testReverseTransformWrapsIntlErrorsWithErrorLevel()
+ {
+ if (!\extension_loaded('intl')) {
+ $this->markTestSkipped('intl extension is not loaded');
+ }
+
+ $this->iniSet('intl.error_level', E_WARNING);
+
+ $this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
+ $transformer = new DateTimeToLocalizedStringTransformer();
+ $transformer->reverseTransform('12345');
+ }
+
+ public function testReverseTransformWrapsIntlErrorsWithExceptions()
+ {
+ if (!\extension_loaded('intl')) {
+ $this->markTestSkipped('intl extension is not loaded');
+ }
+
+ $this->iniSet('intl.use_exceptions', 1);
+
+ $this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
+ $transformer = new DateTimeToLocalizedStringTransformer();
+ $transformer->reverseTransform('12345');
+ }
+
+ public function testReverseTransformWrapsIntlErrorsWithExceptionsAndErrorLevel()
+ {
+ if (!\extension_loaded('intl')) {
+ $this->markTestSkipped('intl extension is not loaded');
+ }
+
+ $this->iniSet('intl.use_exceptions', 1);
+ $this->iniSet('intl.error_level', E_WARNING);
+
+ $this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
+ $transformer = new DateTimeToLocalizedStringTransformer();
+ $transformer->reverseTransform('12345');
+ }
}
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php
index 265e5e2b09a5a..8391805b22666 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CheckboxTypeTest.php
@@ -220,4 +220,13 @@ public function testSubmitNullUsesDefaultEmptyData($emptyData = 'empty', $expect
$this->assertSame($expectedData, $form->getNormData());
$this->assertSame($expectedData, $form->getData());
}
+
+ public function testSubmitNullIsEmpty()
+ {
+ $form = $this->factory->create(static::TESTED_TYPE);
+
+ $form->submit(null);
+
+ $this->assertTrue($form->isEmpty());
+ }
}
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php
index f417c234af4cc..e82ab917c590f 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php
@@ -2049,4 +2049,45 @@ public function provideTrimCases()
'Multiple expanded' => [true, true],
];
}
+
+ /**
+ * @dataProvider expandedIsEmptyWhenNoRealChoiceIsSelectedProvider
+ */
+ public function testExpandedIsEmptyWhenNoRealChoiceIsSelected($expected, $submittedData, $multiple, $required, $placeholder)
+ {
+ $options = [
+ 'expanded' => true,
+ 'choices' => [
+ 'foo' => 'bar',
+ ],
+ 'multiple' => $multiple,
+ 'required' => $required,
+ ];
+
+ if (!$multiple) {
+ $options['placeholder'] = $placeholder;
+ }
+
+ $form = $this->factory->create(static::TESTED_TYPE, null, $options);
+
+ $form->submit($submittedData);
+
+ $this->assertSame($expected, $form->isEmpty());
+ }
+
+ public function expandedIsEmptyWhenNoRealChoiceIsSelectedProvider()
+ {
+ // Some invalid cases are voluntarily not tested:
+ // - multiple with placeholder
+ // - required with placeholder
+ return [
+ 'Nothing submitted / single / not required / without a placeholder -> should be empty' => [true, null, false, false, null],
+ 'Nothing submitted / single / not required / with a placeholder -> should not be empty' => [false, null, false, false, 'ccc'], // It falls back on the placeholder
+ 'Nothing submitted / single / required / without a placeholder -> should be empty' => [true, null, false, true, null],
+ 'Nothing submitted / single / required / with a placeholder -> should be empty' => [true, null, false, true, 'ccc'],
+ 'Nothing submitted / multiple / not required / without a placeholder -> should be empty' => [true, null, true, false, null],
+ 'Nothing submitted / multiple / required / without a placeholder -> should be empty' => [true, null, true, true, null],
+ 'Placeholder submitted / single / not required / with a placeholder -> should not be empty' => [false, '', false, false, 'ccc'], // The placeholder is a selected value
+ ];
+ }
}
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
index 5453667a26853..8ebea53c811c8 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
@@ -328,6 +328,54 @@ public function testSubmitDifferentTimezonesDuringDaylightSavingTimeUsingSingleT
$this->assertSame('14:09:10', $form->getData()->format('H:i:s'));
}
+ public function testSubmitWithoutSecondsAndBrowserAddingSeconds()
+ {
+ $form = $this->factory->create(static::TESTED_TYPE, null, [
+ 'model_timezone' => 'UTC',
+ 'view_timezone' => 'UTC',
+ 'input' => 'string',
+ 'widget' => 'single_text',
+ 'with_seconds' => false,
+ ]);
+
+ $form->submit('03:04:00');
+
+ $this->assertEquals('03:04:00', $form->getData());
+ $this->assertEquals('03:04', $form->getViewData());
+ }
+
+ public function testSubmitWithSecondsAndBrowserAddingMicroseconds()
+ {
+ $form = $this->factory->create(static::TESTED_TYPE, null, [
+ 'model_timezone' => 'UTC',
+ 'view_timezone' => 'UTC',
+ 'input' => 'string',
+ 'widget' => 'single_text',
+ 'with_seconds' => true,
+ ]);
+
+ $form->submit('03:04:00.000');
+
+ $this->assertEquals('03:04:00', $form->getData());
+ $this->assertEquals('03:04:00', $form->getViewData());
+ }
+
+ public function testSubmitWithoutSecondsAndBrowserAddingMicroseconds()
+ {
+ $form = $this->factory->create(static::TESTED_TYPE, null, [
+ 'model_timezone' => 'UTC',
+ 'view_timezone' => 'UTC',
+ 'input' => 'string',
+ 'widget' => 'single_text',
+ 'with_seconds' => false,
+ ]);
+
+ $form->submit('03:04:00.000');
+
+ $this->assertEquals('03:04:00', $form->getData());
+ $this->assertEquals('03:04', $form->getViewData());
+ }
+
public function testSetDataWithoutMinutes()
{
$form = $this->factory->create(static::TESTED_TYPE, null, [
diff --git a/src/Symfony/Component/Form/Util/OrderedHashMap.php b/src/Symfony/Component/Form/Util/OrderedHashMap.php
index 5d67b3124ec72..6d758ca91c5d4 100644
--- a/src/Symfony/Component/Form/Util/OrderedHashMap.php
+++ b/src/Symfony/Component/Form/Util/OrderedHashMap.php
@@ -112,7 +112,7 @@ public function offsetExists($key)
public function offsetGet($key)
{
if (!isset($this->elements[$key])) {
- throw new \OutOfBoundsException('The offset "'.$key.'" does not exist.');
+ throw new \OutOfBoundsException(sprintf('The offset "%s" does not exist.', $key));
}
return $this->elements[$key];
diff --git a/src/Symfony/Component/HttpClient/CachingHttpClient.php b/src/Symfony/Component/HttpClient/CachingHttpClient.php
index a6af1b5f2d5f1..0327791193bf0 100644
--- a/src/Symfony/Component/HttpClient/CachingHttpClient.php
+++ b/src/Symfony/Component/HttpClient/CachingHttpClient.php
@@ -114,7 +114,7 @@ public function stream($responses, float $timeout = null): ResponseStreamInterfa
if ($responses instanceof ResponseInterface) {
$responses = [$responses];
} elseif (!is_iterable($responses)) {
- throw new \TypeError(sprintf('%s() expects parameter 1 to be an iterable of ResponseInterface objects, %s given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
+ throw new \TypeError(sprintf('"%s()" expects parameter 1 to be an iterable of ResponseInterface objects, "%s" given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
}
$mockResponses = [];
diff --git a/src/Symfony/Component/HttpClient/CurlHttpClient.php b/src/Symfony/Component/HttpClient/CurlHttpClient.php
index b076e9a7b5209..ddc7f9d9f351c 100644
--- a/src/Symfony/Component/HttpClient/CurlHttpClient.php
+++ b/src/Symfony/Component/HttpClient/CurlHttpClient.php
@@ -53,7 +53,7 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface,
private static $curlVersion;
/**
- * @param array $defaultOptions Default requests' options
+ * @param array $defaultOptions Default request's options
* @param int $maxHostConnections The maximum number of connections to a single host
* @param int $maxPendingPushes The maximum number of pushed responses to accept in the queue
*
@@ -156,14 +156,14 @@ public function request(string $method, string $url, array $options = []): Respo
if (\is_array($options['auth_ntlm'])) {
$count = \count($options['auth_ntlm']);
if ($count <= 0 || $count > 2) {
- throw new InvalidArgumentException(sprintf('Option "auth_ntlm" must contain 1 or 2 elements, %s given.', $count));
+ throw new InvalidArgumentException(sprintf('Option "auth_ntlm" must contain 1 or 2 elements, %d given.', $count));
}
$options['auth_ntlm'] = implode(':', $options['auth_ntlm']);
}
if (!\is_string($options['auth_ntlm'])) {
- throw new InvalidArgumentException(sprintf('Option "auth_ntlm" must be a string or an array, %s given.', \gettype($options['auth_ntlm'])));
+ throw new InvalidArgumentException(sprintf('Option "auth_ntlm" must be a string or an array, "%s" given.', \gettype($options['auth_ntlm'])));
}
$curlopts[CURLOPT_USERPWD] = $options['auth_ntlm'];
@@ -308,7 +308,7 @@ public function request(string $method, string $url, array $options = []): Respo
}
}
- return $pushedResponse ?? new CurlResponse($this->multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host));
+ return $pushedResponse ?? new CurlResponse($this->multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host), self::$curlVersion['version_number']);
}
/**
@@ -319,7 +319,7 @@ public function stream($responses, float $timeout = null): ResponseStreamInterfa
if ($responses instanceof CurlResponse) {
$responses = [$responses];
} elseif (!is_iterable($responses)) {
- throw new \TypeError(sprintf('%s() expects parameter 1 to be an iterable of CurlResponse objects, %s given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
+ throw new \TypeError(sprintf('"%s()" expects parameter 1 to be an iterable of CurlResponse objects, "%s" given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
}
$active = 0;
@@ -439,7 +439,7 @@ private static function readRequestBody(int $length, \Closure $body, string &$bu
{
if (!$eof && \strlen($buffer) < $length) {
if (!\is_string($data = $body($length))) {
- throw new TransportException(sprintf('The return value of the "body" option callback must be a string, %s returned.', \gettype($data)));
+ throw new TransportException(sprintf('The return value of the "body" option callback must be a string, "%s" returned.', \gettype($data)));
}
$buffer .= $data;
diff --git a/src/Symfony/Component/HttpClient/HttpClient.php b/src/Symfony/Component/HttpClient/HttpClient.php
index 3eb3a4c8849ea..b8ce62a233c83 100644
--- a/src/Symfony/Component/HttpClient/HttpClient.php
+++ b/src/Symfony/Component/HttpClient/HttpClient.php
@@ -21,7 +21,7 @@
final class HttpClient
{
/**
- * @param array $defaultOptions Default requests' options
+ * @param array $defaultOptions Default request's options
* @param int $maxHostConnections The maximum number of connections to a single host
* @param int $maxPendingPushes The maximum number of pushed responses to accept in the queue
*
diff --git a/src/Symfony/Component/HttpClient/HttpClientTrait.php b/src/Symfony/Component/HttpClient/HttpClientTrait.php
index 3eeb52fdd5cea..e150e56a0c9c0 100644
--- a/src/Symfony/Component/HttpClient/HttpClientTrait.php
+++ b/src/Symfony/Component/HttpClient/HttpClientTrait.php
@@ -48,7 +48,7 @@ private static function prepareRequest(?string $method, ?string $url, array $opt
$options['buffer'] = static function (array $headers) use ($buffer) {
if (!\is_bool($buffer = $buffer($headers))) {
if (!\is_array($bufferInfo = @stream_get_meta_data($buffer))) {
- throw new \LogicException(sprintf('The closure passed as option "buffer" must return bool or stream resource, got %s.', \is_resource($buffer) ? get_resource_type($buffer).' resource' : \gettype($buffer)));
+ throw new \LogicException(sprintf('The closure passed as option "buffer" must return bool or stream resource, got "%s".', \is_resource($buffer) ? get_resource_type($buffer).' resource' : \gettype($buffer)));
}
if (false === strpbrk($bufferInfo['mode'], 'acew+')) {
@@ -60,7 +60,7 @@ private static function prepareRequest(?string $method, ?string $url, array $opt
};
} elseif (!\is_bool($buffer)) {
if (!\is_array($bufferInfo = @stream_get_meta_data($buffer))) {
- throw new InvalidArgumentException(sprintf('Option "buffer" must be bool, stream resource or Closure, %s given.', \is_resource($buffer) ? get_resource_type($buffer).' resource' : \gettype($buffer)));
+ throw new InvalidArgumentException(sprintf('Option "buffer" must be bool, stream resource or Closure, "%s" given.', \is_resource($buffer) ? get_resource_type($buffer).' resource' : \gettype($buffer)));
}
if (false === strpbrk($bufferInfo['mode'], 'acew+')) {
@@ -94,24 +94,24 @@ private static function prepareRequest(?string $method, ?string $url, array $opt
// Validate on_progress
if (!\is_callable($onProgress = $options['on_progress'] ?? 'var_dump')) {
- throw new InvalidArgumentException(sprintf('Option "on_progress" must be callable, %s given.', \is_object($onProgress) ? \get_class($onProgress) : \gettype($onProgress)));
+ throw new InvalidArgumentException(sprintf('Option "on_progress" must be callable, "%s" given.', \is_object($onProgress) ? \get_class($onProgress) : \gettype($onProgress)));
}
if (\is_array($options['auth_basic'] ?? null)) {
$count = \count($options['auth_basic']);
if ($count <= 0 || $count > 2) {
- throw new InvalidArgumentException(sprintf('Option "auth_basic" must contain 1 or 2 elements, %s given.', $count));
+ throw new InvalidArgumentException(sprintf('Option "auth_basic" must contain 1 or 2 elements, "%s" given.', $count));
}
$options['auth_basic'] = implode(':', $options['auth_basic']);
}
if (!\is_string($options['auth_basic'] ?? '')) {
- throw new InvalidArgumentException(sprintf('Option "auth_basic" must be string or an array, %s given.', \gettype($options['auth_basic'])));
+ throw new InvalidArgumentException(sprintf('Option "auth_basic" must be string or an array, "%s" given.', \gettype($options['auth_basic'])));
}
if (isset($options['auth_bearer']) && (!\is_string($options['auth_bearer']) || !preg_match('{^[-._=~+/0-9a-zA-Z]++$}', $options['auth_bearer']))) {
- throw new InvalidArgumentException(sprintf('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet, %s given.', \is_string($options['auth_bearer']) ? 'invalid string' : \gettype($options['auth_bearer'])));
+ throw new InvalidArgumentException(sprintf('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet, %s given.', \is_string($options['auth_bearer']) ? 'invalid string' : '"'.\gettype($options['auth_bearer']).'"'));
}
if (isset($options['auth_basic'], $options['auth_bearer'])) {
@@ -206,10 +206,10 @@ private static function mergeDefaultOptions(array $options, array $defaultOption
}
if ('auth_ntlm' === $name) {
- throw new InvalidArgumentException(sprintf('Option "auth_ntlm" is not supported by %s, try using CurlHttpClient instead.', __CLASS__));
+ throw new InvalidArgumentException(sprintf('Option "auth_ntlm" is not supported by "%s", try using CurlHttpClient instead.', __CLASS__));
}
- throw new InvalidArgumentException(sprintf('Unsupported option "%s" passed to %s, did you mean "%s"?', $name, __CLASS__, implode('", "', $alternatives ?: array_keys($defaultOptions))));
+ throw new InvalidArgumentException(sprintf('Unsupported option "%s" passed to "%s", did you mean "%s"?', $name, __CLASS__, implode('", "', $alternatives ?: array_keys($defaultOptions))));
}
return $options;
@@ -231,13 +231,13 @@ private static function normalizeHeaders(array $headers): array
if (\is_int($name)) {
if (!\is_string($values)) {
- throw new InvalidArgumentException(sprintf('Invalid value for header "%s": expected string, %s given.', $name, \gettype($values)));
+ throw new InvalidArgumentException(sprintf('Invalid value for header "%s": expected string, "%s" given.', $name, \gettype($values)));
}
[$name, $values] = explode(':', $values, 2);
$values = [ltrim($values)];
} elseif (!is_iterable($values)) {
if (\is_object($values)) {
- throw new InvalidArgumentException(sprintf('Invalid value for header "%s": expected string, %s given.', $name, \get_class($values)));
+ throw new InvalidArgumentException(sprintf('Invalid value for header "%s": expected string, "%s" given.', $name, \get_class($values)));
}
$values = (array) $values;
@@ -299,7 +299,7 @@ private static function normalizeBody($body)
}
if (!\is_string($body) && !\is_array(@stream_get_meta_data($body))) {
- throw new InvalidArgumentException(sprintf('Option "body" must be string, stream resource, iterable or callable, %s given.', \is_resource($body) ? get_resource_type($body) : \gettype($body)));
+ throw new InvalidArgumentException(sprintf('Option "body" must be string, stream resource, iterable or callable, "%s" given.', \is_resource($body) ? get_resource_type($body) : \gettype($body)));
}
return $body;
@@ -325,7 +325,7 @@ private static function normalizePeerFingerprint($fingerprint): array
$fingerprint[$algo] = 'pin-sha256' === $algo ? (array) $hash : str_replace(':', '', $hash);
}
} else {
- throw new InvalidArgumentException(sprintf('Option "peer_fingerprint" must be string or array, %s given.', \gettype($fingerprint)));
+ throw new InvalidArgumentException(sprintf('Option "peer_fingerprint" must be string or array, "%s" given.', \gettype($fingerprint)));
}
return $fingerprint;
@@ -441,10 +441,7 @@ private static function parseUrl(string $url, array $query = [], array $allowedS
throw new InvalidArgumentException(sprintf('Unsupported IDN "%s", try enabling the "intl" PHP extension or running "composer require symfony/polyfill-intl-idn".', $host));
}
- if (false === $host = \defined('INTL_IDNA_VARIANT_UTS46') ? idn_to_ascii($host, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46) : strtolower($host)) {
- throw new InvalidArgumentException(sprintf('Unsupported host in "%s".', $url));
- }
-
+ $host = \defined('INTL_IDNA_VARIANT_UTS46') ? idn_to_ascii($host, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46) ?: strtolower($host) : strtolower($host);
$host .= $port ? ':'.$port : '';
}
diff --git a/src/Symfony/Component/HttpClient/HttplugClient.php b/src/Symfony/Component/HttpClient/HttplugClient.php
index 08023b9c42718..ec00b3234a037 100644
--- a/src/Symfony/Component/HttpClient/HttplugClient.php
+++ b/src/Symfony/Component/HttpClient/HttplugClient.php
@@ -184,7 +184,7 @@ public function createStream($body = null): StreamInterface
} elseif (\is_resource($body)) {
$stream = $this->streamFactory->createStreamFromResource($body);
} else {
- throw new \InvalidArgumentException(sprintf('%s() expects string, resource or StreamInterface, %s given.', __METHOD__, \gettype($body)));
+ throw new \InvalidArgumentException(sprintf('"%s()" expects string, resource or StreamInterface, "%s" given.', __METHOD__, \gettype($body)));
}
if ($stream->isSeekable()) {
diff --git a/src/Symfony/Component/HttpClient/MockHttpClient.php b/src/Symfony/Component/HttpClient/MockHttpClient.php
index cb3cb969b06ba..07d53cc1495a0 100644
--- a/src/Symfony/Component/HttpClient/MockHttpClient.php
+++ b/src/Symfony/Component/HttpClient/MockHttpClient.php
@@ -79,7 +79,7 @@ public function stream($responses, float $timeout = null): ResponseStreamInterfa
if ($responses instanceof ResponseInterface) {
$responses = [$responses];
} elseif (!is_iterable($responses)) {
- throw new \TypeError(sprintf('%s() expects parameter 1 to be an iterable of MockResponse objects, %s given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
+ throw new \TypeError(sprintf('"%s()" expects parameter 1 to be an iterable of MockResponse objects, "%s" given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
}
return new ResponseStream(MockResponse::stream($responses, $timeout));
diff --git a/src/Symfony/Component/HttpClient/NativeHttpClient.php b/src/Symfony/Component/HttpClient/NativeHttpClient.php
index d60f5415271ce..7745d85092ef4 100644
--- a/src/Symfony/Component/HttpClient/NativeHttpClient.php
+++ b/src/Symfony/Component/HttpClient/NativeHttpClient.php
@@ -41,7 +41,7 @@ final class NativeHttpClient implements HttpClientInterface, LoggerAwareInterfac
private $multi;
/**
- * @param array $defaultOptions Default requests' options
+ * @param array $defaultOptions Default request's options
* @param int $maxHostConnections The maximum number of connections to open
*
* @see HttpClientInterface::OPTIONS_DEFAULTS for available options
@@ -238,7 +238,7 @@ public function stream($responses, float $timeout = null): ResponseStreamInterfa
if ($responses instanceof NativeResponse) {
$responses = [$responses];
} elseif (!is_iterable($responses)) {
- throw new \TypeError(sprintf('%s() expects parameter 1 to be an iterable of NativeResponse objects, %s given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
+ throw new \TypeError(sprintf('"%s()" expects parameter 1 to be an iterable of NativeResponse objects, "%s" given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
}
return new ResponseStream(NativeResponse::stream($responses, $timeout));
@@ -258,7 +258,7 @@ private static function getBodyAsString($body): string
while ('' !== $data = $body(self::$CHUNK_SIZE)) {
if (!\is_string($data)) {
- throw new TransportException(sprintf('Return value of the "body" option callback must be string, %s returned.', \gettype($data)));
+ throw new TransportException(sprintf('Return value of the "body" option callback must be string, "%s" returned.', \gettype($data)));
}
$result .= $data;
diff --git a/src/Symfony/Component/HttpClient/Response/CurlResponse.php b/src/Symfony/Component/HttpClient/Response/CurlResponse.php
index 0a6597fb0852a..58528108e8d1a 100644
--- a/src/Symfony/Component/HttpClient/Response/CurlResponse.php
+++ b/src/Symfony/Component/HttpClient/Response/CurlResponse.php
@@ -37,15 +37,19 @@ final class CurlResponse implements ResponseInterface
/**
* @internal
*/
- public function __construct(CurlClientState $multi, $ch, array $options = null, LoggerInterface $logger = null, string $method = 'GET', callable $resolveRedirect = null)
+ public function __construct(CurlClientState $multi, $ch, array $options = null, LoggerInterface $logger = null, string $method = 'GET', callable $resolveRedirect = null, int $curlVersion = null)
{
$this->multi = $multi;
if (\is_resource($ch)) {
$this->handle = $ch;
$this->debugBuffer = fopen('php://temp', 'w+');
- curl_setopt($ch, CURLOPT_VERBOSE, true);
- curl_setopt($ch, CURLOPT_STDERR, $this->debugBuffer);
+ if (0x074000 === $curlVersion) {
+ fwrite($this->debugBuffer, 'Due to a bug in curl 7.64.0, the debug log is disabled; use another version to work around the issue.');
+ } else {
+ curl_setopt($ch, CURLOPT_VERBOSE, true);
+ curl_setopt($ch, CURLOPT_STDERR, $this->debugBuffer);
+ }
} else {
$this->info['url'] = $ch;
$ch = $this->handle;
diff --git a/src/Symfony/Component/HttpClient/Response/MockResponse.php b/src/Symfony/Component/HttpClient/Response/MockResponse.php
index b458665d44edd..0f359f30b3265 100644
--- a/src/Symfony/Component/HttpClient/Response/MockResponse.php
+++ b/src/Symfony/Component/HttpClient/Response/MockResponse.php
@@ -228,7 +228,7 @@ private static function writeRequest(self $response, array $options, ResponseInt
} elseif ($body instanceof \Closure) {
while ('' !== $data = $body(16372)) {
if (!\is_string($data)) {
- throw new TransportException(sprintf('Return value of the "body" option callback must be string, %s returned.', \gettype($data)));
+ throw new TransportException(sprintf('Return value of the "body" option callback must be string, "%s" returned.', \gettype($data)));
}
// "notify" upload progress
@@ -295,7 +295,7 @@ private static function readResponse(self $response, array $options, ResponseInt
$onProgress($offset, $dlSize, $response->info);
if ($dlSize && $offset !== $dlSize) {
- throw new TransportException(sprintf('Transfer closed with %s bytes remaining to read.', $dlSize - $offset));
+ throw new TransportException(sprintf('Transfer closed with %d bytes remaining to read.', $dlSize - $offset));
}
}
}
diff --git a/src/Symfony/Component/HttpClient/Response/ResponseTrait.php b/src/Symfony/Component/HttpClient/Response/ResponseTrait.php
index 595ac9737c072..f49ca68338408 100644
--- a/src/Symfony/Component/HttpClient/Response/ResponseTrait.php
+++ b/src/Symfony/Component/HttpClient/Response/ResponseTrait.php
@@ -161,7 +161,7 @@ public function toArray(bool $throw = true): array
}
if (!\is_array($content)) {
- throw new JsonException(sprintf('JSON content was expected to decode to an array, %s returned for "%s".', \gettype($content), $this->getInfo('url')));
+ throw new JsonException(sprintf('JSON content was expected to decode to an array, "%s" returned for "%s".', \gettype($content), $this->getInfo('url')));
}
if (null !== $this->content) {
diff --git a/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php b/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php
index 2952fd4f62ea0..477c33d924293 100644
--- a/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php
+++ b/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php
@@ -179,7 +179,7 @@ public function testAuthBearerOption()
public function testInvalidAuthBearerOption()
{
$this->expectException('Symfony\Component\HttpClient\Exception\InvalidArgumentException');
- $this->expectExceptionMessage('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet, object given.');
+ $this->expectExceptionMessage('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet, "object" given.');
self::prepareRequest('POST', 'http://example.com', ['auth_bearer' => new \stdClass()], HttpClientInterface::OPTIONS_DEFAULTS);
}
@@ -249,7 +249,7 @@ public function testNormalizePeerFingerprintException()
public function testNormalizePeerFingerprintTypeException()
{
$this->expectException('Symfony\Component\HttpClient\Exception\InvalidArgumentException');
- $this->expectExceptionMessage('Option "peer_fingerprint" must be string or array, object given.');
+ $this->expectExceptionMessage('Option "peer_fingerprint" must be string or array, "object" given.');
$fingerprint = new \stdClass();
$this->normalizePeerFingerprint($fingerprint);
diff --git a/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php b/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php
index 61ceb913a93e0..1b3ab16a843aa 100644
--- a/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php
+++ b/src/Symfony/Component/HttpClient/Tests/Response/MockResponseTest.php
@@ -56,13 +56,13 @@ public function toArrayErrors()
yield [
'content' => '"not an array"',
'responseHeaders' => [],
- 'message' => 'JSON content was expected to decode to an array, string returned for "https://example.com/file.json".',
+ 'message' => 'JSON content was expected to decode to an array, "string" returned for "https://example.com/file.json".',
];
yield [
'content' => '8',
'responseHeaders' => [],
- 'message' => 'JSON content was expected to decode to an array, integer returned for "https://example.com/file.json".',
+ 'message' => 'JSON content was expected to decode to an array, "integer" returned for "https://example.com/file.json".',
];
}
}
diff --git a/src/Symfony/Component/HttpFoundation/AcceptHeader.php b/src/Symfony/Component/HttpFoundation/AcceptHeader.php
index 90f9f479d5958..057c6b530cdd6 100644
--- a/src/Symfony/Component/HttpFoundation/AcceptHeader.php
+++ b/src/Symfony/Component/HttpFoundation/AcceptHeader.php
@@ -11,6 +11,9 @@
namespace Symfony\Component\HttpFoundation;
+// Help opcache.preload discover always-needed symbols
+class_exists(AcceptHeaderItem::class);
+
/**
* Represents an Accept-* header.
*
diff --git a/src/Symfony/Component/HttpFoundation/File/File.php b/src/Symfony/Component/HttpFoundation/File/File.php
index d79c27f68ef79..82d964cab1cca 100644
--- a/src/Symfony/Component/HttpFoundation/File/File.php
+++ b/src/Symfony/Component/HttpFoundation/File/File.php
@@ -88,7 +88,7 @@ public function move(string $directory, string $name = null)
$renamed = rename($this->getPathname(), $target);
restore_error_handler();
if (!$renamed) {
- throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error)));
+ throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s).', $this->getPathname(), $target, strip_tags($error)));
}
@chmod($target, 0666 & ~umask());
@@ -103,10 +103,10 @@ protected function getTargetFile(string $directory, string $name = null)
{
if (!is_dir($directory)) {
if (false === @mkdir($directory, 0777, true) && !is_dir($directory)) {
- throw new FileException(sprintf('Unable to create the "%s" directory', $directory));
+ throw new FileException(sprintf('Unable to create the "%s" directory.', $directory));
}
} elseif (!is_writable($directory)) {
- throw new FileException(sprintf('Unable to write in the "%s" directory', $directory));
+ throw new FileException(sprintf('Unable to write in the "%s" directory.', $directory));
}
$target = rtrim($directory, '/\\').\DIRECTORY_SEPARATOR.(null === $name ? $this->getBasename() : $this->getName($name));
diff --git a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php
index 3a258e29c6dc3..fa13b01e03cde 100644
--- a/src/Symfony/Component/HttpFoundation/File/UploadedFile.php
+++ b/src/Symfony/Component/HttpFoundation/File/UploadedFile.php
@@ -181,7 +181,7 @@ public function move(string $directory, string $name = null)
$moved = move_uploaded_file($this->getPathname(), $target);
restore_error_handler();
if (!$moved) {
- throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error)));
+ throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s).', $this->getPathname(), $target, strip_tags($error)));
}
@chmod($target, 0666 & ~umask());
diff --git a/src/Symfony/Component/HttpFoundation/HeaderBag.php b/src/Symfony/Component/HttpFoundation/HeaderBag.php
index 9c7273a734477..d45d95e096f13 100644
--- a/src/Symfony/Component/HttpFoundation/HeaderBag.php
+++ b/src/Symfony/Component/HttpFoundation/HeaderBag.php
@@ -199,7 +199,7 @@ public function getDate(string $key, \DateTime $default = null)
}
if (false === $date = \DateTime::createFromFormat(DATE_RFC2822, $value)) {
- throw new \RuntimeException(sprintf('The %s HTTP header is not parseable (%s).', $key, $value));
+ throw new \RuntimeException(sprintf('The "%s" HTTP header is not parseable (%s).', $key, $value));
}
return $date;
diff --git a/src/Symfony/Component/HttpFoundation/Request.php b/src/Symfony/Component/HttpFoundation/Request.php
index 21cb15744e708..b72d9a94912c8 100644
--- a/src/Symfony/Component/HttpFoundation/Request.php
+++ b/src/Symfony/Component/HttpFoundation/Request.php
@@ -15,6 +15,14 @@
use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(AcceptHeader::class);
+class_exists(FileBag::class);
+class_exists(HeaderBag::class);
+class_exists(HeaderUtils::class);
+class_exists(ParameterBag::class);
+class_exists(ServerBag::class);
+
/**
* Request represents an HTTP request.
*
diff --git a/src/Symfony/Component/HttpFoundation/Response.php b/src/Symfony/Component/HttpFoundation/Response.php
index 4a331954bde47..4bbef581e2d60 100644
--- a/src/Symfony/Component/HttpFoundation/Response.php
+++ b/src/Symfony/Component/HttpFoundation/Response.php
@@ -11,6 +11,9 @@
namespace Symfony\Component\HttpFoundation;
+// Help opcache.preload discover always-needed symbols
+class_exists(ResponseHeaderBag::class);
+
/**
* Response represents an HTTP response.
*
diff --git a/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php b/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
index 56b9245f93587..5acefc9c969e0 100644
--- a/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
+++ b/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
@@ -239,9 +239,9 @@ public function getCookies(string $format = self::COOKIES_FLAT)
/**
* Clears a cookie in the browser.
*/
- public function clearCookie(string $name, ?string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true)
+ public function clearCookie(string $name, ?string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true, string $sameSite = null)
{
- $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly, false, null));
+ $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly, false, $sameSite));
}
/**
diff --git a/src/Symfony/Component/HttpFoundation/Session/Session.php b/src/Symfony/Component/HttpFoundation/Session/Session.php
index 89071b861ef1e..8b02d2d0d995b 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Session.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Session.php
@@ -18,6 +18,11 @@
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(AttributeBag::class);
+class_exists(FlashBag::class);
+class_exists(SessionBagProxy::class);
+
/**
* @author Fabien Potencier
* @author Drak
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
index 8896964ee7e55..828d29eb565ff 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
@@ -47,7 +47,7 @@ public function __construct(\Memcached $memcached, array $options = [])
$this->memcached = $memcached;
if ($diff = array_diff(array_keys($options), ['prefix', 'expiretime'])) {
- throw new \InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff)));
+ throw new \InvalidArgumentException(sprintf('The following options are not supported "%s".', implode(', ', $diff)));
}
$this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400;
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
index a6889e40c7de8..9a2d7919af902 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
@@ -66,7 +66,7 @@ class MongoDbSessionHandler extends AbstractSessionHandler
public function __construct(\MongoDB\Client $mongo, array $options)
{
if (!isset($options['database']) || !isset($options['collection'])) {
- throw new \InvalidArgumentException('You must provide the "database" and "collection" option for MongoDBSessionHandler');
+ throw new \InvalidArgumentException('You must provide the "database" and "collection" option for MongoDBSessionHandler.');
}
$this->mongo = $mongo;
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
index bdfc9d819e812..effc9db544bcf 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
@@ -38,7 +38,7 @@ public function __construct(string $savePath = null)
if ($count = substr_count($savePath, ';')) {
if ($count > 2) {
- throw new \InvalidArgumentException(sprintf('Invalid argument $savePath \'%s\'', $savePath));
+ throw new \InvalidArgumentException(sprintf('Invalid argument $savePath \'%s\'.', $savePath));
}
// characters after last ';' are the path
@@ -46,7 +46,7 @@ public function __construct(string $savePath = null)
}
if ($baseDir && !is_dir($baseDir) && !@mkdir($baseDir, 0777, true) && !is_dir($baseDir)) {
- throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s"', $baseDir));
+ throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s".', $baseDir));
}
ini_set('session.save_path', $savePath);
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
index 74412e0083dd4..a301e9f054b60 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
@@ -174,7 +174,7 @@ public function __construct($pdoOrDsn = null, array $options = [])
{
if ($pdoOrDsn instanceof \PDO) {
if (\PDO::ERRMODE_EXCEPTION !== $pdoOrDsn->getAttribute(\PDO::ATTR_ERRMODE)) {
- throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__));
+ throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)).', __CLASS__));
}
$this->pdo = $pdoOrDsn;
@@ -468,7 +468,7 @@ private function buildDsnFromUrl(string $dsnOrUrl): string
}
if (!isset($params['scheme'])) {
- throw new \InvalidArgumentException('URLs without scheme are not supported to configure the PdoSessionHandler');
+ throw new \InvalidArgumentException('URLs without scheme are not supported to configure the PdoSessionHandler.');
}
$driverAliasMap = [
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php
index b9ca28f5909f3..d6c37c430fb45 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php
@@ -54,11 +54,11 @@ public function __construct($redis, array $options = [])
!$redis instanceof RedisProxy &&
!$redis instanceof RedisClusterProxy
) {
- throw new \InvalidArgumentException(sprintf('%s() expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, %s given', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis)));
+ throw new \InvalidArgumentException(sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, "%s" given.', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis)));
}
if ($diff = array_diff(array_keys($options), ['prefix', 'ttl'])) {
- throw new \InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff)));
+ throw new \InvalidArgumentException(sprintf('The following options are not supported "%s".', implode(', ', $diff)));
}
$this->redis = $redis;
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php
index b92bd0ffde3b3..a5ebd29ebaa73 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/SessionHandlerFactory.php
@@ -27,7 +27,7 @@ class SessionHandlerFactory
public static function createHandler($connection): AbstractSessionHandler
{
if (!\is_string($connection) && !\is_object($connection)) {
- throw new \TypeError(sprintf('Argument 1 passed to %s() must be a string or a connection object, %s given.', __METHOD__, \gettype($connection)));
+ throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a string or a connection object, "%s" given.', __METHOD__, \gettype($connection)));
}
switch (true) {
@@ -46,7 +46,7 @@ public static function createHandler($connection): AbstractSessionHandler
return new PdoSessionHandler($connection);
case !\is_string($connection):
- throw new \InvalidArgumentException(sprintf('Unsupported Connection: %s.', \get_class($connection)));
+ throw new \InvalidArgumentException(sprintf('Unsupported Connection: "%s".', \get_class($connection)));
case 0 === strpos($connection, 'file://'):
return new StrictSessionHandler(new NativeFileSessionHandler(substr($connection, 7)));
@@ -80,6 +80,6 @@ public static function createHandler($connection): AbstractSessionHandler
return new PdoSessionHandler($connection);
}
- throw new \InvalidArgumentException(sprintf('Unsupported Connection: %s.', $connection));
+ throw new \InvalidArgumentException(sprintf('Unsupported Connection: "%s".', $connection));
}
}
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php b/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
index 4662bd864c944..0201504c9ccf8 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
@@ -148,7 +148,7 @@ public function setName(string $name)
public function save()
{
if (!$this->started || $this->closed) {
- throw new \RuntimeException('Trying to save a session that was not started yet or was already closed');
+ throw new \RuntimeException('Trying to save a session that was not started yet or was already closed.');
}
// nothing to do since we don't persist the session data
$this->closed = false;
@@ -186,7 +186,7 @@ public function registerBag(SessionBagInterface $bag)
public function getBag(string $name)
{
if (!isset($this->bags[$name])) {
- throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name));
+ throw new \InvalidArgumentException(sprintf('The SessionBagInterface "%s" is not registered.', $name));
}
if (!$this->started) {
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php b/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php
index 019a63484e2e7..ab8b86402b2f6 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php
@@ -36,7 +36,7 @@ public function __construct(string $savePath = null, string $name = 'MOCKSESSID'
}
if (!is_dir($savePath) && !@mkdir($savePath, 0777, true) && !is_dir($savePath)) {
- throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s"', $savePath));
+ throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s".', $savePath));
}
$this->savePath = $savePath;
@@ -86,7 +86,7 @@ public function regenerate(bool $destroy = false, int $lifetime = null)
public function save()
{
if (!$this->started) {
- throw new \RuntimeException('Trying to save a session that was not started yet or was already closed');
+ throw new \RuntimeException('Trying to save a session that was not started yet or was already closed.');
}
$data = $this->data;
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php b/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
index 792bacf4e4ca5..268f9784e9cda 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
@@ -17,6 +17,11 @@
use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
+// Help opcache.preload discover always-needed symbols
+class_exists(MetadataBag::class);
+class_exists(StrictSessionHandler::class);
+class_exists(SessionHandlerProxy::class);
+
/**
* This provides a base class for session attribute storage.
*
@@ -149,7 +154,7 @@ public function start()
// ok to try and start the session
if (!session_start()) {
- throw new \RuntimeException('Failed to start the session');
+ throw new \RuntimeException('Failed to start the session.');
}
if (null !== $this->emulateSameSite) {
@@ -311,7 +316,7 @@ public function registerBag(SessionBagInterface $bag)
public function getBag(string $name)
{
if (!isset($this->bags[$name])) {
- throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name));
+ throw new \InvalidArgumentException(sprintf('The SessionBagInterface "%s" is not registered.', $name));
}
if (!$this->started && $this->saveHandler->isActive()) {
diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php b/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
index 38f7dede60e52..e7be22c01981b 100644
--- a/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
+++ b/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
@@ -86,7 +86,7 @@ public function getId()
public function setId(string $id)
{
if ($this->isActive()) {
- throw new \LogicException('Cannot change the ID of an active session');
+ throw new \LogicException('Cannot change the ID of an active session.');
}
session_id($id);
@@ -110,7 +110,7 @@ public function getName()
public function setName(string $name)
{
if ($this->isActive()) {
- throw new \LogicException('Cannot change the name of an active session');
+ throw new \LogicException('Cannot change the name of an active session.');
}
session_name($name);
diff --git a/src/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
index 4d924412232c8..18b3c36a6ae94 100644
--- a/src/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
+++ b/src/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
@@ -128,6 +128,14 @@ public function testClearCookieSecureNotHttpOnly()
$this->assertSetCookieHeader('foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001).'; Max-Age=0; path=/; secure', $bag);
}
+ public function testClearCookieSamesite()
+ {
+ $bag = new ResponseHeaderBag([]);
+
+ $bag->clearCookie('foo', '/', null, true, false, 'none');
+ $this->assertSetCookieHeader('foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001).'; Max-Age=0; path=/; secure; samesite=none', $bag);
+ }
+
public function testReplace()
{
$bag = new ResponseHeaderBag([]);
diff --git a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
index 2ff356c9fffdc..e8057737ed9af 100644
--- a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
+++ b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
@@ -69,7 +69,7 @@ public function getContainerExtension()
if (null !== $extension) {
if (!$extension instanceof ExtensionInterface) {
- throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.', \get_class($extension)));
+ throw new \LogicException(sprintf('Extension "%s" must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.', \get_class($extension)));
}
// check naming convention
diff --git a/src/Symfony/Component/HttpKernel/CacheClearer/Psr6CacheClearer.php b/src/Symfony/Component/HttpKernel/CacheClearer/Psr6CacheClearer.php
index ab37853d3121a..d0e4cc91b7fcb 100644
--- a/src/Symfony/Component/HttpKernel/CacheClearer/Psr6CacheClearer.php
+++ b/src/Symfony/Component/HttpKernel/CacheClearer/Psr6CacheClearer.php
@@ -31,7 +31,7 @@ public function hasPool(string $name)
public function getPool(string $name)
{
if (!$this->hasPool($name)) {
- throw new \InvalidArgumentException(sprintf('Cache pool not found: %s.', $name));
+ throw new \InvalidArgumentException(sprintf('Cache pool not found: "%s".', $name));
}
return $this->pools[$name];
@@ -40,7 +40,7 @@ public function getPool(string $name)
public function clearPool(string $name)
{
if (!isset($this->pools[$name])) {
- throw new \InvalidArgumentException(sprintf('Cache pool not found: %s.', $name));
+ throw new \InvalidArgumentException(sprintf('Cache pool not found: "%s".', $name));
}
return $this->pools[$name]->clear();
diff --git a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php
index 43bbe178d5694..0c14a1da694f7 100644
--- a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php
+++ b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php
@@ -62,7 +62,7 @@ public function getArguments(Request $request, callable $controller): array
}
if (!$atLeastOne) {
- throw new \InvalidArgumentException(sprintf('%s::resolve() must yield at least one value.', \get_class($resolver)));
+ throw new \InvalidArgumentException(sprintf('"%s::resolve()" must yield at least one value.', \get_class($resolver)));
}
// continue to the next controller argument
diff --git a/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php b/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php
index 447df4ae8ffc6..6e4ae20c34ce8 100644
--- a/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php
+++ b/src/Symfony/Component/HttpKernel/Controller/ContainerControllerResolver.php
@@ -64,7 +64,7 @@ protected function instantiateController(string $class)
throw new \InvalidArgumentException(sprintf('Controller "%s" has required constructor arguments and does not exist in the container. Did you forget to define the controller as a service?', $class), 0, $e);
}
- throw new \InvalidArgumentException(sprintf('Controller "%s" does neither exist as service nor as class', $class), 0, $e);
+ throw new \InvalidArgumentException(sprintf('Controller "%s" does neither exist as service nor as class.', $class), 0, $e);
}
private function throwExceptionIfControllerWasRemoved(string $controller, \Throwable $previous)
diff --git a/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php b/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
index 4534de43ba652..1f8354291b382 100644
--- a/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
+++ b/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
@@ -64,7 +64,7 @@ public function getController(Request $request)
}
if (!\is_callable($controller)) {
- throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($controller)));
+ throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s.', $request->getPathInfo(), $this->getControllerError($controller)));
}
return $controller;
@@ -72,7 +72,7 @@ public function getController(Request $request)
if (\is_object($controller)) {
if (!\is_callable($controller)) {
- throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($controller)));
+ throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s.', $request->getPathInfo(), $this->getControllerError($controller)));
}
return $controller;
@@ -85,11 +85,11 @@ public function getController(Request $request)
try {
$callable = $this->createController($controller);
} catch (\InvalidArgumentException $e) {
- throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $e->getMessage()), 0, $e);
+ throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s.', $request->getPathInfo(), $e->getMessage()), 0, $e);
}
if (!\is_callable($callable)) {
- throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($callable)));
+ throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s.', $request->getPathInfo(), $this->getControllerError($callable)));
}
return $callable;
diff --git a/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php b/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php
index e73b848e60025..6fc7e703447f0 100644
--- a/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php
+++ b/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadata.php
@@ -99,7 +99,7 @@ public function isNullable()
public function getDefaultValue()
{
if (!$this->hasDefaultValue) {
- throw new \LogicException(sprintf('Argument $%s does not have a default value. Use %s::hasDefaultValue() to avoid this exception.', $this->name, __CLASS__));
+ throw new \LogicException(sprintf('Argument $%s does not have a default value. Use "%s::hasDefaultValue()" to avoid this exception.', $this->name, __CLASS__));
}
return $this->defaultValue;
diff --git a/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
index b3288b563a566..dbffdca24d274 100644
--- a/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
+++ b/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
@@ -193,7 +193,7 @@ public function getDumps($format, $maxDepthLimit = -1, $maxItemsPerDepth = -1):
$dumper = new HtmlDumper($data, $this->charset);
$dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]);
} else {
- throw new \InvalidArgumentException(sprintf('Invalid dump format: %s', $format));
+ throw new \InvalidArgumentException(sprintf('Invalid dump format: "%s".', $format));
}
$dumps = [];
diff --git a/src/Symfony/Component/HttpKernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php b/src/Symfony/Component/HttpKernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php
index 79e67374b2253..cc11091109105 100644
--- a/src/Symfony/Component/HttpKernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php
+++ b/src/Symfony/Component/HttpKernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php
@@ -51,6 +51,9 @@ public function process(ContainerBuilder $container)
}
}
if (!$reason) {
+ // see Symfony\Component\HttpKernel\Controller\ContainerControllerResolver
+ $controllers[$id.':'.$action] = $argumentRef;
+
if ('__invoke' === $action) {
$controllers[$id] = $argumentRef;
}
diff --git a/src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php b/src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
index f3d3f0d6ef06e..f51978ac7ed23 100644
--- a/src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
+++ b/src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
@@ -97,7 +97,7 @@ public function render($uri, string $renderer = 'inline', array $options = [])
protected function deliver(Response $response)
{
if (!$response->isSuccessful()) {
- throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $this->requestStack->getCurrentRequest()->getUri(), $response->getStatusCode()));
+ throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %d).', $this->requestStack->getCurrentRequest()->getUri(), $response->getStatusCode()));
}
if (!$response instanceof StreamedResponse) {
diff --git a/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php b/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php
index ac2c341385863..bcfa13446af72 100644
--- a/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php
+++ b/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php
@@ -96,7 +96,7 @@ public function handle(HttpCache $cache, string $uri, string $alt, bool $ignoreE
$response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true);
if (!$response->isSuccessful()) {
- throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $subRequest->getUri(), $response->getStatusCode()));
+ throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %d).', $subRequest->getUri(), $response->getStatusCode()));
}
return $response->getContent();
diff --git a/src/Symfony/Component/HttpKernel/HttpClientKernel.php b/src/Symfony/Component/HttpKernel/HttpClientKernel.php
index 10bac3aff5a83..4d20e96916c37 100644
--- a/src/Symfony/Component/HttpKernel/HttpClientKernel.php
+++ b/src/Symfony/Component/HttpKernel/HttpClientKernel.php
@@ -21,6 +21,9 @@
use Symfony\Component\Mime\Part\TextPart;
use Symfony\Contracts\HttpClient\HttpClientInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(ResponseHeaderBag::class);
+
/**
* An implementation of a Symfony HTTP kernel using a "real" HTTP client.
*
diff --git a/src/Symfony/Component/HttpKernel/HttpKernel.php b/src/Symfony/Component/HttpKernel/HttpKernel.php
index 04b31835cf978..850331349bb80 100644
--- a/src/Symfony/Component/HttpKernel/HttpKernel.php
+++ b/src/Symfony/Component/HttpKernel/HttpKernel.php
@@ -32,6 +32,18 @@
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(LegacyEventDispatcherProxy::class);
+class_exists(ControllerArgumentsEvent::class);
+class_exists(ControllerEvent::class);
+class_exists(ExceptionEvent::class);
+class_exists(FinishRequestEvent::class);
+class_exists(RequestEvent::class);
+class_exists(ResponseEvent::class);
+class_exists(TerminateEvent::class);
+class_exists(ViewEvent::class);
+class_exists(KernelEvents::class);
+
/**
* HttpKernel notifies events to convert a Request object to a Response one.
*
diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php
index ce30c8feba2e0..23a5e7625b98e 100644
--- a/src/Symfony/Component/HttpKernel/Kernel.php
+++ b/src/Symfony/Component/HttpKernel/Kernel.php
@@ -68,11 +68,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
private static $freshCache = [];
- const VERSION = '5.0.5';
- const VERSION_ID = 50005;
+ const VERSION = '5.0.6';
+ const VERSION_ID = 50006;
const MAJOR_VERSION = 5;
const MINOR_VERSION = 0;
- const RELEASE_VERSION = 5;
+ const RELEASE_VERSION = 6;
const EXTRA_VERSION = '';
const END_OF_MAINTENANCE = '07/2020';
@@ -221,7 +221,7 @@ public function getBundle(string $name)
$class = static::class;
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class;
- throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your %s.php file?', $name, $class));
+ throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the "registerBundles()" method of your "%s.php" file?', $name, $class));
}
return $this->bundles[$name];
@@ -369,7 +369,7 @@ protected function initializeBundles()
foreach ($this->registerBundles() as $bundle) {
$name = $bundle->getName();
if (isset($this->bundles[$name])) {
- throw new \LogicException(sprintf('Trying to register two bundles with the same name "%s"', $name));
+ throw new \LogicException(sprintf('Trying to register two bundles with the same name "%s".', $name));
}
$this->bundles[$name] = $bundle;
}
@@ -449,47 +449,20 @@ protected function initializeContainer()
try {
is_dir($cacheDir) ?: mkdir($cacheDir, 0777, true);
- if ($lock = fopen($cachePath, 'w')) {
- chmod($cachePath, 0666 & ~umask());
+ if ($lock = fopen($cachePath.'.lock', 'w')) {
flock($lock, LOCK_EX | LOCK_NB, $wouldBlock);
if (!flock($lock, $wouldBlock ? LOCK_SH : LOCK_EX)) {
fclose($lock);
- } else {
- $cache = new class($cachePath, $this->debug) extends ConfigCache {
- public $lock;
-
- public function write(string $content, array $metadata = null)
- {
- rewind($this->lock);
- ftruncate($this->lock, 0);
- fwrite($this->lock, $content);
-
- if (null !== $metadata) {
- file_put_contents($this->getPath().'.meta', serialize($metadata));
- @chmod($this->getPath().'.meta', 0666 & ~umask());
- }
-
- if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
- @opcache_invalidate($this->getPath(), true);
- }
- }
-
- public function release()
- {
- flock($this->lock, LOCK_UN);
- fclose($this->lock);
- }
- };
- $cache->lock = $lock;
-
- if (!\is_object($this->container = include $cachePath)) {
- $this->container = null;
- } elseif (!$oldContainer || \get_class($this->container) !== $oldContainer->name) {
- $this->container->set('kernel', $this);
-
- return;
- }
+ $lock = null;
+ } elseif (!\is_object($this->container = include $cachePath)) {
+ $this->container = null;
+ } elseif (!$oldContainer || \get_class($this->container) !== $oldContainer->name) {
+ flock($lock, LOCK_UN);
+ fclose($lock);
+ $this->container->set('kernel', $this);
+
+ return;
}
}
} catch (\Throwable $e) {
@@ -553,8 +526,10 @@ public function release()
}
$this->dumpContainer($cache, $container, $class, $this->getContainerBaseClass());
- if (method_exists($cache, 'release')) {
- $cache->release();
+
+ if ($lock) {
+ flock($lock, LOCK_UN);
+ fclose($lock);
}
$this->container = require $cachePath;
@@ -624,10 +599,10 @@ protected function buildContainer()
foreach (['cache' => $this->warmupDir ?: $this->getCacheDir(), 'logs' => $this->getLogDir()] as $name => $dir) {
if (!is_dir($dir)) {
if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
- throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, $dir));
+ throw new \RuntimeException(sprintf('Unable to create the "%s" directory (%s).', $name, $dir));
}
} elseif (!is_writable($dir)) {
- throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
+ throw new \RuntimeException(sprintf('Unable to write in the "%s" directory (%s).', $name, $dir));
}
}
@@ -716,6 +691,7 @@ protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container
'as_files' => true,
'debug' => $this->debug,
'build_time' => $container->hasParameter('kernel.container_build_time') ? $container->getParameter('kernel.container_build_time') : time(),
+ 'preload_classes' => array_map('get_class', $this->bundles),
]);
$rootCode = array_pop($content);
diff --git a/src/Symfony/Component/HttpKernel/Tests/CacheClearer/Psr6CacheClearerTest.php b/src/Symfony/Component/HttpKernel/Tests/CacheClearer/Psr6CacheClearerTest.php
index cdf4a97d34c32..6e0a47e9308f4 100644
--- a/src/Symfony/Component/HttpKernel/Tests/CacheClearer/Psr6CacheClearerTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/CacheClearer/Psr6CacheClearerTest.php
@@ -40,7 +40,7 @@ public function testClearPool()
public function testClearPoolThrowsExceptionOnUnreferencedPool()
{
$this->expectException('InvalidArgumentException');
- $this->expectExceptionMessage('Cache pool not found: unknown');
+ $this->expectExceptionMessage('Cache pool not found: "unknown"');
(new Psr6CacheClearer())->clearPool('unknown');
}
}
diff --git a/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php b/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php
index 6c840aedca306..b5e55bdea9e97 100644
--- a/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPassTest.php
@@ -49,7 +49,7 @@ public function testProcess()
$controllers = $container->getDefinition((string) $resolver->getArgument(0))->getArgument(0);
- $this->assertSame(['c1::fooAction'], array_keys($controllers));
+ $this->assertSame(['c1::fooAction', 'c1:fooAction'], array_keys($controllers));
$this->assertSame(['bar'], array_keys($container->getDefinition((string) $controllers['c1::fooAction']->getValues()[0])->getArgument(0)));
$expectedLog = [
@@ -73,7 +73,7 @@ public function testInvoke()
(new RemoveEmptyControllerArgumentLocatorsPass())->process($container);
$this->assertEquals(
- ['invokable::__invoke', 'invokable'],
+ ['invokable::__invoke', 'invokable:__invoke', 'invokable'],
array_keys($container->getDefinition((string) $resolver->getArgument(0))->getArgument(0))
);
}
diff --git a/src/Symfony/Component/Intl/Data/Bundle/Compiler/GenrbCompiler.php b/src/Symfony/Component/Intl/Data/Bundle/Compiler/GenrbCompiler.php
index 0ee8f145bda7e..31d7fb9c8abbd 100644
--- a/src/Symfony/Component/Intl/Data/Bundle/Compiler/GenrbCompiler.php
+++ b/src/Symfony/Component/Intl/Data/Bundle/Compiler/GenrbCompiler.php
@@ -37,7 +37,7 @@ public function __construct(string $genrb = 'genrb', string $envVars = '')
exec('which '.$genrb, $output, $status);
if (0 !== $status) {
- throw new RuntimeException(sprintf('The command "%s" is not installed', $genrb));
+ throw new RuntimeException(sprintf('The command "%s" is not installed.', $genrb));
}
$this->genrb = ($envVars ? $envVars.' ' : '').$genrb;
@@ -55,7 +55,7 @@ public function compile(string $sourcePath, string $targetDir)
exec($this->genrb.' --quiet -e UTF-8 -d '.$targetDir.' '.$sourcePath, $output, $status);
if (0 !== $status) {
- throw new RuntimeException(sprintf('genrb failed with status %d while compiling %s to %s.', $status, $sourcePath, $targetDir));
+ throw new RuntimeException(sprintf('genrb failed with status %d while compiling "%s" to "%s".', $status, $sourcePath, $targetDir));
}
}
}
diff --git a/src/Symfony/Component/Intl/Data/Bundle/Reader/JsonBundleReader.php b/src/Symfony/Component/Intl/Data/Bundle/Reader/JsonBundleReader.php
index 28cf70e364a98..5c4c5f3650f09 100644
--- a/src/Symfony/Component/Intl/Data/Bundle/Reader/JsonBundleReader.php
+++ b/src/Symfony/Component/Intl/Data/Bundle/Reader/JsonBundleReader.php
@@ -46,7 +46,7 @@ public function read(string $path, string $locale)
$data = json_decode(file_get_contents($fileName), true);
if (null === $data) {
- throw new RuntimeException(sprintf('The resource bundle "%s" contains invalid JSON: %s', $fileName, json_last_error_msg()));
+ throw new RuntimeException(sprintf('The resource bundle "%s" contains invalid JSON: %s.', $fileName, json_last_error_msg()));
}
return $data;
diff --git a/src/Symfony/Component/Intl/Data/Generator/LocaleDataGenerator.php b/src/Symfony/Component/Intl/Data/Generator/LocaleDataGenerator.php
index 9584dec23c4d5..f6e9f67779f3e 100644
--- a/src/Symfony/Component/Intl/Data/Generator/LocaleDataGenerator.php
+++ b/src/Symfony/Component/Intl/Data/Generator/LocaleDataGenerator.php
@@ -165,7 +165,7 @@ private function generateLocaleName(BundleEntryReaderInterface $reader, string $
// i.e. in de_AT, "AT" is the region
if ($region = \Locale::getRegion($locale)) {
if (ctype_alpha($region) && !RegionDataGenerator::isValidCountryCode($region)) {
- throw new MissingResourceException('Skipping "'.$locale.'" due an invalid country.');
+ throw new MissingResourceException(sprintf('Skipping "%s" due an invalid country.', $locale));
}
$extras[] = str_replace(['(', ')'], ['[', ']'], $reader->readEntry($tempDir.'/region', $displayLocale, ['Countries', $region]));
diff --git a/src/Symfony/Component/Intl/Data/Util/RecursiveArrayAccess.php b/src/Symfony/Component/Intl/Data/Util/RecursiveArrayAccess.php
index 09dd551dafa5e..afc2e09713821 100644
--- a/src/Symfony/Component/Intl/Data/Util/RecursiveArrayAccess.php
+++ b/src/Symfony/Component/Intl/Data/Util/RecursiveArrayAccess.php
@@ -36,7 +36,7 @@ public static function get($array, array $indices)
}
}
- throw new OutOfBoundsException(sprintf('The index %s does not exist.', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" does not exist.', $index));
}
return $array;
diff --git a/src/Symfony/Component/Intl/DateFormatter/DateFormat/FullTransformer.php b/src/Symfony/Component/Intl/DateFormatter/DateFormat/FullTransformer.php
index 91eb73e6b3b03..2641528989609 100644
--- a/src/Symfony/Component/Intl/DateFormatter/DateFormat/FullTransformer.php
+++ b/src/Symfony/Component/Intl/DateFormatter/DateFormat/FullTransformer.php
@@ -104,7 +104,7 @@ private function formatReplace(string $dateChars, \DateTime $dateTime): string
// handle unimplemented characters
if (false !== strpos($this->notImplementedChars, $dateChars[0])) {
- throw new NotImplementedException(sprintf('Unimplemented date character "%s" in format "%s"', $dateChars[0], $this->pattern));
+ throw new NotImplementedException(sprintf('Unimplemented date character "%s" in format "%s".', $dateChars[0], $this->pattern));
}
return '';
diff --git a/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php b/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php
index 1bcae1bd777f9..4a4e38e3e1a1a 100644
--- a/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php
+++ b/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php
@@ -105,7 +105,7 @@ public static function getEtcTimeZoneId(string $formattedTimeZone): string
$signal = '-' === $matches['signal'] ? '+' : '-';
if (0 < $minutes) {
- throw new NotImplementedException(sprintf('It is not possible to use a GMT time zone with minutes offset different than zero (0). GMT time zone tried: %s.', $formattedTimeZone));
+ throw new NotImplementedException(sprintf('It is not possible to use a GMT time zone with minutes offset different than zero (0). GMT time zone tried: "%s".', $formattedTimeZone));
}
return 'Etc/GMT'.(0 !== $hours ? $signal.$hours : '');
diff --git a/src/Symfony/Component/Intl/Globals/IntlGlobals.php b/src/Symfony/Component/Intl/Globals/IntlGlobals.php
index 615107e6e4006..d353368900d02 100644
--- a/src/Symfony/Component/Intl/Globals/IntlGlobals.php
+++ b/src/Symfony/Component/Intl/Globals/IntlGlobals.php
@@ -108,7 +108,7 @@ public static function getErrorName(int $code): string
public static function setError(int $code, string $message = '')
{
if (!isset(self::$errorCodes[$code])) {
- throw new \InvalidArgumentException(sprintf('No such error code: "%s"', $code));
+ throw new \InvalidArgumentException(sprintf('No such error code: "%s".', $code));
}
self::$errorMessage = $message ? sprintf('%s: %s', $message, self::$errorCodes[$code]) : self::$errorCodes[$code];
diff --git a/src/Symfony/Component/Intl/Intl.php b/src/Symfony/Component/Intl/Intl.php
index 6d07046f9c308..1dfd3be1e632c 100644
--- a/src/Symfony/Component/Intl/Intl.php
+++ b/src/Symfony/Component/Intl/Intl.php
@@ -125,7 +125,7 @@ public static function getIcuDataVersion(): string
*/
public static function getIcuStubVersion(): string
{
- return '65.1';
+ return '66.1';
}
/**
diff --git a/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php b/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
index 0a0bea4a36ffb..5c8a510659b46 100644
--- a/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
+++ b/src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
@@ -360,7 +360,7 @@ public function format($value, int $type = self::TYPE_DEFAULT)
}
if (self::CURRENCY === $this->style) {
- throw new NotImplementedException(sprintf('%s() method does not support the formatting of currencies (instance with CURRENCY style). %s', __METHOD__, NotImplementedException::INTL_INSTALL_MESSAGE));
+ throw new NotImplementedException(sprintf('"%s()" method does not support the formatting of currencies (instance with CURRENCY style). "%s".', __METHOD__, NotImplementedException::INTL_INSTALL_MESSAGE));
}
// Only the default type is supported.
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/af.json b/src/Symfony/Component/Intl/Resources/data/currencies/af.json
index ca1681554fb6d..904aed5806732 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/af.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/af.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.json b/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.json
index cf82f91f4b1ca..af0bcb9939c7c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/af_NA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NAD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ak.json b/src/Symfony/Component/Intl/Resources/data/currencies/ak.json
index 15ac347813f82..c9c5c193f616e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ak.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ak.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/am.json b/src/Symfony/Component/Intl/Resources/data/currencies/am.json
index 5cb0ba415736d..f5bd0840ca668 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/am.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/am.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar.json
index e12bb0a8a0b84..92e0f602b0646 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.json
index 1997e2ec15730..531af78eb0a19 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_DJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DJF": [
"Fdj",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.json
index 29b41dbfe95f2..53bd5cd88c8aa 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_ER.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ERN": [
"Nfk",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.json
index d96c2debe8bbf..7ee6f3bc8e941 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_KM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KMF": [
"CF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.json
index 409e952d1f296..357702ad7f03e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_LB.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SDG": [
"SDG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.json
index dfcbfcded30c4..c9633b6388269 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_SO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SOS": [
"S",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.json b/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.json
index 64ceab00eb815..2358cf3375dd9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ar_SS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"GB£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/as.json b/src/Symfony/Component/Intl/Resources/data/currencies/as.json
index 6e3bd46461d98..62f15dd112fcd 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/as.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/as.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/az.json b/src/Symfony/Component/Intl/Resources/data/currencies/az.json
index 1fec8dfca9ccb..3fc0b41e42f5a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/az.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/az.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.json
index e78fe4d9d2462..99e463b7884a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/az_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AZN": [
"₼",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/be.json b/src/Symfony/Component/Intl/Resources/data/currencies/be.json
index ccd8e78df7424..116cada512c1e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/be.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/be.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bg.json b/src/Symfony/Component/Intl/Resources/data/currencies/bg.json
index 8b80de92ed684..77909c04b3a5b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bg.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bm.json b/src/Symfony/Component/Intl/Resources/data/currencies/bm.json
index 6de0991f2396b..05729c5ee48a7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bm.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bn.json b/src/Symfony/Component/Intl/Resources/data/currencies/bn.json
index 2b5513c77725d..7127fce6f407f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bo.json b/src/Symfony/Component/Intl/Resources/data/currencies/bo.json
index f6d5eacd6ff5b..0f0f31c85cf83 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.json b/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.json
index 144a0f55850b5..b9096e92b3270 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bo_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"CN¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/br.json b/src/Symfony/Component/Intl/Resources/data/currencies/br.json
index d2b01d1a14af5..0fc540af42394 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/br.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/br.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bs.json b/src/Symfony/Component/Intl/Resources/data/currencies/bs.json
index 93d6fee8c48b2..984d91f9dc29d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bs.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.json
index 80f4fc10d33d7..0ad689f90601f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/bs_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ca.json b/src/Symfony/Component/Intl/Resources/data/currencies/ca.json
index ec7b34bbb4ba4..7e5fc8b6806de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ca.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ca.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.json b/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.json
index e6120982c4ce5..1decc8a6ea3d6 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ca_FR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"FRF": [
"F",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ce.json b/src/Symfony/Component/Intl/Resources/data/currencies/ce.json
index 83f3abff2bb8a..ecfcc18222070 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ce.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ce.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/cs.json b/src/Symfony/Component/Intl/Resources/data/currencies/cs.json
index c393b3fd46d18..959510d9a0908 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/cs.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/cs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/cy.json b/src/Symfony/Component/Intl/Resources/data/currencies/cy.json
index 3a85facb9d80a..8b3e3b414173a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/cy.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/cy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/da.json b/src/Symfony/Component/Intl/Resources/data/currencies/da.json
index 87231da4ce6b0..075ff1dedd732 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/da.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/da.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/de.json b/src/Symfony/Component/Intl/Resources/data/currencies/de.json
index 2830ced8a49eb..66ad7fb629dd9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/de.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/de.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.json b/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.json
index 29398682b8a4b..ea72d8efe8878 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/de_CH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BYN": [
"BYN",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.json b/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.json
index bd82eb972b726..b0dc8ca47687a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/de_LI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"EUR": [
"EUR",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.json b/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.json
index a7a3dd162f9f1..0f3132c66e3f9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/de_LU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"LUF": [
"F",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/dz.json b/src/Symfony/Component/Intl/Resources/data/currencies/dz.json
index 7c6cb78893586..00e6c88f8fa1c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/dz.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/dz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ee.json b/src/Symfony/Component/Intl/Resources/data/currencies/ee.json
index ba3929597e5bc..bf3f82d730fae 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ee.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ee.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/el.json b/src/Symfony/Component/Intl/Resources/data/currencies/el.json
index 65b56fc3fb767..13fc181bdd683 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/el.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/el.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en.json b/src/Symfony/Component/Intl/Resources/data/currencies/en.json
index 19fd10236275e..f32b82d016f1a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_001.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_001.json
index 7451dc1108d62..d37c96ed934a3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_001.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_001.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BYB": [
"BYB",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_150.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_150.json
index 851ef1ac7a788..7eb0ad8c5fff7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_150.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_150.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"EUR": [
"€",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.json
index f0a010b16cf1f..5ea9359c88acb 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_AE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_AG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_AI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.json
index 9760a58d2e742..51e1bac8f2702 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_AU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.json
index a0bc40121a3b0..4d3f097fd925b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BB.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BBD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.json
index 4a96139c7d38f..87b2d2043ed4c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BIF": [
"FBu",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.json
index abf1b2c6feb21..1fd5003916f85 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BMD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.json
index aec811ab38bdc..8266e6035559c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BSD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.json
index f2e2d3384b824..fa20ef2fc8c60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BWP": [
"P",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.json
index 567a7e9f612e1..67ab88d490140 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_BZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.json
index 1dfd79828d154..1e4243327c678 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CAD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_CC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.json
index 9593a04ee699b..756b6cf69e54b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_CK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_CX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.json
index f8de5f607c488..54561ac3b33cf 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_DK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DKK": [
"kr.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_DM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.json
index 3f8f576a6f193..a2ff768d8c7aa 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_ER.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ERN": [
"Nfk",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.json
index ec4d41fc80fb0..9a3cd36e9626a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_FJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"FJD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.json
index 3cabc4f7d2e1b..f0dc3a4c60f94 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_FK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"FKP": [
"£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.json
index c2dd9dbd104c1..50442161dfea3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.json
index 298ca6c14b3f8..f1d1c00f4ba9d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GHS": [
"GH₵",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.json
index df990f8df2a2d..90c7c864f9714 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"GB£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.json
index 3857bbe02abd2..067174a8b6e88 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GMD": [
"D",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.json
index 846901026d094..da20dd2969e91 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_GY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GYD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.json
index c2dd9dbd104c1..50442161dfea3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_IM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.json
index 5fd20deee67ff..3694aaa6fb979 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"VEF": [
"VEF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.json
index c2dd9dbd104c1..50442161dfea3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_JE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.json
index b5b1ecdfbdc76..67554526aebcf 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_JM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"JMD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.json
index c24257b97e63b..25b94ef9f6a69 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KES": [
"Ksh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_KI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_KN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.json
index 7693660cf7d54..1f174cc260447 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_KY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KYD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_LC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.json
index 95c1d80703c50..82b50eae11049 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_LR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"LRD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.json
index 286306aff8177..4bcf6b6d8480c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_LS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ZAR": [
"R",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.json
index a277e5e6a1e2a..df23a8c9f6762 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MGA": [
"Ar",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.json
index 514da628c9207..0f35dcacb7982 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MOP": [
"MOP$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.json
index a5d7ee2fcd671..592b54aa889cb 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"GB£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.json
index e40ac109a677e..2ec72cc182d7c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MUR": [
"Rs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.json
index 3d02557995172..f8199ad2756aa 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MWK": [
"MK",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.json
index c7748df6ed816..1793b1390a294 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_MY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MYR": [
"RM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.json
index 36d726d9ed858..0214cbea393ed 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NAD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NF.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.json
index eaa9515f1798a..fdcc6dfd08e17 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NGN": [
"₦",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.json
index 43e0b04c8688e..10911e7ac9181 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"VUV": [
"VT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.json
index 9593a04ee699b..756b6cf69e54b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.json
index 9593a04ee699b..756b6cf69e54b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_NZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.json
index 936b3d8500090..599d79c3f5b58 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_PG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PGK": [
"K",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.json
index f4cb9636fd2c6..aa79fcb8a3954 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_PH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PHP": [
"₱",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.json
index 1f8b7663353e2..3dbb247ebb973 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_PK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PKR": [
"Rs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.json
index 9593a04ee699b..756b6cf69e54b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_PN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.json
index 5d0836ffd7609..9dfb4655eb5fe 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_RW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"RWF": [
"RF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.json
index 7091119ef1a38..546fe5461731d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SB.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SBD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.json
index b4a80e4a21b1e..069772bd47cfc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SCR": [
"SR",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.json
index b976e2252f556..9ef9ff516d3a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SEK": [
"kr",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.json
index decbaedde3bf5..8726a0b68325f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SGD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.json
index 6bb522946652d..a8dcb8b20509a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"GB£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.json
index 7e7b54f702aa3..57dabc442f66f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SL.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SLL": [
"Le",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.json
index 4db4d22095551..4472e6932993c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GBP": [
"GB£",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.json
index d89618cc129bb..1900377d50c3d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ANG": [
"NAf.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.json
index e630cd7f53ae9..02fd9082be04e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_SZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SZL": [
"E",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.json
index 9593a04ee699b..756b6cf69e54b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_TK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.json
index 7923b9e08eb09..e4a0fcc6125bc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_TO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"TOP": [
"T$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.json
index 831c897437171..bf735349a1871 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_TT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"TTD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.json
index e06ba740bc917..3ff72c4b97f60 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_TV.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.json
index 331cf2f4a4c74..fd3380adf229a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_TZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"TZS": [
"TSh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.json
index fe7fa9222ab5c..4309d6f4cddb3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_UG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"UGX": [
"USh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.json
index 75da27b3c7fe6..42a4fef3647de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_VC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XCD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.json
index 43e0b04c8688e..10911e7ac9181 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_VU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"VUV": [
"VT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.json
index 7a7881e0b43e6..5ffd99a1eb9dc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_WS.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"WST": [
"WS$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.json
index 286306aff8177..4bcf6b6d8480c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_ZA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ZAR": [
"R",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.json b/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.json
index 9008b3bc0fb63..b1da438859f4f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/en_ZM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ZMW": [
"K",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es.json b/src/Symfony/Component/Intl/Resources/data/currencies/es.json
index f7c19a6219fe0..41420b28ba7ed 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_419.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_419.json
index bf2d68794cfc1..eb2f82deff162 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_419.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_419.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CAD": [
"CAD",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.json
index 9a4f37c36b619..a0063d9729509 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_AR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ARS": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.json
index 0bc297d1c12f0..3098ef4b28cf3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_BO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BOB": [
"Bs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.json
index 4c044b8dfd570..8bb96d37cd5ae 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_BR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.json
index 49879bc818ca4..bab949eb0a369 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_BZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BZD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.json
index 77c9468d3fbe5..cab702cef413d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_CL.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CLP": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.json
index 78eb949bad5e2..61d1db1e07e7d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_CO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"COP": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.json
index 3f467551d266d..936dafb5ac5cc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_CR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CRC": [
"₡",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.json
index d2b332758d133..bf435c4469ab2 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_CU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CUP": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.json
index bd835b50240b0..8fcb9ae862ad8 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_DO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DOP": [
"RD$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.json
index c8a948296c4cc..79cd1708ff1ef 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_EC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"USD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.json
index 9ed6cb76c199d..2fbe79196b38b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_GQ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"XAF": [
"FCFA",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.json
index 4e0aacef3fb37..87363aac39cdf 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_GT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GTQ": [
"Q",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.json
index 2b2e08624ccc7..3a55a8fd148df 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_HN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"HNL": [
"L",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.json
index bf92abbde712f..58e03068e7853 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_MX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BDT": [
"BDT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.json
index ea51767071482..bfa33ca3cbb4b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_NI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NIO": [
"C$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.json
index fe7cfe2b5d0b7..f649a00138d43 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_PA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PAB": [
"B\/.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.json
index 82a13a02e0099..90f45fa1c3004 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_PE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PEN": [
"S\/",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.json
index 7321c452bfc70..5b03fdca3b863 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_PH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PHP": [
"₱",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.json
index c8a948296c4cc..79cd1708ff1ef 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_PR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"USD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.json
index 43799041eef52..aa397972f519a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_PY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PYG": [
"Gs.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.json
index c8a948296c4cc..79cd1708ff1ef 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_SV.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"USD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_US.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_US.json
index 296845a37988e..3e0d66545be1d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_US.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_US.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BDT": [
"BDT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.json
index 90a7d4e75f6b2..6c405ee7e506d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_UY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"USD": [
"US$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.json b/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.json
index 44c32df34c373..43c743c58b609 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/es_VE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"VEF": [
"Bs.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/et.json b/src/Symfony/Component/Intl/Resources/data/currencies/et.json
index 2daf4ef9dfd04..9ea44017a6c95 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/et.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/et.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/eu.json b/src/Symfony/Component/Intl/Resources/data/currencies/eu.json
index 9e688293cd4b7..b37feb6db7fe0 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/eu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/eu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fa.json b/src/Symfony/Component/Intl/Resources/data/currencies/fa.json
index b597c08fcc8d7..9461bf1ddb56d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fa.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.json b/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.json
index beedaee84ebc9..0f646d734a437 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fa_AF.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"A$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff.json
index 88aa6f1541afd..61193b59e4ea3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.json
index edfa7c4143764..2c526d97a25a4 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_GN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GNF": [
"FG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.json
index 1942ca156f860..6af1ef38110ff 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GHS": [
"GH₵",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.json
index c80cfd0c5c90a..c72dad59c30f4 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GMD": [
"D",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.json
index edfa7c4143764..2c526d97a25a4 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_GN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GNF": [
"FG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.json
index cf9fd44cd7c39..e88262cf52a2a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_LR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"LRD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.json
index 94c4f3fa782b3..80fdd4b81e5fc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_MR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MRU": [
"UM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.json
index 4c7dac14375dc..66ac4b25577d7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_NG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NGN": [
"₦",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.json
index fbb480572cf20..81dd91e125dae 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_Latn_SL.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SLL": [
"Le",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.json b/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.json
index 94c4f3fa782b3..80fdd4b81e5fc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ff_MR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MRU": [
"UM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fi.json b/src/Symfony/Component/Intl/Resources/data/currencies/fi.json
index 7b19f385304b8..14ecc6ffddd2b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fi.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fo.json b/src/Symfony/Component/Intl/Resources/data/currencies/fo.json
index f38cabf7ecae6..83aa90be078e3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.json b/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.json
index efdb0760f9662..4bab06e04193d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fo_DK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DKK": [
"kr.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr.json
index 3f15b3e4c8017..5aefbf44d9667 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.json
index 8b4df7d6a8937..2f5576e4e3efb 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_BI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BIF": [
"FBu",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.json
index 77dc3324359dc..1da34ed90fe5b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ARS": [
"ARS",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.json
index 913db11eee8ca..57b570b1e58de 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_CD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CDF": [
"FC",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.json
index 8554b632c7c65..7d9224664919e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_DJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DJF": [
"Fdj",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.json
index 491b3f6c1b014..5f30c2afa292f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_DZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DZD": [
"DA",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.json
index 1527693db5a69..86947c3a62a4f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_GN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GNF": [
"FG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.json
index 4c8e140c5e684..265c3d4a73e6d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_HT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"HTG": [
"G",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.json
index 1ea4d0a759445..ac26dc1ad6790 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_KM.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KMF": [
"CF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.json
index ecc4d77d48596..d13c5ad69167b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_LU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"FRF": [
"FRF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.json
index c0694b24a617f..1401ef06ce3e2 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MGA": [
"Ar",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.json
index 98ca2d20c22fc..425c01aa43109 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MRU": [
"UM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.json
index f2ae54be1a681..08fe126048aa3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_MU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MUR": [
"Rs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.json
index b935a5b482595..8cdf4b56363b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_RW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"RWF": [
"RF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.json
index 5c57822659fe7..a4bc53ebb746e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_SC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SCR": [
"SR",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.json
index 27211b979e259..8c5f3b6506153 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_SY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SYP": [
"LS",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.json
index a4ed2fe3129a9..ab639ef5e9778 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_TN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"TND": [
"DT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.json b/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.json
index 688d934cee635..156efcb6c584b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fr_VU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"VUV": [
"VT",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/fy.json b/src/Symfony/Component/Intl/Resources/data/currencies/fy.json
index 40ab6c94d0b55..f284629363b4f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/fy.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/fy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ga.json b/src/Symfony/Component/Intl/Resources/data/currencies/ga.json
index 79adbb5942170..7b74e5f93fb87 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ga.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ga.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/gd.json b/src/Symfony/Component/Intl/Resources/data/currencies/gd.json
index 6bee4feaded20..e323444968d99 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/gd.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/gd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/gl.json b/src/Symfony/Component/Intl/Resources/data/currencies/gl.json
index 9f1cf184a281a..adbc9b6879e70 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/gl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/gl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/gu.json b/src/Symfony/Component/Intl/Resources/data/currencies/gu.json
index 047bcf36f7b7b..1086aad00de26 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/gu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/gu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ha.json b/src/Symfony/Component/Intl/Resources/data/currencies/ha.json
index c8614b7918776..a46198678d012 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ha.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ha.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.json b/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.json
index 1942ca156f860..6af1ef38110ff 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ha_GH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GHS": [
"GH₵",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/he.json b/src/Symfony/Component/Intl/Resources/data/currencies/he.json
index 29f03346d8105..5fe1074c73d46 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/he.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/he.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/hi.json b/src/Symfony/Component/Intl/Resources/data/currencies/hi.json
index 3f3c5e5bb9079..83ecc2073189a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/hi.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/hi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/hr.json b/src/Symfony/Component/Intl/Resources/data/currencies/hr.json
index d226960555c27..be467a8cab93a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/hr.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/hr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.json b/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.json
index 8ce6f5f732895..236e78a394add 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/hr_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BAM": [
"KM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/hu.json b/src/Symfony/Component/Intl/Resources/data/currencies/hu.json
index dd34737dd2cf1..ae13d6ef6f635 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/hu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/hu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/hy.json b/src/Symfony/Component/Intl/Resources/data/currencies/hy.json
index fe85bc22d5bbd..5d023065ecc2c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/hy.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/hy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ia.json b/src/Symfony/Component/Intl/Resources/data/currencies/ia.json
index 779776dc0f692..65ac44e1c425e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ia.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ia.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ALL": [
"ALL",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/id.json b/src/Symfony/Component/Intl/Resources/data/currencies/id.json
index 202fb9660c571..39deb096afbee 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/id.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/id.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ig.json b/src/Symfony/Component/Intl/Resources/data/currencies/ig.json
index 13c237cef5e76..56be0256ea290 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ig.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ig.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BMD": [
"BMD",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ii.json b/src/Symfony/Component/Intl/Resources/data/currencies/ii.json
index 0841520efbd36..3dbdaeabc22f3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ii.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ii.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/in.json b/src/Symfony/Component/Intl/Resources/data/currencies/in.json
index 202fb9660c571..39deb096afbee 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/in.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/in.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/is.json b/src/Symfony/Component/Intl/Resources/data/currencies/is.json
index 120a51962f1e7..bf64dd7c4476c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/is.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/is.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/it.json b/src/Symfony/Component/Intl/Resources/data/currencies/it.json
index f3d2259909e6a..387e2f701904e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/it.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/it.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/iw.json b/src/Symfony/Component/Intl/Resources/data/currencies/iw.json
index 29f03346d8105..5fe1074c73d46 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/iw.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/iw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ja.json b/src/Symfony/Component/Intl/Resources/data/currencies/ja.json
index a09af6446fb10..a40f4afb27177 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ja.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ja.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/jv.json b/src/Symfony/Component/Intl/Resources/data/currencies/jv.json
index 55a69fb983743..33bd761a4dc46 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/jv.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/jv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ka.json b/src/Symfony/Component/Intl/Resources/data/currencies/ka.json
index 97938794cdfb3..bb40d624d67bd 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ka.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ka.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ki.json b/src/Symfony/Component/Intl/Resources/data/currencies/ki.json
index 1d24c041287da..b9e3241e81bc8 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ki.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ki.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/kk.json b/src/Symfony/Component/Intl/Resources/data/currencies/kk.json
index 58b4f96b978a7..fac3602dade61 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/kk.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/kk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/kl.json b/src/Symfony/Component/Intl/Resources/data/currencies/kl.json
index 81621d74c029d..b8cebbdf41b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/kl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/kl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DKK": [
"kr.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/km.json b/src/Symfony/Component/Intl/Resources/data/currencies/km.json
index ea16d82e06599..db6fbb7a21de2 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/km.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/km.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/kn.json b/src/Symfony/Component/Intl/Resources/data/currencies/kn.json
index 496b138519d00..b06f7eaaf02db 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/kn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/kn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ko.json b/src/Symfony/Component/Intl/Resources/data/currencies/ko.json
index 64746b6ea0430..62a541fa97d95 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ko.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ko.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ks.json b/src/Symfony/Component/Intl/Resources/data/currencies/ks.json
index 8c1101badd29c..2f98ab994d886 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ks.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ks.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ku.json b/src/Symfony/Component/Intl/Resources/data/currencies/ku.json
index 99bccabcff83a..4639d47bb6734 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ku.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ku.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"EUR": [
"€",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ky.json b/src/Symfony/Component/Intl/Resources/data/currencies/ky.json
index babc33eada314..8bd49a6147940 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ky.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ky.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lb.json b/src/Symfony/Component/Intl/Resources/data/currencies/lb.json
index 655f02d458f4b..820d1e1d839a4 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lb.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lg.json b/src/Symfony/Component/Intl/Resources/data/currencies/lg.json
index 30b779466ff81..672140091757b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lg.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ln.json b/src/Symfony/Component/Intl/Resources/data/currencies/ln.json
index 8617b1ac9241e..44924f8389f53 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ln.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ln.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ln_AO.json b/src/Symfony/Component/Intl/Resources/data/currencies/ln_AO.json
index 2e51c9aeca340..e7c31c8a24b25 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ln_AO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ln_AO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AOA": [
"Kz",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lo.json b/src/Symfony/Component/Intl/Resources/data/currencies/lo.json
index 5c0c28bc3295f..17c80297269ca 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lt.json b/src/Symfony/Component/Intl/Resources/data/currencies/lt.json
index 65afdd843e1e5..ab12165a400f5 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lt.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lu.json b/src/Symfony/Component/Intl/Resources/data/currencies/lu.json
index 970eb82f2a5c6..e77059d7ec58b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/lv.json b/src/Symfony/Component/Intl/Resources/data/currencies/lv.json
index dd5586b6c1b92..8823c9ff4a7ea 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/lv.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/lv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/meta.json b/src/Symfony/Component/Intl/Resources/data/currencies/meta.json
index 664a651edaea9..27e0e79e52878 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/meta.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/meta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Currencies": [
"ADP",
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mg.json b/src/Symfony/Component/Intl/Resources/data/currencies/mg.json
index 71aec58ca3dc2..8436b6ac607b7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mg.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mi.json b/src/Symfony/Component/Intl/Resources/data/currencies/mi.json
index 74179d5052c6a..e17d95645055b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mi.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ANG": [
"ANG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mk.json b/src/Symfony/Component/Intl/Resources/data/currencies/mk.json
index 787203a04fc66..8db824dcdc00a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mk.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ml.json b/src/Symfony/Component/Intl/Resources/data/currencies/ml.json
index c65462c152118..208a8a9ef7b0f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ml.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ml.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mn.json b/src/Symfony/Component/Intl/Resources/data/currencies/mn.json
index 91beb45e5b394..8ba906ddea380 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mo.json b/src/Symfony/Component/Intl/Resources/data/currencies/mo.json
index 062050f722e20..ed2e341fb002f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mr.json b/src/Symfony/Component/Intl/Resources/data/currencies/mr.json
index de58880091d3c..234dc013b92d7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mr.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ms.json b/src/Symfony/Component/Intl/Resources/data/currencies/ms.json
index fe919b7c0c065..c36ea2670bfd5 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ms.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ms.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ms_BN.json b/src/Symfony/Component/Intl/Resources/data/currencies/ms_BN.json
index 0571439f671e2..45ffa45673fcc 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ms_BN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ms_BN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BND": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ms_SG.json b/src/Symfony/Component/Intl/Resources/data/currencies/ms_SG.json
index 7675efe6a8773..58b9eb6cde576 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ms_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ms_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SGD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/mt.json b/src/Symfony/Component/Intl/Resources/data/currencies/mt.json
index d0959e37329f7..020849fca4d6a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/mt.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/mt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/my.json b/src/Symfony/Component/Intl/Resources/data/currencies/my.json
index a11d16518f4e6..316990e4a7038 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/my.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/my.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nb.json b/src/Symfony/Component/Intl/Resources/data/currencies/nb.json
index 5b6dc1d0b895b..6d9337e1d902f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nb.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nd.json b/src/Symfony/Component/Intl/Resources/data/currencies/nd.json
index 525b738a71fcf..52ac51393fb17 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nd.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ne.json b/src/Symfony/Component/Intl/Resources/data/currencies/ne.json
index 1b3225b18eee8..01533e35aec51 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ne.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ne.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl.json
index b18cc3f28fcb4..226a015e8cfa5 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl_AW.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl_AW.json
index fc7a0b2e0fe5c..524888726ce2d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl_AW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl_AW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AWG": [
"Afl.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl_BQ.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl_BQ.json
index f0b5e3e11dada..492b7e6ccce91 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl_BQ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl_BQ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"USD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl_CW.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl_CW.json
index 1d5cf435941c7..f8a487fa8b553 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl_CW.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl_CW.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ANG": [
"NAf.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl_SR.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl_SR.json
index 3f6063631b024..a322428b81147 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl_SR.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl_SR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SRD": [
"$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nl_SX.json b/src/Symfony/Component/Intl/Resources/data/currencies/nl_SX.json
index 1d5cf435941c7..f8a487fa8b553 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nl_SX.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nl_SX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ANG": [
"NAf.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/nn.json b/src/Symfony/Component/Intl/Resources/data/currencies/nn.json
index a0f7ca3f1d9fe..02f1bd013a204 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/nn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/nn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/no.json b/src/Symfony/Component/Intl/Resources/data/currencies/no.json
index 5b6dc1d0b895b..6d9337e1d902f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/no.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/no.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/om.json b/src/Symfony/Component/Intl/Resources/data/currencies/om.json
index 9ff103a0cf169..0e2bb55f7d3c7 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/om.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/om.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/om_KE.json b/src/Symfony/Component/Intl/Resources/data/currencies/om_KE.json
index 6f249a7070d3f..47ff74908481e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/om_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/om_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KES": [
"Ksh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/or.json b/src/Symfony/Component/Intl/Resources/data/currencies/or.json
index 0905c2d901a97..003d3991a350d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/or.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/or.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/os.json b/src/Symfony/Component/Intl/Resources/data/currencies/os.json
index 075e5cb905913..0f56664886cca 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/os.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/os.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/os_RU.json b/src/Symfony/Component/Intl/Resources/data/currencies/os_RU.json
index d10c7bfdb4cf2..2dd3c878622b9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/os_RU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/os_RU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GEL": [
"GEL",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pa.json b/src/Symfony/Component/Intl/Resources/data/currencies/pa.json
index 06145963c23ab..2dee6c91d6ea3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pa.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pa_Arab.json b/src/Symfony/Component/Intl/Resources/data/currencies/pa_Arab.json
index 71117b1922aa5..70f869e58b768 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pa_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pa_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"EUR": [
"€",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pl.json b/src/Symfony/Component/Intl/Resources/data/currencies/pl.json
index 10d793c3b1c79..e0afcdc10cf8c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ps.json b/src/Symfony/Component/Intl/Resources/data/currencies/ps.json
index 4e54ea3cf907a..fbbcd985a5d92 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ps.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ps.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ps_PK.json b/src/Symfony/Component/Intl/Resources/data/currencies/ps_PK.json
index 0f234ee6fdf6e..7b3a29b69c193 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ps_PK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ps_PK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PKR": [
"Rs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt.json
index 77a9fe4d1a55c..b4ea906f5fe36 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_AO.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_AO.json
index 5b89811e6cce7..a3c5b630c1841 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_AO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_AO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AOA": [
"Kz",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_CV.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_CV.json
index 72625b8614cd1..3e763f9f8ae58 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_CV.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_CV.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CVE": [
"",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_LU.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_LU.json
index 90dc7661a474b..08e084d422a75 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_LU.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_LU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"LUF": [
"F",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_MO.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_MO.json
index 816baa526a1ff..2c51f9d066132 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_MO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_MO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MOP": [
"MOP$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_MZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_MZ.json
index a121304d832bc..76fab2b5d9b01 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_MZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_MZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MZN": [
"MTn",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_PT.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_PT.json
index c5d74219c8ff6..afa4c5babe2f0 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_PT.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_PT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/pt_ST.json b/src/Symfony/Component/Intl/Resources/data/currencies/pt_ST.json
index c87492e243566..41e51e8481a13 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/pt_ST.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/pt_ST.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"STN": [
"Db",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/qu.json b/src/Symfony/Component/Intl/Resources/data/currencies/qu.json
index c69f3682d101b..8fab0c7950ffe 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/qu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/qu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/qu_BO.json b/src/Symfony/Component/Intl/Resources/data/currencies/qu_BO.json
index a36ac057171c4..c826aedffb69f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/qu_BO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/qu_BO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BOB": [
"Bs",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/qu_EC.json b/src/Symfony/Component/Intl/Resources/data/currencies/qu_EC.json
index ef56ffae0ff17..dd7c9cf6abb4f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/qu_EC.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/qu_EC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PEN": [
"PEN",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/rm.json b/src/Symfony/Component/Intl/Resources/data/currencies/rm.json
index 519dd786404c1..2d7b0bf27f55e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/rm.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/rm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/rn.json b/src/Symfony/Component/Intl/Resources/data/currencies/rn.json
index b6a974c325cca..67cae3ae33dd0 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/rn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/rn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ro.json b/src/Symfony/Component/Intl/Resources/data/currencies/ro.json
index 062050f722e20..ed2e341fb002f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ro.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ro.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ro_MD.json b/src/Symfony/Component/Intl/Resources/data/currencies/ro_MD.json
index b4077faae2511..1ed8199cefc87 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ro_MD.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ro_MD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MDL": [
"L",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/root.json b/src/Symfony/Component/Intl/Resources/data/currencies/root.json
index 1e89a16491ecc..de391f8ba3436 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/root.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/root.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"A$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ru.json b/src/Symfony/Component/Intl/Resources/data/currencies/ru.json
index 0f84c97a694b6..205c6e55ece0a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ru.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ru.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ru_BY.json b/src/Symfony/Component/Intl/Resources/data/currencies/ru_BY.json
index ee89a95483da8..638fe706c2302 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ru_BY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ru_BY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BYN": [
"Br",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ru_KG.json b/src/Symfony/Component/Intl/Resources/data/currencies/ru_KG.json
index c540c16828f24..61e3a0154763b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ru_KG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ru_KG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KGS": [
"сом",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ru_KZ.json b/src/Symfony/Component/Intl/Resources/data/currencies/ru_KZ.json
index b7a1f4bf0bef3..a6430abde10f1 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ru_KZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ru_KZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KZT": [
"₸",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ru_MD.json b/src/Symfony/Component/Intl/Resources/data/currencies/ru_MD.json
index 5bd8b15184eb4..46552ffc51b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ru_MD.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ru_MD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MDL": [
"L",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/rw.json b/src/Symfony/Component/Intl/Resources/data/currencies/rw.json
index 6e7627015a2bf..619f3e944c365 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/rw.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/rw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"RWF": [
"RF",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sd.json b/src/Symfony/Component/Intl/Resources/data/currencies/sd.json
index 0b5434ba96159..125c666c97efd 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sd.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/se.json b/src/Symfony/Component/Intl/Resources/data/currencies/se.json
index 1f9260f4d2076..c6ef60512dbee 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/se.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/se.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DKK": [
"Dkr",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/se_SE.json b/src/Symfony/Component/Intl/Resources/data/currencies/se_SE.json
index dca505f1049b0..439a218513308 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/se_SE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/se_SE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"NOK": [
"Nkr",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sg.json b/src/Symfony/Component/Intl/Resources/data/currencies/sg.json
index cb8d319c478cf..17b28374b9c0f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sg.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sh.json b/src/Symfony/Component/Intl/Resources/data/currencies/sh.json
index 58ac2fb505e62..8c29c2097d1b8 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sh.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/si.json b/src/Symfony/Component/Intl/Resources/data/currencies/si.json
index e5ee6b2a997d8..2d632a15ebd2a 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/si.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/si.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sk.json b/src/Symfony/Component/Intl/Resources/data/currencies/sk.json
index 209152ea222d9..c289c5199aebb 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sk.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sl.json b/src/Symfony/Component/Intl/Resources/data/currencies/sl.json
index 1af7c074a17c6..87d2107b57d72 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sn.json b/src/Symfony/Component/Intl/Resources/data/currencies/sn.json
index 6fe9cb943ac29..f8dc423c6feac 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/so.json b/src/Symfony/Component/Intl/Resources/data/currencies/so.json
index b8f5dfe7a4431..7cae03a58a122 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/so.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/so.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/so_DJ.json b/src/Symfony/Component/Intl/Resources/data/currencies/so_DJ.json
index a3a3fd4181762..eeb05f0cbd44f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/so_DJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/so_DJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"DJF": [
"Fdj",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/so_ET.json b/src/Symfony/Component/Intl/Resources/data/currencies/so_ET.json
index 3c4ec498e7da6..c7889e62f3281 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/so_ET.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/so_ET.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ETB": [
"Br",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/so_KE.json b/src/Symfony/Component/Intl/Resources/data/currencies/so_KE.json
index 554e94c95a928..c95b6b8164c1b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/so_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/so_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KES": [
"Ksh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sq.json b/src/Symfony/Component/Intl/Resources/data/currencies/sq.json
index ee13f4ea25c36..566dde702c6a0 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sq.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sq.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sq_MK.json b/src/Symfony/Component/Intl/Resources/data/currencies/sq_MK.json
index 21534be17fcda..ac16b9f349791 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sq_MK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sq_MK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MKD": [
"den",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sr.json b/src/Symfony/Component/Intl/Resources/data/currencies/sr.json
index b757622161ef5..64f0db662eed6 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sr.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn.json b/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn.json
index 58ac2fb505e62..8c29c2097d1b8 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sr_Latn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sv.json b/src/Symfony/Component/Intl/Resources/data/currencies/sv.json
index 36884178d4597..c66c3c46caba6 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sv.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sw.json b/src/Symfony/Component/Intl/Resources/data/currencies/sw.json
index 795ba5b9e3094..32d514a9038f5 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sw.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sw_CD.json b/src/Symfony/Component/Intl/Resources/data/currencies/sw_CD.json
index 631dc031546fb..6514995eefd49 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sw_CD.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sw_CD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CDF": [
"FC",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sw_KE.json b/src/Symfony/Component/Intl/Resources/data/currencies/sw_KE.json
index 7aa6095c056a7..4109c1128ff28 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sw_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sw_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/sw_UG.json b/src/Symfony/Component/Intl/Resources/data/currencies/sw_UG.json
index fca3c48eb6806..6c876d812d0ac 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/sw_UG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/sw_UG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"UGX": [
"USh",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ta.json b/src/Symfony/Component/Intl/Resources/data/currencies/ta.json
index 0a773073064f6..95bbfd1ecd3c2 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ta.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ta_LK.json b/src/Symfony/Component/Intl/Resources/data/currencies/ta_LK.json
index 0b167fae9ca57..1f7897793252c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ta_LK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ta_LK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"LKR": [
"Rs.",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ta_MY.json b/src/Symfony/Component/Intl/Resources/data/currencies/ta_MY.json
index a8526baa3852b..4a085f45ca6e8 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ta_MY.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ta_MY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MYR": [
"RM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ta_SG.json b/src/Symfony/Component/Intl/Resources/data/currencies/ta_SG.json
index b3d75e8860f2b..4ece8a9326920 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ta_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ta_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MYR": [
"RM",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/te.json b/src/Symfony/Component/Intl/Resources/data/currencies/te.json
index dab955785a3b6..a253e255f2310 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/te.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/te.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/tg.json b/src/Symfony/Component/Intl/Resources/data/currencies/tg.json
index 246339b9615bf..5a50eece5e97e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/tg.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/tg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/th.json b/src/Symfony/Component/Intl/Resources/data/currencies/th.json
index e8d74c5b9660e..b60f800ef2011 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/th.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/th.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ti.json b/src/Symfony/Component/Intl/Resources/data/currencies/ti.json
index e71e383270ade..72fab57813a0c 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ti.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ti.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ti_ER.json b/src/Symfony/Component/Intl/Resources/data/currencies/ti_ER.json
index 5019f02b63116..d6ad6e4fafd69 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ti_ER.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ti_ER.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ERN": [
"Nfk",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/tk.json b/src/Symfony/Component/Intl/Resources/data/currencies/tk.json
index 5f15cf5706fcf..264d9245eb012 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/tk.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/tk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/tl.json b/src/Symfony/Component/Intl/Resources/data/currencies/tl.json
index 59101fe152d87..7bc16d0be8230 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/tl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/tl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/to.json b/src/Symfony/Component/Intl/Resources/data/currencies/to.json
index 00166b230bd34..05eecb5ee619e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/to.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/to.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AUD": [
"AUD$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/tr.json b/src/Symfony/Component/Intl/Resources/data/currencies/tr.json
index 4224f28dab1de..43808ebd5973f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/tr.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/tr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/tt.json b/src/Symfony/Component/Intl/Resources/data/currencies/tt.json
index fbc05d9f57179..2d12be5891daf 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/tt.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/tt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ug.json b/src/Symfony/Component/Intl/Resources/data/currencies/ug.json
index 74911d0bb840c..d749ab07865aa 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ug.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ug.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/uk.json b/src/Symfony/Component/Intl/Resources/data/currencies/uk.json
index b80a5494b8915..43dae80e59e41 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/uk.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/uk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ur.json b/src/Symfony/Component/Intl/Resources/data/currencies/ur.json
index aeb04ae0bcb3e..c576763c10eac 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ur.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ur.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/ur_IN.json b/src/Symfony/Component/Intl/Resources/data/currencies/ur_IN.json
index 34c5edf9d0c8e..c663ebbad9e2e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/ur_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/ur_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CRC": [
"CRC",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/uz.json b/src/Symfony/Component/Intl/Resources/data/currencies/uz.json
index 3f69405df391b..7c7cb3ed15557 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/uz.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/uz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/uz_Arab.json b/src/Symfony/Component/Intl/Resources/data/currencies/uz_Arab.json
index 5772faf476876..d131865fecf0e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/uz_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/uz_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AFN": [
"؋",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/uz_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/currencies/uz_Cyrl.json
index 70799400ace89..fe1a2fd4efe5d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/uz_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/uz_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ANG": [
"ANG",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/vi.json b/src/Symfony/Component/Intl/Resources/data/currencies/vi.json
index e504695fe6a53..0cfd13ebd237d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/vi.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/vi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/wo.json b/src/Symfony/Component/Intl/Resources/data/currencies/wo.json
index d993629c27e5e..a8abaeec529c9 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/wo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/wo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/xh.json b/src/Symfony/Component/Intl/Resources/data/currencies/xh.json
index 89db0354a9b53..3860ab0871b66 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/xh.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/xh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ZAR": [
"R",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/yi.json b/src/Symfony/Component/Intl/Resources/data/currencies/yi.json
index 568926166f7ee..e8bf1047105c3 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/yi.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/yi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BRL": [
"R$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/yo.json b/src/Symfony/Component/Intl/Resources/data/currencies/yo.json
index eac610ebb9d0e..d9a5a36a6d240 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/yo.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/yo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/yo_BJ.json b/src/Symfony/Component/Intl/Resources/data/currencies/yo_BJ.json
index f6962c1df685d..c4a338af2300e 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/yo_BJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/yo_BJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh.json
index 0cdbc4fe1e316..d87fb74494b54 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_HK.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_HK.json
index bac3f60782ca3..fc52eabf1960f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_HK.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_HK.json
index b440bb72e521f..dda3b5355ec23 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"CN¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_MO.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_MO.json
index 981e26c8b90ac..f06fa4c3cfbcf 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_MO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_MO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"CN¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_SG.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_SG.json
index 8f48a02670581..d4fec5421b465 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hans_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"CN¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant.json
index 1d69e005c895e..3453835bb040d 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ADP": [
"ADP",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_HK.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_HK.json
index bac3f60782ca3..fc52eabf1960f 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_MO.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_MO.json
index 2477be64b3ac8..10d0e3e82a578 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_MO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_Hant_MO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MOP": [
"MOP$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_MO.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_MO.json
index 2477be64b3ac8..10d0e3e82a578 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_MO.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_MO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MOP": [
"MOP$",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zh_SG.json b/src/Symfony/Component/Intl/Resources/data/currencies/zh_SG.json
index 8f48a02670581..d4fec5421b465 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zh_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zh_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CNY": [
"CN¥",
diff --git a/src/Symfony/Component/Intl/Resources/data/currencies/zu.json b/src/Symfony/Component/Intl/Resources/data/currencies/zu.json
index ebab2f1441906..04a9fd62d688b 100644
--- a/src/Symfony/Component/Intl/Resources/data/currencies/zu.json
+++ b/src/Symfony/Component/Intl/Resources/data/currencies/zu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AED": [
"AED",
diff --git a/src/Symfony/Component/Intl/Resources/data/git-info.txt b/src/Symfony/Component/Intl/Resources/data/git-info.txt
index 30257ca635ebd..3a5b9f5744862 100644
--- a/src/Symfony/Component/Intl/Resources/data/git-info.txt
+++ b/src/Symfony/Component/Intl/Resources/data/git-info.txt
@@ -2,6 +2,6 @@ Git information
===============
URL: https://github.com/unicode-org/icu.git
-Revision: fd123bf023882f07bfacf51c39111be2f946d8f8
-Author: Steven R. Loomis
-Date: 2019-10-02T10:25:22-07:00
+Revision: 5f681ecbc75898a6484217b322f3883b6d1b2049
+Author: Jeff Genovy
+Date: 2020-03-09T17:38:44-07:00
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/af.json b/src/Symfony/Component/Intl/Resources/data/languages/af.json
index 8085f76a33d3e..2f1c8cecfa782 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/af.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/af.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkasies",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ak.json b/src/Symfony/Component/Intl/Resources/data/languages/ak.json
index f73201c66261c..f1f3d04b98fb8 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ak.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ak.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Akan",
"am": "Amarik",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/am.json b/src/Symfony/Component/Intl/Resources/data/languages/am.json
index c85cee441941d..a934f769e2b1e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/am.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/am.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "አፋርኛ",
"ab": "አብሐዚኛ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ar.json b/src/Symfony/Component/Intl/Resources/data/languages/ar.json
index 2a8454d67aaaf..e2694323fc643 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ar.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ar.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "الأفارية",
"ab": "الأبخازية",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ar_EG.json b/src/Symfony/Component/Intl/Resources/data/languages/ar_EG.json
index 21f3b6987f7ba..69365536a501d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ar_EG.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ar_EG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"da": "الدنماركية"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ar_LY.json b/src/Symfony/Component/Intl/Resources/data/languages/ar_LY.json
index f48563099c531..ed52b664d7cd6 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ar_LY.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ar_LY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "المابودونجونية",
"gn": "الغورانية",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ar_SA.json b/src/Symfony/Component/Intl/Resources/data/languages/ar_SA.json
index 549f86ae8fad1..9b415e6f53b67 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ar_SA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ar_SA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "المابودونجونية",
"gn": "الغورانية",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/as.json b/src/Symfony/Component/Intl/Resources/data/languages/as.json
index a235de68fd849..dd85315b40d59 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/as.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/as.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "আফাৰ",
"ab": "আবখাজিয়ান",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/az.json b/src/Symfony/Component/Intl/Resources/data/languages/az.json
index 451c16103fee7..e717f971f5e16 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/az.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/az.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abxaz",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/az_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/languages/az_Cyrl.json
index c54909afb93e0..5fa8ad2f37f64 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/az_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/az_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афар",
"ab": "абхаз",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/be.json b/src/Symfony/Component/Intl/Resources/data/languages/be.json
index 17f8f95012760..547f1ad2649cf 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/be.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/be.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарская",
"ab": "абхазская",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bg.json b/src/Symfony/Component/Intl/Resources/data/languages/bg.json
index 49d1c9afaecdd..501a8be1ffa79 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bg.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарски",
"ab": "абхазки",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bm.json b/src/Symfony/Component/Intl/Resources/data/languages/bm.json
index cc2c011c8b100..1a1f609102056 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bm.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "akankan",
"am": "amarikikan",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bn.json b/src/Symfony/Component/Intl/Resources/data/languages/bn.json
index 1f1824d93a03c..632d635f7976e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "আফার",
"ab": "আবখাজিয়ান",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bn_IN.json b/src/Symfony/Component/Intl/Resources/data/languages/bn_IN.json
index 694226724675d..ff5d3d976cdd0 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bn_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bn_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ksh": "কোলোনিয়ান"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bo.json b/src/Symfony/Component/Intl/Resources/data/languages/bo.json
index 04b87838feb6a..b0acc66936487 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bo": "བོད་སྐད་",
"dz": "རྫོང་ཁ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/br.json b/src/Symfony/Component/Intl/Resources/data/languages/br.json
index dea4c5f511212..18d54a3d7d2c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/br.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/br.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhazeg",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bs.json b/src/Symfony/Component/Intl/Resources/data/languages/bs.json
index 1dad59dee72b6..955f3ab794406 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bs.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarski",
"ab": "abhaski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/bs_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/languages/bs_Cyrl.json
index 7f126fe01a942..35b6eff73c617 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/bs_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/bs_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарски",
"ab": "абказијски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ca.json b/src/Symfony/Component/Intl/Resources/data/languages/ca.json
index 671d6498363fd..d6e6b940eec5b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ca.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ca.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "àfar",
"ab": "abkhaz",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ce.json b/src/Symfony/Component/Intl/Resources/data/languages/ce.json
index d07c12c0acd00..9181a8ce8e8af 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ce.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ce.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарийн",
"ab": "абхазхойн",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/cs.json b/src/Symfony/Component/Intl/Resources/data/languages/cs.json
index 82ed38487c197..784ebc3834b63 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/cs.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/cs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarština",
"ab": "abcházština",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/cy.json b/src/Symfony/Component/Intl/Resources/data/languages/cy.json
index 0c9f70a6f298b..4d446eab94449 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/cy.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/cy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Affareg",
"ab": "Abchaseg",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/da.json b/src/Symfony/Component/Intl/Resources/data/languages/da.json
index 0fd6e4d77668d..bca161600ef14 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/da.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/da.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhasisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/de.json b/src/Symfony/Component/Intl/Resources/data/languages/de.json
index 296e6706ceee7..898aa86a274ad 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/de.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/de.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abchasisch",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/de_AT.json b/src/Symfony/Component/Intl/Resources/data/languages/de_AT.json
index 959612a9fa4e1..5490f0204f22b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/de_AT.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/de_AT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"car": "karibische Sprache",
"chb": "Chibcha-Sprache",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/de_CH.json b/src/Symfony/Component/Intl/Resources/data/languages/de_CH.json
index 9b77426f04aaf..edfe147067074 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/de_CH.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/de_CH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "Aceh-Sprache",
"ach": "Acholi-Sprache",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/de_LU.json b/src/Symfony/Component/Intl/Resources/data/languages/de_LU.json
index 8a84b64b97f59..b4930ef7f8865 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/de_LU.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/de_LU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"be": "Belarussisch"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/dz.json b/src/Symfony/Component/Intl/Resources/data/languages/dz.json
index a19cccc47eef5..34ae6b8905aaf 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/dz.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/dz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ཨ་ཕར་ཁ",
"ab": "ཨཱབ་ཁ་ཟི་ཡ་ཁ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ee.json b/src/Symfony/Component/Intl/Resources/data/languages/ee.json
index 0ee844b694bfa..f5151b8f8b442 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ee.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ee.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ab": "abkhaziagbe",
"af": "afrikaangbe",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/el.json b/src/Symfony/Component/Intl/Resources/data/languages/el.json
index 8da9cca6090bb..9daf2fbc2f637 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/el.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/el.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Αφάρ",
"ab": "Αμπχαζικά",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en.json b/src/Symfony/Component/Intl/Resources/data/languages/en.json
index 037fa03dcac7b..2bb71958c84db 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkhazian",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_001.json b/src/Symfony/Component/Intl/Resources/data/languages/en_001.json
index 6a4e7a79b4315..47bf235b7c8c1 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_001.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_001.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"mus": "Creek"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_AU.json b/src/Symfony/Component/Intl/Resources/data/languages/en_AU.json
index c34ca3347211e..6bb7b74ca4133 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_AU.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_AU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bn": "Bengali",
"frc": "frc",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_CA.json b/src/Symfony/Component/Intl/Resources/data/languages/en_CA.json
index 8f94cea93bbd2..5d33f67227878 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bn": "Bengali",
"mfe": "Mauritian",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_GB.json b/src/Symfony/Component/Intl/Resources/data/languages/en_GB.json
index 346b9fe7e1a17..9cb9008bef526 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_GB.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_GB.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": [],
"LocalizedNames": {
"ar_001": "Modern Standard Arabic",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_IN.json b/src/Symfony/Component/Intl/Resources/data/languages/en_IN.json
index f6867ffe7c88d..21eeb2c2d55fa 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bn": "Bengali"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/en_NZ.json b/src/Symfony/Component/Intl/Resources/data/languages/en_NZ.json
index c2c60bb19db37..b804a10fb348c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/en_NZ.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/en_NZ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"mi": "Māori"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/eo.json b/src/Symfony/Component/Intl/Resources/data/languages/eo.json
index e2b767d653454..4c3cb397407b8 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/eo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/eo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afara",
"ab": "abĥaza",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es.json b/src/Symfony/Component/Intl/Resources/data/languages/es.json
index 482296850f31b..7d378b403b3bd 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abjasio",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_419.json b/src/Symfony/Component/Intl/Resources/data/languages/es_419.json
index 86c126f62ca0a..e3a8e6cb1b11f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_419.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_419.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "achenés",
"ady": "adigeo",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_AR.json b/src/Symfony/Component/Intl/Resources/data/languages/es_AR.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_AR.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_AR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_BO.json b/src/Symfony/Component/Intl/Resources/data/languages/es_BO.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_BO.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_BO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_CL.json b/src/Symfony/Component/Intl/Resources/data/languages/es_CL.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_CL.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_CL.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_CO.json b/src/Symfony/Component/Intl/Resources/data/languages/es_CO.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_CO.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_CO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_CR.json b/src/Symfony/Component/Intl/Resources/data/languages/es_CR.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_CR.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_CR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_DO.json b/src/Symfony/Component/Intl/Resources/data/languages/es_DO.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_DO.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_DO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_EC.json b/src/Symfony/Component/Intl/Resources/data/languages/es_EC.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_EC.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_EC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_GT.json b/src/Symfony/Component/Intl/Resources/data/languages/es_GT.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_GT.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_GT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_HN.json b/src/Symfony/Component/Intl/Resources/data/languages/es_HN.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_HN.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_HN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_MX.json b/src/Symfony/Component/Intl/Resources/data/languages/es_MX.json
index 435a16e804d03..da4bf402e9859 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_MX.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_MX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_NI.json b/src/Symfony/Component/Intl/Resources/data/languages/es_NI.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_NI.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_NI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_PA.json b/src/Symfony/Component/Intl/Resources/data/languages/es_PA.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_PA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_PA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_PE.json b/src/Symfony/Component/Intl/Resources/data/languages/es_PE.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_PE.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_PE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_PR.json b/src/Symfony/Component/Intl/Resources/data/languages/es_PR.json
index fc11c5e3760ec..e9dec1206d38e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_PR.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_PR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_PY.json b/src/Symfony/Component/Intl/Resources/data/languages/es_PY.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_PY.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_PY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_SV.json b/src/Symfony/Component/Intl/Resources/data/languages/es_SV.json
index fc11c5e3760ec..e9dec1206d38e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_SV.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_SV.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_US.json b/src/Symfony/Component/Intl/Resources/data/languages/es_US.json
index 6a440d49a1e59..fc55fd502ef13 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_US.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_US.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"alt": "altái meridional",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/es_VE.json b/src/Symfony/Component/Intl/Resources/data/languages/es_VE.json
index 3b1417e0e440a..66bc57f135b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/es_VE.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/es_VE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehnés",
"arp": "arapaho",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/et.json b/src/Symfony/Component/Intl/Resources/data/languages/et.json
index 5a93831ccbd7d..996d17b2b99bb 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/et.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/et.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afari",
"ab": "abhaasi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/eu.json b/src/Symfony/Component/Intl/Resources/data/languages/eu.json
index d381997079e07..2f9d43da84d0c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/eu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/eu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarera",
"ab": "abkhaziera",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fa.json b/src/Symfony/Component/Intl/Resources/data/languages/fa.json
index 43e60e48681eb..1c8bd9b95ceb5 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fa.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "آفاری",
"ab": "آبخازی",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fa_AF.json b/src/Symfony/Component/Intl/Resources/data/languages/fa_AF.json
index 43e24c58a4ce6..d8f5276165fe8 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fa_AF.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fa_AF.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ab": "افریکانس",
"as": "اسامی",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ff.json b/src/Symfony/Component/Intl/Resources/data/languages/ff.json
index 6c8f824548de3..d5a697ecbfce9 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ff.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ff.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Akaan",
"am": "Amarik",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fi.json b/src/Symfony/Component/Intl/Resources/data/languages/fi.json
index c26bd7cb8cf98..c6baea59bd478 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fi.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abhaasi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fo.json b/src/Symfony/Component/Intl/Resources/data/languages/fo.json
index 5e74a7dcfeb2d..4f9327c1d6c2c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhasiskt",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fr.json b/src/Symfony/Component/Intl/Resources/data/languages/fr.json
index 800e10b54aee3..9ee8ffd76c9db 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fr.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhaze",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fr_BE.json b/src/Symfony/Component/Intl/Resources/data/languages/fr_BE.json
index a7c58f3d4793b..7559132b9bb87 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fr_BE.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fr_BE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"frp": "franco-provençal",
"goh": "ancien haut-allemand",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fr_CA.json b/src/Symfony/Component/Intl/Resources/data/languages/fr_CA.json
index 4080ee5aecda8..46b3530fe834b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fr_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fr_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ady": "adygué",
"ang": "vieil anglais",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fr_CH.json b/src/Symfony/Component/Intl/Resources/data/languages/fr_CH.json
index f729c7ba5276f..cb73af7c94db2 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fr_CH.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fr_CH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"gu": "goudjrati",
"pdc": "allemand de Pennsylvanie",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/fy.json b/src/Symfony/Component/Intl/Resources/data/languages/fy.json
index bb4a9db6b92c8..626aff323197c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/fy.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/fy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abchazysk",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ga.json b/src/Symfony/Component/Intl/Resources/data/languages/ga.json
index ef713b39939d3..9ad0406f145ee 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ga.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ga.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afáiris",
"ab": "Abcáisis",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/gd.json b/src/Symfony/Component/Intl/Resources/data/languages/gd.json
index 76c6044047a98..fc8509d841e63 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/gd.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/gd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abchasais",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/gl.json b/src/Symfony/Component/Intl/Resources/data/languages/gl.json
index 68108bc733bb1..6a803a7571912 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/gl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/gl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhazo",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/gu.json b/src/Symfony/Component/Intl/Resources/data/languages/gu.json
index ed89b5990357e..eae6bdf77b09a 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/gu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/gu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "અફાર",
"ab": "અબખાજિયન",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/gv.json b/src/Symfony/Component/Intl/Resources/data/languages/gv.json
index 3c01897beb327..4684ba267fe5f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/gv.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/gv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"gv": "Gaelg"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ha.json b/src/Symfony/Component/Intl/Resources/data/languages/ha.json
index 98096b9a39e79..979bdb4537d06 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ha.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ha.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Afirkanci",
"agq": "Aghem",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ha_NE.json b/src/Symfony/Component/Intl/Resources/data/languages/ha_NE.json
index 29c49b5401eed..2e05ee5de28cf 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ha_NE.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ha_NE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"eo": "Dʼan\/Ƴar Kabilar Andalus",
"te": "Dʼan\/Ƴar Kabilar Telug"
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/he.json b/src/Symfony/Component/Intl/Resources/data/languages/he.json
index a5d1d0c6d4d87..639d2598f548d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/he.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/he.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "אפארית",
"ab": "אבחזית",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/hi.json b/src/Symfony/Component/Intl/Resources/data/languages/hi.json
index efd82266b69fe..70e9a9379b299 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/hi.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/hi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "अफ़ार",
"ab": "अब्ख़ाज़ियन",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/hr.json b/src/Symfony/Component/Intl/Resources/data/languages/hr.json
index fe3013944967a..d9e6873e63a81 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/hr.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/hr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarski",
"ab": "abhaski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/hu.json b/src/Symfony/Component/Intl/Resources/data/languages/hu.json
index 3c927f48dcbc1..a3c2ae240581c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/hu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/hu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abház",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/hy.json b/src/Symfony/Component/Intl/Resources/data/languages/hy.json
index 619610975afcf..4616a1573c72b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/hy.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/hy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "աֆարերեն",
"ab": "աբխազերեն",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ia.json b/src/Symfony/Component/Intl/Resources/data/languages/ia.json
index 04822342ad8e1..8916a23a1bcf1 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ia.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ia.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhazo",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/id.json b/src/Symfony/Component/Intl/Resources/data/languages/id.json
index 76693cbba6a91..4c3949362c6e5 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/id.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/id.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkhaz",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ig.json b/src/Symfony/Component/Intl/Resources/data/languages/ig.json
index dbfe82f71f027..45bb4282bec7d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ig.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ig.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Akan",
"am": "Amariikị",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ii.json b/src/Symfony/Component/Intl/Resources/data/languages/ii.json
index 2830a4e835eab..42285fbe33f6f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ii.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ii.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"de": "ꄓꇩꉙ",
"en": "ꑱꇩꉙ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/in.json b/src/Symfony/Component/Intl/Resources/data/languages/in.json
index 76693cbba6a91..4c3949362c6e5 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/in.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/in.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkhaz",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/is.json b/src/Symfony/Component/Intl/Resources/data/languages/is.json
index ba52c3792c115..b058ee7f4b3f3 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/is.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/is.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afár",
"ab": "abkasíska",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/it.json b/src/Symfony/Component/Intl/Resources/data/languages/it.json
index d77367db7bfdf..373f08a5b64ba 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/it.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/it.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abcaso",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/iw.json b/src/Symfony/Component/Intl/Resources/data/languages/iw.json
index a5d1d0c6d4d87..639d2598f548d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/iw.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/iw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "אפארית",
"ab": "אבחזית",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ja.json b/src/Symfony/Component/Intl/Resources/data/languages/ja.json
index 0fbcc46bfb9ee..47ac41c38c72c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ja.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ja.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "アファル語",
"ab": "アブハズ語",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/jv.json b/src/Symfony/Component/Intl/Resources/data/languages/jv.json
index 1dcb64200e824..4a5c7b72a3934 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/jv.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/jv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "af",
"agq": "Aghem",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ka.json b/src/Symfony/Component/Intl/Resources/data/languages/ka.json
index 19fbcc80f0cbf..8d6d505a7e742 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ka.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ka.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "აფარი",
"ab": "აფხაზური",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ki.json b/src/Symfony/Component/Intl/Resources/data/languages/ki.json
index d4af4e7dd3c82..110cdc85118ef 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ki.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ki.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Kiakan",
"am": "Kiamhari",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/kk.json b/src/Symfony/Component/Intl/Resources/data/languages/kk.json
index c12be7f4cc83b..85a6abac2b9f6 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/kk.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/kk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афар тілі",
"ab": "абхаз тілі",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/kl.json b/src/Symfony/Component/Intl/Resources/data/languages/kl.json
index 9809b33bba647..b7ca6525e06eb 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/kl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/kl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"kl": "kalaallisut"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/km.json b/src/Symfony/Component/Intl/Resources/data/languages/km.json
index 63f9f6413aa1b..d980a25fafc1d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/km.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/km.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "អាហ្វារ",
"ab": "អាប់ខាហ៊្សាន",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/kn.json b/src/Symfony/Component/Intl/Resources/data/languages/kn.json
index 054885225fe49..e12dcb572790d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/kn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/kn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ಅಫಾರ್",
"ab": "ಅಬ್ಖಾಜಿಯನ್",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ko.json b/src/Symfony/Component/Intl/Resources/data/languages/ko.json
index b25b158c15368..04b3cb222c4bb 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ko.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ko.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "아파르어",
"ab": "압카즈어",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ks.json b/src/Symfony/Component/Intl/Resources/data/languages/ks.json
index 8076f82453989..7a3ad4b390592 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ks.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ks.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "اَفار",
"ab": "اَبخازِیان",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ku.json b/src/Symfony/Component/Intl/Resources/data/languages/ku.json
index 98aa587981a88..a4eba1c98e9d8 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ku.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ku.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarî",
"ab": "abxazî",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/kw.json b/src/Symfony/Component/Intl/Resources/data/languages/kw.json
index 885a9f737e280..b3ce103fed93d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/kw.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/kw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"kw": "kernewek"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ky.json b/src/Symfony/Component/Intl/Resources/data/languages/ky.json
index d6bf7e59fe605..2c075d0798089 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ky.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ky.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарча",
"ab": "абхазча",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lb.json b/src/Symfony/Component/Intl/Resources/data/languages/lb.json
index aacd129515661..094ad22c5d252 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lb.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abchasesch",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lg.json b/src/Symfony/Component/Intl/Resources/data/languages/lg.json
index cbe6a19f4d684..1f13934d3bafa 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lg.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Lu-akaani",
"am": "Lu-amhariki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ln.json b/src/Symfony/Component/Intl/Resources/data/languages/ln.json
index d47c3bcea79d9..23034c99fa7b6 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ln.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ln.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "akan",
"am": "liamariki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lo.json b/src/Symfony/Component/Intl/Resources/data/languages/lo.json
index 94113b9d2f24d..982a585f6e448 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ອະຟາ",
"ab": "ແອບຄາຊຽນ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lt.json b/src/Symfony/Component/Intl/Resources/data/languages/lt.json
index 0f6ac3ec7b46b..266e5b8bf4688 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lt.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarų",
"ab": "abchazų",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lu.json b/src/Symfony/Component/Intl/Resources/data/languages/lu.json
index 5be7e0c589e73..3e38cf8e5bbcc 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Liakan",
"am": "Liamhariki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/lv.json b/src/Symfony/Component/Intl/Resources/data/languages/lv.json
index 7632b9dae5707..305d7003df40a 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/lv.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/lv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afāru",
"ab": "abhāzu",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/meta.json b/src/Symfony/Component/Intl/Resources/data/languages/meta.json
index a94fda4f0a882..55165e8aead23 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/meta.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/meta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Languages": [
"aa",
"ab",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mg.json b/src/Symfony/Component/Intl/Resources/data/languages/mg.json
index 5e46af719eea9..81edfe1c6cd72 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mg.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Akan",
"am": "Amharika",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mi.json b/src/Symfony/Component/Intl/Resources/data/languages/mi.json
index fbb1491218f67..64495859ce6e4 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mi.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"de": "Tiamana",
"en": "Ingarihi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mk.json b/src/Symfony/Component/Intl/Resources/data/languages/mk.json
index 9e3d7adad9ea0..c571489512cd5 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mk.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарски",
"ab": "апхаски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ml.json b/src/Symfony/Component/Intl/Resources/data/languages/ml.json
index c1c433b47c8f2..036b56e9e7e5b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ml.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ml.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "അഫാർ",
"ab": "അബ്ഖാസിയൻ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mn.json b/src/Symfony/Component/Intl/Resources/data/languages/mn.json
index d2d90d459615d..f579398f3ff2d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афар",
"ab": "абхаз",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mo.json b/src/Symfony/Component/Intl/Resources/data/languages/mo.json
index 75add60337511..df669721862e3 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abhază",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mr.json b/src/Symfony/Component/Intl/Resources/data/languages/mr.json
index 38259f7ebc8ae..dd0a19d504a32 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mr.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "अफार",
"ab": "अबखेजियन",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ms.json b/src/Symfony/Component/Intl/Resources/data/languages/ms.json
index 3b9ba29607c7b..a413776bcfc20 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ms.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ms.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkhazia",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/mt.json b/src/Symfony/Component/Intl/Resources/data/languages/mt.json
index df4c716085478..e6690bd1c4ff9 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/mt.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/mt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkażjan",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/my.json b/src/Symfony/Component/Intl/Resources/data/languages/my.json
index a5dd2650c140d..ff4f5de7386ba 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/my.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/my.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "အာဖာ",
"ab": "အဘ်ခါဇီရာ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/nb.json b/src/Symfony/Component/Intl/Resources/data/languages/nb.json
index 259cdad46a697..6d242afa038a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/nb.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/nb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhasisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/nd.json b/src/Symfony/Component/Intl/Resources/data/languages/nd.json
index 1cec9e37a80b0..eea3f588a0fb3 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/nd.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/nd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "isi-Akhani",
"am": "isi-Amaharikhi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ne.json b/src/Symfony/Component/Intl/Resources/data/languages/ne.json
index 6fe89ecfeb058..2e784cc8e5e21 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ne.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ne.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "अफार",
"ab": "अब्खाजियाली",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/nl.json b/src/Symfony/Component/Intl/Resources/data/languages/nl.json
index 3bc66d7983a38..547a0f78ec562 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/nl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/nl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abchazisch",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/nn.json b/src/Symfony/Component/Intl/Resources/data/languages/nn.json
index 00328339389f4..4bbe83f4a2352 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/nn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/nn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhasisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/no.json b/src/Symfony/Component/Intl/Resources/data/languages/no.json
index 259cdad46a697..6d242afa038a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/no.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/no.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abkhasisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/om.json b/src/Symfony/Component/Intl/Resources/data/languages/om.json
index e8d4913db7207..1e150eab11535 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/om.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/om.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Afrikoota",
"am": "Afaan Sidaamaa",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/or.json b/src/Symfony/Component/Intl/Resources/data/languages/or.json
index 5f62da3b5545f..089f7ac46479b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/or.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/or.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ଅଫାର୍",
"ab": "ଆବ୍ଖାଜିଆନ୍",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/os.json b/src/Symfony/Component/Intl/Resources/data/languages/os.json
index f8bf5f8b34b39..8de3b9411f96c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/os.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/os.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ab": "абхазаг",
"ady": "адыгейаг",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/pa.json b/src/Symfony/Component/Intl/Resources/data/languages/pa.json
index c306c14692d18..74d6df08c0d37 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/pa.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/pa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ਅਫ਼ਾਰ",
"ab": "ਅਬਖਾਜ਼ੀਅਨ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/pa_Arab.json b/src/Symfony/Component/Intl/Resources/data/languages/pa_Arab.json
index da6e79df8edf7..98a8c8857f5fb 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/pa_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/pa_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"pa": "پنجابی"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/pl.json b/src/Symfony/Component/Intl/Resources/data/languages/pl.json
index 5dd1b8a9e308f..393aa3d87e7d4 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/pl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/pl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abchaski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ps.json b/src/Symfony/Component/Intl/Resources/data/languages/ps.json
index 649ccc5f10037..d1a1fea430287 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ps.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ps.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "افري",
"ab": "ابخازي",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ps_PK.json b/src/Symfony/Component/Intl/Resources/data/languages/ps_PK.json
index dadd2158cd0ac..60034ee3e927a 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ps_PK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ps_PK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"dsb": "لوړے سربي",
"fo": "فاروئے",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/pt.json b/src/Symfony/Component/Intl/Resources/data/languages/pt.json
index b803fa9719b5e..e46c3405a60a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/pt.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/pt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abcázio",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/pt_PT.json b/src/Symfony/Component/Intl/Resources/data/languages/pt_PT.json
index 15df737d7377d..dccd821a8e348 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/pt_PT.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/pt_PT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "africanês",
"alt": "altai do sul",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/qu.json b/src/Symfony/Component/Intl/Resources/data/languages/qu.json
index 96e8136a1f767..d51885d7607be 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/qu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/qu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Afrikaans Simi",
"agq": "Aghem Simi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/rm.json b/src/Symfony/Component/Intl/Resources/data/languages/rm.json
index 84ca283866c89..d6bacf9a0bf7f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/rm.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/rm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abchasian",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/rn.json b/src/Symfony/Component/Intl/Resources/data/languages/rn.json
index e42dd402d8d2c..6c36ea1e6194e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/rn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/rn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Igikani",
"am": "Ikimuhariki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ro.json b/src/Symfony/Component/Intl/Resources/data/languages/ro.json
index 75add60337511..df669721862e3 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ro.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ro.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abhază",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ro_MD.json b/src/Symfony/Component/Intl/Resources/data/languages/ro_MD.json
index 90e86116d4741..27b5d8285a9df 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ro_MD.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ro_MD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"wal": "wolaytta"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ru.json b/src/Symfony/Component/Intl/Resources/data/languages/ru.json
index 6cf8d70952ff0..2efd137e0cf2b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ru.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ru.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарский",
"ab": "абхазский",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/rw.json b/src/Symfony/Component/Intl/Resources/data/languages/rw.json
index dd2635d528af8..bbdd4f29fd5ad 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/rw.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/rw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Ikinyafurikaneri",
"am": "Inyamuhariki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sd.json b/src/Symfony/Component/Intl/Resources/data/languages/sd.json
index 61708a3d6559e..b3b4434982453 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sd.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "افار",
"ab": "ابقازیان",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/se.json b/src/Symfony/Component/Intl/Resources/data/languages/se.json
index d6820b185db39..015168f187229 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/se.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/se.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "acehgiella",
"af": "afrikánsagiella",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/se_FI.json b/src/Symfony/Component/Intl/Resources/data/languages/se_FI.json
index 0937bcbbc2d7a..e06211d3ee077 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/se_FI.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/se_FI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ace": "ačehgiella",
"be": "vilgesruoššagiella",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sg.json b/src/Symfony/Component/Intl/Resources/data/languages/sg.json
index 4fcb4076fa84c..d92d547479c6f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sg.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Akâan",
"am": "Amarîki",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sh.json b/src/Symfony/Component/Intl/Resources/data/languages/sh.json
index 5620ad5f625f4..ff0d8e7328cba 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sh.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarski",
"ab": "abhaski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sh_BA.json b/src/Symfony/Component/Intl/Resources/data/languages/sh_BA.json
index 01120a3b30fc5..f8f7ff78df8f4 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sh_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sh_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "mapudungun",
"be": "bjeloruski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/si.json b/src/Symfony/Component/Intl/Resources/data/languages/si.json
index 89a62b1071aee..d29401ed17d2f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/si.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/si.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "අෆාර්",
"ab": "ඇබ්කාසියානු",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sk.json b/src/Symfony/Component/Intl/Resources/data/languages/sk.json
index caa5e18758f31..c98bb9e1954dc 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sk.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarčina",
"ab": "abcházčina",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sl.json b/src/Symfony/Component/Intl/Resources/data/languages/sl.json
index f5757354efa74..deb80a55a0252 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarščina",
"ab": "abhaščina",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sn.json b/src/Symfony/Component/Intl/Resources/data/languages/sn.json
index 0f2409a271a66..ec18aebe739c8 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "chiAkani",
"am": "chiAmaric",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/so.json b/src/Symfony/Component/Intl/Resources/data/languages/so.json
index bfa532c5d4270..d0c112f2f72c1 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/so.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/so.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Afrikaanka",
"agq": "Ageem",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sq.json b/src/Symfony/Component/Intl/Resources/data/languages/sq.json
index 953f28da4fd80..ba05547bc644d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sq.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sq.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarisht",
"ab": "abkazisht",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr.json b/src/Symfony/Component/Intl/Resources/data/languages/sr.json
index c89870ea34385..9a6e9fa6b4b7b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарски",
"ab": "абхаски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_BA.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_BA.json
index 9dc49691a225d..25b713aebb20c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "мапудунгун",
"be": "бјелоруски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_BA.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_BA.json
index 9dc49691a225d..25b713aebb20c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "мапудунгун",
"be": "бјелоруски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_ME.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_ME.json
index 79979eae86192..4d0dc08d2fe9f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "мапудунгун",
"be": "бјелоруски",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_XK.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_XK.json
index cfa6029a70d89..57c53a88b57fd 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Cyrl_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bm": "бамананкан",
"bn": "бангла",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn.json
index 5620ad5f625f4..ff0d8e7328cba 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afarski",
"ab": "abhaski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_BA.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_BA.json
index 01120a3b30fc5..f8f7ff78df8f4 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "mapudungun",
"be": "bjeloruski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_ME.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_ME.json
index 3155a76d403bb..8a0994704587b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "mapudungun",
"be": "bjeloruski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_XK.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_XK.json
index a15d9ec8607cc..6c2b84b31a054 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_Latn_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bm": "bamanankan",
"bn": "bangla",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_ME.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_ME.json
index 3155a76d403bb..8a0994704587b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arn": "mapudungun",
"be": "bjeloruski",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sr_XK.json b/src/Symfony/Component/Intl/Resources/data/languages/sr_XK.json
index cfa6029a70d89..57c53a88b57fd 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sr_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sr_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"bm": "бамананкан",
"bn": "бангла",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sv.json b/src/Symfony/Component/Intl/Resources/data/languages/sv.json
index 2c83d91aaec8d..287ee377bea05 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sv.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abchaziska",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sw.json b/src/Symfony/Component/Intl/Resources/data/languages/sw.json
index 21ba20c86fb26..e30e7a05c7696 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sw.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Kiafar",
"ab": "Kiabkhazi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sw_CD.json b/src/Symfony/Component/Intl/Resources/data/languages/sw_CD.json
index 0764cccbd8a4c..925934621198b 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sw_CD.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sw_CD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"ak": "Kiakan",
"arq": "Kiarabu cha Aljeria",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/sw_KE.json b/src/Symfony/Component/Intl/Resources/data/languages/sw_KE.json
index 49d31327b725d..fd6a68e6ea162 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/sw_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/sw_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"arq": "Kiarabu cha Aljeria",
"as": "Kiasamisi",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ta.json b/src/Symfony/Component/Intl/Resources/data/languages/ta.json
index 05d8d27532652..8bd41ae61600f 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ta.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "அஃபார்",
"ab": "அப்காஜியான்",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/te.json b/src/Symfony/Component/Intl/Resources/data/languages/te.json
index e94cdcbb95129..6520ddf746be0 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/te.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/te.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "అఫార్",
"ab": "అబ్ఖాజియన్",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/tg.json b/src/Symfony/Component/Intl/Resources/data/languages/tg.json
index 9a00a1ff74cc4..1d1040ee78df3 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/tg.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/tg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "африкаанс",
"am": "амҳарӣ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/th.json b/src/Symfony/Component/Intl/Resources/data/languages/th.json
index a4c58f172c3af..d5352f7a13e66 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/th.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/th.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "อะฟาร์",
"ab": "อับฮาเซีย",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ti.json b/src/Symfony/Component/Intl/Resources/data/languages/ti.json
index 06c6f71fe3689..200d320af0a81 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ti.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ti.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "አፍሪቃንሰኛ",
"am": "አምሐረኛ",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/tk.json b/src/Symfony/Component/Intl/Resources/data/languages/tk.json
index 3959323043d61..04ded2c8bf427 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/tk.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/tk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar dili",
"ab": "abhaz dili",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/tl.json b/src/Symfony/Component/Intl/Resources/data/languages/tl.json
index 6fc9c88b5e6a4..d489e08ece7f4 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/tl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/tl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abkhazian",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/to.json b/src/Symfony/Component/Intl/Resources/data/languages/to.json
index a38fe547a50e3..1c38e65cba8a5 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/to.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/to.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "lea fakaʻafāla",
"ab": "lea fakaʻapakasia",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/tr.json b/src/Symfony/Component/Intl/Resources/data/languages/tr.json
index 85bb97933babe..7c91af6232434 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/tr.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/tr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Afar",
"ab": "Abhazca",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/tt.json b/src/Symfony/Component/Intl/Resources/data/languages/tt.json
index a78bd7d832d73..b68a7b83cce42 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/tt.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/tt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "африкаанс",
"am": "амхар",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ug.json b/src/Symfony/Component/Intl/Resources/data/languages/ug.json
index eb67d86d55e5b..14ec75f3f21c0 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ug.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ug.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "ئافارچە",
"ab": "ئابخازچە",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/uk.json b/src/Symfony/Component/Intl/Resources/data/languages/uk.json
index 5156ac2e910d9..8bdfc660a12bc 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/uk.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/uk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарська",
"ab": "абхазька",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ur.json b/src/Symfony/Component/Intl/Resources/data/languages/ur.json
index 7338b00689c3b..c20a166ba9850 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ur.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ur.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "افار",
"ab": "ابقازیان",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/ur_IN.json b/src/Symfony/Component/Intl/Resources/data/languages/ur_IN.json
index 1576ce7a1aeee..081f7369aa711 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/ur_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/ur_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"awa": "اودھی",
"ckb": "سورانی کردی",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/uz.json b/src/Symfony/Component/Intl/Resources/data/languages/uz.json
index a2b8c30ed3e5f..fe3fb66bdb49e 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/uz.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/uz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "afar",
"ab": "abxaz",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/uz_Arab.json b/src/Symfony/Component/Intl/Resources/data/languages/uz_Arab.json
index 29c45da2f5b42..44a1ac8c266db 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/uz_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/uz_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"fa": "دری",
"ps": "پشتو",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/uz_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/languages/uz_Cyrl.json
index 523898de17246..36266ea4ddb21 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/uz_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/uz_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "афарча",
"ab": "абхазча",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/vi.json b/src/Symfony/Component/Intl/Resources/data/languages/vi.json
index 888da3ab4e205..81b2a492bd97d 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/vi.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/vi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "Tiếng Afar",
"ab": "Tiếng Abkhazia",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/wo.json b/src/Symfony/Component/Intl/Resources/data/languages/wo.json
index 64155eb1bd372..8e287c75b09fa 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/wo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/wo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Afrikaans",
"am": "Amharik",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/xh.json b/src/Symfony/Component/Intl/Resources/data/languages/xh.json
index 9a88c708b2df6..80629d8a2be2c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/xh.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/xh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"xh": "isiXhosa"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/yi.json b/src/Symfony/Component/Intl/Resources/data/languages/yi.json
index 2cdcdfc1bf715..538e5e306cd7c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/yi.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/yi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "אַפֿאַר",
"af": "אַפֿריקאַנס",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/yo.json b/src/Symfony/Component/Intl/Resources/data/languages/yo.json
index 0759a2d7eaa50..42d93d4e52688 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/yo.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/yo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"af": "Èdè Afrikani",
"ak": "Èdè Akani",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/yo_BJ.json b/src/Symfony/Component/Intl/Resources/data/languages/yo_BJ.json
index 5f1015aa64de2..184dbd106999c 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/yo_BJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/yo_BJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"da": "Èdè Ilɛ̀ Denmark",
"en": "Èdè Gɛ̀ɛ́sì",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/zh.json b/src/Symfony/Component/Intl/Resources/data/languages/zh.json
index 483067978b112..0140046aa56bf 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/zh.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/zh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "阿法尔语",
"ab": "阿布哈西亚语",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/zh_HK.json b/src/Symfony/Component/Intl/Resources/data/languages/zh_HK.json
index faacff448eedf..93bdbf724d9b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/zh_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/zh_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "阿法爾文",
"az": "阿塞拜疆文",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant.json b/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant.json
index 62e3370cfe8ef..64ce98772a126 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "阿法文",
"ab": "阿布哈茲文",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant_HK.json b/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant_HK.json
index faacff448eedf..93bdbf724d9b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/zh_Hant_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "阿法爾文",
"az": "阿塞拜疆文",
diff --git a/src/Symfony/Component/Intl/Resources/data/languages/zu.json b/src/Symfony/Component/Intl/Resources/data/languages/zu.json
index da985d88f1333..039ef101bd742 100644
--- a/src/Symfony/Component/Intl/Resources/data/languages/zu.json
+++ b/src/Symfony/Component/Intl/Resources/data/languages/zu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"aa": "isi-Afar",
"ab": "isi-Abkhazian",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/af.json b/src/Symfony/Component/Intl/Resources/data/regions/af.json
index f89225c3f8a5e..80fb1cb4c59cf 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/af.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/af.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Verenigde Arabiese Emirate",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ak.json b/src/Symfony/Component/Intl/Resources/data/regions/ak.json
index 9575d615f8328..a1aacb308012f 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ak.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ak.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/am.json b/src/Symfony/Component/Intl/Resources/data/regions/am.json
index e7f17118a5490..8be29674aec97 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/am.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/am.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "አንዶራ",
"AE": "የተባበሩት ዓረብ ኤምሬትስ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ar.json b/src/Symfony/Component/Intl/Resources/data/regions/ar.json
index 74c40ca25f196..37727ed5103e5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ar.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ar.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "أندورا",
"AE": "الإمارات العربية المتحدة",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ar_LY.json b/src/Symfony/Component/Intl/Resources/data/regions/ar_LY.json
index 87bf7d7f27b41..ee51cb6af0940 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ar_LY.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ar_LY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MS": "مونتيسيرات",
"UY": "أوروغواي"
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ar_SA.json b/src/Symfony/Component/Intl/Resources/data/regions/ar_SA.json
index 9610630cdb0b0..248f74cfe1d01 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ar_SA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ar_SA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MO": "ماكاو الصينية (منطقة إدارية خاصة)",
"MS": "مونتيسيرات",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/as.json b/src/Symfony/Component/Intl/Resources/data/regions/as.json
index 5640df0a04823..5b44f50ba1654 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/as.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/as.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "আন্দোৰা",
"AE": "সংযুক্ত আৰব আমিৰাত",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/az.json b/src/Symfony/Component/Intl/Resources/data/regions/az.json
index 78500117fd826..d84e8f5411f9d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/az.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/az.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Birləşmiş Ərəb Əmirlikləri",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/az_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/regions/az_Cyrl.json
index fecd6d1a5e1f7..da45fdc40dc19 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/az_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/az_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Бирләшмиш Әрәб Әмирликләри",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/be.json b/src/Symfony/Component/Intl/Resources/data/regions/be.json
index 896a19056b7db..c5b6de9c2269b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/be.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/be.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андора",
"AE": "Аб’яднаныя Арабскія Эміраты",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bg.json b/src/Symfony/Component/Intl/Resources/data/regions/bg.json
index 68575a6d26169..0d112a1738564 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bg.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андора",
"AE": "Обединени арабски емирства",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bm.json b/src/Symfony/Component/Intl/Resources/data/regions/bm.json
index c7f754ebf419f..f6b06d0e08216 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bm.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andɔr",
"AE": "Arabu mara kafoli",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bn.json b/src/Symfony/Component/Intl/Resources/data/regions/bn.json
index 007fdc92ce6f3..daaf35b1671d1 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "আন্ডোরা",
"AE": "সংযুক্ত আরব আমিরাত",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bn_IN.json b/src/Symfony/Component/Intl/Resources/data/regions/bn_IN.json
index 9501c7f229844..c3f8efe974af4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bn_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bn_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"UM": "মার্কিন যুক্তরাষ্ট্রের পার্শ্ববর্তী দ্বীপপুঞ্জ"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bo.json b/src/Symfony/Component/Intl/Resources/data/regions/bo.json
index 69d699de82b80..54830071fbd47 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CN": "རྒྱ་ནག",
"DE": "འཇར་མན་",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bo_IN.json b/src/Symfony/Component/Intl/Resources/data/regions/bo_IN.json
index 926801b767187..98588d8002b2b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bo_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bo_IN.json
@@ -1,4 +1,4 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": []
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/br.json b/src/Symfony/Component/Intl/Resources/data/regions/br.json
index 87680443ff355..44bdb40741c8a 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/br.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/br.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirelezhioù Arab Unanet",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bs.json b/src/Symfony/Component/Intl/Resources/data/regions/bs.json
index 7109e6a90229e..221c1a756f713 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bs.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Ujedinjeni Arapski Emirati",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/bs_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/regions/bs_Cyrl.json
index 2517b0f90d6d7..a41cbd23e5c80 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/bs_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/bs_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андора",
"AE": "Уједињени Арапски Емирати",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ca.json b/src/Symfony/Component/Intl/Resources/data/regions/ca.json
index d8da38e5d8626..139c894e90296 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ca.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ca.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirats Àrabs Units",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ce.json b/src/Symfony/Component/Intl/Resources/data/regions/ce.json
index 7015bceb1d8a4..ead7d65948445 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ce.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ce.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Ӏарбийн Цхьанатоьхна Эмираташ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/cs.json b/src/Symfony/Component/Intl/Resources/data/regions/cs.json
index ad5af6e99fff9..e7a98fba4f4a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/cs.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/cs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Spojené arabské emiráty",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/cy.json b/src/Symfony/Component/Intl/Resources/data/regions/cy.json
index db1b1b8cf16a2..eb197d1676521 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/cy.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/cy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiradau Arabaidd Unedig",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/da.json b/src/Symfony/Component/Intl/Resources/data/regions/da.json
index 3a554edc477ec..d8380a496c57c 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/da.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/da.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "De Forenede Arabiske Emirater",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/de.json b/src/Symfony/Component/Intl/Resources/data/regions/de.json
index 957d4ec562aa0..92b65ebb43885 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/de.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/de.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Vereinigte Arabische Emirate",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/de_AT.json b/src/Symfony/Component/Intl/Resources/data/regions/de_AT.json
index 93eaecdcf686e..6330c51857fc7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/de_AT.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/de_AT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"SJ": "Svalbard und Jan Mayen"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/de_CH.json b/src/Symfony/Component/Intl/Resources/data/regions/de_CH.json
index 2191489733156..3c7daab639ed2 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/de_CH.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/de_CH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BN": "Brunei",
"BW": "Botswana",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/dz.json b/src/Symfony/Component/Intl/Resources/data/regions/dz.json
index 336ba160fbd74..c289ce8ed8616 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/dz.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/dz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ཨཱན་དོ་ར",
"AE": "ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ee.json b/src/Symfony/Component/Intl/Resources/data/regions/ee.json
index ede42969bcdc6..da9e588dd9d56 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ee.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ee.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra nutome",
"AE": "United Arab Emirates nutome",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/el.json b/src/Symfony/Component/Intl/Resources/data/regions/el.json
index 007adc8f1a12d..7dc8a8e964aa5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/el.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/el.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Ανδόρα",
"AE": "Ηνωμένα Αραβικά Εμιράτα",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/en.json b/src/Symfony/Component/Intl/Resources/data/regions/en.json
index 7c3cebd81a32d..4a73a48e61695 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/en.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/en.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/en_001.json b/src/Symfony/Component/Intl/Resources/data/regions/en_001.json
index ca394a1572f0e..6bc6012632d2d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/en_001.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/en_001.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BL": "St Barthélemy",
"KN": "St Kitts & Nevis",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/en_AU.json b/src/Symfony/Component/Intl/Resources/data/regions/en_AU.json
index bf50970760ebe..eff29f21f7254 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/en_AU.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/en_AU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BL": "St. Barthélemy",
"KN": "St. Kitts & Nevis",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/eo.json b/src/Symfony/Component/Intl/Resources/data/regions/eo.json
index e3b22d2d44e53..e7c60c28a4e0a 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/eo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/eo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andoro",
"AE": "Unuiĝintaj Arabaj Emirlandoj",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es.json b/src/Symfony/Component/Intl/Resources/data/regions/es.json
index d6d5290703c46..f4063b168f8a0 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiratos Árabes Unidos",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_419.json b/src/Symfony/Component/Intl/Resources/data/regions/es_419.json
index 11102fb829083..6d54daa7d693e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_419.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_419.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia-Herzegovina",
"CG": "República del Congo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_AR.json b/src/Symfony/Component/Intl/Resources/data/regions/es_AR.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_AR.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_AR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_BO.json b/src/Symfony/Component/Intl/Resources/data/regions/es_BO.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_BO.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_BO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_CL.json b/src/Symfony/Component/Intl/Resources/data/regions/es_CL.json
index 1dad6fc84ee12..ffa8b9d7e20a7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_CL.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_CL.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"EH": "Sahara Occidental",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_CO.json b/src/Symfony/Component/Intl/Resources/data/regions/es_CO.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_CO.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_CO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_CR.json b/src/Symfony/Component/Intl/Resources/data/regions/es_CR.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_CR.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_CR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_DO.json b/src/Symfony/Component/Intl/Resources/data/regions/es_DO.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_DO.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_DO.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_EC.json b/src/Symfony/Component/Intl/Resources/data/regions/es_EC.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_EC.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_EC.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_GT.json b/src/Symfony/Component/Intl/Resources/data/regions/es_GT.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_GT.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_GT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_HN.json b/src/Symfony/Component/Intl/Resources/data/regions/es_HN.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_HN.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_HN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_MX.json b/src/Symfony/Component/Intl/Resources/data/regions/es_MX.json
index 3892e9be03ccb..4b3f7aa46e098 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_MX.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_MX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"CI": "Côte d’Ivoire",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_NI.json b/src/Symfony/Component/Intl/Resources/data/regions/es_NI.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_NI.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_NI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_PA.json b/src/Symfony/Component/Intl/Resources/data/regions/es_PA.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_PA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_PA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_PE.json b/src/Symfony/Component/Intl/Resources/data/regions/es_PE.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_PE.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_PE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_PR.json b/src/Symfony/Component/Intl/Resources/data/regions/es_PR.json
index 5b82ae2884696..9da9e4c46f344 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_PR.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_PR.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"UM": "Islas menores alejadas de EE. UU."
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_PY.json b/src/Symfony/Component/Intl/Resources/data/regions/es_PY.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_PY.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_PY.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_SV.json b/src/Symfony/Component/Intl/Resources/data/regions/es_SV.json
index 5b82ae2884696..9da9e4c46f344 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_SV.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_SV.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"UM": "Islas menores alejadas de EE. UU."
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_US.json b/src/Symfony/Component/Intl/Resources/data/regions/es_US.json
index ad34eae35414b..fe741429960a5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_US.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_US.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"CI": "Côte d’Ivoire",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/es_VE.json b/src/Symfony/Component/Intl/Resources/data/regions/es_VE.json
index a5f9e5e56d846..b6dc8420a07c6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/es_VE.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/es_VE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia y Herzegovina",
"UM": "Islas menores alejadas de EE. UU."
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/et.json b/src/Symfony/Component/Intl/Resources/data/regions/et.json
index d3e4316e154c7..35f230d211719 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/et.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/et.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Araabia Ühendemiraadid",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/eu.json b/src/Symfony/Component/Intl/Resources/data/regions/eu.json
index 3e91666c8f796..f51fab4b1d1bf 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/eu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/eu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Arabiar Emirerri Batuak",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fa.json b/src/Symfony/Component/Intl/Resources/data/regions/fa.json
index b2f959664504c..20c6da348ab00 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fa.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "آندورا",
"AE": "امارات متحدهٔ عربی",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fa_AF.json b/src/Symfony/Component/Intl/Resources/data/regions/fa_AF.json
index 751f8240b75d6..697edfffe2b5e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fa_AF.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fa_AF.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "اندورا",
"AG": "انتیگوا و باربودا",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ff.json b/src/Symfony/Component/Intl/Resources/data/regions/ff.json
index ad9ad16701756..68bd9c40dd7d5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ff.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ff.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Anndoora",
"AE": "Emiraat Araab Denntuɗe",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fi.json b/src/Symfony/Component/Intl/Resources/data/regions/fi.json
index 2d465b47f3450..9b3b433839bc8 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fi.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Arabiemiirikunnat",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fo.json b/src/Symfony/Component/Intl/Resources/data/regions/fo.json
index dbebee5f3b0ea..a7ba14e48276a 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Sameindu Emirríkini",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fr.json b/src/Symfony/Component/Intl/Resources/data/regions/fr.json
index df0ce86866d96..c832602bd331f 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fr.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorre",
"AE": "Émirats arabes unis",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fr_BE.json b/src/Symfony/Component/Intl/Resources/data/regions/fr_BE.json
index ae2413d98bfdc..2790802091bff 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fr_BE.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fr_BE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BN": "Brunei",
"GS": "Îles Géorgie du Sud et Sandwich du Sud"
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fr_CA.json b/src/Symfony/Component/Intl/Resources/data/regions/fr_CA.json
index c16274e74234f..b1630a0239200 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fr_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fr_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AX": "îles d’Åland",
"BN": "Brunei",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/fy.json b/src/Symfony/Component/Intl/Resources/data/regions/fy.json
index 1425f0dfb306e..39533511e8d0c 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/fy.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/fy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Verenigde Arabyske Emiraten",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ga.json b/src/Symfony/Component/Intl/Resources/data/regions/ga.json
index 713cbb5f38253..567e1be1e824f 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ga.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ga.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andóra",
"AE": "Aontas na nÉimíríochtaí Arabacha",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/gd.json b/src/Symfony/Component/Intl/Resources/data/regions/gd.json
index d2daa60083e49..fe22429f22c45 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/gd.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/gd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Na h-Iomaratan Arabach Aonaichte",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/gl.json b/src/Symfony/Component/Intl/Resources/data/regions/gl.json
index 041c6bc5d25dd..a5abcdf9ccbf4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/gl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/gl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Os Emiratos Árabes Unidos",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/gu.json b/src/Symfony/Component/Intl/Resources/data/regions/gu.json
index f3e266f129289..e8799fd2a06e8 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/gu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/gu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ઍંડોરા",
"AE": "યુનાઇટેડ આરબ અમીરાત",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/gv.json b/src/Symfony/Component/Intl/Resources/data/regions/gv.json
index 4d020d39f531c..8fa5295acfe6a 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/gv.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/gv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GB": "Rywvaneth Unys",
"IM": "Ellan Vannin"
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ha.json b/src/Symfony/Component/Intl/Resources/data/regions/ha.json
index d51860fe1d232..9c4d4a8743fc4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ha.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ha.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Haɗaɗɗiyar Daular Larabawa",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/he.json b/src/Symfony/Component/Intl/Resources/data/regions/he.json
index ed8816626b986..8f1be781a2442 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/he.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/he.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "אנדורה",
"AE": "איחוד האמירויות הערביות",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/hi.json b/src/Symfony/Component/Intl/Resources/data/regions/hi.json
index 257a3e9b1f020..ceb17900569dd 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/hi.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/hi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "एंडोरा",
"AE": "संयुक्त अरब अमीरात",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/hr.json b/src/Symfony/Component/Intl/Resources/data/regions/hr.json
index bc234d31e54a8..152a4af7a6ec7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/hr.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/hr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Ujedinjeni Arapski Emirati",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/hu.json b/src/Symfony/Component/Intl/Resources/data/regions/hu.json
index 212fa48f8a351..a2e4bc6b388c7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/hu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/hu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Egyesült Arab Emírségek",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/hy.json b/src/Symfony/Component/Intl/Resources/data/regions/hy.json
index 95e143333e27e..078fca35a653e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/hy.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/hy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Անդորրա",
"AE": "Արաբական Միացյալ Էմիրություններ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ia.json b/src/Symfony/Component/Intl/Resources/data/regions/ia.json
index 30193ea45a353..3b0ec546c520c 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ia.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ia.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiratos Arabe Unite",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/id.json b/src/Symfony/Component/Intl/Resources/data/regions/id.json
index 76abed100456c..7526d583a58ac 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/id.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/id.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Uni Emirat Arab",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ig.json b/src/Symfony/Component/Intl/Resources/data/regions/ig.json
index 03c3256652469..bfc6284f64544 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ig.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ig.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AG": "Antigua & Barbuda",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ii.json b/src/Symfony/Component/Intl/Resources/data/regions/ii.json
index 924f6aa6ad830..e127bd3129166 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ii.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ii.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BR": "ꀠꑭ",
"CN": "ꍏꇩ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/in.json b/src/Symfony/Component/Intl/Resources/data/regions/in.json
index 76abed100456c..7526d583a58ac 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/in.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/in.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Uni Emirat Arab",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/is.json b/src/Symfony/Component/Intl/Resources/data/regions/is.json
index ab8c2c14aee3e..4ab8e55dff730 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/is.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/is.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Sameinuðu arabísku furstadæmin",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/it.json b/src/Symfony/Component/Intl/Resources/data/regions/it.json
index 324af37615dcb..9e7a8a06199bb 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/it.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/it.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirati Arabi Uniti",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/iw.json b/src/Symfony/Component/Intl/Resources/data/regions/iw.json
index ed8816626b986..8f1be781a2442 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/iw.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/iw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "אנדורה",
"AE": "איחוד האמירויות הערביות",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ja.json b/src/Symfony/Component/Intl/Resources/data/regions/ja.json
index 1a8e3f9388165..472a6c06bdbab 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ja.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ja.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "アンドラ",
"AE": "アラブ首長国連邦",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/jv.json b/src/Symfony/Component/Intl/Resources/data/regions/jv.json
index 1adaaf9014e45..94e0c2541ae4a 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/jv.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/jv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Uni Émirat Arab",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ka.json b/src/Symfony/Component/Intl/Resources/data/regions/ka.json
index bce1e178f50a5..a9a3664b0f27d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ka.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ka.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ანდორა",
"AE": "არაბთა გაერთიანებული საამიროები",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ki.json b/src/Symfony/Component/Intl/Resources/data/regions/ki.json
index 05938b601387b..4721b21eac768 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ki.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ki.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Falme za Kiarabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/kk.json b/src/Symfony/Component/Intl/Resources/data/regions/kk.json
index b9b78d735af75..2f20b980966a5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/kk.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/kk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Біріккен Араб Әмірліктері",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/kl.json b/src/Symfony/Component/Intl/Resources/data/regions/kl.json
index 7da31a22e6523..4ba056cba39f7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/kl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/kl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GL": "Kalaallit Nunaat"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/km.json b/src/Symfony/Component/Intl/Resources/data/regions/km.json
index cd697fa352b42..da13050990987 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/km.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/km.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "អង់ដូរ៉ា",
"AE": "អេមីរ៉ាតអារ៉ាប់រួម",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/kn.json b/src/Symfony/Component/Intl/Resources/data/regions/kn.json
index a1ea450506876..a8fab17f5b1b4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/kn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/kn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ಅಂಡೋರಾ",
"AE": "ಯುನೈಟೆಡ್ ಅರಬ್ ಎಮಿರೇಟ್ಸ್",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ko.json b/src/Symfony/Component/Intl/Resources/data/regions/ko.json
index cc57dc459ff15..5ca2b39eeff74 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ko.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ko.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "안도라",
"AE": "아랍에미리트",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ko_KP.json b/src/Symfony/Component/Intl/Resources/data/regions/ko_KP.json
index 3028a9ef22461..4248255f8701d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ko_KP.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ko_KP.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"KP": "조선민주주의인민공화국"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ks.json b/src/Symfony/Component/Intl/Resources/data/regions/ks.json
index 1e29486f988fe..c8fa1154fceb6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ks.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ks.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "اؠنڑورا",
"AE": "مُتحدہ عرَب امارات",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ku.json b/src/Symfony/Component/Intl/Resources/data/regions/ku.json
index 49ef7f0597314..e56b23e170244 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ku.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ku.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emîrtiyên Erebî yên Yekbûyî",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/kw.json b/src/Symfony/Component/Intl/Resources/data/regions/kw.json
index ef01280c44147..3313ad49e4d76 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/kw.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/kw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"GB": "Rywvaneth Unys"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ky.json b/src/Symfony/Component/Intl/Resources/data/regions/ky.json
index a3258aea83a4f..219db1c495e01 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ky.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ky.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Бириккен Араб Эмираттары",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lb.json b/src/Symfony/Component/Intl/Resources/data/regions/lb.json
index 9dd97b31f3684..19dfafd15439b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lb.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Vereenegt Arabesch Emirater",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lg.json b/src/Symfony/Component/Intl/Resources/data/regions/lg.json
index 9951f93d15217..1ea6ace3e04b4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lg.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Emireeti",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ln.json b/src/Symfony/Component/Intl/Resources/data/regions/ln.json
index 382eac39f8ecd..e8183cbf3f556 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ln.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ln.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorɛ",
"AE": "Lɛmila alabo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lo.json b/src/Symfony/Component/Intl/Resources/data/regions/lo.json
index f377e1bfb8332..d03719d3df4da 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ອັນດໍຣາ",
"AE": "ສະຫະລັດອາຣັບເອມິເຣດ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lt.json b/src/Symfony/Component/Intl/Resources/data/regions/lt.json
index a2dde1ee55f01..5bcd722357074 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lt.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Jungtiniai Arabų Emyratai",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lu.json b/src/Symfony/Component/Intl/Resources/data/regions/lu.json
index fc1b871365297..5443fad09b4cd 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andore",
"AE": "Lemila alabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/lv.json b/src/Symfony/Component/Intl/Resources/data/regions/lv.json
index 8e2ea097032e2..b29eeb9a556b9 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/lv.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/lv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Apvienotie Arābu Emirāti",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/meta.json b/src/Symfony/Component/Intl/Resources/data/regions/meta.json
index c15142b30629d..a7e3bd9ae0bd4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/meta.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/meta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Regions": [
"AD",
"AE",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mg.json b/src/Symfony/Component/Intl/Resources/data/regions/mg.json
index 48f5c22eb7a2f..3ffda70e8fc03 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mg.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirà Arabo mitambatra",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mi.json b/src/Symfony/Component/Intl/Resources/data/regions/mi.json
index 6feb8ebd63f3f..3996948eb2d3f 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mi.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BR": "Parahi",
"CN": "Haina",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mk.json b/src/Symfony/Component/Intl/Resources/data/regions/mk.json
index 16b804323c2b9..5bf2b3da858cb 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mk.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андора",
"AE": "Обединети Арапски Емирати",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ml.json b/src/Symfony/Component/Intl/Resources/data/regions/ml.json
index c777f997c6a30..dbb623f25c78d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ml.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ml.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "അൻഡോറ",
"AE": "യുണൈറ്റഡ് അറബ് എമിറൈറ്റ്സ്",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mn.json b/src/Symfony/Component/Intl/Resources/data/regions/mn.json
index 44e893fec3428..fea2c43e04dc7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Арабын Нэгдсэн Эмирт Улс",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mo.json b/src/Symfony/Component/Intl/Resources/data/regions/mo.json
index 80a3de8e4a7f8..a852a31b8d7ec 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiratele Arabe Unite",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mr.json b/src/Symfony/Component/Intl/Resources/data/regions/mr.json
index c49acabc2155a..4d456aafb7665 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mr.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "अँडोरा",
"AE": "संयुक्त अरब अमीरात",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ms.json b/src/Symfony/Component/Intl/Resources/data/regions/ms.json
index 1ea3ce7d30721..f43a3927bbad4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ms.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ms.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiriah Arab Bersatu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/mt.json b/src/Symfony/Component/Intl/Resources/data/regions/mt.json
index 90c73de3f52fe..a46f90ef1ef62 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/mt.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/mt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "l-Emirati Għarab Magħquda",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/my.json b/src/Symfony/Component/Intl/Resources/data/regions/my.json
index dce87b03abea2..15f024c6134ec 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/my.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/my.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "အန်ဒိုရာ",
"AE": "ယူအေအီး",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/nb.json b/src/Symfony/Component/Intl/Resources/data/regions/nb.json
index 0b45657e31028..db4d514f1c32b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/nb.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/nb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "De forente arabiske emirater",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/nd.json b/src/Symfony/Component/Intl/Resources/data/regions/nd.json
index 83344c4dc7450..990cf645687b5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/nd.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/nd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ne.json b/src/Symfony/Component/Intl/Resources/data/regions/ne.json
index c9d4c3eae8daf..96fae3a66f730 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ne.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ne.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "अन्डोर्रा",
"AE": "संयुक्त अरब इमिराट्स",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/nl.json b/src/Symfony/Component/Intl/Resources/data/regions/nl.json
index a1e489a64e2e1..9a78230f287e7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/nl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/nl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Verenigde Arabische Emiraten",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/nn.json b/src/Symfony/Component/Intl/Resources/data/regions/nn.json
index ded33e3058827..ca998b20901f6 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/nn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/nn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Dei sameinte arabiske emirata",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/no.json b/src/Symfony/Component/Intl/Resources/data/regions/no.json
index 0b45657e31028..db4d514f1c32b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/no.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/no.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "De forente arabiske emirater",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/om.json b/src/Symfony/Component/Intl/Resources/data/regions/om.json
index f7d72a855df5d..13abe3b82b6f5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/om.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/om.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BR": "Brazil",
"CN": "China",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/or.json b/src/Symfony/Component/Intl/Resources/data/regions/or.json
index ea10a26e377f5..2288789bf9077 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/or.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/or.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ଆଣ୍ଡୋରା",
"AE": "ସଂଯୁକ୍ତ ଆରବ ଏମିରେଟସ୍",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/os.json b/src/Symfony/Component/Intl/Resources/data/regions/os.json
index 4d162da8b005a..9cf4834a00ec8 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/os.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/os.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BR": "Бразили",
"CN": "Китай",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/pa.json b/src/Symfony/Component/Intl/Resources/data/regions/pa.json
index ee98e622094ef..5f6be1ca43371 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/pa.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/pa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ਅੰਡੋਰਾ",
"AE": "ਸੰਯੁਕਤ ਅਰਬ ਅਮੀਰਾਤ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/pa_Arab.json b/src/Symfony/Component/Intl/Resources/data/regions/pa_Arab.json
index 36f1c201f661d..cacbcd241e972 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/pa_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/pa_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PK": "پاکستان"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/pl.json b/src/Symfony/Component/Intl/Resources/data/regions/pl.json
index 212e5ac219f42..158c7b143217d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/pl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/pl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Zjednoczone Emiraty Arabskie",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ps.json b/src/Symfony/Component/Intl/Resources/data/regions/ps.json
index 08927a2493285..366beaded7922 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ps.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ps.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "اندورا",
"AE": "متحده عرب امارات",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ps_PK.json b/src/Symfony/Component/Intl/Resources/data/regions/ps_PK.json
index fcb3949eab2aa..c7e81fe75dbd1 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ps_PK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ps_PK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"PS": "فلسطين سيمے",
"TC": "د ترکیے او کیکاسو ټاپو",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/pt.json b/src/Symfony/Component/Intl/Resources/data/regions/pt.json
index d2a12194f1747..271735a21adbf 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/pt.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/pt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirados Árabes Unidos",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/pt_PT.json b/src/Symfony/Component/Intl/Resources/data/regions/pt_PT.json
index e920fd6d97ae6..117a17d32e5df 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/pt_PT.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/pt_PT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AM": "Arménia",
"AX": "Alanda",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/qu.json b/src/Symfony/Component/Intl/Resources/data/regions/qu.json
index 3ef5aa920bf9b..5897db159ae31 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/qu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/qu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiratos Árabes Unidos",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/rm.json b/src/Symfony/Component/Intl/Resources/data/regions/rm.json
index 865cc74978126..6e08d2452d88b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/rm.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/rm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emirats Arabs Unids",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/rn.json b/src/Symfony/Component/Intl/Resources/data/regions/rn.json
index 693b8ef56b6c4..8d2518d950955 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/rn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/rn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Leta Zunze Ubumwe z’Abarabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ro.json b/src/Symfony/Component/Intl/Resources/data/regions/ro.json
index 80a3de8e4a7f8..a852a31b8d7ec 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ro.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ro.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Emiratele Arabe Unite",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ro_MD.json b/src/Symfony/Component/Intl/Resources/data/regions/ro_MD.json
index 7a40176ce139f..ae9c4052bbbc3 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ro_MD.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ro_MD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MM": "Myanmar"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ru.json b/src/Symfony/Component/Intl/Resources/data/regions/ru.json
index 5aae779db2b52..2fae1f6d91edc 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ru.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ru.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "ОАЭ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ru_UA.json b/src/Symfony/Component/Intl/Resources/data/regions/ru_UA.json
index 8a319b7c44902..c7a3198b043cd 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ru_UA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ru_UA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AE": "Объединенные Арабские Эмираты",
"BV": "О-в Буве",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/rw.json b/src/Symfony/Component/Intl/Resources/data/regions/rw.json
index 1e806c45cdb2b..2c3d6b09cb992 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/rw.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/rw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MK": "Masedoniya y’Amajyaruguru",
"RW": "U Rwanda",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sd.json b/src/Symfony/Component/Intl/Resources/data/regions/sd.json
index fc8493201e44a..fd57e4772c1da 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sd.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "اندورا",
"AE": "متحده عرب امارات",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/se.json b/src/Symfony/Component/Intl/Resources/data/regions/se.json
index 1d5177fe72add..90f327de00288 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/se.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/se.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Ovttastuvvan Arábaemiráhtat",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/se_FI.json b/src/Symfony/Component/Intl/Resources/data/regions/se_FI.json
index 39ae86e4baab3..f052eb91b42c0 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/se_FI.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/se_FI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BA": "Bosnia ja Hercegovina",
"KH": "Kamboža",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sg.json b/src/Symfony/Component/Intl/Resources/data/regions/sg.json
index 2f39313736a45..eb0a28682e949 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sg.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andôro",
"AE": "Arâbo Emirâti Ôko",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sh.json b/src/Symfony/Component/Intl/Resources/data/regions/sh.json
index 278ab236721b2..b9ff173644a53 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sh.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Ujedinjeni Arapski Emirati",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sh_BA.json b/src/Symfony/Component/Intl/Resources/data/regions/sh_BA.json
index ad0d6cf230785..177c2e776c0c4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sh_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sh_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Bjelorusija",
"CG": "Kongo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/si.json b/src/Symfony/Component/Intl/Resources/data/regions/si.json
index 9b6568b9ef791..69af5d73a1b12 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/si.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/si.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ඇන්ඩෝරාව",
"AE": "එක්සත් අරාබි එමිර් රාජ්යය",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sk.json b/src/Symfony/Component/Intl/Resources/data/regions/sk.json
index e2eae6bbc276d..1d233b377b3e9 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sk.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Spojené arabské emiráty",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sl.json b/src/Symfony/Component/Intl/Resources/data/regions/sl.json
index 403a0c17b9d04..e0d066ebc2594 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Združeni arabski emirati",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sn.json b/src/Symfony/Component/Intl/Resources/data/regions/sn.json
index 6d33400fc0cbc..233be84b5b3d5 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/so.json b/src/Symfony/Component/Intl/Resources/data/regions/so.json
index 0fc95f1018a1f..d10ec2a0e6ca1 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/so.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/so.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Imaaraadka Carabta ee Midoobay",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sq.json b/src/Symfony/Component/Intl/Resources/data/regions/sq.json
index e71387bfc081a..721ce59c4e6e7 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sq.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sq.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorrë",
"AE": "Emiratet e Bashkuara Arabe",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr.json b/src/Symfony/Component/Intl/Resources/data/regions/sr.json
index e5031c1df0295..e01a9c58277c1 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андора",
"AE": "Уједињени Арапски Емирати",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_BA.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_BA.json
index 22669b87a8904..1dbbf5aff3856 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Бјелорусија",
"CG": "Конго",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_BA.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_BA.json
index 22669b87a8904..1dbbf5aff3856 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Бјелорусија",
"CG": "Конго",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_ME.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_ME.json
index 2a23d4af60d1d..8461dee0d9fa8 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Бјелорусија",
"CG": "Конго",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_XK.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_XK.json
index 6bc2bcd033053..5f08e093fb8b4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Cyrl_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CG": "Конго",
"CV": "Кабо Верде",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn.json
index 278ab236721b2..b9ff173644a53 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andora",
"AE": "Ujedinjeni Arapski Emirati",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_BA.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_BA.json
index ad0d6cf230785..177c2e776c0c4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_BA.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_BA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Bjelorusija",
"CG": "Kongo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_ME.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_ME.json
index adc4b94c9b5c0..33df6ef6eca3b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Bjelorusija",
"CG": "Kongo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_XK.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_XK.json
index b5085614f252f..eca2feb71884c 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_Latn_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CG": "Kongo",
"CV": "Kabo Verde",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_ME.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_ME.json
index adc4b94c9b5c0..33df6ef6eca3b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_ME.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_ME.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"BY": "Bjelorusija",
"CG": "Kongo",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sr_XK.json b/src/Symfony/Component/Intl/Resources/data/regions/sr_XK.json
index 6bc2bcd033053..5f08e093fb8b4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sr_XK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sr_XK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"CG": "Конго",
"CV": "Кабо Верде",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sv.json b/src/Symfony/Component/Intl/Resources/data/regions/sv.json
index 9697d49d6b792..c1f9e05ecc48e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sv.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Förenade Arabemiraten",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sw.json b/src/Symfony/Component/Intl/Resources/data/regions/sw.json
index 29d72b3214676..34005e595b90b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sw.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Falme za Kiarabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sw_CD.json b/src/Symfony/Component/Intl/Resources/data/regions/sw_CD.json
index ea65973ec9a12..2fdded51ec53d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sw_CD.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sw_CD.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AF": "Afuganistani",
"AZ": "Azabajani",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/sw_KE.json b/src/Symfony/Component/Intl/Resources/data/regions/sw_KE.json
index 6d024b9c7dd81..0a3bd7462c7c4 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/sw_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/sw_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AF": "Afghanistani",
"AI": "Anguila",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ta.json b/src/Symfony/Component/Intl/Resources/data/regions/ta.json
index c35f4a36ea037..a4b233b5aeca8 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ta.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "அன்டோரா",
"AE": "ஐக்கிய அரபு எமிரேட்ஸ்",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/te.json b/src/Symfony/Component/Intl/Resources/data/regions/te.json
index 64f823334e477..43d5e0079ef00 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/te.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/te.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ఆండోరా",
"AE": "యునైటెడ్ అరబ్ ఎమిరేట్స్",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/tg.json b/src/Symfony/Component/Intl/Resources/data/regions/tg.json
index 887ca7beab1bf..1675c0a131844 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/tg.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/tg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Аморатҳои Муттаҳидаи Араб",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/th.json b/src/Symfony/Component/Intl/Resources/data/regions/th.json
index d0b4a844099fe..5f02dfb59806b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/th.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/th.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "อันดอร์รา",
"AE": "สหรัฐอาหรับเอมิเรตส์",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ti.json b/src/Symfony/Component/Intl/Resources/data/regions/ti.json
index 653074638e400..a29f3494bea80 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ti.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ti.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "አንዶራ",
"AE": "ሕቡራት ኢማራት ዓረብ",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/tk.json b/src/Symfony/Component/Intl/Resources/data/regions/tk.json
index 38e13916b8638..d9abc1d25544e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/tk.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/tk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Birleşen Arap Emirlikleri",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/tl.json b/src/Symfony/Component/Intl/Resources/data/regions/tl.json
index fc3d19f963600..df526f2e75741 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/tl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/tl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/to.json b/src/Symfony/Component/Intl/Resources/data/regions/to.json
index b53becc390666..78f922dc9e2be 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/to.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/to.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ʻAnitola",
"AE": "ʻAlepea Fakatahataha",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/tr.json b/src/Symfony/Component/Intl/Resources/data/regions/tr.json
index 771e7237b7da9..4967924dc3139 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/tr.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/tr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Birleşik Arap Emirlikleri",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/tt.json b/src/Symfony/Component/Intl/Resources/data/regions/tt.json
index 844d7bb584f60..a8b5d82c845c3 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/tt.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/tt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Берләшкән Гарәп Әмирлекләре",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ug.json b/src/Symfony/Component/Intl/Resources/data/regions/ug.json
index 67bf7ea297698..27a6fa2cb1916 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ug.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ug.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "ئاندوررا",
"AE": "ئەرەب بىرلەشمە خەلىپىلىكى",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/uk.json b/src/Symfony/Component/Intl/Resources/data/regions/uk.json
index 3d2e131379626..ec17a67cc4e0b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/uk.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/uk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Обʼєднані Арабські Емірати",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ur.json b/src/Symfony/Component/Intl/Resources/data/regions/ur.json
index 3ce803b0c6de2..cae9f845f6cdc 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ur.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ur.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "انڈورا",
"AE": "متحدہ عرب امارات",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/ur_IN.json b/src/Symfony/Component/Intl/Resources/data/regions/ur_IN.json
index dd6379603f679..43982ed8b40d2 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/ur_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/ur_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AX": "جزائر آلینڈ",
"BV": "جزیرہ بوویت",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/uz.json b/src/Symfony/Component/Intl/Resources/data/regions/uz.json
index cc1e4635c4ecd..7aa0267eeab75 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/uz.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/uz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Birlashgan Arab Amirliklari",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/uz_Arab.json b/src/Symfony/Component/Intl/Resources/data/regions/uz_Arab.json
index 9a33c9513c694..092fc95b42507 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/uz_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/uz_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AF": "افغانستان"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/uz_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/regions/uz_Cyrl.json
index faf85f06dc508..cfe2839cadbfd 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/uz_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/uz_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Андорра",
"AE": "Бирлашган Араб Амирликлари",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/vi.json b/src/Symfony/Component/Intl/Resources/data/regions/vi.json
index c9d8486a2483c..bbb181364d59c 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/vi.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/vi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andorra",
"AE": "Các Tiểu Vương quốc Ả Rập Thống nhất",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/wo.json b/src/Symfony/Component/Intl/Resources/data/regions/wo.json
index 20f41eba236ea..eb8a13a682d7b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/wo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/wo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Andoor",
"AE": "Emira Arab Ini",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/xh.json b/src/Symfony/Component/Intl/Resources/data/regions/xh.json
index ca235a2963083..a6d834ebd16ad 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/xh.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/xh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"MK": "uMntla Macedonia",
"ZA": "eMzantsi Afrika"
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/yi.json b/src/Symfony/Component/Intl/Resources/data/regions/yi.json
index 788544a7d4b81..eedcb6ab1d387 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/yi.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/yi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "אַנדארע",
"AF": "אַפֿגהאַניסטאַן",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/yo.json b/src/Symfony/Component/Intl/Resources/data/regions/yo.json
index 34227149e609f..f8cb819fb2f8b 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/yo.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/yo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Orílẹ́ède Ààndórà",
"AE": "Orílẹ́ède Ẹmirate ti Awọn Arabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/yo_BJ.json b/src/Symfony/Component/Intl/Resources/data/regions/yo_BJ.json
index e96d5b6b99a04..450e3c3b2c09e 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/yo_BJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/yo_BJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "Orílɛ́ède Ààndórà",
"AE": "Orílɛ́ède Ɛmirate ti Awɔn Arabu",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/zh.json b/src/Symfony/Component/Intl/Resources/data/regions/zh.json
index 77a3e7b22cff0..8896558061d1d 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/zh.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/zh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "安道尔",
"AE": "阿拉伯联合酋长国",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/zh_HK.json b/src/Symfony/Component/Intl/Resources/data/regions/zh_HK.json
index f1075e5cc2cb4..ec99eb36468b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/zh_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/zh_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AE": "阿拉伯聯合酋長國",
"AG": "安提瓜和巴布達",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant.json b/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant.json
index 0c5baed41527f..c7d621b29ec07 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "安道爾",
"AE": "阿拉伯聯合大公國",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant_HK.json b/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant_HK.json
index f1075e5cc2cb4..ec99eb36468b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/zh_Hant_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AE": "阿拉伯聯合酋長國",
"AG": "安提瓜和巴布達",
diff --git a/src/Symfony/Component/Intl/Resources/data/regions/zu.json b/src/Symfony/Component/Intl/Resources/data/regions/zu.json
index a95c31f821c20..9ff45777218a2 100644
--- a/src/Symfony/Component/Intl/Resources/data/regions/zu.json
+++ b/src/Symfony/Component/Intl/Resources/data/regions/zu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"AD": "i-Andorra",
"AE": "i-United Arab Emirates",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/af.json b/src/Symfony/Component/Intl/Resources/data/scripts/af.json
index 4989d6a1a56d6..0073884721c2d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/af.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/af.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arabies",
"Armn": "Armeens",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/am.json b/src/Symfony/Component/Intl/Resources/data/scripts/am.json
index 41aad8d96d16b..d5b8b925650c2 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/am.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/am.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ዓረብኛ",
"Armn": "አርሜንያዊ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ar.json b/src/Symfony/Component/Intl/Resources/data/scripts/ar.json
index 6673bcc0ff7d9..fa1d2031f315a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ar.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ar.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "العربية",
"Armn": "الأرمينية",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/as.json b/src/Symfony/Component/Intl/Resources/data/scripts/as.json
index 3eb92ba69ff99..0a04c506f46bf 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/as.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/as.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "আৰবী",
"Armn": "আৰ্মেনীয়",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/az.json b/src/Symfony/Component/Intl/Resources/data/scripts/az.json
index efea3339b90d6..d246d0db46f45 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/az.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/az.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ərəb",
"Armi": "armi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/az_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/scripts/az_Cyrl.json
index aaba2983369f5..5aff7ca78e711 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/az_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/az_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Cyrl": "Кирил"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/be.json b/src/Symfony/Component/Intl/Resources/data/scripts/be.json
index f8dd583c31ff5..2073db2f7a8bf 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/be.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/be.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "арабскае",
"Armn": "армянскае",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/bg.json b/src/Symfony/Component/Intl/Resources/data/scripts/bg.json
index 0e54a0b4d22a6..d9b3f79215f97 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/bg.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/bg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "арабска",
"Armi": "Арамейска",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/bn.json b/src/Symfony/Component/Intl/Resources/data/scripts/bn.json
index 2446e402f91c1..f46621334de15 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/bn.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/bn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "আরবি",
"Armi": "আরমি",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/bo.json b/src/Symfony/Component/Intl/Resources/data/scripts/bo.json
index 64e0b06f94e8d..240a93878c573 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/bo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/bo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Hans": "རྒྱ་ཡིག་གསར་པ།",
"Hant": "རྒྱ་ཡིག་རྙིང་པ།",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/br.json b/src/Symfony/Component/Intl/Resources/data/scripts/br.json
index acc058a60e925..33bd59187558e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/br.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/br.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "adlam",
"Arab": "arabek",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/bs.json b/src/Symfony/Component/Intl/Resources/data/scripts/bs.json
index aa792e1c9ed34..429d75a2a002f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/bs.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/bs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arapsko pismo",
"Armi": "imperijsko aramejsko pismo",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/bs_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/scripts/bs_Cyrl.json
index 8c59ffb2aeded..77c8c13106f8b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/bs_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/bs_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "арапско писмо",
"Armi": "империјско арамејско писмо",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ca.json b/src/Symfony/Component/Intl/Resources/data/scripts/ca.json
index c35eaa4c67668..87424a613410d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ca.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ca.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "adlam",
"Afak": "afaka",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ce.json b/src/Symfony/Component/Intl/Resources/data/scripts/ce.json
index d9ea836ea2299..9dc19bd09dcd7 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ce.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ce.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Ӏаьрбийн",
"Armn": "эрмалойн",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/cs.json b/src/Symfony/Component/Intl/Resources/data/scripts/cs.json
index e8c0f924e78b1..85ab9fd5aa5f9 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/cs.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/cs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Aghb": "kavkazskoalbánské",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/cy.json b/src/Symfony/Component/Intl/Resources/data/scripts/cy.json
index 25a458aa5ab16..d7f9d0bd5bc1b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/cy.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/cy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arabaidd",
"Armn": "Armenaidd",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/da.json b/src/Symfony/Component/Intl/Resources/data/scripts/da.json
index 046f0ed525291..4a5b2d584608b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/da.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/da.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Arab": "arabisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/de.json b/src/Symfony/Component/Intl/Resources/data/scripts/de.json
index d8bdbdda9fb9b..a61ae87b031b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/de.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/de.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Afaka",
"Aghb": "Kaukasisch-Albanisch",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/dz.json b/src/Symfony/Component/Intl/Resources/data/scripts/dz.json
index 86a72d1f6ef3d..ee8dfc5ef6eea 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/dz.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/dz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ཨེ་ར་བིཀ་ཡིག་གུ",
"Armn": "ཨར་མི་ནི་ཡཱན་ཡིག་གུ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ee.json b/src/Symfony/Component/Intl/Resources/data/scripts/ee.json
index 22a3cbf1f5917..62327d4601b8f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ee.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ee.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arabiagbeŋɔŋlɔ",
"Armn": "armeniagbeŋɔŋlɔ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/el.json b/src/Symfony/Component/Intl/Resources/data/scripts/el.json
index 723d90516f631..a55a7881c9821 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/el.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/el.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Αραβικό",
"Armi": "Αυτοκρατορικό Αραμαϊκό",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/en.json b/src/Symfony/Component/Intl/Resources/data/scripts/en.json
index 21290aa6c6d82..e4b9668654aa3 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/en.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/en.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "Adlam",
"Afak": "Afaka",
@@ -26,12 +26,14 @@
"Cari": "Carian",
"Cham": "Cham",
"Cher": "Cherokee",
+ "Chrs": "Chorasmian",
"Cirt": "Cirth",
"Copt": "Coptic",
"Cprt": "Cypriot",
"Cyrl": "Cyrillic",
"Cyrs": "Old Church Slavonic Cyrillic",
"Deva": "Devanagari",
+ "Diak": "Dives Akuru",
"Dogr": "Dogra",
"Dsrt": "Deseret",
"Dupl": "Duployan shorthand",
@@ -76,6 +78,7 @@
"Khar": "Kharoshthi",
"Khmr": "Khmer",
"Khoj": "Khojki",
+ "Kits": "Khitan small script",
"Knda": "Kannada",
"Kore": "Korean",
"Kpel": "Kpelle",
@@ -182,6 +185,7 @@
"Wole": "Woleai",
"Xpeo": "Old Persian",
"Xsux": "Sumero-Akkadian Cuneiform",
+ "Yezi": "Yezidi",
"Yiii": "Yi",
"Zanb": "Zanabazar Square",
"Zinh": "Inherited",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/en_AU.json b/src/Symfony/Component/Intl/Resources/data/scripts/en_AU.json
index 87a1540139e9f..41212b08daa28 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/en_AU.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/en_AU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Beng": "Bengali"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/en_IN.json b/src/Symfony/Component/Intl/Resources/data/scripts/en_IN.json
index 87828a9b75775..874fbd0535827 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/en_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/en_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Beng": "Bengali",
"Orya": "Oriya"
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/es.json b/src/Symfony/Component/Intl/Resources/data/scripts/es.json
index f89bdf403ad78..bb07bfab2fd2d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/es.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/es.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "árabe",
"Armn": "armenio",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/es_419.json b/src/Symfony/Component/Intl/Resources/data/scripts/es_419.json
index 9ec9633f94e5e..0f3e0f4baeadc 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/es_419.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/es_419.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Hanb": "han con bopomofo",
"Hrkt": "katakana o hiragana",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/es_MX.json b/src/Symfony/Component/Intl/Resources/data/scripts/es_MX.json
index eeca1aab22d9e..4f09be2e3c182 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/es_MX.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/es_MX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Hanb": "hanb",
"Mlym": "malayálam"
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/es_US.json b/src/Symfony/Component/Intl/Resources/data/scripts/es_US.json
index e846c49502422..a1356cb99641a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/es_US.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/es_US.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Hanb": "hanb",
"Mlym": "malayálam",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/et.json b/src/Symfony/Component/Intl/Resources/data/scripts/et.json
index 6b4e28f49c1a5..000cf6e6d58de 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/et.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/et.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Aghb": "albaani",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/eu.json b/src/Symfony/Component/Intl/Resources/data/scripts/eu.json
index 722897c4f1555..a0ca6443864e7 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/eu.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/eu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabiarra",
"Armn": "armeniarra",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fa.json b/src/Symfony/Component/Intl/Resources/data/scripts/fa.json
index 4db57d4c7ed8e..298aec79253e1 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fa.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Aghb": "آلبانیایی قفقازی",
"Arab": "عربی",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fa_AF.json b/src/Symfony/Component/Intl/Resources/data/scripts/fa_AF.json
index a2d1d8623f999..149b212e8390f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fa_AF.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fa_AF.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Mong": "مغلی"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fi.json b/src/Symfony/Component/Intl/Resources/data/scripts/fi.json
index 1857769ee594c..3128014583c70 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fi.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "fulanin adlam-aakkosto",
"Afak": "afaka",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fo.json b/src/Symfony/Component/Intl/Resources/data/scripts/fo.json
index 673a0e1f980e7..4df0d2317d602 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabisk",
"Armn": "armenskt",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fr.json b/src/Symfony/Component/Intl/Resources/data/scripts/fr.json
index 50e44853ff687..e31fdf60dce92 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fr.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabe",
"Armi": "araméen impérial",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fr_CA.json b/src/Symfony/Component/Intl/Resources/data/scripts/fr_CA.json
index 0ff9b2841ea7f..2c022b7b56eb1 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fr_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fr_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Deva": "devanagari",
"Gujr": "gujarati",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/fy.json b/src/Symfony/Component/Intl/Resources/data/scripts/fy.json
index f898db9b7c7fe..212bfe36dafb4 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/fy.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/fy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Defaka",
"Arab": "Arabysk",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ga.json b/src/Symfony/Component/Intl/Resources/data/scripts/ga.json
index 406342f5f5a81..b28fc87233ed3 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ga.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ga.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "Adlm",
"Aghb": "Albánach Cugasach",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/gd.json b/src/Symfony/Component/Intl/Resources/data/scripts/gd.json
index aa3efb9e479c3..4d42c0b39e06e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/gd.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/gd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "Adlam",
"Afak": "Afaka",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/gl.json b/src/Symfony/Component/Intl/Resources/data/scripts/gl.json
index 0d274ceddb488..c4459cf59dd07 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/gl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/gl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "árabe",
"Armn": "armenio",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/gu.json b/src/Symfony/Component/Intl/Resources/data/scripts/gu.json
index 21fa255221d03..83f75eaf3fcbd 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/gu.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/gu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "અરબી",
"Armi": "ઇમ્પિરિયલ આર્મનિક",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ha.json b/src/Symfony/Component/Intl/Resources/data/scripts/ha.json
index 3c3b96850b0d3..4d520ab07a825 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ha.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ha.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Larabci",
"Armn": "Armeniyawa",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/he.json b/src/Symfony/Component/Intl/Resources/data/scripts/he.json
index d36b40992e75b..0db3db3b0208e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/he.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/he.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ערבי",
"Armn": "ארמני",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/hi.json b/src/Symfony/Component/Intl/Resources/data/scripts/hi.json
index 27ceffdecdb20..231b1921d359f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/hi.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/hi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "अरबी",
"Armi": "इम्पिरियल आर्मेनिक",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/hr.json b/src/Symfony/Component/Intl/Resources/data/scripts/hr.json
index c131e9d9b3461..131c57145270a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/hr.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/hr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka pismo",
"Arab": "arapsko pismo",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/hu.json b/src/Symfony/Component/Intl/Resources/data/scripts/hu.json
index ef745706ec435..5a5860cb2564a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/hu.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/hu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arab",
"Armi": "Birodalmi arámi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/hy.json b/src/Symfony/Component/Intl/Resources/data/scripts/hy.json
index d598ec3a0af68..e163340096ed0 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/hy.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/hy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "արաբական",
"Armn": "հայկական",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ia.json b/src/Symfony/Component/Intl/Resources/data/scripts/ia.json
index e4143f89cccc2..29807c33bd81b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ia.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ia.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabe",
"Armn": "armenian",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/id.json b/src/Symfony/Component/Intl/Resources/data/scripts/id.json
index bcd763dce3bba..c76a8f6d553a7 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/id.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/id.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Afaka",
"Aghb": "Albania Kaukasia",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ig.json b/src/Symfony/Component/Intl/Resources/data/scripts/ig.json
index e17682d28a1cf..8a47f1e4b378f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ig.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ig.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Mkpụrụ Okwu Arabic",
"Cyrl": "Mkpụrụ Okwu Cyrillic",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ii.json b/src/Symfony/Component/Intl/Resources/data/scripts/ii.json
index ca398b0158bf8..3ef0d75290ca4 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ii.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ii.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ꀊꇁꀨꁱꂷ",
"Cyrl": "ꀊꆨꌦꇁꃚꁱꂷ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/in.json b/src/Symfony/Component/Intl/Resources/data/scripts/in.json
index bcd763dce3bba..c76a8f6d553a7 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/in.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/in.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Afaka",
"Aghb": "Albania Kaukasia",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/is.json b/src/Symfony/Component/Intl/Resources/data/scripts/is.json
index efeaedb63b86b..107c41776295e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/is.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/is.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabískt",
"Armn": "armenskt",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/it.json b/src/Symfony/Component/Intl/Resources/data/scripts/it.json
index 5add6cf798091..69835aea2b38f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/it.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/it.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Arab": "arabo",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/iw.json b/src/Symfony/Component/Intl/Resources/data/scripts/iw.json
index d36b40992e75b..0db3db3b0208e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/iw.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/iw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ערבי",
"Armn": "ארמני",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ja.json b/src/Symfony/Component/Intl/Resources/data/scripts/ja.json
index d70d7f7499238..3fe9c43bd68cc 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ja.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ja.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "アファカ文字",
"Aghb": "カフカス・アルバニア文字",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/jv.json b/src/Symfony/Component/Intl/Resources/data/scripts/jv.json
index 5c2d6686a1b56..fbfbf79391ad1 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/jv.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/jv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arab",
"Armn": "Armenia",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ka.json b/src/Symfony/Component/Intl/Resources/data/scripts/ka.json
index 5b96807b6f29d..57c79bb9fed9d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ka.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ka.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "აფაკა",
"Arab": "არაბული",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/kk.json b/src/Symfony/Component/Intl/Resources/data/scripts/kk.json
index fcf7e661da2ed..4bf8b30b1d09e 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/kk.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/kk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "араб жазуы",
"Armn": "армян жазуы",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/km.json b/src/Symfony/Component/Intl/Resources/data/scripts/km.json
index 8dfe592114ed5..4a5b8013c4cee 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/km.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/km.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "អារ៉ាប់",
"Armn": "អាមេនី",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/kn.json b/src/Symfony/Component/Intl/Resources/data/scripts/kn.json
index e9857bc7ec863..d7c04ba8a9cd5 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/kn.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/kn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ಅರೇಬಿಕ್",
"Armi": "ಇಂಪೀರಿಯಲ್ ಅರೆಮಾಯಿಕ್",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ko.json b/src/Symfony/Component/Intl/Resources/data/scripts/ko.json
index 2972887d6f228..2e4158edec59f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ko.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ko.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "아파카 문자",
"Aghb": "코카시안 알바니아 문자",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ks.json b/src/Symfony/Component/Intl/Resources/data/scripts/ks.json
index 4e36bd0a08948..b7567fa2082a4 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ks.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ks.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "اَربی",
"Armn": "اَرمانیَن",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ku.json b/src/Symfony/Component/Intl/Resources/data/scripts/ku.json
index 6982d7863bf53..2733e5709053d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ku.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ku.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "erebî",
"Armn": "ermenî",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ky.json b/src/Symfony/Component/Intl/Resources/data/scripts/ky.json
index be0e250ac397d..2f45a47c65027 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ky.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ky.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Араб",
"Armn": "Армян",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/lb.json b/src/Symfony/Component/Intl/Resources/data/scripts/lb.json
index 2cb2874425e04..23782da2dd62a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/lb.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/lb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arabesch",
"Armi": "Armi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/lo.json b/src/Symfony/Component/Intl/Resources/data/scripts/lo.json
index 878fb0084071a..4263752404662 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/lo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/lo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "ອັບຟາກາ",
"Arab": "ອາຣາບິກ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/lt.json b/src/Symfony/Component/Intl/Resources/data/scripts/lt.json
index 913e618dc30ab..0aa9db25157e9 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/lt.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/lt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Afaka",
"Aghb": "Kaukazo Albanijos",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/lv.json b/src/Symfony/Component/Intl/Resources/data/scripts/lv.json
index 01e34933ac87c..5b355dd69ab45 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/lv.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/lv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arābu",
"Armi": "aramiešu",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/meta.json b/src/Symfony/Component/Intl/Resources/data/scripts/meta.json
index 2b84742e78a93..b1acc6143aaec 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/meta.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/meta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Scripts": [
"Adlm",
"Afak",
@@ -26,12 +26,14 @@
"Cari",
"Cham",
"Cher",
+ "Chrs",
"Cirt",
"Copt",
"Cprt",
"Cyrl",
"Cyrs",
"Deva",
+ "Diak",
"Dogr",
"Dsrt",
"Dupl",
@@ -76,6 +78,7 @@
"Khar",
"Khmr",
"Khoj",
+ "Kits",
"Knda",
"Kore",
"Kpel",
@@ -182,6 +185,7 @@
"Wole",
"Xpeo",
"Xsux",
+ "Yezi",
"Yiii",
"Zanb",
"Zinh",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mi.json b/src/Symfony/Component/Intl/Resources/data/scripts/mi.json
index f09b313daa554..ae9d11af756c4 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mi.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arapika",
"Cyrl": "Hīririki",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mk.json b/src/Symfony/Component/Intl/Resources/data/scripts/mk.json
index f8972c76d510c..e4781e01e8eed 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mk.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "афака",
"Aghb": "кавкаскоалбански",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ml.json b/src/Symfony/Component/Intl/Resources/data/scripts/ml.json
index 2d1dcad0f0a95..def959c7b61e2 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ml.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ml.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "അറബിക്",
"Armi": "അർമി",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mn.json b/src/Symfony/Component/Intl/Resources/data/scripts/mn.json
index 106f2026c84c5..7d662c74a7ea2 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mn.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "араб",
"Armn": "армени",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mo.json b/src/Symfony/Component/Intl/Resources/data/scripts/mo.json
index 7a994c623e9dd..21358e496dfca 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabă",
"Armn": "armeană",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mr.json b/src/Symfony/Component/Intl/Resources/data/scripts/mr.json
index 7ecc1d34d3de1..b2f40faf25ca9 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mr.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "अरबी",
"Armi": "इम्पिरियल आर्मेनिक",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ms.json b/src/Symfony/Component/Intl/Resources/data/scripts/ms.json
index a2f60942f5394..f39cbf588e996 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ms.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ms.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "Adlam",
"Aghb": "Kaukasia Albania",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/mt.json b/src/Symfony/Component/Intl/Resources/data/scripts/mt.json
index c388f05dd512f..bcbf7b8868a87 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/mt.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/mt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Għarbi",
"Cyrl": "Ċirilliku",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/my.json b/src/Symfony/Component/Intl/Resources/data/scripts/my.json
index 9f283851876cb..390dc4c2f35d8 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/my.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/my.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "အာရေဗျ",
"Armn": "အာမေးနီးယား",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/nb.json b/src/Symfony/Component/Intl/Resources/data/scripts/nb.json
index fa52c828ab070..d80c8caaf0673 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/nb.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/nb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Aghb": "kaukasus-albansk",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ne.json b/src/Symfony/Component/Intl/Resources/data/scripts/ne.json
index c3e5871362d26..82710dfc0000a 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ne.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ne.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "अरबी",
"Armi": "आर्मी",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/nl.json b/src/Symfony/Component/Intl/Resources/data/scripts/nl.json
index 1234dd86defb0..581bca115a133 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/nl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/nl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "Adlam",
"Afak": "Defaka",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/nn.json b/src/Symfony/Component/Intl/Resources/data/scripts/nn.json
index 3bdf69e8b047e..26276ccb36605 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/nn.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/nn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabisk",
"Armi": "armisk",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/no.json b/src/Symfony/Component/Intl/Resources/data/scripts/no.json
index fa52c828ab070..d80c8caaf0673 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/no.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/no.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "afaka",
"Aghb": "kaukasus-albansk",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/om.json b/src/Symfony/Component/Intl/Resources/data/scripts/om.json
index 205b40dca7fdd..ee0a35d575226 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/om.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/om.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Latn": "Latin"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/or.json b/src/Symfony/Component/Intl/Resources/data/scripts/or.json
index 2c1224ee6d124..92b2f101fde35 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/or.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/or.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ଆରବିକ୍",
"Armi": "ଇମ୍ପେରିଆଲ୍ ଆରମିକ୍",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/os.json b/src/Symfony/Component/Intl/Resources/data/scripts/os.json
index d50864e06ff40..cb9d4ea381fab 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/os.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/os.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Араббаг",
"Cyrl": "Киррилицӕ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/pa.json b/src/Symfony/Component/Intl/Resources/data/scripts/pa.json
index 2bae98d09e21e..fba19ffdc1cc5 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/pa.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/pa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "ਅਰਬੀ",
"Armn": "ਅਰਮੀਨੀਆਈ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/pa_Arab.json b/src/Symfony/Component/Intl/Resources/data/scripts/pa_Arab.json
index 4cfe0fc0bb6bc..3c4fd193491cb 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/pa_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/pa_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "عربی",
"Guru": "گُرمُکھی"
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/pl.json b/src/Symfony/Component/Intl/Resources/data/scripts/pl.json
index e5f1efd1f5673..c11b37975e375 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/pl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/pl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabskie",
"Armi": "armi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ps.json b/src/Symfony/Component/Intl/Resources/data/scripts/ps.json
index dc72ae82281ae..40d31db739764 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ps.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ps.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "عربي",
"Armn": "ارمانیایي",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/pt.json b/src/Symfony/Component/Intl/Resources/data/scripts/pt.json
index 26fa5f33e052e..393413b9b8d43 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/pt.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/pt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "árabe",
"Armi": "armi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/pt_PT.json b/src/Symfony/Component/Intl/Resources/data/scripts/pt_PT.json
index 44c1bf6eb2aa5..392c4491b9322 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/pt_PT.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/pt_PT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Armn": "arménio",
"Beng": "bengalês",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/rm.json b/src/Symfony/Component/Intl/Resources/data/scripts/rm.json
index 4f5610419335b..41a6c0c52360f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/rm.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/rm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arab",
"Armi": "arameic imperial",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ro.json b/src/Symfony/Component/Intl/Resources/data/scripts/ro.json
index 7a994c623e9dd..21358e496dfca 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ro.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ro.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabă",
"Armn": "armeană",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ru.json b/src/Symfony/Component/Intl/Resources/data/scripts/ru.json
index 641975aade4da..fcc506d16b4ab 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ru.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ru.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "афака",
"Arab": "арабица",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sd.json b/src/Symfony/Component/Intl/Resources/data/scripts/sd.json
index ab2fcef1c4317..9d9b7c1bd2be7 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sd.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "عربي",
"Armn": "عرماني",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/se.json b/src/Symfony/Component/Intl/Resources/data/scripts/se.json
index 490c64da4c5b4..9ab327b9c233b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/se.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/se.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arába",
"Cyrl": "kyrillalaš",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/se_FI.json b/src/Symfony/Component/Intl/Resources/data/scripts/se_FI.json
index 0fcde53dc8538..380da21ab7ec1 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/se_FI.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/se_FI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arábalaš",
"Hani": "kiinnálaš",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sh.json b/src/Symfony/Component/Intl/Resources/data/scripts/sh.json
index 130c070cc9ad2..69561814e4722 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sh.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arapsko pismo",
"Armi": "imperijsko aramejsko pismo",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/si.json b/src/Symfony/Component/Intl/Resources/data/scripts/si.json
index 2b24ab9aa1021..68ca2b6b7cdbf 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/si.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/si.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "අරාබි",
"Armn": "ආර්මේනියානු",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sk.json b/src/Symfony/Component/Intl/Resources/data/scripts/sk.json
index e59ada2e9c402..c2d11ce61c66b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sk.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabské",
"Armn": "arménske",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sl.json b/src/Symfony/Component/Intl/Resources/data/scripts/sl.json
index 1399dbbf8c461..e6c2d4f968d7f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabski",
"Armi": "imperialno-aramejski",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/so.json b/src/Symfony/Component/Intl/Resources/data/scripts/so.json
index a3b8775282d68..82044c3e4c7a3 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/so.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/so.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Carabi",
"Armn": "Armeeniyaan",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sq.json b/src/Symfony/Component/Intl/Resources/data/scripts/sq.json
index 4fa65cbd54bd2..d0889ee0084bc 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sq.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sq.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arabik",
"Armn": "armen",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sr.json b/src/Symfony/Component/Intl/Resources/data/scripts/sr.json
index 5f9daeaea1aae..4ecf5f25b7549 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sr.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "арапско писмо",
"Armi": "империјско арамејско писмо",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sr_Latn.json b/src/Symfony/Component/Intl/Resources/data/scripts/sr_Latn.json
index 130c070cc9ad2..69561814e4722 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sr_Latn.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sr_Latn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arapsko pismo",
"Armi": "imperijsko aramejsko pismo",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sv.json b/src/Symfony/Component/Intl/Resources/data/scripts/sv.json
index e38e18ea8557d..0a65a07b13071 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sv.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "adlamiska",
"Afak": "afakiska",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sw.json b/src/Symfony/Component/Intl/Resources/data/scripts/sw.json
index 5442bb73437a7..f7d59014386cb 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sw.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Kiarabu",
"Armn": "Kiarmenia",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/sw_KE.json b/src/Symfony/Component/Intl/Resources/data/scripts/sw_KE.json
index 0dce57527355b..09c0ff4bfe0b4 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/sw_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/sw_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Brai": "Breli",
"Ethi": "Kihabeshi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ta.json b/src/Symfony/Component/Intl/Resources/data/scripts/ta.json
index 7789ff3aa1264..77dd37be1f356 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ta.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "அரபிக்",
"Armi": "இம்பேரியல் அரமெய்க்",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/te.json b/src/Symfony/Component/Intl/Resources/data/scripts/te.json
index 8b78f66a64c2a..56254371a365b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/te.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/te.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "అరబిక్",
"Armi": "ఇంపీరియల్ అరామాక్",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/tg.json b/src/Symfony/Component/Intl/Resources/data/scripts/tg.json
index 16f1ecdd18884..764d0635d819d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/tg.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/tg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Арабӣ",
"Cyrl": "Кириллӣ",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/th.json b/src/Symfony/Component/Intl/Resources/data/scripts/th.json
index cd7896483a1e8..8a3bf886cd1ae 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/th.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/th.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "อะฟาคา",
"Aghb": "แอลเบเนีย คอเคเซีย",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ti.json b/src/Symfony/Component/Intl/Resources/data/scripts/ti.json
index eb8060a16854b..a36cf3771d37c 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ti.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ti.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Ethi": "ፊደል",
"Latn": "ላቲን"
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/tk.json b/src/Symfony/Component/Intl/Resources/data/scripts/tk.json
index e82d401429412..cea40e1a83f4c 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/tk.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/tk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arap elipbiýi",
"Armn": "Ermeni elipbiýi",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/tl.json b/src/Symfony/Component/Intl/Resources/data/scripts/tl.json
index fa3f4220dea04..4afde3a05c3df 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/tl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/tl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Arabic",
"Armn": "Armenian",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/to.json b/src/Symfony/Component/Intl/Resources/data/scripts/to.json
index 2ed9d19d39161..d503cbef592cb 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/to.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/to.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "tohinima fakaʻafaka",
"Aghb": "tohinima fakaʻalapēnia-kaukasia",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/tr.json b/src/Symfony/Component/Intl/Resources/data/scripts/tr.json
index 5c35ee1e28b8d..946029b1837eb 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/tr.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/tr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Afaka",
"Aghb": "Kafkas Albanyası",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/tt.json b/src/Symfony/Component/Intl/Resources/data/scripts/tt.json
index 959438032991e..2253e5504607d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/tt.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/tt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "гарәп",
"Cyrl": "кирилл",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ug.json b/src/Symfony/Component/Intl/Resources/data/scripts/ug.json
index bc811f27465b6..68b1fb40a9179 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ug.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ug.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "ئافاكا",
"Arab": "ئەرەب",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/uk.json b/src/Symfony/Component/Intl/Resources/data/scripts/uk.json
index e1b6c875de4d2..4ac83c7775b52 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/uk.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/uk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "адлам",
"Afak": "афака",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/ur.json b/src/Symfony/Component/Intl/Resources/data/scripts/ur.json
index 768327c0ecea8..1eba9580340e9 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/ur.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/ur.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "عربی",
"Armn": "آرمینیائی",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/uz.json b/src/Symfony/Component/Intl/Resources/data/scripts/uz.json
index 0e3972459bec4..fa1c5ff9aad9f 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/uz.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/uz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "arab",
"Armn": "arman",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/uz_Arab.json b/src/Symfony/Component/Intl/Resources/data/scripts/uz_Arab.json
index 1f6ed41327bfc..16cf4cfed89e3 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/uz_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/uz_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "عربی"
}
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/uz_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/scripts/uz_Cyrl.json
index 666a1602e04c5..0b58f51d919bb 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/uz_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/uz_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Араб",
"Armn": "Арман",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/vi.json b/src/Symfony/Component/Intl/Resources/data/scripts/vi.json
index e6ffec9b0c87d..a595534b8c876 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/vi.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/vi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Afak": "Chữ Afaka",
"Arab": "Chữ Ả Rập",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/wo.json b/src/Symfony/Component/Intl/Resources/data/scripts/wo.json
index 8bde4ef20c540..fd64d26372cdc 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/wo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/wo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "Araab",
"Cyrl": "Sirilik",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/yi.json b/src/Symfony/Component/Intl/Resources/data/scripts/yi.json
index 2991b832a10f9..59f1b83831d50 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/yi.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/yi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "אַראַביש",
"Cyrl": "ציריליש",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/yo.json b/src/Symfony/Component/Intl/Resources/data/scripts/yo.json
index d2700dcdd561e..1a9e8c40d8e87 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/yo.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/yo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "èdè Lárúbáwá",
"Cyrl": "èdè ilẹ̀ Rọ́ṣíà",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/yo_BJ.json b/src/Symfony/Component/Intl/Resources/data/scripts/yo_BJ.json
index b755bd3bd49d7..5b7393a3acc36 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/yo_BJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/yo_BJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Cyrl": "èdè ilɛ̀ Rɔ́shíà",
"Hans": "tí wɔ́n mú rɔrùn.",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/zh.json b/src/Symfony/Component/Intl/Resources/data/scripts/zh.json
index bba52d033a60b..98534c891deb0 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/zh.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/zh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "阿德拉姆文",
"Afak": "阿法卡文",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/zh_HK.json b/src/Symfony/Component/Intl/Resources/data/scripts/zh_HK.json
index e9a9079936a67..edea872a6e10b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/zh_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/zh_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Cyrl": "西里爾文",
"Ethi": "埃塞俄比亞文",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant.json b/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant.json
index 353ae5719c822..8ff3b3f180917 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Adlm": "富拉文",
"Afak": "阿法卡文字",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant_HK.json b/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant_HK.json
index e9a9079936a67..edea872a6e10b 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/zh_Hant_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Cyrl": "西里爾文",
"Ethi": "埃塞俄比亞文",
diff --git a/src/Symfony/Component/Intl/Resources/data/scripts/zu.json b/src/Symfony/Component/Intl/Resources/data/scripts/zu.json
index 708596df3bb7b..083355f6e7a6d 100644
--- a/src/Symfony/Component/Intl/Resources/data/scripts/zu.json
+++ b/src/Symfony/Component/Intl/Resources/data/scripts/zu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Arab": "isi-Arabic",
"Armn": "isi-Armenian",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/af.json b/src/Symfony/Component/Intl/Resources/data/timezones/af.json
index 27b79a743d0de..5b6e7963762cd 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/af.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/af.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich-tyd (Abidjan)",
"Africa\/Accra": "Greenwich-tyd (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/am.json b/src/Symfony/Component/Intl/Resources/data/timezones/am.json
index d4e35fc69419c..b9831eb743caa 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/am.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/am.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ግሪንዊች ማዕከላዊ ሰዓት (አቢጃን)",
"Africa\/Accra": "ግሪንዊች ማዕከላዊ ሰዓት (አክራ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ar.json b/src/Symfony/Component/Intl/Resources/data/timezones/ar.json
index 701daf82ed317..c636011a08f91 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ar.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ar.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "توقيت غرينتش (أبيدجان)",
"Africa\/Accra": "توقيت غرينتش (أكرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/as.json b/src/Symfony/Component/Intl/Resources/data/timezones/as.json
index bd8d905ce2a1d..32401d043161f 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/as.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/as.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "গ্ৰীণউইচ মান সময় (আবিডজান)",
"Africa\/Accra": "গ্ৰীণউইচ মান সময় (এক্ৰা)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/az.json b/src/Symfony/Component/Intl/Resources/data/timezones/az.json
index b047c4c7628cf..a51d97b9845b5 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/az.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/az.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Qrinviç Orta Vaxtı (Abican)",
"Africa\/Accra": "Qrinviç Orta Vaxtı (Akkra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/be.json b/src/Symfony/Component/Intl/Resources/data/timezones/be.json
index 2766f86a68720..6d61187d922e8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/be.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/be.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Час па Грынвічы (Абіджан)",
"Africa\/Accra": "Час па Грынвічы (Акра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/bg.json b/src/Symfony/Component/Intl/Resources/data/timezones/bg.json
index 0513ceecb8320..6072442ba443c 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/bg.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/bg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Средно гринуичко време (Абиджан)",
"Africa\/Accra": "Средно гринуичко време (Акра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/bn.json b/src/Symfony/Component/Intl/Resources/data/timezones/bn.json
index d623bdf3ecfd9..07e94365523e0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/bn.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/bn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "গ্রীনিচ মিন টাইম (আবিদজান)",
"Africa\/Accra": "গ্রীনিচ মিন টাইম (আক্রা)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/bo.json b/src/Symfony/Component/Intl/Resources/data/timezones/bo.json
index ebb8d5dc72db2..73f81d9d56333 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/bo.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/bo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"America\/Adak": "ཨ་མེ་རི་ཀ། (Adak)",
"America\/Anchorage": "ཨ་མེ་རི་ཀ། (Anchorage)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/br.json b/src/Symfony/Component/Intl/Resources/data/timezones/br.json
index 7f55b0cbc1b64..a3e89b8cacbba 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/br.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/br.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Amzer keitat Greenwich (AKG) (Abidjan)",
"Africa\/Accra": "Amzer keitat Greenwich (AKG) (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/bs.json b/src/Symfony/Component/Intl/Resources/data/timezones/bs.json
index 064edc1ff9872..9e5ac16430c8c 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/bs.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/bs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Griničko vrijeme (Abidjan)",
"Africa\/Accra": "Griničko vrijeme (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/bs_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/timezones/bs_Cyrl.json
index b8924e82d642c..5e488da7a8be1 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/bs_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/bs_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гриничко средње вријеме (Абиџан)",
"Africa\/Accra": "Гриничко средње вријеме (Акра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ca.json b/src/Symfony/Component/Intl/Resources/data/timezones/ca.json
index e037d5ef56463..a48abbf7975ce 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ca.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ca.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Hora del Meridià de Greenwich (Abidjan)",
"Africa\/Accra": "Hora del Meridià de Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ce.json b/src/Symfony/Component/Intl/Resources/data/timezones/ce.json
index d9052cb136b16..dcbf0ff802b5f 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ce.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ce.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвичица юкъара хан (Абиджан)",
"Africa\/Accra": "Гринвичица юкъара хан (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/cs.json b/src/Symfony/Component/Intl/Resources/data/timezones/cs.json
index 498e18dcd57ad..331a51433ed4b 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/cs.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/cs.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwichský střední čas (Abidžan)",
"Africa\/Accra": "Greenwichský střední čas (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/cy.json b/src/Symfony/Component/Intl/Resources/data/timezones/cy.json
index e674b1fcfd094..b65e923b7a475 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/cy.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/cy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Amser Safonol Greenwich (Abidjan)",
"Africa\/Accra": "Amser Safonol Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/da.json b/src/Symfony/Component/Intl/Resources/data/timezones/da.json
index 9c9b698fdaea2..e0b1c528445ea 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/da.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/da.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "GMT (Abidjan)",
"Africa\/Accra": "GMT (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/de.json b/src/Symfony/Component/Intl/Resources/data/timezones/de.json
index b5021790d8d8a..6a9b3a9e8aa36 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/de.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/de.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Mittlere Greenwich-Zeit (Abidjan)",
"Africa\/Accra": "Mittlere Greenwich-Zeit (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/de_CH.json b/src/Symfony/Component/Intl/Resources/data/timezones/de_CH.json
index 05547b005cb42..42d626f3a18f6 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/de_CH.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/de_CH.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Asia\/Brunei": "Brunei-Zeit",
"Asia\/Macau": "Chinesische Zeit (Macao)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/dz.json b/src/Symfony/Component/Intl/Resources/data/timezones/dz.json
index 66481b4d270ed..c6df03a346feb 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/dz.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/dz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད། (Abidjan་)",
"Africa\/Accra": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད། (Accra་)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ee.json b/src/Symfony/Component/Intl/Resources/data/timezones/ee.json
index ac66383abab3d..7097bba5651df 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ee.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ee.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich gaƒoƒo me (Abidjan)",
"Africa\/Accra": "Greenwich gaƒoƒo me (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/el.json b/src/Symfony/Component/Intl/Resources/data/timezones/el.json
index 4c09af6c1d724..89835fbd6b860 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/el.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/el.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "[Μέση ώρα Γκρίνουιτς (Αμπιτζάν)]",
"Africa\/Accra": "[Μέση ώρα Γκρίνουιτς (Άκρα)]",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/en.json b/src/Symfony/Component/Intl/Resources/data/timezones/en.json
index c431f882a12d4..423a7b11e0504 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/en.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/en.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/en_001.json b/src/Symfony/Component/Intl/Resources/data/timezones/en_001.json
index 2d76711b9479d..f5fa9282fffe7 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/en_001.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/en_001.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"America\/Miquelon": "St Pierre & Miquelon Time",
"America\/St_Barthelemy": "Atlantic Time (St Barthélemy)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/en_AU.json b/src/Symfony/Component/Intl/Resources/data/timezones/en_AU.json
index 48cafa83c48de..bf271a01ca5c0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/en_AU.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/en_AU.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Addis_Ababa": "Eastern Africa Time (Addis Ababa)",
"Africa\/Asmera": "Eastern Africa Time (Asmara)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/en_CA.json b/src/Symfony/Component/Intl/Resources/data/timezones/en_CA.json
index 554e94968abde..762f43d1a2128 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/en_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/en_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Asia\/Rangoon": "Myanmar Time (Rangoon)"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/en_IN.json b/src/Symfony/Component/Intl/Resources/data/timezones/en_IN.json
index 554e94968abde..762f43d1a2128 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/en_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/en_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Asia\/Rangoon": "Myanmar Time (Rangoon)"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/es.json b/src/Symfony/Component/Intl/Resources/data/timezones/es.json
index 92ed1033447ce..cf4bb77a496a9 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/es.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/es.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "hora del meridiano de Greenwich (Abiyán)",
"Africa\/Accra": "hora del meridiano de Greenwich (Acra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/es_419.json b/src/Symfony/Component/Intl/Resources/data/timezones/es_419.json
index 591a3e3f96267..3fdd1b58b6029 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/es_419.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/es_419.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Cairo": "hora de Europa del Este (El Cairo)",
"Africa\/Casablanca": "hora de Europa del Oeste (Casablanca)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/es_MX.json b/src/Symfony/Component/Intl/Resources/data/timezones/es_MX.json
index 78478d0a1a1ae..4b79579346b70 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/es_MX.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/es_MX.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Bujumbura": "hora de África central (Buyumbura)",
"Africa\/Conakry": "hora del meridiano de Greenwich (Conakri)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/es_US.json b/src/Symfony/Component/Intl/Resources/data/timezones/es_US.json
index 6a77b5bc1a87b..68bcce8fd66be 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/es_US.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/es_US.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"America\/Rio_Branco": "Hora de Acre (Rio Branco)",
"Asia\/Almaty": "hora de Kazajistán oriental (Almatý)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/et.json b/src/Symfony/Component/Intl/Resources/data/timezones/et.json
index 95e13f376bc2a..5cc6f98629b46 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/et.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/et.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwichi aeg (Abidjan)",
"Africa\/Accra": "Greenwichi aeg (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/eu.json b/src/Symfony/Component/Intl/Resources/data/timezones/eu.json
index edbba90afc82f..c146a5bc176b3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/eu.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/eu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwichko meridianoaren ordua (Abidjan)",
"Africa\/Accra": "Greenwichko meridianoaren ordua (Akkra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fa.json b/src/Symfony/Component/Intl/Resources/data/timezones/fa.json
index 0052cd966e3df..953774117ea79 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fa.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "وقت گرینویچ (آبیجان)",
"Africa\/Accra": "وقت گرینویچ (اکرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fi.json b/src/Symfony/Component/Intl/Resources/data/timezones/fi.json
index d4fa362413831..8835eb8b8a381 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fi.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwichin normaaliaika (Abidjan)",
"Africa\/Accra": "Greenwichin normaaliaika (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fo.json b/src/Symfony/Component/Intl/Resources/data/timezones/fo.json
index c255ab58efc63..da3f24d354ad3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fo.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean tíð (Abidjan)",
"Africa\/Accra": "Greenwich Mean tíð (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fr.json b/src/Symfony/Component/Intl/Resources/data/timezones/fr.json
index 1927b252c0716..697b74b19cfd2 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fr.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "heure moyenne de Greenwich (Abidjan)",
"Africa\/Accra": "heure moyenne de Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fr_CA.json b/src/Symfony/Component/Intl/Resources/data/timezones/fr_CA.json
index 6cc149a2e7439..1f204dcd5c076 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fr_CA.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fr_CA.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Addis_Ababa": "heure d’Afrique orientale (Addis-Abeba)",
"Africa\/Asmera": "heure d’Afrique orientale (Asmara)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/fy.json b/src/Symfony/Component/Intl/Resources/data/timezones/fy.json
index c6efd62a412e1..38c744ccc6f5f 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/fy.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/fy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ga.json b/src/Symfony/Component/Intl/Resources/data/timezones/ga.json
index db6c075e57a84..a912dde1176a0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ga.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ga.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Meán-Am Greenwich (Abidjan)",
"Africa\/Accra": "Meán-Am Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/gd.json b/src/Symfony/Component/Intl/Resources/data/timezones/gd.json
index 3da8c5d01774a..45b95afd694b3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/gd.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/gd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/gl.json b/src/Symfony/Component/Intl/Resources/data/timezones/gl.json
index d20dd8cc690ca..804736bff9906 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/gl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/gl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Horario do meridiano de Greenwich (Abidjan)",
"Africa\/Accra": "Horario do meridiano de Greenwich (Acra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/gu.json b/src/Symfony/Component/Intl/Resources/data/timezones/gu.json
index f7413fe68b580..5cf2baa18c033 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/gu.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/gu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ગ્રીનવિચ મધ્યમ સમય (આબિદ્જાન)",
"Africa\/Accra": "ગ્રીનવિચ મધ્યમ સમય (ઍકરા)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ha.json b/src/Symfony/Component/Intl/Resources/data/timezones/ha.json
index ca9638699a7bf..2e817c7f4f0f3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ha.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ha.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Lokacin Greenwhich a London (Abidjan)",
"Africa\/Accra": "Lokacin Greenwhich a London (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/he.json b/src/Symfony/Component/Intl/Resources/data/timezones/he.json
index b7835241b668f..b58a4fdb62abe 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/he.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/he.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "שעון גריניץ׳ (אביג׳אן)",
"Africa\/Accra": "שעון גריניץ׳ (אקרה)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/hi.json b/src/Symfony/Component/Intl/Resources/data/timezones/hi.json
index ba4816743b0a5..26e791650a1c0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/hi.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/hi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ग्रीनविच मीन टाइम (अबिदजान)",
"Africa\/Accra": "ग्रीनविच मीन टाइम (एक्रा)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/hr.json b/src/Symfony/Component/Intl/Resources/data/timezones/hr.json
index 564cfa429fb07..506c44392d4ae 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/hr.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/hr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "univerzalno vrijeme (Abidjan)",
"Africa\/Accra": "univerzalno vrijeme (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/hu.json b/src/Symfony/Component/Intl/Resources/data/timezones/hu.json
index 6d232a81cd6a1..c2cd42a5fc0b9 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/hu.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/hu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "greenwichi középidő, téli idő (Abidjan)",
"Africa\/Accra": "greenwichi középidő, téli idő (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/hy.json b/src/Symfony/Component/Intl/Resources/data/timezones/hy.json
index 4e5e0e788c662..d265a17eb8431 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/hy.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/hy.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Գրինվիչի ժամանակ (Աբիջան)",
"Africa\/Accra": "Գրինվիչի ժամանակ (Աքրա)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ia.json b/src/Symfony/Component/Intl/Resources/data/timezones/ia.json
index fc51c80fb51d7..86988416922d6 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ia.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ia.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "hora medie de Greenwich (Abidjan)",
"Africa\/Accra": "hora medie de Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/id.json b/src/Symfony/Component/Intl/Resources/data/timezones/id.json
index 6a1239e78b2bf..39c943a80efea 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/id.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/id.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ig.json b/src/Symfony/Component/Intl/Resources/data/timezones/ig.json
index 149ebb1b0e430..17b07621c9f6b 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ig.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ig.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Oge Mpaghara Greemwich Mean (Abidjan)",
"Africa\/Accra": "Oge Mpaghara Greemwich Mean (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ii.json b/src/Symfony/Component/Intl/Resources/data/timezones/ii.json
index 5b1ac9a77fd95..99a755c0f0e4a 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ii.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ii.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"America\/Adak": "ꂰꇩ (Adak)",
"America\/Anchorage": "ꂰꇩ (Anchorage)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/is.json b/src/Symfony/Component/Intl/Resources/data/timezones/is.json
index 4c0ce7e20bd22..c061994db4711 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/is.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/is.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich-staðaltími (Abidjan)",
"Africa\/Accra": "Greenwich-staðaltími (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/it.json b/src/Symfony/Component/Intl/Resources/data/timezones/it.json
index cd2a0bbe0ed5d..59360222ac250 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/it.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/it.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ora del meridiano di Greenwich (Abidjan)",
"Africa\/Accra": "Ora del meridiano di Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ja.json b/src/Symfony/Component/Intl/Resources/data/timezones/ja.json
index bc19285705548..bad97fb63ad50 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ja.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ja.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "グリニッジ標準時(アビジャン)",
"Africa\/Accra": "グリニッジ標準時(アクラ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/jv.json b/src/Symfony/Component/Intl/Resources/data/timezones/jv.json
index 6af221cbb1934..583548d5e2318 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/jv.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/jv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Wektu Rerata Greenwich (Abidjan)",
"Africa\/Accra": "Wektu Rerata Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ka.json b/src/Symfony/Component/Intl/Resources/data/timezones/ka.json
index cecce2f76c460..f42a243d2d548 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ka.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ka.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "გრინვიჩის საშუალო დრო (აბიჯანი)",
"Africa\/Accra": "გრინვიჩის საშუალო დრო (აკრა)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/kk.json b/src/Symfony/Component/Intl/Resources/data/timezones/kk.json
index aff85664b6c46..dc888aa048787 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/kk.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/kk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвич уақыты (Абиджан)",
"Africa\/Accra": "Гринвич уақыты (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/km.json b/src/Symfony/Component/Intl/Resources/data/timezones/km.json
index 106fd50419ee8..c4ef1e18ac404 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/km.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/km.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ម៉ោងនៅគ្រីនវិច (អាប៊ីដ្យាន)",
"Africa\/Accra": "ម៉ោងនៅគ្រីនវិច (អាក្រា)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/kn.json b/src/Symfony/Component/Intl/Resources/data/timezones/kn.json
index 6337b041e4629..ad83299ba75ee 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/kn.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/kn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ಗ್ರೀನ್ವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ (ಅಬಿದ್ಜನ್)",
"Africa\/Accra": "ಗ್ರೀನ್ವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ (ಅಕ್ರಾ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ko.json b/src/Symfony/Component/Intl/Resources/data/timezones/ko.json
index 2a70a570bc1a2..bb71217f137d4 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ko.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ko.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "그리니치 표준시(아비장)",
"Africa\/Accra": "그리니치 표준시(아크라)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ko_KP.json b/src/Symfony/Component/Intl/Resources/data/timezones/ko_KP.json
index 6dbdd87a5b20c..4ebd2233964ec 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ko_KP.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ko_KP.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Asia\/Pyongyang": "조선 시간(평양)",
"Asia\/Seoul": "조선 시간(서울)"
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ks.json b/src/Symfony/Component/Intl/Resources/data/timezones/ks.json
index 9665ee1f8564a..3edfc3bff519f 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ks.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ks.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "گریٖن وِچ میٖن ٹایِم (عابِدجان)",
"Africa\/Accra": "گریٖن وِچ میٖن ٹایِم (اؠکرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ky.json b/src/Symfony/Component/Intl/Resources/data/timezones/ky.json
index f30f640f09b87..e06128d5cd8ab 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ky.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ky.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвич боюнча орточо убакыт (Абиджан)",
"Africa\/Accra": "Гринвич боюнча орточо убакыт (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/lb.json b/src/Symfony/Component/Intl/Resources/data/timezones/lb.json
index 7e926cc1c7c14..63757eb96ce04 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/lb.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/lb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Mëttler Greenwich-Zäit (Abidjan)",
"Africa\/Accra": "Mëttler Greenwich-Zäit (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ln.json b/src/Symfony/Component/Intl/Resources/data/timezones/ln.json
index 6b30e1f9d6481..14e2608a994d3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ln.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ln.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ngonga ya Kotídivualɛ (Abidjan)",
"Africa\/Accra": "Ngonga ya Gana (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/lo.json b/src/Symfony/Component/Intl/Resources/data/timezones/lo.json
index 49b1cc730e94b..4d33c4d63983d 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/lo.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/lo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ເວລາກຣີນວິຊ (ອາບິດແຈນ)",
"Africa\/Accra": "ເວລາກຣີນວິຊ (ອັກຄຣາ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/lt.json b/src/Symfony/Component/Intl/Resources/data/timezones/lt.json
index 4672d77567435..e8ce1a20756c2 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/lt.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/lt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Grinvičo laikas (Abidžanas)",
"Africa\/Accra": "Grinvičo laikas (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/lv.json b/src/Symfony/Component/Intl/Resources/data/timezones/lv.json
index e53232843f81a..248de9ca61dbf 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/lv.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/lv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Abidžana (Griničas laiks)",
"Africa\/Accra": "Akra (Griničas laiks)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/meta.json b/src/Symfony/Component/Intl/Resources/data/timezones/meta.json
index b1728f8bd74ae..e4c866fbf1f90 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/meta.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/meta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Zones": [
"Africa\/Abidjan",
"Africa\/Accra",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/mi.json b/src/Symfony/Component/Intl/Resources/data/timezones/mi.json
index ee917dccd720c..cdc109e9c6f5e 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/mi.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/mi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Wā Toharite Greenwich (Abidjan)",
"Africa\/Accra": "Wā Toharite Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/mk.json b/src/Symfony/Component/Intl/Resources/data/timezones/mk.json
index 294bf65875839..e7a9afac94058 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/mk.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/mk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Средно време по Гринич (Абиџан)",
"Africa\/Accra": "Средно време по Гринич (Акра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ml.json b/src/Symfony/Component/Intl/Resources/data/timezones/ml.json
index 22a8aaa90d3da..b62b8f977efd0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ml.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ml.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ഗ്രീൻവിച്ച് മീൻ സമയം (അബിദ്ജാൻ)",
"Africa\/Accra": "ഗ്രീൻവിച്ച് മീൻ സമയം (ആക്ര)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/mn.json b/src/Symfony/Component/Intl/Resources/data/timezones/mn.json
index 8e8d04d064750..b6d503ba49ce7 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/mn.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/mn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвичийн цаг (Абижан)",
"Africa\/Accra": "Гринвичийн цаг (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/mr.json b/src/Symfony/Component/Intl/Resources/data/timezones/mr.json
index 82c77c90e9342..f5cb64dfd24b0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/mr.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/mr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ग्रीनिच प्रमाण वेळ (अबिद्जान)",
"Africa\/Accra": "ग्रीनिच प्रमाण वेळ (अॅक्रा)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ms.json b/src/Symfony/Component/Intl/Resources/data/timezones/ms.json
index 99e4bc8679e83..59d7564cb04e0 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ms.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ms.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Waktu Min Greenwich (Abidjan)",
"Africa\/Accra": "Waktu Min Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/mt.json b/src/Symfony/Component/Intl/Resources/data/timezones/mt.json
index a2b86fa987bc0..e9497966b9cc8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/mt.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/mt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ħin ta’ il-Kosta tal-Avorju (Abidjan)",
"Africa\/Accra": "Ħin ta’ il-Ghana (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/my.json b/src/Symfony/Component/Intl/Resources/data/timezones/my.json
index f526072ba7559..1e7b24ee37a0f 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/my.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/my.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ဂရင်းနစ် စံတော်ချိန် (အာဘီဂျန်)",
"Africa\/Accra": "ဂရင်းနစ် စံတော်ချိန် (အက်ကရာ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/nb.json b/src/Symfony/Component/Intl/Resources/data/timezones/nb.json
index 1d4076c88260f..6ed54760cd5f5 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/nb.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/nb.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich middeltid (Abidjan)",
"Africa\/Accra": "Greenwich middeltid (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ne.json b/src/Symfony/Component/Intl/Resources/data/timezones/ne.json
index ad32eae4958e9..cc21bdf0c25b2 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ne.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ne.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ग्रीनविच मिन समय (अविड्जान)",
"Africa\/Accra": "ग्रीनविच मिन समय (अक्रा)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/nl.json b/src/Symfony/Component/Intl/Resources/data/timezones/nl.json
index e2ed5f0184095..468bf9af30d79 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/nl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/nl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/nn.json b/src/Symfony/Component/Intl/Resources/data/timezones/nn.json
index 88f6de232119d..592a7af82e4c5 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/nn.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/nn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich middeltid (Abidjan)",
"Africa\/Accra": "Greenwich middeltid (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/om.json b/src/Symfony/Component/Intl/Resources/data/timezones/om.json
index 7b8f1dfd9d614..00ca8c1ae2c46 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/om.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/om.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Addis_Ababa": "Itoophiyaa (Addis Ababa)",
"Africa\/Nairobi": "Keeniyaa (Nairobi)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/or.json b/src/Symfony/Component/Intl/Resources/data/timezones/or.json
index a260c637742b6..9aa3ab64c4ead 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/or.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/or.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ଗ୍ରୀନୱିଚ୍ ମିନ୍ ସମୟ (ଆବିଦଜାନ)",
"Africa\/Accra": "ଗ୍ରୀନୱିଚ୍ ମିନ୍ ସମୟ (ଆକାରା)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/os.json b/src/Symfony/Component/Intl/Resources/data/timezones/os.json
index 290b0f3ff7461..a47a3ef155952 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/os.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/os.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвичы рӕстӕмбис рӕстӕг (Abidjan)",
"Africa\/Accra": "Гринвичы рӕстӕмбис рӕстӕг (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/pa.json b/src/Symfony/Component/Intl/Resources/data/timezones/pa.json
index 5c6c779556f57..d86714adb40bf 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/pa.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/pa.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ (ਅਬੀਦਜਾਨ)",
"Africa\/Accra": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ (ਅੱਕਰਾ)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/pl.json b/src/Symfony/Component/Intl/Resources/data/timezones/pl.json
index 2ed5a6cbe4a93..8368acd53cf7e 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/pl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/pl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "czas uniwersalny (Abidżan)",
"Africa\/Accra": "czas uniwersalny (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ps.json b/src/Symfony/Component/Intl/Resources/data/timezones/ps.json
index 71600516ed2cd..2dc99db257cd3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ps.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ps.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ګرينويچ معياري وخت (ابيجان)",
"Africa\/Accra": "ګرينويچ معياري وخت (اکرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ps_PK.json b/src/Symfony/Component/Intl/Resources/data/timezones/ps_PK.json
index 86ba249822873..a6274101f6b30 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ps_PK.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ps_PK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Casablanca": "لوېديزے اروپا وخت (کاسابلانکا)",
"Africa\/El_Aaiun": "لوېديزے اروپا وخت (الیون)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/pt.json b/src/Symfony/Component/Intl/Resources/data/timezones/pt.json
index 8de8474ea20f8..d2bcc092a1898 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/pt.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/pt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Horário do Meridiano de Greenwich (Abidjan)",
"Africa\/Accra": "Horário do Meridiano de Greenwich (Acra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/pt_PT.json b/src/Symfony/Component/Intl/Resources/data/timezones/pt_PT.json
index 9ac4f4baca7a8..07d60dbf18a23 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/pt_PT.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/pt_PT.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Hora de Greenwich (Abidjan)",
"Africa\/Accra": "Hora de Greenwich (Acra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/qu.json b/src/Symfony/Component/Intl/Resources/data/timezones/qu.json
index 5e958e8f5e3d4..ff81f330ea895 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/qu.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/qu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Hora del Meridiano de Greenwich (Abiyán)",
"Africa\/Accra": "Hora del Meridiano de Greenwich (Acra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/rm.json b/src/Symfony/Component/Intl/Resources/data/timezones/rm.json
index 3112be63b24b7..dfc8440e1a872 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/rm.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/rm.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Costa d’Ivur (Abidjan)",
"Africa\/Accra": "Ghana (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ro.json b/src/Symfony/Component/Intl/Resources/data/timezones/ro.json
index c03aadc237142..d17d3507704c3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ro.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ro.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ora de Greenwhich (Abidjan)",
"Africa\/Accra": "Ora de Greenwhich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/root.json b/src/Symfony/Component/Intl/Resources/data/timezones/root.json
index 02458a990d32f..63a9f5e4289d5 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/root.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/root.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Meta": {
"GmtFormat": "GMT%s",
"HourFormatPos": "+%02d:%02d",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ru.json b/src/Symfony/Component/Intl/Resources/data/timezones/ru.json
index 92e0e2e39548c..bc7cd4d243816 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ru.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ru.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Среднее время по Гринвичу (Абиджан)",
"Africa\/Accra": "Среднее время по Гринвичу (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/rw.json b/src/Symfony/Component/Intl/Resources/data/timezones/rw.json
index 3411e35c1f561..534949f3c753c 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/rw.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/rw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Kigali": "U Rwanda (Kigali)",
"Antarctica\/Troll": "Troll",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sd.json b/src/Symfony/Component/Intl/Resources/data/timezones/sd.json
index f8f4e5c6f138a..700c7757fefaa 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sd.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sd.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "گرين وچ مين ٽائيم (ابي جان)",
"Africa\/Accra": "گرين وچ مين ٽائيم (ايڪرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/se.json b/src/Symfony/Component/Intl/Resources/data/timezones/se.json
index fe06ded170d95..b807dcd3422c8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/se.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/se.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Abidjan (Greenwich gaskka áigi)",
"Africa\/Accra": "Accra (Greenwich gaskka áigi)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/se_FI.json b/src/Symfony/Component/Intl/Resources/data/timezones/se_FI.json
index d8081462e1607..12737c348898d 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/se_FI.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/se_FI.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Abidjan (Greenwicha áigi)",
"Africa\/Accra": "Accra (Greenwicha áigi)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/si.json b/src/Symfony/Component/Intl/Resources/data/timezones/si.json
index 6c0520b9e7af1..ea3a963d6f198 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/si.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/si.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ග්රිනිච් මධ්යම වේලාව (අබිජාන්)",
"Africa\/Accra": "ග්රිනිච් මධ්යම වේලාව (අක්රා)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sk.json b/src/Symfony/Component/Intl/Resources/data/timezones/sk.json
index 79b6f7d8406b1..47d1d430407dc 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sk.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "greenwichský čas (Abidjan)",
"Africa\/Accra": "greenwichský čas (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sl.json b/src/Symfony/Component/Intl/Resources/data/timezones/sl.json
index a94e4b0acf4bc..fd947127fe699 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwiški srednji čas (Abidžan)",
"Africa\/Accra": "Greenwiški srednji čas (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/so.json b/src/Symfony/Component/Intl/Resources/data/timezones/so.json
index 19d5e688d9db0..bd27cb83f9e45 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/so.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/so.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Waqtiga Celceliska Giriinwij (Abidjaan)",
"Africa\/Accra": "Waqtiga Celceliska Giriinwij (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sq.json b/src/Symfony/Component/Intl/Resources/data/timezones/sq.json
index d5135b13f0129..ffd8cb8e790ab 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sq.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sq.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ora e Grinuiçit (Abixhan)",
"Africa\/Accra": "Ora e Grinuiçit (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sr.json b/src/Symfony/Component/Intl/Resources/data/timezones/sr.json
index 0dbb40a27a119..600a50cc835d7 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sr.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Средње време по Гриничу (Абиџан)",
"Africa\/Accra": "Средње време по Гриничу (Акра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn.json b/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn.json
index 0200f98d4bbe6..b517ea6dcd721 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sr_Latn.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Srednje vreme po Griniču (Abidžan)",
"Africa\/Accra": "Srednje vreme po Griniču (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sv.json b/src/Symfony/Component/Intl/Resources/data/timezones/sv.json
index 08b99f4d7c737..381ca25d6ba07 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sv.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sv.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwichtid (Abidjan)",
"Africa\/Accra": "Greenwichtid (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sw.json b/src/Symfony/Component/Intl/Resources/data/timezones/sw.json
index a59047291feef..8b693861acc44 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sw.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sw.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Saa za Greenwich (Abidjan)",
"Africa\/Accra": "Saa za Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/sw_KE.json b/src/Symfony/Component/Intl/Resources/data/timezones/sw_KE.json
index 8113e12ee4085..78be73d9ddee3 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/sw_KE.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/sw_KE.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"America\/Araguaina": "Saa za Brazili (Araguaina)",
"America\/Argentina\/La_Rioja": "Saa za Ajentina (La Rioja)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ta.json b/src/Symfony/Component/Intl/Resources/data/timezones/ta.json
index 971e14dc2e4e0..67199066b2fdf 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ta.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ta.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "கிரீன்விச் சராசரி நேரம் (அபிட்ஜான்)",
"Africa\/Accra": "கிரீன்விச் சராசரி நேரம் (அக்ரா)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/te.json b/src/Symfony/Component/Intl/Resources/data/timezones/te.json
index 30dbe2806177e..c2c875f1e765e 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/te.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/te.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "గ్రీన్విచ్ సగటు సమయం (అబిడ్జాన్)",
"Africa\/Accra": "గ్రీన్విచ్ సగటు సమయం (అక్రా)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/tg.json b/src/Symfony/Component/Intl/Resources/data/timezones/tg.json
index d1aeea25313ba..e2d2afb2c3c5b 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/tg.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/tg.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Ба вақти Гринвич (Abidjan)",
"Africa\/Accra": "Ба вақти Гринвич (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/th.json b/src/Symfony/Component/Intl/Resources/data/timezones/th.json
index 3775cd3678b45..6b7df9f0e366e 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/th.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/th.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "เวลามาตรฐานกรีนิช (อาบีจาน)",
"Africa\/Accra": "เวลามาตรฐานกรีนิช (อักกรา)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ti.json b/src/Symfony/Component/Intl/Resources/data/timezones/ti.json
index 1c23e80e3e4e5..8159da43c2de4 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ti.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ti.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "ኮት ዲቯር (Abidjan)",
"Africa\/Accra": "ጋና (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/tk.json b/src/Symfony/Component/Intl/Resources/data/timezones/tk.json
index eecb56e01194b..60d95ab9c8301 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/tk.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/tk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Grinwiç boýunça orta wagt (Abijan)",
"Africa\/Accra": "Grinwiç boýunça orta wagt (Akkra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/to.json b/src/Symfony/Component/Intl/Resources/data/timezones/to.json
index 143a9dd3c81f6..c2ea60ac50161 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/to.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/to.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "houa fakakiliniuisi mālie (Abidjan)",
"Africa\/Accra": "houa fakakiliniuisi mālie (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/tr.json b/src/Symfony/Component/Intl/Resources/data/timezones/tr.json
index f71b0f097d9a5..163d784df44c8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/tr.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/tr.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Ortalama Saati (Abidjan)",
"Africa\/Accra": "Greenwich Ortalama Saati (Akra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/tt.json b/src/Symfony/Component/Intl/Resources/data/timezones/tt.json
index fb4ea3b79ee03..ac754fbe3936b 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/tt.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/tt.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвич уртача вакыты (Abidjan)",
"Africa\/Accra": "Гринвич уртача вакыты (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ug.json b/src/Symfony/Component/Intl/Resources/data/timezones/ug.json
index cf693925e299c..ad14605e0dc71 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ug.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ug.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "گىرىنۋىچ ۋاقتى (Abidjan)",
"Africa\/Accra": "گىرىنۋىچ ۋاقتى (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/uk.json b/src/Symfony/Component/Intl/Resources/data/timezones/uk.json
index 32d3ad1740d20..376378c9cffba 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/uk.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/uk.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "за Ґрінвічем (Абіджан)",
"Africa\/Accra": "за Ґрінвічем (Аккра)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ur.json b/src/Symfony/Component/Intl/Resources/data/timezones/ur.json
index a0f798dcb56ea..5b0cba49fab6e 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ur.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ur.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "گرین وچ کا اصل وقت (عابدجان)",
"Africa\/Accra": "گرین وچ کا اصل وقت (اکّرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/ur_IN.json b/src/Symfony/Component/Intl/Resources/data/timezones/ur_IN.json
index df27d5daaa90c..390b1b25b37d8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/ur_IN.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/ur_IN.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "گرین وچ مین ٹائم (عابدجان)",
"Africa\/Accra": "گرین وچ مین ٹائم (اکرا)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/uz.json b/src/Symfony/Component/Intl/Resources/data/timezones/uz.json
index 5f86645a2a481..6c27c6167b835 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/uz.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/uz.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Grinvich o‘rtacha vaqti (Abidjan)",
"Africa\/Accra": "Grinvich o‘rtacha vaqti (Akkra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/uz_Arab.json b/src/Symfony/Component/Intl/Resources/data/timezones/uz_Arab.json
index 2022a349724f9..58e16e8aae3f8 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/uz_Arab.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/uz_Arab.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Asia\/Kabul": "Afgʻoniston vaqti (کابل)"
},
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/uz_Cyrl.json b/src/Symfony/Component/Intl/Resources/data/timezones/uz_Cyrl.json
index 80fc957333a57..59f51f82a4aef 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/uz_Cyrl.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/uz_Cyrl.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Гринвич вақти (Abidjan)",
"Africa\/Accra": "Гринвич вақти (Akkra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/vi.json b/src/Symfony/Component/Intl/Resources/data/timezones/vi.json
index 57e240e8d510b..8cb4c3e1af806 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/vi.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/vi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Giờ Trung bình Greenwich (Abidjan)",
"Africa\/Accra": "Giờ Trung bình Greenwich (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/wo.json b/src/Symfony/Component/Intl/Resources/data/timezones/wo.json
index 15d86cc3ad1b3..23e7ac55e4397 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/wo.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/wo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "GMT (waxtu Greenwich) (Abidjan)",
"Africa\/Accra": "GMT (waxtu Greenwich) (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/yi.json b/src/Symfony/Component/Intl/Resources/data/timezones/yi.json
index 17bd9bba8d3d3..6db2c115d61ec 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/yi.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/yi.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "העלפֿאַ נדביין בארטן (אַבידזשאַן)",
"Africa\/Accra": "גהאַנע (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/yo.json b/src/Symfony/Component/Intl/Resources/data/timezones/yo.json
index badef42f0a433..4690c17a95e77 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/yo.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/yo.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Greenwich Mean Time (Abidjan)",
"Africa\/Accra": "Greenwich Mean Time (Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/yo_BJ.json b/src/Symfony/Component/Intl/Resources/data/timezones/yo_BJ.json
index 50c502779b628..ba0d5b8c41b04 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/yo_BJ.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/yo_BJ.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Casablanca": "Àkókò Ìwɔ Oòrùn Europe (Casablanca)",
"Africa\/El_Aaiun": "Àkókò Ìwɔ Oòrùn Europe (El Aaiun)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/zh.json b/src/Symfony/Component/Intl/Resources/data/timezones/zh.json
index 351ab4a06eefc..aecfa1a8bb73b 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/zh.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/zh.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "格林尼治标准时间(阿比让)",
"Africa\/Accra": "格林尼治标准时间(阿克拉)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hans_SG.json b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hans_SG.json
index 6596799143754..e840e91c8b462 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hans_SG.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hans_SG.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "格林尼治标准时间(阿比让)",
"Africa\/Accra": "格林尼治标准时间(阿克拉)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant.json b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant.json
index a1dbe06a3ea76..dadfee4fb02f9 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "格林威治標準時間(阿比讓)",
"Africa\/Accra": "格林威治標準時間(阿克拉)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant_HK.json b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant_HK.json
index 21c652d4ca095..e1edd05ecebca 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant_HK.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/zh_Hant_HK.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "格林威治標準時間(阿比贊)",
"Africa\/Asmera": "東非時間(阿斯馬拉)",
diff --git a/src/Symfony/Component/Intl/Resources/data/timezones/zu.json b/src/Symfony/Component/Intl/Resources/data/timezones/zu.json
index a6266b8eb5af2..08743b9e30419 100644
--- a/src/Symfony/Component/Intl/Resources/data/timezones/zu.json
+++ b/src/Symfony/Component/Intl/Resources/data/timezones/zu.json
@@ -1,5 +1,5 @@
{
- "Version": "36",
+ "Version": "36.1",
"Names": {
"Africa\/Abidjan": "Isikhathi sase-Greenwich Mean (i-Abidjan)",
"Africa\/Accra": "Isikhathi sase-Greenwich Mean (i-Accra)",
diff --git a/src/Symfony/Component/Intl/Resources/data/version.txt b/src/Symfony/Component/Intl/Resources/data/version.txt
index fcf99cb65db3b..4afa81b96f43d 100644
--- a/src/Symfony/Component/Intl/Resources/data/version.txt
+++ b/src/Symfony/Component/Intl/Resources/data/version.txt
@@ -1 +1 @@
-65.1
+66.1
diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Query.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Query.php
index 920903082e6a8..a01d8c4fcb1a6 100644
--- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Query.php
+++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Query.php
@@ -123,7 +123,7 @@ public function execute()
$this->resetPagination();
}
- throw new LdapException(sprintf('Could not complete search with dn "%s", query "%s" and filters "%s".%s', $this->dn, $this->query, implode(',', $this->options['filter']), $ldapError));
+ throw new LdapException(sprintf('Could not complete search with dn "%s", query "%s" and filters "%s".%s.', $this->dn, $this->query, implode(',', $this->options['filter']), $ldapError));
}
$this->results[] = $search;
diff --git a/src/Symfony/Component/Ldap/Ldap.php b/src/Symfony/Component/Ldap/Ldap.php
index 32c2e853af604..69ab268520982 100644
--- a/src/Symfony/Component/Ldap/Ldap.php
+++ b/src/Symfony/Component/Ldap/Ldap.php
@@ -75,7 +75,7 @@ public function escape(string $subject, string $ignore = '', int $flags = 0): st
public static function create(string $adapter, array $config = []): self
{
if (!isset(self::$adapterMap[$adapter])) {
- throw new DriverNotFoundException(sprintf('Adapter "%s" not found. You should use one of: %s', $adapter, implode(', ', self::$adapterMap)));
+ throw new DriverNotFoundException(sprintf('Adapter "%s" not found. You should use one of: "%s".', $adapter, implode('", "', self::$adapterMap)));
}
$class = self::$adapterMap[$adapter];
diff --git a/src/Symfony/Component/Ldap/Security/LdapUserProvider.php b/src/Symfony/Component/Ldap/Security/LdapUserProvider.php
index 0ed0566b103e8..e8965c070b007 100644
--- a/src/Symfony/Component/Ldap/Security/LdapUserProvider.php
+++ b/src/Symfony/Component/Ldap/Security/LdapUserProvider.php
@@ -84,7 +84,7 @@ public function loadUserByUsername(string $username)
}
if ($count > 1) {
- throw new UsernameNotFoundException('More than one user found');
+ throw new UsernameNotFoundException('More than one user found.');
}
$entry = $entries[0];
diff --git a/src/Symfony/Component/Lock/Store/MemcachedStore.php b/src/Symfony/Component/Lock/Store/MemcachedStore.php
index e36aab4d77966..2f8fd45586e61 100644
--- a/src/Symfony/Component/Lock/Store/MemcachedStore.php
+++ b/src/Symfony/Component/Lock/Store/MemcachedStore.php
@@ -42,11 +42,11 @@ public static function isSupported()
public function __construct(\Memcached $memcached, int $initialTtl = 300)
{
if (!static::isSupported()) {
- throw new InvalidArgumentException('Memcached extension is required');
+ throw new InvalidArgumentException('Memcached extension is required.');
}
if ($initialTtl < 1) {
- throw new InvalidArgumentException(sprintf('%s() expects a strictly positive TTL. Got %d.', __METHOD__, $initialTtl));
+ throw new InvalidArgumentException(sprintf('"%s()" expects a strictly positive TTL. Got %d.', __METHOD__, $initialTtl));
}
$this->memcached = $memcached;
@@ -74,7 +74,7 @@ public function save(Key $key)
public function putOffExpiration(Key $key, float $ttl)
{
if ($ttl < 1) {
- throw new InvalidTtlException(sprintf('%s() expects a TTL greater or equals to 1 second. Got %s.', __METHOD__, $ttl));
+ throw new InvalidTtlException(sprintf('"%s()" expects a TTL greater or equals to 1 second. Got %s.', __METHOD__, $ttl));
}
// Interface defines a float value but Store required an integer.
diff --git a/src/Symfony/Component/Lock/Store/PdoStore.php b/src/Symfony/Component/Lock/Store/PdoStore.php
index 1fb1670f3b084..a49373e62ec18 100644
--- a/src/Symfony/Component/Lock/Store/PdoStore.php
+++ b/src/Symfony/Component/Lock/Store/PdoStore.php
@@ -81,12 +81,12 @@ public function __construct($connOrDsn, array $options = [], float $gcProbabilit
throw new InvalidArgumentException(sprintf('"%s" requires gcProbability between 0 and 1, "%f" given.', __METHOD__, $gcProbability));
}
if ($initialTtl < 1) {
- throw new InvalidTtlException(sprintf('%s() expects a strictly positive TTL, "%d" given.', __METHOD__, $initialTtl));
+ throw new InvalidTtlException(sprintf('"%s()" expects a strictly positive TTL, "%d" given.', __METHOD__, $initialTtl));
}
if ($connOrDsn instanceof \PDO) {
if (\PDO::ERRMODE_EXCEPTION !== $connOrDsn->getAttribute(\PDO::ATTR_ERRMODE)) {
- throw new InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __METHOD__));
+ throw new InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)).', __METHOD__));
}
$this->conn = $connOrDsn;
@@ -146,7 +146,7 @@ public function save(Key $key)
public function putOffExpiration(Key $key, float $ttl)
{
if ($ttl < 1) {
- throw new InvalidTtlException(sprintf('%s() expects a TTL greater or equals to 1 second. Got %s.', __METHOD__, $ttl));
+ throw new InvalidTtlException(sprintf('"%s()" expects a TTL greater or equals to 1 second. Got %s.', __METHOD__, $ttl));
}
$key->reduceLifetime($ttl);
diff --git a/src/Symfony/Component/Lock/Store/RedisStore.php b/src/Symfony/Component/Lock/Store/RedisStore.php
index 0cd14e8693cf1..4cf5b9c21d9f9 100644
--- a/src/Symfony/Component/Lock/Store/RedisStore.php
+++ b/src/Symfony/Component/Lock/Store/RedisStore.php
@@ -38,11 +38,11 @@ class RedisStore implements PersistingStoreInterface
public function __construct($redisClient, float $initialTtl = 300.0)
{
if (!$redisClient instanceof \Redis && !$redisClient instanceof \RedisArray && !$redisClient instanceof \RedisCluster && !$redisClient instanceof \Predis\ClientInterface && !$redisClient instanceof RedisProxy) {
- throw new InvalidArgumentException(sprintf('%s() expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, %s given', __METHOD__, \is_object($redisClient) ? \get_class($redisClient) : \gettype($redisClient)));
+ throw new InvalidArgumentException(sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, "%s" given.', __METHOD__, \is_object($redisClient) ? \get_class($redisClient) : \gettype($redisClient)));
}
if ($initialTtl <= 0) {
- throw new InvalidTtlException(sprintf('%s() expects a strictly positive TTL. Got %d.', __METHOD__, $initialTtl));
+ throw new InvalidTtlException(sprintf('"%s()" expects a strictly positive TTL. Got %d.', __METHOD__, $initialTtl));
}
$this->redis = $redisClient;
@@ -141,7 +141,7 @@ private function evaluate(string $script, string $resource, array $args)
return $this->redis->eval(...array_merge([$script, 1, $resource], $args));
}
- throw new InvalidArgumentException(sprintf('%s() expects being initialized with a Redis, RedisArray, RedisCluster or Predis\ClientInterface, %s given', __METHOD__, \is_object($this->redis) ? \get_class($this->redis) : \gettype($this->redis)));
+ throw new InvalidArgumentException(sprintf('"%s()" expects being initialized with a Redis, RedisArray, RedisCluster or Predis\ClientInterface, "%s" given.', __METHOD__, \is_object($this->redis) ? \get_class($this->redis) : \gettype($this->redis)));
}
private function getUniqueToken(Key $key): string
diff --git a/src/Symfony/Component/Lock/Store/SemaphoreStore.php b/src/Symfony/Component/Lock/Store/SemaphoreStore.php
index 90ac40b6743af..ae302ede9f6da 100644
--- a/src/Symfony/Component/Lock/Store/SemaphoreStore.php
+++ b/src/Symfony/Component/Lock/Store/SemaphoreStore.php
@@ -36,7 +36,7 @@ public static function isSupported(): bool
public function __construct()
{
if (!static::isSupported()) {
- throw new InvalidArgumentException('Semaphore extension (sysvsem) is required');
+ throw new InvalidArgumentException('Semaphore extension (sysvsem) is required.');
}
}
diff --git a/src/Symfony/Component/Lock/Store/StoreFactory.php b/src/Symfony/Component/Lock/Store/StoreFactory.php
index b8c90e170d2d4..b9a5c1e5ca921 100644
--- a/src/Symfony/Component/Lock/Store/StoreFactory.php
+++ b/src/Symfony/Component/Lock/Store/StoreFactory.php
@@ -33,7 +33,7 @@ class StoreFactory
public static function createStore($connection)
{
if (!\is_string($connection) && !\is_object($connection)) {
- throw new \TypeError(sprintf('Argument 1 passed to %s() must be a string or a connection object, %s given.', __METHOD__, \gettype($connection)));
+ throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a string or a connection object, "%s" given.', __METHOD__, \gettype($connection)));
}
switch (true) {
@@ -56,7 +56,7 @@ public static function createStore($connection)
return new ZookeeperStore($connection);
case !\is_string($connection):
- throw new InvalidArgumentException(sprintf('Unsupported Connection: %s.', \get_class($connection)));
+ throw new InvalidArgumentException(sprintf('Unsupported Connection: "%s".', \get_class($connection)));
case 'flock' === $connection:
return new FlockStore();
@@ -95,6 +95,6 @@ public static function createStore($connection)
return new ZookeeperStore(ZookeeperStore::createConnection($connection));
}
- throw new InvalidArgumentException(sprintf('Unsupported Connection: %s.', $connection));
+ throw new InvalidArgumentException(sprintf('Unsupported Connection: "%s".', $connection));
}
}
diff --git a/src/Symfony/Component/Lock/Store/ZookeeperStore.php b/src/Symfony/Component/Lock/Store/ZookeeperStore.php
index f30eb08ab52d0..0d86d2bf208bb 100644
--- a/src/Symfony/Component/Lock/Store/ZookeeperStore.php
+++ b/src/Symfony/Component/Lock/Store/ZookeeperStore.php
@@ -37,11 +37,11 @@ public function __construct(\Zookeeper $zookeeper)
public static function createConnection(string $dsn): \Zookeeper
{
if (0 !== strpos($dsn, 'zookeeper:')) {
- throw new InvalidArgumentException(sprintf('Unsupported DSN: %s.', $dsn));
+ throw new InvalidArgumentException(sprintf('Unsupported DSN: "%s".', $dsn));
}
if (false === $params = parse_url($dsn)) {
- throw new InvalidArgumentException(sprintf('Invalid Zookeeper DSN: %s.', $dsn));
+ throw new InvalidArgumentException(sprintf('Invalid Zookeeper DSN: "%s".', $dsn));
}
$host = $params['host'] ?? '';
diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php
index 22ef23e84ba52..c9cd0ad8cc6f6 100644
--- a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php
@@ -65,7 +65,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
$result = new \SimpleXMLElement($response->getContent(false));
if (200 !== $response->getStatusCode()) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result->Error->Message, $result->Error->Code), $response);
}
$property = $payload['Action'].'Result';
diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php
index 1bb6c5486e291..9cedbdf4c7f7c 100644
--- a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php
@@ -65,7 +65,7 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
$result = new \SimpleXMLElement($response->getContent(false));
if (200 !== $response->getStatusCode()) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result->Error->Message, $result->Error->Code), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result->Error->Message, $result->Error->Code), $response);
}
$message->setMessageId($result->SendRawEmailResult->MessageId);
diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php
index af221ca66e4fb..9b7c181b2943d 100644
--- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php
@@ -51,10 +51,10 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
$result = $response->toArray(false);
if (200 !== $response->getStatusCode()) {
if ('error' === ($result['status'] ?? false)) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result['message'], $result['code']), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result['message'], $result['code']), $response);
}
- throw new HttpTransportException(sprintf('Unable to send an email (code %s).', $result['code']), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email (code %d).', $result['code']), $response);
}
$firstRecipient = reset($result);
diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php
index 6ead15490671f..92f90b8563fa5 100644
--- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php
@@ -58,10 +58,10 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
$result = $response->toArray(false);
if (200 !== $response->getStatusCode()) {
if ('error' === ($result['status'] ?? false)) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result['message'], $result['code']), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result['message'], $result['code']), $response);
}
- throw new HttpTransportException(sprintf('Unable to send an email (code %s).', $result['code']), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email (code %d).', $result['code']), $response);
}
$message->setMessageId($result[0]['_id']);
diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php
index cf40a8cf1eaa6..c8ed383fcc66b 100644
--- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php
@@ -65,10 +65,10 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
$result = $response->toArray(false);
if (200 !== $response->getStatusCode()) {
if ('application/json' === $response->getHeaders(false)['content-type'][0]) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result['message'], $response->getStatusCode()), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result['message'], $response->getStatusCode()), $response);
}
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $response->getContent(false), $response->getStatusCode()), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $response->getContent(false), $response->getStatusCode()), $response);
}
$sentMessage->setMessageId($result['id']);
diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php
index a42598a0b54ce..3ed6f73369fc8 100644
--- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php
@@ -67,10 +67,10 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
$result = $response->toArray(false);
if (200 !== $response->getStatusCode()) {
if ('application/json' === $response->getHeaders(false)['content-type'][0]) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result['message'], $response->getStatusCode()), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result['message'], $response->getStatusCode()), $response);
}
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $response->getContent(false), $response->getStatusCode()), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $response->getContent(false), $response->getStatusCode()), $response);
}
$message->setMessageId($result['id']);
diff --git a/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php
index 610f858260549..352b2eded1568 100644
--- a/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php
@@ -54,7 +54,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
$result = $response->toArray(false);
if (200 !== $response->getStatusCode()) {
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', $result['Message'], $result['ErrorCode']), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', $result['Message'], $result['ErrorCode']), $response);
}
$sentMessage->setMessageId($result['MessageID']);
diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php
index df90d2147277a..550fd4bf331a5 100644
--- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php
+++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php
@@ -53,7 +53,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
if (202 !== $response->getStatusCode()) {
$errors = $response->toArray(false);
- throw new HttpTransportException(sprintf('Unable to send an email: %s (code %s).', implode('; ', array_column($errors['errors'], 'message')), $response->getStatusCode()), $response);
+ throw new HttpTransportException(sprintf('Unable to send an email: %s (code %d).', implode('; ', array_column($errors['errors'], 'message')), $response->getStatusCode()), $response);
}
$sentMessage->setMessageId($response->getHeaders(false)['x-message-id'][0]);
diff --git a/src/Symfony/Component/Mailer/Tests/TransportTest.php b/src/Symfony/Component/Mailer/Tests/TransportTest.php
index d9121a55906ee..95eb5b6ebf03a 100644
--- a/src/Symfony/Component/Mailer/Tests/TransportTest.php
+++ b/src/Symfony/Component/Mailer/Tests/TransportTest.php
@@ -74,7 +74,7 @@ public function testFromWrongString(string $dsn, string $error): void
public function fromWrongStringProvider(): iterable
{
- yield 'garbage at the end' => ['dummy://a some garbage here', 'The DSN has some garbage at the end: some garbage here.'];
+ yield 'garbage at the end' => ['dummy://a some garbage here', 'The DSN has some garbage at the end: " some garbage here".'];
yield 'not a valid DSN' => ['something not a dsn', 'The "something" mailer DSN must contain a scheme.'];
diff --git a/src/Symfony/Component/Mailer/Transport.php b/src/Symfony/Component/Mailer/Transport.php
index 45dfc8b9ba2e7..a8f159dc7c491 100644
--- a/src/Symfony/Component/Mailer/Transport.php
+++ b/src/Symfony/Component/Mailer/Transport.php
@@ -85,7 +85,7 @@ public function fromString(string $dsn): TransportInterface
{
list($transport, $offset) = $this->parseDsn($dsn);
if ($offset !== \strlen($dsn)) {
- throw new InvalidArgumentException(sprintf('The DSN has some garbage at the end: %s.', substr($dsn, $offset)));
+ throw new InvalidArgumentException(sprintf('The DSN has some garbage at the end: "%s".', substr($dsn, $offset)));
}
return $transport;
diff --git a/src/Symfony/Component/Mailer/Transport/AbstractApiTransport.php b/src/Symfony/Component/Mailer/Transport/AbstractApiTransport.php
index 03810e51b1de2..e1a2d5eee2ac8 100644
--- a/src/Symfony/Component/Mailer/Transport/AbstractApiTransport.php
+++ b/src/Symfony/Component/Mailer/Transport/AbstractApiTransport.php
@@ -31,7 +31,7 @@ protected function doSendHttp(SentMessage $message): ResponseInterface
try {
$email = MessageConverter::toEmail($message->getOriginalMessage());
} catch (\Exception $e) {
- throw new RuntimeException(sprintf('Unable to send message with the "%s" transport: %s', __CLASS__, $e->getMessage()), 0, $e);
+ throw new RuntimeException(sprintf('Unable to send message with the "%s" transport: %s.', __CLASS__, $e->getMessage()), 0, $e);
}
return $this->doSendApi($message, $email, $message->getEnvelope());
diff --git a/src/Symfony/Component/Messenger/Command/DebugCommand.php b/src/Symfony/Component/Messenger/Command/DebugCommand.php
index b86dc4b547d87..6e9fc617755ab 100644
--- a/src/Symfony/Component/Messenger/Command/DebugCommand.php
+++ b/src/Symfony/Component/Messenger/Command/DebugCommand.php
@@ -42,7 +42,7 @@ public function __construct(array $mapping)
protected function configure()
{
$this
- ->addArgument('bus', InputArgument::OPTIONAL, sprintf('The bus id (one of %s)', implode(', ', array_keys($this->mapping))))
+ ->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')
->setHelp(<<<'EOF'
The %command.name% command displays all messages that can be
@@ -70,7 +70,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$mapping = $this->mapping;
if ($bus = $input->getArgument('bus')) {
if (!isset($mapping[$bus])) {
- throw new RuntimeException(sprintf('Bus "%s" does not exist. Known buses are %s.', $bus, implode(', ', array_keys($this->mapping))));
+ throw new RuntimeException(sprintf('Bus "%s" does not exist. Known buses are "%s".', $bus, implode('", "', array_keys($this->mapping))));
}
$mapping = [$bus => $mapping[$bus]];
}
diff --git a/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php b/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php
index 4ab31e840444f..bf62b4c87e953 100644
--- a/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php
+++ b/src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php
@@ -75,7 +75,7 @@ private function registerHandlers(ContainerBuilder $container, array $busIds)
foreach ($container->findTaggedServiceIds($this->handlerTag, true) as $serviceId => $tags) {
foreach ($tags as $tag) {
if (isset($tag['bus']) && !\in_array($tag['bus'], $busIds, true)) {
- throw new RuntimeException(sprintf('Invalid handler service "%s": bus "%s" specified on the tag "%s" does not exist (known ones are: %s).', $serviceId, $tag['bus'], $this->handlerTag, implode(', ', $busIds)));
+ throw new RuntimeException(sprintf('Invalid handler service "%s": bus "%s" specified on the tag "%s" does not exist (known ones are: "%s").', $serviceId, $tag['bus'], $this->handlerTag, implode('", "', $busIds)));
}
$className = $container->getDefinition($serviceId)->getClass();
diff --git a/src/Symfony/Component/Messenger/Envelope.php b/src/Symfony/Component/Messenger/Envelope.php
index ed52000f6ffc1..94a41d1451234 100644
--- a/src/Symfony/Component/Messenger/Envelope.php
+++ b/src/Symfony/Component/Messenger/Envelope.php
@@ -30,7 +30,7 @@ final class Envelope
public function __construct($message, array $stamps = [])
{
if (!\is_object($message)) {
- throw new \TypeError(sprintf('Invalid argument provided to "%s()": expected object but got %s.', __METHOD__, \gettype($message)));
+ throw new \TypeError(sprintf('Invalid argument provided to "%s()": expected object but got "%s".', __METHOD__, \gettype($message)));
}
$this->message = $message;
diff --git a/src/Symfony/Component/Messenger/MessageBus.php b/src/Symfony/Component/Messenger/MessageBus.php
index e860457bcbff7..d8146070a8106 100644
--- a/src/Symfony/Component/Messenger/MessageBus.php
+++ b/src/Symfony/Component/Messenger/MessageBus.php
@@ -62,7 +62,7 @@ public function getIterator(): \Traversable
public function dispatch($message, array $stamps = []): Envelope
{
if (!\is_object($message)) {
- throw new \TypeError(sprintf('Invalid argument provided to "%s()": expected object, but got %s.', __METHOD__, \gettype($message)));
+ throw new \TypeError(sprintf('Invalid argument provided to "%s()": expected object, but got "%s".', __METHOD__, \gettype($message)));
}
$envelope = Envelope::wrap($message, $stamps);
$middlewareIterator = $this->middlewareAggregate->getIterator();
diff --git a/src/Symfony/Component/Messenger/Middleware/StackMiddleware.php b/src/Symfony/Component/Messenger/Middleware/StackMiddleware.php
index 4debfd1260b18..42aef7ee128ba 100644
--- a/src/Symfony/Component/Messenger/Middleware/StackMiddleware.php
+++ b/src/Symfony/Component/Messenger/Middleware/StackMiddleware.php
@@ -37,7 +37,7 @@ public function __construct($middlewareIterator = null)
} elseif ($middlewareIterator instanceof MiddlewareInterface) {
$this->stack->stack[] = $middlewareIterator;
} elseif (!is_iterable($middlewareIterator)) {
- throw new \TypeError(sprintf('Argument 1 passed to %s() must be iterable of %s, %s given.', __METHOD__, MiddlewareInterface::class, \is_object($middlewareIterator) ? \get_class($middlewareIterator) : \gettype($middlewareIterator)));
+ throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be iterable of "%s", "%s" given.', __METHOD__, MiddlewareInterface::class, \is_object($middlewareIterator) ? \get_class($middlewareIterator) : \gettype($middlewareIterator)));
} else {
$this->stack->iterator = (function () use ($middlewareIterator) {
yield from $middlewareIterator;
diff --git a/src/Symfony/Component/Messenger/RoutableMessageBus.php b/src/Symfony/Component/Messenger/RoutableMessageBus.php
index 6fde1687b5c52..a4a663589f677 100644
--- a/src/Symfony/Component/Messenger/RoutableMessageBus.php
+++ b/src/Symfony/Component/Messenger/RoutableMessageBus.php
@@ -37,7 +37,7 @@ public function __construct(ContainerInterface $busLocator, MessageBusInterface
public function dispatch($envelope, array $stamps = []): Envelope
{
if (!$envelope instanceof Envelope) {
- throw new InvalidArgumentException('Messages passed to RoutableMessageBus::dispatch() must be inside an Envelope');
+ throw new InvalidArgumentException('Messages passed to RoutableMessageBus::dispatch() must be inside an Envelope.');
}
/** @var BusNameStamp|null $busNameStamp */
diff --git a/src/Symfony/Component/Messenger/Tests/Command/DebugCommandTest.php b/src/Symfony/Component/Messenger/Tests/Command/DebugCommandTest.php
index e637d51dd3126..83b1deff334d3 100644
--- a/src/Symfony/Component/Messenger/Tests/Command/DebugCommandTest.php
+++ b/src/Symfony/Component/Messenger/Tests/Command/DebugCommandTest.php
@@ -142,7 +142,7 @@ public function testOutputWithoutMessages()
public function testExceptionOnUnknownBusArgument()
{
$this->expectException('Symfony\Component\Console\Exception\RuntimeException');
- $this->expectExceptionMessage('Bus "unknown_bus" does not exist. Known buses are command_bus, query_bus.');
+ $this->expectExceptionMessage('Bus "unknown_bus" does not exist. Known buses are "command_bus", "query_bus".');
$command = new DebugCommand(['command_bus' => [], 'query_bus' => []]);
$tester = new CommandTester($command);
diff --git a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php
index e87cbf18b5232..3ec352970a502 100644
--- a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php
+++ b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php
@@ -156,7 +156,7 @@ public function testProcessHandlersByBus()
public function testProcessTagWithUnknownBus()
{
$this->expectException('Symfony\Component\DependencyInjection\Exception\RuntimeException');
- $this->expectExceptionMessage('Invalid handler service "Symfony\Component\Messenger\Tests\Fixtures\DummyCommandHandler": bus "unknown_bus" specified on the tag "messenger.message_handler" does not exist (known ones are: command_bus).');
+ $this->expectExceptionMessage('Invalid handler service "Symfony\Component\Messenger\Tests\Fixtures\DummyCommandHandler": bus "unknown_bus" specified on the tag "messenger.message_handler" does not exist (known ones are: "command_bus").');
$container = $this->getContainerBuilder($commandBusId = 'command_bus');
$container->register(DummyCommandHandler::class)->addTag('messenger.message_handler', ['bus' => 'unknown_bus']);
diff --git a/src/Symfony/Component/Messenger/Tests/MessageBusTest.php b/src/Symfony/Component/Messenger/Tests/MessageBusTest.php
index 4e1c2f6982d2e..531643bd56ae0 100644
--- a/src/Symfony/Component/Messenger/Tests/MessageBusTest.php
+++ b/src/Symfony/Component/Messenger/Tests/MessageBusTest.php
@@ -35,7 +35,7 @@ public function testItHasTheRightInterface()
public function testItDispatchInvalidMessageType()
{
$this->expectException('TypeError');
- $this->expectExceptionMessage('Invalid argument provided to "Symfony\Component\Messenger\MessageBus::dispatch()": expected object, but got string.');
+ $this->expectExceptionMessage('Invalid argument provided to "Symfony\Component\Messenger\MessageBus::dispatch()": expected object, but got "string".');
(new MessageBus())->dispatch('wrong');
}
diff --git a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportFactoryTest.php b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportFactoryTest.php
index 58b71536cf9d6..41856b6c46ca3 100644
--- a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportFactoryTest.php
+++ b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportFactoryTest.php
@@ -18,7 +18,7 @@
use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface;
/**
- * @requires extension redis
+ * @requires extension redis >= 4.3.0
*/
class RedisTransportFactoryTest extends TestCase
{
diff --git a/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php b/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php
index 2540b9d770d0b..b2799af03ca1b 100644
--- a/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php
+++ b/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php
@@ -163,7 +163,7 @@ private static function normalizeQueueArguments(array $arguments): array
}
if (!is_numeric($arguments[$key])) {
- throw new InvalidArgumentException(sprintf('Integer expected for queue argument "%s", %s given.', $key, \gettype($arguments[$key])));
+ throw new InvalidArgumentException(sprintf('Integer expected for queue argument "%s", "%s" given.', $key, \gettype($arguments[$key])));
}
$arguments[$key] = (int) $arguments[$key];
@@ -384,7 +384,7 @@ public function channel(): \AMQPChannel
$credentials['password'] = '********';
unset($credentials['delay']);
- throw new \AMQPException(sprintf('Could not connect to the AMQP server. Please verify the provided DSN. (%s)', json_encode($credentials)), 0, $e);
+ throw new \AMQPException(sprintf('Could not connect to the AMQP server. Please verify the provided DSN. (%s).', json_encode($credentials)), 0, $e);
}
$this->amqpChannel = $this->amqpFactory->createChannel($connection);
diff --git a/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php b/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php
index b700ca2f334d3..6004bf360e3b1 100644
--- a/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php
+++ b/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php
@@ -92,13 +92,13 @@ public static function buildConfiguration(string $dsn, array $options = []): arr
// check for extra keys in options
$optionsExtraKeys = array_diff(array_keys($options), array_keys(self::DEFAULT_OPTIONS));
if (0 < \count($optionsExtraKeys)) {
- throw new InvalidArgumentException(sprintf('Unknown option found : [%s]. Allowed options are [%s]', implode(', ', $optionsExtraKeys), implode(', ', array_keys(self::DEFAULT_OPTIONS))));
+ throw new InvalidArgumentException(sprintf('Unknown option found : [%s]. Allowed options are [%s].', implode(', ', $optionsExtraKeys), implode(', ', array_keys(self::DEFAULT_OPTIONS))));
}
// check for extra keys in options
$queryExtraKeys = array_diff(array_keys($query), array_keys(self::DEFAULT_OPTIONS));
if (0 < \count($queryExtraKeys)) {
- throw new InvalidArgumentException(sprintf('Unknown option found in DSN: [%s]. Allowed options are [%s]', implode(', ', $queryExtraKeys), implode(', ', array_keys(self::DEFAULT_OPTIONS))));
+ throw new InvalidArgumentException(sprintf('Unknown option found in DSN: [%s]. Allowed options are [%s].', implode(', ', $queryExtraKeys), implode(', ', array_keys(self::DEFAULT_OPTIONS))));
}
return $configuration;
diff --git a/src/Symfony/Component/Messenger/Transport/Doctrine/DoctrineTransportFactory.php b/src/Symfony/Component/Messenger/Transport/Doctrine/DoctrineTransportFactory.php
index b4455e04f1f8a..6c4fa47b216a9 100644
--- a/src/Symfony/Component/Messenger/Transport/Doctrine/DoctrineTransportFactory.php
+++ b/src/Symfony/Component/Messenger/Transport/Doctrine/DoctrineTransportFactory.php
@@ -28,7 +28,7 @@ class DoctrineTransportFactory implements TransportFactoryInterface
public function __construct($registry)
{
if (!$registry instanceof RegistryInterface && !$registry instanceof ConnectionRegistry) {
- throw new \TypeError(sprintf('Expected an instance of %s or %s, but got %s.', RegistryInterface::class, ConnectionRegistry::class, \is_object($registry) ? \get_class($registry) : \gettype($registry)));
+ throw new \TypeError(sprintf('Expected an instance of "%s" or "%s", but got "%s".', RegistryInterface::class, ConnectionRegistry::class, \is_object($registry) ? \get_class($registry) : \gettype($registry)));
}
$this->registry = $registry;
diff --git a/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php b/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php
index e1980221625e3..504fe0a10fa98 100644
--- a/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php
+++ b/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php
@@ -56,11 +56,11 @@ public function __construct(array $configuration, array $connectionCredentials =
$this->connection->setOption(\Redis::OPT_SERIALIZER, $redisOptions['serializer'] ?? \Redis::SERIALIZER_PHP);
if (isset($connectionCredentials['auth']) && !$this->connection->auth($connectionCredentials['auth'])) {
- throw new InvalidArgumentException(sprintf('Redis connection failed: %s', $redis->getLastError()));
+ throw new InvalidArgumentException(sprintf('Redis connection failed: %s.', $redis->getLastError()));
}
if (($dbIndex = $configuration['dbindex'] ?? self::DEFAULT_OPTIONS['dbindex']) && !$this->connection->select($dbIndex)) {
- throw new InvalidArgumentException(sprintf('Redis connection failed: %s', $redis->getLastError()));
+ throw new InvalidArgumentException(sprintf('Redis connection failed: %s.', $redis->getLastError()));
}
$this->stream = $configuration['stream'] ?? self::DEFAULT_OPTIONS['stream'];
diff --git a/src/Symfony/Component/Mime/Crypto/SMime.php b/src/Symfony/Component/Mime/Crypto/SMime.php
index 55941be9f4f29..c6317a6bb11f2 100644
--- a/src/Symfony/Component/Mime/Crypto/SMime.php
+++ b/src/Symfony/Component/Mime/Crypto/SMime.php
@@ -24,7 +24,7 @@ abstract class SMime
protected function normalizeFilePath(string $path): string
{
if (!file_exists($path)) {
- throw new RuntimeException(sprintf('File does not exist: %s.', $path));
+ throw new RuntimeException(sprintf('File does not exist: "%s".', $path));
}
return 'file://'.str_replace('\\', '/', realpath($path));
diff --git a/src/Symfony/Component/Mime/Encoder/IdnAddressEncoder.php b/src/Symfony/Component/Mime/Encoder/IdnAddressEncoder.php
index 1c5e32c069412..cdd5d4cade815 100644
--- a/src/Symfony/Component/Mime/Encoder/IdnAddressEncoder.php
+++ b/src/Symfony/Component/Mime/Encoder/IdnAddressEncoder.php
@@ -20,9 +20,7 @@
* SMTP servers.
*
* This encoder does not support email addresses with non-ASCII characters in
- * local-part (the substring before @). To send to such addresses, use
- * Utf8AddressEncoder together with SmtpUtf8Handler. Your outbound SMTP server must support
- * the SMTPUTF8 extension.
+ * local-part (the substring before @).
*
* @author Christian Schmidt
*/
diff --git a/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php b/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php
index 48b8620232c49..685d250627e43 100644
--- a/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php
+++ b/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php
@@ -91,7 +91,7 @@ public function asDebugString(): string
private function getBoundary(): string
{
if (null === $this->boundary) {
- $this->boundary = '_=_symfony_'.time().'_'.bin2hex(random_bytes(16)).'_=_';
+ $this->boundary = strtr(base64_encode(random_bytes(6)), '+/', '-_');
}
return $this->boundary;
diff --git a/src/Symfony/Component/Mime/Part/DataPart.php b/src/Symfony/Component/Mime/Part/DataPart.php
index 423185fef2a92..c6f1cb9742eff 100644
--- a/src/Symfony/Component/Mime/Part/DataPart.php
+++ b/src/Symfony/Component/Mime/Part/DataPart.php
@@ -57,7 +57,7 @@ public static function fromPath(string $path, string $name = null, string $conte
}
if (false === $handle = @fopen($path, 'r', false)) {
- throw new InvalidArgumentException(sprintf('Unable to open path "%s"', $path));
+ throw new InvalidArgumentException(sprintf('Unable to open path "%s".', $path));
}
$p = new self($handle, $name ?: basename($path), $contentType);
$p->handle = $handle;
diff --git a/src/Symfony/Component/Mime/Tests/Crypto/SMimeTestCase.php b/src/Symfony/Component/Mime/Tests/Crypto/SMimeTestCase.php
index 0bd3c139c42af..b400f47e513dd 100644
--- a/src/Symfony/Component/Mime/Tests/Crypto/SMimeTestCase.php
+++ b/src/Symfony/Component/Mime/Tests/Crypto/SMimeTestCase.php
@@ -33,7 +33,7 @@ protected function generateTmpFilename(): string
protected function normalizeFilePath(string $path): string
{
if (!file_exists($path)) {
- throw new RuntimeException(sprintf('File does not exist: %s', $path));
+ throw new RuntimeException(sprintf('File does not exist: "%s"', $path));
}
return str_replace('\\', '/', realpath($path));
diff --git a/src/Symfony/Component/Mime/Tests/Part/Multipart/FormDataPartTest.php b/src/Symfony/Component/Mime/Tests/Part/Multipart/FormDataPartTest.php
index a74ecea316ec9..dbc2e6eff9a22 100644
--- a/src/Symfony/Component/Mime/Tests/Part/Multipart/FormDataPartTest.php
+++ b/src/Symfony/Component/Mime/Tests/Part/Multipart/FormDataPartTest.php
@@ -91,4 +91,16 @@ public function testContentLineLength()
$this->assertEquals($foo, $parts[0]->bodyToString());
$this->assertEquals($bar, $parts[1]->bodyToString());
}
+
+ public function testBoundaryContentTypeHeader()
+ {
+ $f = new FormDataPart([
+ 'file' => new DataPart('data.csv', 'data.csv', 'text/csv'),
+ ]);
+ $headers = $f->getPreparedHeaders()->toArray();
+ $this->assertRegExp(
+ '/^Content-Type: multipart\/form-data; boundary=[a-zA-Z0-9\-_]{8}$/',
+ $headers[0]
+ );
+ }
}
diff --git a/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransportFactory.php b/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransportFactory.php
index 9640d64c3c490..9d70cdeaf9069 100644
--- a/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransportFactory.php
+++ b/src/Symfony/Component/Notifier/Bridge/Telegram/TelegramTransportFactory.php
@@ -50,11 +50,11 @@ protected function getSupportedSchemes(): array
private function getToken(Dsn $dsn): string
{
if (null === $dsn->getUser() && null === $dsn->getPassword()) {
- throw new IncompleteDsnException('Missing token');
+ throw new IncompleteDsnException('Missing token.');
}
if (null === $dsn->getPassword()) {
- throw new IncompleteDsnException('Malformed token');
+ throw new IncompleteDsnException('Malformed token.');
}
return sprintf('%s:%s', $dsn->getUser(), $dsn->getPassword());
diff --git a/src/Symfony/Component/Notifier/Tests/Channel/AbstractChannelTest.php b/src/Symfony/Component/Notifier/Tests/Channel/AbstractChannelTest.php
new file mode 100644
index 0000000000000..abaf5a16928b5
--- /dev/null
+++ b/src/Symfony/Component/Notifier/Tests/Channel/AbstractChannelTest.php
@@ -0,0 +1,44 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Notifier\Tests\Channel;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Notifier\Channel\AbstractChannel;
+use Symfony\Component\Notifier\Exception\LogicException;
+use Symfony\Component\Notifier\Notification\Notification;
+use Symfony\Component\Notifier\Recipient\Recipient;
+
+/**
+ * @author Jan Schädlich
+ */
+class AbstractChannelTest extends TestCase
+{
+ public function testChannelCannotBeConstructedWithoutTransportAndBus()
+ {
+ $this->expectException(LogicException::class);
+
+ new DummyChannel();
+ }
+}
+
+class DummyChannel extends AbstractChannel
+{
+ public function notify(Notification $notification, Recipient $recipient, string $transportName = null): void
+ {
+ return;
+ }
+
+ public function supports(Notification $notification, Recipient $recipient): bool
+ {
+ return false;
+ }
+}
diff --git a/src/Symfony/Component/Notifier/Tests/Channel/ChannelPolicyTest.php b/src/Symfony/Component/Notifier/Tests/Channel/ChannelPolicyTest.php
new file mode 100644
index 0000000000000..59acb33f0c873
--- /dev/null
+++ b/src/Symfony/Component/Notifier/Tests/Channel/ChannelPolicyTest.php
@@ -0,0 +1,48 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Notifier\Tests\Channel;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Notifier\Channel\ChannelPolicy;
+use Symfony\Component\Notifier\Exception\InvalidArgumentException;
+
+/**
+ * @author Jan Schädlich
+ */
+class ChannelPolicyTest extends TestCase
+{
+ public function testCannotRetrieveChannelsUsingUnavailableImportance()
+ {
+ $this->expectException(InvalidArgumentException::class);
+
+ $channelPolicy = new ChannelPolicy(['urgent' => ['chat']]);
+ $channelPolicy->getChannels('low');
+ }
+
+ /**
+ * @dataProvider provideValidPolicies
+ */
+ public function testCanRetrieveChannels(array $policy, string $importance, array $expectedChannels)
+ {
+ $channelPolicy = new ChannelPolicy($policy);
+ $channels = $channelPolicy->getChannels($importance);
+
+ $this->assertSame($expectedChannels, $channels);
+ }
+
+ public function provideValidPolicies(): \Generator
+ {
+ yield [['urgent' => ['chat']], 'urgent', ['chat']];
+ yield [['urgent' => ['chat', 'sms']], 'urgent', ['chat', 'sms']];
+ yield [['urgent' => ['chat', 'chat/slack', 'sms']], 'urgent', ['chat', 'chat/slack', 'sms']];
+ }
+}
diff --git a/src/Symfony/Component/Process/InputStream.php b/src/Symfony/Component/Process/InputStream.php
index c952daf592f07..c86fca86878df 100644
--- a/src/Symfony/Component/Process/InputStream.php
+++ b/src/Symfony/Component/Process/InputStream.php
@@ -45,7 +45,7 @@ public function write($input)
return;
}
if ($this->isClosed()) {
- throw new RuntimeException(sprintf('%s is closed', static::class));
+ throw new RuntimeException(sprintf('"%s" is closed.', static::class));
}
$this->input[] = ProcessUtils::validateInput(__METHOD__, $input);
}
diff --git a/src/Symfony/Component/Process/Pipes/AbstractPipes.php b/src/Symfony/Component/Process/Pipes/AbstractPipes.php
index 54a6221382871..6b72aed7d0d34 100644
--- a/src/Symfony/Component/Process/Pipes/AbstractPipes.php
+++ b/src/Symfony/Component/Process/Pipes/AbstractPipes.php
@@ -103,7 +103,7 @@ protected function write(): ?array
} elseif (!isset($this->inputBuffer[0])) {
if (!\is_string($input)) {
if (!is_scalar($input)) {
- throw new InvalidArgumentException(sprintf('%s yielded a value of type "%s", but only scalars and stream resources are supported', \get_class($this->input), \gettype($input)));
+ throw new InvalidArgumentException(sprintf('"%s" yielded a value of type "%s", but only scalars and stream resources are supported.', \get_class($this->input), \gettype($input)));
}
$input = (string) $input;
}
diff --git a/src/Symfony/Component/Process/Pipes/WindowsPipes.php b/src/Symfony/Component/Process/Pipes/WindowsPipes.php
index 0a265b907d99c..6d9976960ad1b 100644
--- a/src/Symfony/Component/Process/Pipes/WindowsPipes.php
+++ b/src/Symfony/Component/Process/Pipes/WindowsPipes.php
@@ -57,7 +57,7 @@ public function __construct($input, bool $haveReadSupport)
if (!$h = fopen($file.'.lock', 'w')) {
restore_error_handler();
- throw new RuntimeException(sprintf('A temporary file could not be opened to write the process output: %s', $lastError));
+ throw new RuntimeException(sprintf('A temporary file could not be opened to write the process output: %s.', $lastError));
}
if (!flock($h, LOCK_EX | LOCK_NB)) {
continue 2;
diff --git a/src/Symfony/Component/Process/Process.php b/src/Symfony/Component/Process/Process.php
index 69ccc08489255..8bd8cc28b5f4e 100644
--- a/src/Symfony/Component/Process/Process.php
+++ b/src/Symfony/Component/Process/Process.php
@@ -277,7 +277,7 @@ public function mustRun(callable $callback = null, array $env = []): self
public function start(callable $callback = null, array $env = [])
{
if ($this->isRunning()) {
- throw new RuntimeException('Process is already running');
+ throw new RuntimeException('Process is already running.');
}
$this->resetProcessData();
@@ -332,7 +332,7 @@ public function start(callable $callback = null, array $env = [])
throw new RuntimeException(sprintf('The provided cwd "%s" does not exist.', $this->cwd));
}
- $this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $options);
+ $this->process = @proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $options);
if (!\is_resource($this->process)) {
throw new RuntimeException('Unable to launch a new process.');
@@ -371,7 +371,7 @@ public function start(callable $callback = null, array $env = [])
public function restart(callable $callback = null, array $env = []): self
{
if ($this->isRunning()) {
- throw new RuntimeException('Process is already running');
+ throw new RuntimeException('Process is already running.');
}
$process = clone $this;
@@ -404,7 +404,7 @@ public function wait(callable $callback = null)
if (null !== $callback) {
if (!$this->processPipes->haveReadSupport()) {
$this->stop(0);
- throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait"');
+ throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait".');
}
$this->callback = $this->buildCallback($callback);
}
@@ -1554,7 +1554,7 @@ function ($m) use (&$env, &$varCache, &$varCount, $uid) {
private function requireProcessIsStarted(string $functionName)
{
if (!$this->isStarted()) {
- throw new LogicException(sprintf('Process must be started before calling %s.', $functionName));
+ throw new LogicException(sprintf('Process must be started before calling "%s()".', $functionName));
}
}
@@ -1566,7 +1566,7 @@ private function requireProcessIsStarted(string $functionName)
private function requireProcessIsTerminated(string $functionName)
{
if (!$this->isTerminated()) {
- throw new LogicException(sprintf('Process must be terminated before calling %s.', $functionName));
+ throw new LogicException(sprintf('Process must be terminated before calling "%s()".', $functionName));
}
}
diff --git a/src/Symfony/Component/Process/ProcessUtils.php b/src/Symfony/Component/Process/ProcessUtils.php
index 5b6879ae3a9ca..3be7e61a707bc 100644
--- a/src/Symfony/Component/Process/ProcessUtils.php
+++ b/src/Symfony/Component/Process/ProcessUtils.php
@@ -61,7 +61,7 @@ public static function validateInput(string $caller, $input)
return new \IteratorIterator($input);
}
- throw new InvalidArgumentException(sprintf('%s only accepts strings, Traversable objects or stream resources.', $caller));
+ throw new InvalidArgumentException(sprintf('"%s" only accepts strings, Traversable objects or stream resources.', $caller));
}
return $input;
diff --git a/src/Symfony/Component/Process/Tests/ProcessTest.php b/src/Symfony/Component/Process/Tests/ProcessTest.php
index b2138d6864ce4..ecbf271aeb8cf 100644
--- a/src/Symfony/Component/Process/Tests/ProcessTest.php
+++ b/src/Symfony/Component/Process/Tests/ProcessTest.php
@@ -293,7 +293,7 @@ public function testSetInputWhileRunningThrowsAnException()
public function testInvalidInput($value)
{
$this->expectException('Symfony\Component\Process\Exception\InvalidArgumentException');
- $this->expectExceptionMessage('Symfony\Component\Process\Process::setInput only accepts strings, Traversable objects or stream resources.');
+ $this->expectExceptionMessage('"Symfony\Component\Process\Process::setInput" only accepts strings, Traversable objects or stream resources.');
$process = $this->getProcess('foo');
$process->setInput($value);
}
@@ -940,7 +940,7 @@ public function testMethodsThatNeedARunningProcess($method)
$process = $this->getProcess('foo');
$this->expectException('Symfony\Component\Process\Exception\LogicException');
- $this->expectExceptionMessage(sprintf('Process must be started before calling %s.', $method));
+ $this->expectExceptionMessage(sprintf('Process must be started before calling "%s()".', $method));
$process->{$method}();
}
diff --git a/src/Symfony/Component/PropertyAccess/PropertyAccessor.php b/src/Symfony/Component/PropertyAccess/PropertyAccessor.php
index e4626aa72fd0b..0b19b508a42b7 100644
--- a/src/Symfony/Component/PropertyAccess/PropertyAccessor.php
+++ b/src/Symfony/Component/PropertyAccess/PropertyAccessor.php
@@ -378,30 +378,50 @@ private function readProperty(array $zval, string $property, bool $ignoreInvalid
$object = $zval[self::VALUE];
$access = $this->getReadAccessInfo(\get_class($object), $property);
- if (self::ACCESS_TYPE_METHOD === $access[self::ACCESS_TYPE]) {
- $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]}();
- } elseif (self::ACCESS_TYPE_PROPERTY === $access[self::ACCESS_TYPE]) {
- $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]};
+ try {
+ if (self::ACCESS_TYPE_METHOD === $access[self::ACCESS_TYPE]) {
+ try {
+ $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]}();
+ } catch (\TypeError $e) {
+ // handle uninitialized properties in PHP >= 7
+ if (preg_match((sprintf('/^Return value of %s::%s\(\) must be of the type (\w+), null returned$/', preg_quote(\get_class($object)), $access[self::ACCESS_NAME])), $e->getMessage(), $matches)) {
+ throw new AccessException(sprintf('The method "%s::%s()" returned "null", but expected type "%3$s". Have you forgotten to initialize a property or to make the return type nullable using "?%3$s" instead?', \get_class($object), $access[self::ACCESS_NAME], $matches[1]), 0, $e);
+ }
+
+ throw $e;
+ }
+ } elseif (self::ACCESS_TYPE_PROPERTY === $access[self::ACCESS_TYPE]) {
+ $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]};
- if ($access[self::ACCESS_REF] && isset($zval[self::REF])) {
- $result[self::REF] = &$object->{$access[self::ACCESS_NAME]};
+ if ($access[self::ACCESS_REF] && isset($zval[self::REF])) {
+ $result[self::REF] = &$object->{$access[self::ACCESS_NAME]};
+ }
+ } elseif (!$access[self::ACCESS_HAS_PROPERTY] && property_exists($object, $property)) {
+ // Needed to support \stdClass instances. We need to explicitly
+ // exclude $access[self::ACCESS_HAS_PROPERTY], otherwise if
+ // a *protected* property was found on the class, property_exists()
+ // returns true, consequently the following line will result in a
+ // fatal error.
+
+ $result[self::VALUE] = $object->$property;
+ if (isset($zval[self::REF])) {
+ $result[self::REF] = &$object->$property;
+ }
+ } elseif (self::ACCESS_TYPE_MAGIC === $access[self::ACCESS_TYPE]) {
+ // we call the getter and hope the __call do the job
+ $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]}();
+ } elseif (!$ignoreInvalidProperty) {
+ throw new NoSuchPropertyException($access[self::ACCESS_NAME]);
}
- } elseif (!$access[self::ACCESS_HAS_PROPERTY] && property_exists($object, $property)) {
- // Needed to support \stdClass instances. We need to explicitly
- // exclude $access[self::ACCESS_HAS_PROPERTY], otherwise if
- // a *protected* property was found on the class, property_exists()
- // returns true, consequently the following line will result in a
- // fatal error.
+ } catch (\Error $e) {
+ // handle uninitialized properties in PHP >= 7.4
+ if (\PHP_VERSION_ID >= 70400 && preg_match('/^Typed property ([\w\\\]+)::\$(\w+) must not be accessed before initialization$/', $e->getMessage(), $matches)) {
+ $r = new \ReflectionProperty($matches[1], $matches[2]);
- $result[self::VALUE] = $object->$property;
- if (isset($zval[self::REF])) {
- $result[self::REF] = &$object->$property;
+ throw new AccessException(sprintf('The property "%s::$%s" is not readable because it is typed "%3$s". You should either initialize it or make it nullable using "?%3$s" instead.', $r->getDeclaringClass()->getName(), $r->getName(), $r->getType()->getName()), 0, $e);
}
- } elseif (self::ACCESS_TYPE_MAGIC === $access[self::ACCESS_TYPE]) {
- // we call the getter and hope the __call do the job
- $result[self::VALUE] = $object->{$access[self::ACCESS_NAME]}();
- } elseif (!$ignoreInvalidProperty) {
- throw new NoSuchPropertyException($access[self::ACCESS_NAME]);
+
+ throw $e;
}
// Objects are always passed around by reference
@@ -541,7 +561,7 @@ private function writeProperty(array $zval, string $property, $value)
} elseif (self::ACCESS_TYPE_MAGIC === $access[self::ACCESS_TYPE]) {
$object->{$access[self::ACCESS_NAME]}($value);
} elseif (self::ACCESS_TYPE_NOT_FOUND === $access[self::ACCESS_TYPE]) {
- throw new NoSuchPropertyException(sprintf('Could not determine access type for property "%s" in class "%s"%s', $property, \get_class($object), isset($access[self::ACCESS_NAME]) ? ': '.$access[self::ACCESS_NAME] : '.'));
+ throw new NoSuchPropertyException(sprintf('Could not determine access type for property "%s" in class "%s"%s.', $property, \get_class($object), isset($access[self::ACCESS_NAME]) ? ': '.$access[self::ACCESS_NAME] : '.'));
} else {
throw new NoSuchPropertyException($access[self::ACCESS_NAME]);
}
@@ -849,7 +869,7 @@ private function getPropertyPath($propertyPath): PropertyPath
public static function createCache(string $namespace, int $defaultLifetime, string $version, LoggerInterface $logger = null)
{
if (!class_exists('Symfony\Component\Cache\Adapter\ApcuAdapter')) {
- throw new \LogicException(sprintf('The Symfony Cache component must be installed to use %s().', __METHOD__));
+ throw new \LogicException(sprintf('The Symfony Cache component must be installed to use "%s()".', __METHOD__));
}
if (!ApcuAdapter::isSupported()) {
diff --git a/src/Symfony/Component/PropertyAccess/PropertyPath.php b/src/Symfony/Component/PropertyAccess/PropertyPath.php
index d154c1baa8d7b..9f713ef664594 100644
--- a/src/Symfony/Component/PropertyAccess/PropertyPath.php
+++ b/src/Symfony/Component/PropertyAccess/PropertyPath.php
@@ -77,7 +77,7 @@ public function __construct($propertyPath)
return;
}
if (!\is_string($propertyPath)) {
- throw new InvalidArgumentException(sprintf('The property path constructor needs a string or an instance of "Symfony\Component\PropertyAccess\PropertyPath". Got: "%s"', \is_object($propertyPath) ? \get_class($propertyPath) : \gettype($propertyPath)));
+ throw new InvalidArgumentException(sprintf('The property path constructor needs a string or an instance of "Symfony\Component\PropertyAccess\PropertyPath". Got: "%s".', \is_object($propertyPath) ? \get_class($propertyPath) : \gettype($propertyPath)));
}
if ('' === $propertyPath) {
@@ -108,7 +108,7 @@ public function __construct($propertyPath)
}
if ('' !== $remaining) {
- throw new InvalidPropertyPathException(sprintf('Could not parse property path "%s". Unexpected token "%s" at position %d', $propertyPath, $remaining[0], $position));
+ throw new InvalidPropertyPathException(sprintf('Could not parse property path "%s". Unexpected token "%s" at position %d.', $propertyPath, $remaining[0], $position));
}
$this->length = \count($this->elements);
@@ -173,7 +173,7 @@ public function getElements()
public function getElement(int $index)
{
if (!isset($this->elements[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the property path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the property path.', $index));
}
return $this->elements[$index];
@@ -185,7 +185,7 @@ public function getElement(int $index)
public function isProperty(int $index)
{
if (!isset($this->isIndex[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the property path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the property path.', $index));
}
return !$this->isIndex[$index];
@@ -197,7 +197,7 @@ public function isProperty(int $index)
public function isIndex(int $index)
{
if (!isset($this->isIndex[$index])) {
- throw new OutOfBoundsException(sprintf('The index %s is not within the property path', $index));
+ throw new OutOfBoundsException(sprintf('The index "%s" is not within the property path.', $index));
}
return $this->isIndex[$index];
diff --git a/src/Symfony/Component/PropertyAccess/PropertyPathBuilder.php b/src/Symfony/Component/PropertyAccess/PropertyPathBuilder.php
index 1ec48da2bee6c..e20045ed53cc6 100644
--- a/src/Symfony/Component/PropertyAccess/PropertyPathBuilder.php
+++ b/src/Symfony/Component/PropertyAccess/PropertyPathBuilder.php
@@ -94,7 +94,7 @@ public function appendProperty(string $name)
public function remove(int $offset, int $length = 1)
{
if (!isset($this->elements[$offset])) {
- throw new OutOfBoundsException(sprintf('The offset %s is not within the property path', $offset));
+ throw new OutOfBoundsException(sprintf('The offset "%s" is not within the property path.', $offset));
}
$this->resize($offset, $length, 0);
@@ -149,7 +149,7 @@ public function replace(int $offset, int $length, $path, int $pathOffset = 0, in
public function replaceByIndex(int $offset, string $name = null)
{
if (!isset($this->elements[$offset])) {
- throw new OutOfBoundsException(sprintf('The offset %s is not within the property path', $offset));
+ throw new OutOfBoundsException(sprintf('The offset "%s" is not within the property path.', $offset));
}
if (null !== $name) {
@@ -170,7 +170,7 @@ public function replaceByIndex(int $offset, string $name = null)
public function replaceByProperty(int $offset, string $name = null)
{
if (!isset($this->elements[$offset])) {
- throw new OutOfBoundsException(sprintf('The offset %s is not within the property path', $offset));
+ throw new OutOfBoundsException(sprintf('The offset "%s" is not within the property path.', $offset));
}
if (null !== $name) {
diff --git a/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedPrivateProperty.php b/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedPrivateProperty.php
new file mode 100644
index 0000000000000..b7acf8838b75e
--- /dev/null
+++ b/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedPrivateProperty.php
@@ -0,0 +1,22 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\PropertyAccess\Tests\Fixtures;
+
+class UninitializedPrivateProperty
+{
+ private $uninitialized;
+
+ public function getUninitialized(): array
+ {
+ return $this->uninitialized;
+ }
+}
diff --git a/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedProperty.php b/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedProperty.php
new file mode 100644
index 0000000000000..ac757b4022563
--- /dev/null
+++ b/src/Symfony/Component/PropertyAccess/Tests/Fixtures/UninitializedProperty.php
@@ -0,0 +1,17 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\PropertyAccess\Tests\Fixtures;
+
+class UninitializedProperty
+{
+ public string $uninitialized;
+}
diff --git a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
index 218f18730f162..5304a807f1b75 100644
--- a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
+++ b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
@@ -28,6 +28,8 @@
use Symfony\Component\PropertyAccess\Tests\Fixtures\TestSingularAndPluralProps;
use Symfony\Component\PropertyAccess\Tests\Fixtures\Ticket5775Object;
use Symfony\Component\PropertyAccess\Tests\Fixtures\TypeHinted;
+use Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedPrivateProperty;
+use Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedProperty;
class PropertyAccessorTest extends TestCase
{
@@ -131,6 +133,28 @@ public function testGetValueThrowsExceptionIfIndexNotFoundAndIndexExceptionsEnab
$this->propertyAccessor->getValue($objectOrArray, $path);
}
+ /**
+ * @requires PHP 7.4
+ */
+ public function testGetValueThrowsExceptionIfUninitializedProperty()
+ {
+ $this->expectException('Symfony\Component\PropertyAccess\Exception\AccessException');
+ $this->expectExceptionMessage('The property "Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedProperty::$uninitialized" is not readable because it is typed "string". You should either initialize it or make it nullable using "?string" instead.');
+
+ $this->propertyAccessor->getValue(new UninitializedProperty(), 'uninitialized');
+ }
+
+ /**
+ * @requires PHP 7
+ */
+ public function testGetValueThrowsExceptionIfUninitializedPropertyWithGetter()
+ {
+ $this->expectException('Symfony\Component\PropertyAccess\Exception\AccessException');
+ $this->expectExceptionMessage('The method "Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedPrivateProperty::getUninitialized()" returned "null", but expected type "array". Have you forgotten to initialize a property or to make the return type nullable using "?array" instead?');
+
+ $this->propertyAccessor->getValue(new UninitializedPrivateProperty(), 'uninitialized');
+ }
+
public function testGetValueThrowsExceptionIfNotArrayAccess()
{
$this->expectException('Symfony\Component\PropertyAccess\Exception\NoSuchIndexException');
diff --git a/src/Symfony/Component/Routing/Loader/ObjectLoader.php b/src/Symfony/Component/Routing/Loader/ObjectLoader.php
index 39e7d230efb9a..963ddf9ada815 100644
--- a/src/Symfony/Component/Routing/Loader/ObjectLoader.php
+++ b/src/Symfony/Component/Routing/Loader/ObjectLoader.php
@@ -52,11 +52,11 @@ public function load($resource, string $type = null)
$loaderObject = $this->getObject($parts[0]);
if (!\is_object($loaderObject)) {
- throw new \TypeError(sprintf('%s:getObject() must return an object: %s returned', static::class, \gettype($loaderObject)));
+ throw new \TypeError(sprintf('"%s:getObject()" must return an object: "%s" returned.', static::class, \gettype($loaderObject)));
}
if (!\is_callable([$loaderObject, $method])) {
- throw new \BadMethodCallException(sprintf('Method "%s" not found on "%s" when importing routing resource "%s"', $method, \get_class($loaderObject), $resource));
+ throw new \BadMethodCallException(sprintf('Method "%s" not found on "%s" when importing routing resource "%s".', $method, \get_class($loaderObject), $resource));
}
$routeCollection = $loaderObject->$method($this);
@@ -64,7 +64,7 @@ public function load($resource, string $type = null)
if (!$routeCollection instanceof RouteCollection) {
$type = \is_object($routeCollection) ? \get_class($routeCollection) : \gettype($routeCollection);
- throw new \LogicException(sprintf('The %s::%s method must return a RouteCollection: %s returned', \get_class($loaderObject), $method, $type));
+ throw new \LogicException(sprintf('The "%s::%s()" method must return a RouteCollection: "%s" returned.', \get_class($loaderObject), $method, $type));
}
// make the object file tracked so that if it changes, the cache rebuilds
diff --git a/src/Symfony/Component/Routing/Route.php b/src/Symfony/Component/Routing/Route.php
index 3b4d04c36db75..cbe8c6cb86f86 100644
--- a/src/Symfony/Component/Routing/Route.php
+++ b/src/Symfony/Component/Routing/Route.php
@@ -361,6 +361,10 @@ public function setDefaults(array $defaults)
*/
public function addDefaults(array $defaults)
{
+ if (isset($defaults['_locale']) && $this->isLocalized()) {
+ unset($defaults['_locale']);
+ }
+
foreach ($defaults as $name => $default) {
$this->defaults[$name] = $default;
}
@@ -398,6 +402,10 @@ public function hasDefault(string $name)
*/
public function setDefault(string $name, $default)
{
+ if ('_locale' === $name && $this->isLocalized()) {
+ return $this;
+ }
+
$this->defaults[$name] = $default;
$this->compiled = null;
@@ -441,6 +449,10 @@ public function setRequirements(array $requirements)
*/
public function addRequirements(array $requirements)
{
+ if (isset($requirements['_locale']) && $this->isLocalized()) {
+ unset($requirements['_locale']);
+ }
+
foreach ($requirements as $key => $regex) {
$this->requirements[$key] = $this->sanitizeRequirement($key, $regex);
}
@@ -476,6 +488,10 @@ public function hasRequirement(string $key)
*/
public function setRequirement(string $key, string $regex)
{
+ if ('_locale' === $key && $this->isLocalized()) {
+ return $this;
+ }
+
$this->requirements[$key] = $this->sanitizeRequirement($key, $regex);
$this->compiled = null;
@@ -544,4 +560,9 @@ private function sanitizeRequirement(string $key, string $regex)
return $regex;
}
+
+ private function isLocalized(): bool
+ {
+ return isset($this->defaults['_locale']) && isset($this->defaults['_canonical_route']) && ($this->requirements['_locale'] ?? null) === preg_quote($this->defaults['_locale'], RouteCompiler::REGEX_DELIMITER);
+ }
}
diff --git a/src/Symfony/Component/Routing/RouteCompiler.php b/src/Symfony/Component/Routing/RouteCompiler.php
index 1f94a46cbd47f..aac2ee89391ca 100644
--- a/src/Symfony/Component/Routing/RouteCompiler.php
+++ b/src/Symfony/Component/Routing/RouteCompiler.php
@@ -147,7 +147,7 @@ private static function compilePattern(Route $route, string $pattern, bool $isHo
}
if (\strlen($varName) > self::VARIABLE_MAXIMUM_LENGTH) {
- throw new \DomainException(sprintf('Variable name "%s" cannot be longer than %s characters in route pattern "%s". Please use a shorter name.', $varName, self::VARIABLE_MAXIMUM_LENGTH, $pattern));
+ throw new \DomainException(sprintf('Variable name "%s" cannot be longer than %d characters in route pattern "%s". Please use a shorter name.', $varName, self::VARIABLE_MAXIMUM_LENGTH, $pattern));
}
if ($isSeparator && $precedingText !== $precedingChar) {
diff --git a/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php b/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php
index de4776ff78331..299e6bd5c695a 100644
--- a/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php
+++ b/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php
@@ -87,8 +87,8 @@ public function testDumpWithRoutes()
public function testDumpWithSimpleLocalizedRoutes()
{
$this->routeCollection->add('test', (new Route('/foo')));
- $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
- $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
+ $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
+ $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
$code = $this->generatorDumper->dump();
file_put_contents($this->testTmpFilepath, $code);
@@ -120,7 +120,7 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
{
$this->expectException('Symfony\Component\Routing\Exception\RouteNotFoundException');
$this->expectExceptionMessage('Unable to generate a URL for the named route "test" as such route does not exist.');
- $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
+ $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
$code = $this->generatorDumper->dump();
file_put_contents($this->testTmpFilepath, $code);
@@ -131,9 +131,9 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
public function testDumpWithFallbackLocaleLocalizedRoutes()
{
- $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
- $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
- $this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test'));
+ $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
+ $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
+ $this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'fr'));
$code = $this->generatorDumper->dump();
file_put_contents($this->testTmpFilepath, $code);
@@ -234,10 +234,10 @@ public function testDumpWithSchemeRequirement()
public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
{
- $this->routeCollection->add('foo.en', (new Route('/{_locale}/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo'));
- $this->routeCollection->add('foo.fr', (new Route('/{_locale}/foo'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo'));
- $this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun'));
- $this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun'));
+ $this->routeCollection->add('foo.en', (new Route('/{_locale}/fork'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en'));
+ $this->routeCollection->add('foo.fr', (new Route('/{_locale}/fourchette'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'fr'));
+ $this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'en'));
+ $this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'fr'));
file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump());
@@ -246,10 +246,10 @@ public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
$compiledUrlGenerator = new CompiledUrlGenerator(require $this->testTmpFilepath, $requestContext, null, null);
- $this->assertSame('/fr/foo', $compiledUrlGenerator->generate('foo'));
- $this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo.en'));
- $this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo', ['_locale' => 'en']));
- $this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo.fr', ['_locale' => 'en']));
+ $this->assertSame('/fr/fourchette', $compiledUrlGenerator->generate('foo'));
+ $this->assertSame('/en/fork', $compiledUrlGenerator->generate('foo.en'));
+ $this->assertSame('/en/fork', $compiledUrlGenerator->generate('foo', ['_locale' => 'en']));
+ $this->assertSame('/fr/fourchette', $compiledUrlGenerator->generate('foo.fr', ['_locale' => 'en']));
$this->assertSame('/amusant', $compiledUrlGenerator->generate('fun'));
$this->assertSame('/fun', $compiledUrlGenerator->generate('fun.en'));
diff --git a/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php b/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
index 01215da2c064e..cc5d894cfa688 100644
--- a/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
+++ b/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
@@ -171,6 +171,7 @@ public function testGenerateWithDefaultLocale()
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
$localizedRoute = clone $route;
$localizedRoute->setDefault('_locale', $locale);
+ $localizedRoute->setRequirement('_locale', $locale);
$localizedRoute->setDefault('_canonical_route', $name);
$localizedRoute->setPath($path);
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -195,6 +196,7 @@ public function testGenerateWithOverriddenParameterLocale()
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
$localizedRoute = clone $route;
$localizedRoute->setDefault('_locale', $locale);
+ $localizedRoute->setRequirement('_locale', $locale);
$localizedRoute->setDefault('_canonical_route', $name);
$localizedRoute->setPath($path);
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -219,6 +221,7 @@ public function testGenerateWithOverriddenParameterLocaleFromRequestContext()
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
$localizedRoute = clone $route;
$localizedRoute->setDefault('_locale', $locale);
+ $localizedRoute->setRequirement('_locale', $locale);
$localizedRoute->setDefault('_canonical_route', $name);
$localizedRoute->setPath($path);
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -240,18 +243,18 @@ public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
{
$routeCollection = new RouteCollection();
- $routeCollection->add('foo.en', (new Route('/{_locale}/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo'));
- $routeCollection->add('foo.fr', (new Route('/{_locale}/foo'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo'));
- $routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun'));
- $routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun'));
+ $routeCollection->add('foo.en', (new Route('/{_locale}/fork'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en'));
+ $routeCollection->add('foo.fr', (new Route('/{_locale}/fourchette'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'fr'));
+ $routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'en'));
+ $routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'fr'));
$urlGenerator = $this->getGenerator($routeCollection);
$urlGenerator->getContext()->setParameter('_locale', 'fr');
- $this->assertSame('/app.php/fr/foo', $urlGenerator->generate('foo'));
- $this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo.en'));
- $this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo', ['_locale' => 'en']));
- $this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo.fr', ['_locale' => 'en']));
+ $this->assertSame('/app.php/fr/fourchette', $urlGenerator->generate('foo'));
+ $this->assertSame('/app.php/en/fork', $urlGenerator->generate('foo.en'));
+ $this->assertSame('/app.php/en/fork', $urlGenerator->generate('foo', ['_locale' => 'en']));
+ $this->assertSame('/app.php/fr/fourchette', $urlGenerator->generate('foo.fr', ['_locale' => 'en']));
$this->assertSame('/app.php/amusant', $urlGenerator->generate('fun'));
$this->assertSame('/app.php/fun', $urlGenerator->generate('fun.en'));
@@ -278,6 +281,7 @@ public function testGenerateWithInvalidLocale()
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
$localizedRoute = clone $route;
$localizedRoute->setDefault('_locale', $locale);
+ $localizedRoute->setRequirement('_locale', $locale);
$localizedRoute->setDefault('_canonical_route', $name);
$localizedRoute->setPath($path);
$routes->add($name.'.'.$locale, $localizedRoute);
diff --git a/src/Symfony/Component/Routing/Tests/RouteTest.php b/src/Symfony/Component/Routing/Tests/RouteTest.php
index 93f397def2080..87fb251f37f97 100644
--- a/src/Symfony/Component/Routing/Tests/RouteTest.php
+++ b/src/Symfony/Component/Routing/Tests/RouteTest.php
@@ -270,4 +270,65 @@ public function testSerializedRepresentationKeepsWorking()
$this->assertEquals($route, $unserialized);
$this->assertNotSame($route, $unserialized);
}
+
+ /**
+ * @dataProvider provideNonLocalizedRoutes
+ */
+ public function testLocaleDefaultWithNonLocalizedRoutes(Route $route)
+ {
+ $this->assertNotSame('fr', $route->getDefault('_locale'));
+ $route->setDefault('_locale', 'fr');
+ $this->assertSame('fr', $route->getDefault('_locale'));
+ }
+
+ /**
+ * @dataProvider provideLocalizedRoutes
+ */
+ public function testLocaleDefaultWithLocalizedRoutes(Route $route)
+ {
+ $expected = $route->getDefault('_locale');
+ $this->assertIsString($expected);
+ $this->assertNotSame('fr', $expected);
+ $route->setDefault('_locale', 'fr');
+ $this->assertSame($expected, $route->getDefault('_locale'));
+ }
+
+ /**
+ * @dataProvider provideNonLocalizedRoutes
+ */
+ public function testLocaleRequirementWithNonLocalizedRoutes(Route $route)
+ {
+ $this->assertNotSame('fr', $route->getRequirement('_locale'));
+ $route->setRequirement('_locale', 'fr');
+ $this->assertSame('fr', $route->getRequirement('_locale'));
+ }
+
+ /**
+ * @dataProvider provideLocalizedRoutes
+ */
+ public function testLocaleRequirementWithLocalizedRoutes(Route $route)
+ {
+ $expected = $route->getRequirement('_locale');
+ $this->assertIsString($expected);
+ $this->assertNotSame('fr', $expected);
+ $route->setRequirement('_locale', 'fr');
+ $this->assertSame($expected, $route->getRequirement('_locale'));
+ }
+
+ public function provideNonLocalizedRoutes()
+ {
+ return [
+ [(new Route('/foo'))],
+ [(new Route('/foo'))->setDefault('_locale', 'en')],
+ [(new Route('/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')],
+ [(new Route('/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'foobar')],
+ ];
+ }
+
+ public function provideLocalizedRoutes()
+ {
+ return [
+ [(new Route('/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en')],
+ ];
+ }
}
diff --git a/src/Symfony/Component/Security/Core/Authentication/AuthenticationProviderManager.php b/src/Symfony/Component/Security/Core/Authentication/AuthenticationProviderManager.php
index 0c0a206293069..518c21b12ab16 100644
--- a/src/Symfony/Component/Security/Core/Authentication/AuthenticationProviderManager.php
+++ b/src/Symfony/Component/Security/Core/Authentication/AuthenticationProviderManager.php
@@ -21,6 +21,11 @@
use Symfony\Component\Security\Core\Exception\ProviderNotFoundException;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(AuthenticationEvents::class);
+class_exists(AuthenticationFailureEvent::class);
+class_exists(AuthenticationSuccessEvent::class);
+
/**
* AuthenticationProviderManager uses a list of AuthenticationProviderInterface
* instances to authenticate a Token.
diff --git a/src/Symfony/Component/Security/Core/Authentication/Provider/LdapBindAuthenticationProvider.php b/src/Symfony/Component/Security/Core/Authentication/Provider/LdapBindAuthenticationProvider.php
index ce2c099987b2b..41499ffb82018 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Provider/LdapBindAuthenticationProvider.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Provider/LdapBindAuthenticationProvider.php
@@ -63,7 +63,7 @@ public function setQueryString(string $queryString)
protected function retrieveUser(string $username, UsernamePasswordToken $token)
{
if (AuthenticationProviderInterface::USERNAME_NONE_PROVIDED === $username) {
- throw new UsernameNotFoundException('Username can not be null');
+ throw new UsernameNotFoundException('Username can not be null.');
}
return $this->userProvider->loadUserByUsername($username);
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/AnonymousToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/AnonymousToken.php
index b94e8cbb2b953..8c658060ad4a5 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/AnonymousToken.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/AnonymousToken.php
@@ -11,6 +11,8 @@
namespace Symfony\Component\Security\Core\Authentication\Token;
+use Symfony\Component\Security\Core\User\UserInterface;
+
/**
* AnonymousToken represents an anonymous token.
*
@@ -21,9 +23,9 @@ class AnonymousToken extends AbstractToken
private $secret;
/**
- * @param string $secret A secret used to make sure the token is created by the app and not by a malicious client
- * @param string|object $user The user can be a UserInterface instance, or an object implementing a __toString method or the username as a regular string
- * @param string[] $roles An array of roles
+ * @param string $secret A secret used to make sure the token is created by the app and not by a malicious client
+ * @param string|\Stringable|UserInterface $user
+ * @param string[] $roles
*/
public function __construct(string $secret, $user, array $roles = [])
{
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php
index 3532a8adbac19..eb20f7fe6bbde 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php
@@ -11,6 +11,8 @@
namespace Symfony\Component\Security\Core\Authentication\Token;
+use Symfony\Component\Security\Core\User\UserInterface;
+
/**
* PreAuthenticatedToken implements a pre-authenticated token.
*
@@ -22,10 +24,10 @@ class PreAuthenticatedToken extends AbstractToken
private $providerKey;
/**
- * @param string|object $user The user can be a UserInterface instance, or an object implementing a __toString method or the username as a regular string
- * @param mixed $credentials The user credentials
- * @param string $providerKey The provider key
- * @param string[] $roles An array of roles
+ * @param string|\Stringable|UserInterface $user
+ * @param mixed $credentials
+ * @param string $providerKey
+ * @param string[] $roles
*/
public function __construct($user, $credentials, string $providerKey, array $roles = [])
{
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php b/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php
index 0c4f50fd2e201..ad48ec6455f6a 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php
@@ -11,6 +11,8 @@
namespace Symfony\Component\Security\Core\Authentication\Token;
+use Symfony\Component\Security\Core\User\UserInterface;
+
/**
* TokenInterface is the interface for the user authentication information.
*
@@ -45,8 +47,7 @@ public function getCredentials();
/**
* Returns a user representation.
*
- * @return string|object Can be a UserInterface instance, an object implementing a __toString method,
- * or the username as a regular string
+ * @return string|\Stringable|UserInterface
*
* @see AbstractToken::setUser()
*/
@@ -58,7 +59,7 @@ public function getUser();
* The user can be a UserInterface instance, or an object implementing
* a __toString method or the username as a regular string.
*
- * @param string|object $user The user
+ * @param string|\Stringable|UserInterface $user
*
* @throws \InvalidArgumentException
*/
diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
index ca4cc047029e2..b9eaa68246076 100644
--- a/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
+++ b/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
@@ -11,6 +11,8 @@
namespace Symfony\Component\Security\Core\Authentication\Token;
+use Symfony\Component\Security\Core\User\UserInterface;
+
/**
* UsernamePasswordToken implements a username and password token.
*
@@ -22,10 +24,10 @@ class UsernamePasswordToken extends AbstractToken
private $providerKey;
/**
- * @param string|object $user The username (like a nickname, email address, etc.), or a UserInterface instance or an object implementing a __toString method
- * @param mixed $credentials This usually is the password of the user
- * @param string $providerKey The provider key
- * @param string[] $roles An array of roles
+ * @param string|\Stringable|UserInterface $user The username (like a nickname, email address, etc.) or a UserInterface instance
+ * @param mixed $credentials
+ * @param string $providerKey
+ * @param string[] $roles
*
* @throws \InvalidArgumentException
*/
diff --git a/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php b/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
index db6f4b5068497..ebb108a72b202 100644
--- a/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
+++ b/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
@@ -59,7 +59,7 @@ public function __construct(iterable $voters = [], string $strategy = self::STRA
public function decide(TokenInterface $token, array $attributes, $object = null)
{
if (\count($attributes) > 1) {
- throw new InvalidArgumentException(sprintf('Passing more than one Security attribute to %s() is not supported.', __METHOD__));
+ throw new InvalidArgumentException(sprintf('Passing more than one Security attribute to "%s()" is not supported.', __METHOD__));
}
return $this->{$this->strategy}($token, $attributes, $object);
diff --git a/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php b/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php
index ca15a40425176..0deff425b798f 100644
--- a/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php
+++ b/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php
@@ -14,6 +14,9 @@
use Psr\Cache\CacheItemPoolInterface;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;
+// Help opcache.preload discover always-needed symbols
+class_exists(ExpressionLanguageProvider::class);
+
if (!class_exists(BaseExpressionLanguage::class)) {
throw new \LogicException(sprintf('The "%s" class requires the "ExpressionLanguage" component. Try running "composer require symfony/expression-language".', ExpressionLanguage::class));
} else {
diff --git a/src/Symfony/Component/Security/Core/Encoder/PlaintextPasswordEncoder.php b/src/Symfony/Component/Security/Core/Encoder/PlaintextPasswordEncoder.php
index 64353c29fae94..90e7e3d5be69e 100644
--- a/src/Symfony/Component/Security/Core/Encoder/PlaintextPasswordEncoder.php
+++ b/src/Symfony/Component/Security/Core/Encoder/PlaintextPasswordEncoder.php
@@ -14,7 +14,9 @@
use Symfony\Component\Security\Core\Exception\BadCredentialsException;
/**
- * PlaintextPasswordEncoder does not do any encoding.
+ * PlaintextPasswordEncoder does not do any encoding but is useful in testing environments.
+ *
+ * As this encoder is not cryptographically secure, usage of it in production environments is discouraged.
*
* @author Fabien Potencier
*/
diff --git a/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php b/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php
index d6b7c0ba4de2c..e6d7e5dbd0619 100644
--- a/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php
+++ b/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php
@@ -35,7 +35,7 @@ public function __construct(int $opsLimit = null, int $memLimit = null)
}
$this->opsLimit = $opsLimit ?? max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
- $this->memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 2014);
+ $this->memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 1024);
if (3 > $this->opsLimit) {
throw new \InvalidArgumentException('$opsLimit must be 3 or greater.');
diff --git a/src/Symfony/Component/Security/Core/User/UserInterface.php b/src/Symfony/Component/Security/Core/User/UserInterface.php
index c8c747ab1e9d7..239eb0ed00c6c 100644
--- a/src/Symfony/Component/Security/Core/User/UserInterface.php
+++ b/src/Symfony/Component/Security/Core/User/UserInterface.php
@@ -21,7 +21,7 @@
*
* Regardless of how your users are loaded or where they come from (a database,
* configuration, web service, etc.), you will have a class that implements
- * this interface. Objects that implement this interface are created and
+ * this interface. Objects that implement this interface are created and
* loaded by different objects that implement UserProviderInterface.
*
* @see UserProviderInterface
diff --git a/src/Symfony/Component/Security/Guard/Firewall/GuardAuthenticationListener.php b/src/Symfony/Component/Security/Guard/Firewall/GuardAuthenticationListener.php
index 3846455e44884..deb1afb561ff1 100644
--- a/src/Symfony/Component/Security/Guard/Firewall/GuardAuthenticationListener.php
+++ b/src/Symfony/Component/Security/Guard/Firewall/GuardAuthenticationListener.php
@@ -218,7 +218,7 @@ private function triggerRememberMe(AuthenticatorInterface $guardAuthenticator, R
}
if (!$response instanceof Response) {
- throw new \LogicException(sprintf('%s::onAuthenticationSuccess *must* return a Response if you want to use the remember me functionality. Return a Response, or set remember_me to false under the guard configuration.', \get_class($guardAuthenticator)));
+ throw new \LogicException(sprintf('"%s::onAuthenticationSuccess()" *must* return a Response if you want to use the remember me functionality. Return a Response, or set remember_me to false under the guard configuration.', \get_class($guardAuthenticator)));
}
$this->rememberMeServices->loginSuccess($request, $response, $token);
diff --git a/src/Symfony/Component/Security/Guard/GuardAuthenticatorHandler.php b/src/Symfony/Component/Security/Guard/GuardAuthenticatorHandler.php
index 351d368f5a30e..eb2e70a694f96 100644
--- a/src/Symfony/Component/Security/Guard/GuardAuthenticatorHandler.php
+++ b/src/Symfony/Component/Security/Guard/GuardAuthenticatorHandler.php
@@ -75,7 +75,7 @@ public function handleAuthenticationSuccess(TokenInterface $token, Request $requ
return $response;
}
- throw new \UnexpectedValueException(sprintf('The %s::onAuthenticationSuccess method must return null or a Response object. You returned %s.', \get_class($guardAuthenticator), \is_object($response) ? \get_class($response) : \gettype($response)));
+ throw new \UnexpectedValueException(sprintf('The "%s::onAuthenticationSuccess()" method must return null or a Response object. You returned "%s".', \get_class($guardAuthenticator), \is_object($response) ? \get_class($response) : \gettype($response)));
}
/**
@@ -105,7 +105,7 @@ public function handleAuthenticationFailure(AuthenticationException $authenticat
return $response;
}
- throw new \UnexpectedValueException(sprintf('The %s::onAuthenticationFailure method must return null or a Response object. You returned %s.', \get_class($guardAuthenticator), \is_object($response) ? \get_class($response) : \gettype($response)));
+ throw new \UnexpectedValueException(sprintf('The "%s::onAuthenticationFailure()" method must return null or a Response object. You returned "%s".', \get_class($guardAuthenticator), \is_object($response) ? \get_class($response) : \gettype($response)));
}
/**
@@ -120,7 +120,7 @@ public function setSessionAuthenticationStrategy(SessionAuthenticationStrategyIn
private function migrateSession(Request $request, TokenInterface $token, ?string $providerKey)
{
- if (!$this->sessionStrategy || !$request->hasSession() || !$request->hasPreviousSession() || \in_array($providerKey, $this->statelessProviderKeys, true)) {
+ if (\in_array($providerKey, $this->statelessProviderKeys, true) || !$this->sessionStrategy || !$request->hasSession() || !$request->hasPreviousSession()) {
return;
}
diff --git a/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php b/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php
index ec2b1f10eab73..e705b0f4c4ef7 100644
--- a/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php
+++ b/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php
@@ -105,20 +105,20 @@ private function authenticateViaGuard(AuthenticatorInterface $guardAuthenticator
$user = $guardAuthenticator->getUser($token->getCredentials(), $this->userProvider);
if (null === $user) {
- throw new UsernameNotFoundException(sprintf('Null returned from %s::getUser()', \get_class($guardAuthenticator)));
+ throw new UsernameNotFoundException(sprintf('Null returned from "%s::getUser()".', \get_class($guardAuthenticator)));
}
if (!$user instanceof UserInterface) {
- throw new \UnexpectedValueException(sprintf('The %s::getUser() method must return a UserInterface. You returned %s.', \get_class($guardAuthenticator), \is_object($user) ? \get_class($user) : \gettype($user)));
+ throw new \UnexpectedValueException(sprintf('The "%s::getUser()" method must return a UserInterface. You returned "%s".', \get_class($guardAuthenticator), \is_object($user) ? \get_class($user) : \gettype($user)));
}
$this->userChecker->checkPreAuth($user);
if (true !== $checkCredentialsResult = $guardAuthenticator->checkCredentials($token->getCredentials(), $user)) {
if (false !== $checkCredentialsResult) {
- throw new \TypeError(sprintf('%s::checkCredentials() must return a boolean value.', \get_class($guardAuthenticator)));
+ throw new \TypeError(sprintf('"%s::checkCredentials()" must return a boolean value.', \get_class($guardAuthenticator)));
}
- throw new BadCredentialsException(sprintf('Authentication failed because %s::checkCredentials() did not return true.', \get_class($guardAuthenticator)));
+ throw new BadCredentialsException(sprintf('Authentication failed because "%s::checkCredentials()" did not return true.', \get_class($guardAuthenticator)));
}
if ($this->userProvider instanceof PasswordUpgraderInterface && $guardAuthenticator instanceof PasswordAuthenticatedInterface && null !== $this->passwordEncoder && (null !== $password = $guardAuthenticator->getPassword($token->getCredentials())) && method_exists($this->passwordEncoder, 'needsRehash') && $this->passwordEncoder->needsRehash($user)) {
$this->userProvider->upgradePassword($user, $this->passwordEncoder->encodePassword($user, $password));
@@ -128,7 +128,7 @@ private function authenticateViaGuard(AuthenticatorInterface $guardAuthenticator
// turn the UserInterface into a TokenInterface
$authenticatedToken = $guardAuthenticator->createAuthenticatedToken($user, $this->providerKey);
if (!$authenticatedToken instanceof TokenInterface) {
- throw new \UnexpectedValueException(sprintf('The %s::createAuthenticatedToken() method must return a TokenInterface. You returned %s.', \get_class($guardAuthenticator), \is_object($authenticatedToken) ? \get_class($authenticatedToken) : \gettype($authenticatedToken)));
+ throw new \UnexpectedValueException(sprintf('The "%s::createAuthenticatedToken()" method must return a TokenInterface. You returned "%s".', \get_class($guardAuthenticator), \is_object($authenticatedToken) ? \get_class($authenticatedToken) : \gettype($authenticatedToken)));
}
return $authenticatedToken;
diff --git a/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php b/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php
index 0256ec22ff164..e078a6be123a1 100644
--- a/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php
+++ b/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php
@@ -153,6 +153,22 @@ public function testSessionStrategyIsNotCalledWhenStateless()
$handler->authenticateWithToken($this->token, $this->request, 'some_provider_key');
}
+ public function testSessionIsNotInstantiatedOnStatelessFirewall()
+ {
+ $sessionFactory = $this->getMockBuilder(\stdClass::class)
+ ->setMethods(['__invoke'])
+ ->getMock();
+
+ $sessionFactory->expects($this->never())
+ ->method('__invoke');
+
+ $this->request->setSessionFactory($sessionFactory);
+
+ $handler = new GuardAuthenticatorHandler($this->tokenStorage, $this->dispatcher, ['stateless_provider_key']);
+ $handler->setSessionAuthenticationStrategy($this->sessionStrategy);
+ $handler->authenticateWithToken($this->token, $this->request, 'stateless_provider_key');
+ }
+
protected function setUp(): void
{
$this->tokenStorage = $this->getMockBuilder(TokenStorageInterface::class)->getMock();
diff --git a/src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php b/src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
index c54e6ba67d8b4..71c90a926e450 100644
--- a/src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
+++ b/src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
@@ -19,6 +19,9 @@
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
+// Help opcache.preload discover always-needed symbols
+class_exists(AnonymousToken::class);
+
/**
* AnonymousAuthenticationListener automatically adds a Token if none is
* already present.
diff --git a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php
index 0c8abb9dbecb7..b1bbdeac26b36 100644
--- a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php
+++ b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php
@@ -100,10 +100,10 @@ public function authenticate(RequestEvent $event)
if (null !== $session) {
$usageIndexValue = $session instanceof Session ? $usageIndexReference = &$session->getUsageIndex() : 0;
- $sessionId = $session->getId();
+ $sessionId = $request->cookies->get($session->getName());
$token = $session->get($this->sessionKey);
- if ($this->sessionTrackerEnabler && $session->getId() === $sessionId) {
+ if ($this->sessionTrackerEnabler && \in_array($sessionId, [true, $session->getId()], true)) {
$usageIndexReference = $usageIndexValue;
}
}
diff --git a/src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php b/src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
index e9dbfb2352ff1..b2deb42f08335 100644
--- a/src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
+++ b/src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
@@ -216,7 +216,7 @@ private function startAuthentication(Request $request, AuthenticationException $
if (!$response instanceof Response) {
$given = \is_object($response) ? \get_class($response) : \gettype($response);
- throw new \LogicException(sprintf('The %s::start() method must return a Response object (%s returned)', \get_class($this->authenticationEntryPoint), $given));
+ throw new \LogicException(sprintf('The "%s::start()" method must return a Response object ("%s" returned).', \get_class($this->authenticationEntryPoint), $given));
}
return $response;
diff --git a/src/Symfony/Component/Security/Http/Firewall/RemoteUserAuthenticationListener.php b/src/Symfony/Component/Security/Http/Firewall/RemoteUserAuthenticationListener.php
index 592e0127e5122..a33ed27f0560f 100644
--- a/src/Symfony/Component/Security/Http/Firewall/RemoteUserAuthenticationListener.php
+++ b/src/Symfony/Component/Security/Http/Firewall/RemoteUserAuthenticationListener.php
@@ -41,7 +41,7 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
protected function getPreAuthenticatedData(Request $request)
{
if (!$request->server->has($this->userKey)) {
- throw new BadCredentialsException(sprintf('User key was not found: %s', $this->userKey));
+ throw new BadCredentialsException(sprintf('User key was not found: "%s".', $this->userKey));
}
return [$request->server->get($this->userKey), null];
diff --git a/src/Symfony/Component/Security/Http/Firewall/X509AuthenticationListener.php b/src/Symfony/Component/Security/Http/Firewall/X509AuthenticationListener.php
index 7e785bdb582a4..c15c8ff7303d2 100644
--- a/src/Symfony/Component/Security/Http/Firewall/X509AuthenticationListener.php
+++ b/src/Symfony/Component/Security/Http/Firewall/X509AuthenticationListener.php
@@ -52,7 +52,7 @@ protected function getPreAuthenticatedData(Request $request)
}
if (null === $user) {
- throw new BadCredentialsException(sprintf('SSL credentials not found: %s, %s', $this->userKey, $this->credentialKey));
+ throw new BadCredentialsException(sprintf('SSL credentials not found: "%s", "%s".', $this->userKey, $this->credentialKey));
}
return [$user, $request->server->get($this->credentialKey, '')];
diff --git a/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php b/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php
index 7cbd418e2981a..fe5aa6d3f7a9b 100644
--- a/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php
+++ b/src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php
@@ -39,6 +39,7 @@ abstract class AbstractRememberMeServices implements RememberMeServicesInterface
protected $options = [
'secure' => false,
'httponly' => true,
+ 'samesite' => null,
];
private $providerKey;
private $secret;
@@ -258,7 +259,7 @@ protected function encodeCookie(array $cookieParts)
{
foreach ($cookieParts as $cookiePart) {
if (false !== strpos($cookiePart, self::COOKIE_DELIMITER)) {
- throw new \InvalidArgumentException(sprintf('$cookieParts should not contain the cookie delimiter "%s"', self::COOKIE_DELIMITER));
+ throw new \InvalidArgumentException(sprintf('$cookieParts should not contain the cookie delimiter "%s".', self::COOKIE_DELIMITER));
}
}
@@ -274,7 +275,7 @@ protected function cancelCookie(Request $request)
$this->logger->debug('Clearing remember-me cookie.', ['name' => $this->options['name']]);
}
- $request->attributes->set(self::COOKIE_ATTR_NAME, new Cookie($this->options['name'], null, 1, $this->options['path'], $this->options['domain'], $this->options['secure'] ?? $request->isSecure(), $this->options['httponly'], false, $this->options['samesite'] ?? null));
+ $request->attributes->set(self::COOKIE_ATTR_NAME, new Cookie($this->options['name'], null, 1, $this->options['path'], $this->options['domain'], $this->options['secure'] ?? $request->isSecure(), $this->options['httponly'], false, $this->options['samesite']));
}
/**
diff --git a/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php b/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
index 61b1257b4a46b..167a094741357 100644
--- a/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
+++ b/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
@@ -86,7 +86,7 @@ protected function processAutoLoginCookie(array $cookieParts, Request $request)
$this->options['secure'] ?? $request->isSecure(),
$this->options['httponly'],
false,
- $this->options['samesite'] ?? null
+ $this->options['samesite']
)
);
@@ -121,7 +121,7 @@ protected function onLoginSuccess(Request $request, Response $response, TokenInt
$this->options['secure'] ?? $request->isSecure(),
$this->options['httponly'],
false,
- $this->options['samesite'] ?? null
+ $this->options['samesite']
)
);
}
diff --git a/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php b/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
index 33427517ca4ee..4dbc05c15f39a 100644
--- a/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
+++ b/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
@@ -83,7 +83,7 @@ protected function onLoginSuccess(Request $request, Response $response, TokenInt
$this->options['secure'] ?? $request->isSecure(),
$this->options['httponly'],
false,
- $this->options['samesite'] ?? null
+ $this->options['samesite']
)
);
}
diff --git a/src/Symfony/Component/Security/Http/Session/SessionAuthenticationStrategy.php b/src/Symfony/Component/Security/Http/Session/SessionAuthenticationStrategy.php
index a20619af1df52..cb788a8e138a7 100644
--- a/src/Symfony/Component/Security/Http/Session/SessionAuthenticationStrategy.php
+++ b/src/Symfony/Component/Security/Http/Session/SessionAuthenticationStrategy.php
@@ -59,7 +59,7 @@ public function onAuthentication(Request $request, TokenInterface $token)
return;
default:
- throw new \RuntimeException(sprintf('Invalid session authentication strategy "%s"', $this->strategy));
+ throw new \RuntimeException(sprintf('Invalid session authentication strategy "%s".', $this->strategy));
}
}
}
diff --git a/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php b/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php
index 6eef7455793a7..8cf3eeb6b6475 100644
--- a/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php
+++ b/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php
@@ -344,6 +344,23 @@ public function testDeauthenticatedEvent()
$this->assertNull($tokenStorage->getToken());
}
+ public function testWithPreviousNotStartedSession()
+ {
+ $session = new Session(new MockArraySessionStorage());
+
+ $request = new Request();
+ $request->setSession($session);
+ $request->cookies->set('MOCKSESSID', true);
+
+ $usageIndex = $session->getUsageIndex();
+
+ $tokenStorage = new TokenStorage();
+ $listener = new ContextListener($tokenStorage, [], 'context_key', null, null, null, [$tokenStorage, 'getToken']);
+ $listener(new RequestEvent($this->getMockBuilder(HttpKernelInterface::class)->getMock(), $request, HttpKernelInterface::MASTER_REQUEST));
+
+ $this->assertSame($usageIndex, $session->getUsageIndex());
+ }
+
protected function runSessionOnKernelResponse($newToken, $original = null)
{
$session = new Session(new MockArraySessionStorage());
diff --git a/src/Symfony/Component/Security/Http/Tests/Firewall/ExceptionListenerTest.php b/src/Symfony/Component/Security/Http/Tests/Firewall/ExceptionListenerTest.php
index 2715c9404d5b6..3713ec7b25edc 100644
--- a/src/Symfony/Component/Security/Http/Tests/Firewall/ExceptionListenerTest.php
+++ b/src/Symfony/Component/Security/Http/Tests/Firewall/ExceptionListenerTest.php
@@ -83,7 +83,7 @@ public function testExceptionWhenEntryPointReturnsBadValue()
$listener->onKernelException($event);
// the exception has been replaced by our LogicException
$this->assertInstanceOf('LogicException', $event->getThrowable());
- $this->assertStringEndsWith('start() method must return a Response object (string returned)', $event->getThrowable()->getMessage());
+ $this->assertStringEndsWith('start()" method must return a Response object ("string" returned).', $event->getThrowable()->getMessage());
}
/**
diff --git a/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php b/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
index 33942d73fe4ea..1662f396443c2 100644
--- a/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
+++ b/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
@@ -409,7 +409,7 @@ private function buildXml(\DOMNode $parentNode, $data, string $xmlRootNodeName =
if (\is_object($data)) {
if (null === $this->serializer) {
- throw new BadMethodCallException(sprintf('The serializer needs to be set to allow %s() to be used with object data.', __METHOD__));
+ throw new BadMethodCallException(sprintf('The serializer needs to be set to allow "%s()" to be used with object data.', __METHOD__));
}
$data = $this->serializer->normalize($data, $this->format, $this->context);
@@ -428,7 +428,7 @@ private function buildXml(\DOMNode $parentNode, $data, string $xmlRootNodeName =
return $this->appendNode($parentNode, $data, 'data');
}
- throw new NotEncodableValueException(sprintf('An unexpected value could not be serialized: %s', !\is_resource($data) ? var_export($data, true) : sprintf('%s resource', get_resource_type($data))));
+ throw new NotEncodableValueException(sprintf('An unexpected value could not be serialized: %s.', !\is_resource($data) ? var_export($data, true) : sprintf('%s resource', get_resource_type($data))));
}
/**
@@ -475,7 +475,7 @@ private function selectNodeType(\DOMNode $node, $val): bool
$this->buildXml($node, $val);
} elseif (\is_object($val)) {
if (null === $this->serializer) {
- throw new BadMethodCallException(sprintf('The serializer needs to be set to allow %s() to be used with object data.', __METHOD__));
+ throw new BadMethodCallException(sprintf('The serializer needs to be set to allow "%s()" to be used with object data.', __METHOD__));
}
return $this->selectNodeType($node, $this->serializer->normalize($val, $this->format, $this->context));
diff --git a/src/Symfony/Component/Serializer/Mapping/Factory/ClassResolverTrait.php b/src/Symfony/Component/Serializer/Mapping/Factory/ClassResolverTrait.php
index b32a04b5a92a0..e5698d777d22f 100644
--- a/src/Symfony/Component/Serializer/Mapping/Factory/ClassResolverTrait.php
+++ b/src/Symfony/Component/Serializer/Mapping/Factory/ClassResolverTrait.php
@@ -40,7 +40,7 @@ private function getClass($value): string
}
if (!\is_object($value)) {
- throw new InvalidArgumentException(sprintf('Cannot create metadata for non-objects. Got: "%s"', \gettype($value)));
+ throw new InvalidArgumentException(sprintf('Cannot create metadata for non-objects. Got: "%s".', \gettype($value)));
}
return \get_class($value);
diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/FileLoader.php b/src/Symfony/Component/Serializer/Mapping/Loader/FileLoader.php
index 80544427dccf0..f4947ef4cef03 100644
--- a/src/Symfony/Component/Serializer/Mapping/Loader/FileLoader.php
+++ b/src/Symfony/Component/Serializer/Mapping/Loader/FileLoader.php
@@ -30,11 +30,11 @@ abstract class FileLoader implements LoaderInterface
public function __construct(string $file)
{
if (!is_file($file)) {
- throw new MappingException(sprintf('The mapping file %s does not exist', $file));
+ throw new MappingException(sprintf('The mapping file "%s" does not exist.', $file));
}
if (!is_readable($file)) {
- throw new MappingException(sprintf('The mapping file %s is not readable', $file));
+ throw new MappingException(sprintf('The mapping file "%s" is not readable.', $file));
}
$this->file = $file;
diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/LoaderChain.php b/src/Symfony/Component/Serializer/Mapping/Loader/LoaderChain.php
index 1890a9d84c530..f422f11c7d328 100644
--- a/src/Symfony/Component/Serializer/Mapping/Loader/LoaderChain.php
+++ b/src/Symfony/Component/Serializer/Mapping/Loader/LoaderChain.php
@@ -40,7 +40,7 @@ public function __construct(array $loaders)
{
foreach ($loaders as $loader) {
if (!$loader instanceof LoaderInterface) {
- throw new MappingException(sprintf('Class %s is expected to implement LoaderInterface', \get_class($loader)));
+ throw new MappingException(sprintf('Class "%s" is expected to implement LoaderInterface.', \get_class($loader)));
}
}
diff --git a/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
index 13387e2bc818f..c5d8b727e2dfd 100644
--- a/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
@@ -213,7 +213,7 @@ protected function handleCircularReference(object $object, string $format = null
return $circularReferenceHandler($object, $format, $context);
}
- throw new CircularReferenceException(sprintf('A circular reference has been detected when serializing the object of class "%s" (configured limit: %d)', \get_class($object), $context[self::CIRCULAR_REFERENCE_LIMIT] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_LIMIT]));
+ throw new CircularReferenceException(sprintf('A circular reference has been detected when serializing the object of class "%s" (configured limit: %d).', \get_class($object), $context[self::CIRCULAR_REFERENCE_LIMIT] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_LIMIT]));
}
/**
@@ -354,7 +354,7 @@ protected function instantiateObject(array &$data, string $class, array &$contex
if ($constructorParameter->isVariadic()) {
if ($allowed && !$ignored && (isset($data[$key]) || \array_key_exists($key, $data))) {
if (!\is_array($data[$paramName])) {
- throw new RuntimeException(sprintf('Cannot create an instance of %s from serialized data because the variadic parameter %s can only accept an array.', $class, $constructorParameter->name));
+ throw new RuntimeException(sprintf('Cannot create an instance of "%s" from serialized data because the variadic parameter "%s" can only accept an array.', $class, $constructorParameter->name));
}
$variadicParameters = [];
@@ -384,7 +384,7 @@ protected function instantiateObject(array &$data, string $class, array &$contex
} elseif ($constructorParameter->isDefaultValueAvailable()) {
$params[] = $constructorParameter->getDefaultValue();
} else {
- throw new MissingConstructorArgumentsException(sprintf('Cannot create an instance of %s from serialized data because its constructor requires parameter "%s" to be present.', $class, $constructorParameter->name));
+ throw new MissingConstructorArgumentsException(sprintf('Cannot create an instance of "%s" from serialized data because its constructor requires parameter "%s" to be present.', $class, $constructorParameter->name));
}
}
@@ -406,7 +406,7 @@ protected function denormalizeParameter(\ReflectionClass $class, \ReflectionPara
try {
if (null !== $parameter->getClass()) {
if (!$this->serializer instanceof DenormalizerInterface) {
- throw new LogicException(sprintf('Cannot create an instance of %s from serialized data because the serializer inject in "%s" is not a denormalizer', $parameter->getClass(), self::class));
+ throw new LogicException(sprintf('Cannot create an instance of "%s" from serialized data because the serializer inject in "%s" is not a denormalizer.', $parameter->getClass(), self::class));
}
$parameterClass = $parameter->getClass()->getName();
$parameterData = $this->serializer->denormalize($parameterData, $parameterClass, $format, $this->createChildContext($context, $parameterName, $format));
diff --git a/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php
index 38b3498413554..981ac778578e5 100644
--- a/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php
@@ -195,7 +195,7 @@ public function normalize($object, string $format = null, array $context = [])
foreach ($stack as $attribute => $attributeValue) {
if (!$this->serializer instanceof NormalizerInterface) {
- throw new LogicException(sprintf('Cannot normalize attribute "%s" because the injected serializer is not a normalizer', $attribute));
+ throw new LogicException(sprintf('Cannot normalize attribute "%s" because the injected serializer is not a normalizer.', $attribute));
}
$data = $this->updateData($data, $attribute, $this->serializer->normalize($attributeValue, $format, $this->createChildContext($context, $attribute, $format)), $class, $format, $context);
@@ -215,12 +215,12 @@ protected function instantiateObject(array &$data, string $class, array &$contex
{
if ($this->classDiscriminatorResolver && $mapping = $this->classDiscriminatorResolver->getMappingForClass($class)) {
if (!isset($data[$mapping->getTypeProperty()])) {
- throw new RuntimeException(sprintf('Type property "%s" not found for the abstract object "%s"', $mapping->getTypeProperty(), $class));
+ throw new RuntimeException(sprintf('Type property "%s" not found for the abstract object "%s".', $mapping->getTypeProperty(), $class));
}
$type = $data[$mapping->getTypeProperty()];
if (null === ($mappedClass = $mapping->getClassForType($type))) {
- throw new RuntimeException(sprintf('The type "%s" has no mapped class for the abstract object "%s"', $type, $class));
+ throw new RuntimeException(sprintf('The type "%s" has no mapped class for the abstract object "%s".', $type, $class));
}
$class = $mappedClass;
@@ -414,7 +414,7 @@ private function validateAndDenormalize(string $currentClass, string $attribute,
if (Type::BUILTIN_TYPE_OBJECT === $builtinType) {
if (!$this->serializer instanceof DenormalizerInterface) {
- throw new LogicException(sprintf('Cannot denormalize attribute "%s" for class "%s" because injected serializer is not a denormalizer', $attribute, $class));
+ throw new LogicException(sprintf('Cannot denormalize attribute "%s" for class "%s" because injected serializer is not a denormalizer.', $attribute, $class));
}
$childContext = $this->createChildContext($context, $attribute, $format);
diff --git a/src/Symfony/Component/Serializer/Normalizer/ArrayDenormalizer.php b/src/Symfony/Component/Serializer/Normalizer/ArrayDenormalizer.php
index ad5090faa544a..e1359053daf7c 100644
--- a/src/Symfony/Component/Serializer/Normalizer/ArrayDenormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/ArrayDenormalizer.php
@@ -69,7 +69,7 @@ public function denormalize($data, string $type, string $format = null, array $c
public function supportsDenormalization($data, string $type, string $format = null, array $context = []): bool
{
if (null === $this->serializer) {
- throw new BadMethodCallException(sprintf('The serializer needs to be set to allow %s() to be used.', __METHOD__));
+ throw new BadMethodCallException(sprintf('The serializer needs to be set to allow "%s()" to be used.', __METHOD__));
}
return '[]' === substr($type, -2)
diff --git a/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php
index b166c84a4cc1c..2f7d59a7ef318 100644
--- a/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php
@@ -72,7 +72,7 @@ public function hasCacheableSupportsMethod(): bool
public function denormalize($data, string $type, string $format = null, array $context = [])
{
if (!\is_string($data)) {
- throw new InvalidArgumentException(sprintf('Data expected to be a string, %s given.', \gettype($data)));
+ throw new InvalidArgumentException(sprintf('Data expected to be a string, "%s" given.', \gettype($data)));
}
if (!$this->isISO8601($data)) {
diff --git a/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php
index d476040c9dd16..d37358ce23cb4 100644
--- a/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php
@@ -94,7 +94,7 @@ public function denormalize($data, string $type, string $format = null, array $c
$dateTimeErrors = \DateTime::class === $type ? \DateTime::getLastErrors() : \DateTimeImmutable::getLastErrors();
- throw new NotNormalizableValueException(sprintf('Parsing datetime string "%s" using format "%s" resulted in %d errors:'."\n".'%s', $data, $dateTimeFormat, $dateTimeErrors['error_count'], implode("\n", $this->formatDateTimeErrors($dateTimeErrors['errors']))));
+ throw new NotNormalizableValueException(sprintf('Parsing datetime string "%s" using format "%s" resulted in %d errors:.'."\n".'%s', $data, $dateTimeFormat, $dateTimeErrors['error_count'], implode("\n", $this->formatDateTimeErrors($dateTimeErrors['errors']))));
}
try {
diff --git a/src/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.php
index 6d57773befe9f..f38956c3e3cab 100644
--- a/src/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.php
+++ b/src/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.php
@@ -35,7 +35,7 @@ public function normalize($object, string $format = null, array $context = [])
}
if (!$this->serializer instanceof NormalizerInterface) {
- throw new LogicException('Cannot normalize object because injected serializer is not a normalizer');
+ throw new LogicException('Cannot normalize object because injected serializer is not a normalizer.');
}
return $this->serializer->normalize($object->jsonSerialize(), $format, $context);
diff --git a/src/Symfony/Component/Serializer/Serializer.php b/src/Symfony/Component/Serializer/Serializer.php
index ee2c750179d89..334f324b866e1 100644
--- a/src/Symfony/Component/Serializer/Serializer.php
+++ b/src/Symfony/Component/Serializer/Serializer.php
@@ -112,7 +112,7 @@ public function __construct(array $normalizers = [], array $encoders = [])
final public function serialize($data, string $format, array $context = []): string
{
if (!$this->supportsEncoding($format, $context)) {
- throw new NotEncodableValueException(sprintf('Serialization for the format %s is not supported', $format));
+ throw new NotEncodableValueException(sprintf('Serialization for the format "%s" is not supported.', $format));
}
if ($this->encoder->needsNormalization($format, $context)) {
@@ -128,7 +128,7 @@ final public function serialize($data, string $format, array $context = []): str
final public function deserialize($data, string $type, string $format, array $context = [])
{
if (!$this->supportsDecoding($format, $context)) {
- throw new NotEncodableValueException(sprintf('Deserialization for the format %s is not supported', $format));
+ throw new NotEncodableValueException(sprintf('Deserialization for the format "%s" is not supported.', $format));
}
$data = $this->decode($data, $format, $context);
@@ -164,10 +164,10 @@ public function normalize($data, string $format = null, array $context = [])
throw new LogicException('You must register at least one normalizer to be able to normalize objects.');
}
- throw new NotNormalizableValueException(sprintf('Could not normalize object of type %s, no supporting normalizer found.', \get_class($data)));
+ throw new NotNormalizableValueException(sprintf('Could not normalize object of type "%s", no supporting normalizer found.', \get_class($data)));
}
- throw new NotNormalizableValueException(sprintf('An unexpected value could not be normalized: %s', !\is_resource($data) ? var_export($data, true) : sprintf('%s resource', get_resource_type($data))));
+ throw new NotNormalizableValueException(sprintf('An unexpected value could not be normalized: %s.', !\is_resource($data) ? var_export($data, true) : sprintf('%s resource', get_resource_type($data))));
}
/**
@@ -185,7 +185,7 @@ public function denormalize($data, string $type, string $format = null, array $c
return $normalizer->denormalize($data, $type, $format, $context);
}
- throw new NotNormalizableValueException(sprintf('Could not denormalize object of type %s, no supporting normalizer found.', $type));
+ throw new NotNormalizableValueException(sprintf('Could not denormalize object of type "%s", no supporting normalizer found.', $type));
}
/**
diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ConstructorArgumentsTestTrait.php b/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ConstructorArgumentsTestTrait.php
index 40cd02f19cca8..3d4ce269370bc 100644
--- a/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ConstructorArgumentsTestTrait.php
+++ b/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ConstructorArgumentsTestTrait.php
@@ -55,7 +55,7 @@ public function testConstructorWithMissingData()
$normalizer = $this->getDenormalizerForConstructArguments();
$this->expectException(MissingConstructorArgumentsException::class);
- $this->expectExceptionMessage('Cannot create an instance of '.ConstructorArgumentsObject::class.' from serialized data because its constructor requires parameter "bar" to be present.');
+ $this->expectExceptionMessage('Cannot create an instance of "'.ConstructorArgumentsObject::class.'" from serialized data because its constructor requires parameter "bar" to be present.');
$normalizer->denormalize($data, ConstructorArgumentsObject::class);
}
}
diff --git a/src/Symfony/Component/Stopwatch/Stopwatch.php b/src/Symfony/Component/Stopwatch/Stopwatch.php
index 9a3fe56d86e78..8fea588040d2e 100644
--- a/src/Symfony/Component/Stopwatch/Stopwatch.php
+++ b/src/Symfony/Component/Stopwatch/Stopwatch.php
@@ -13,6 +13,9 @@
use Symfony\Contracts\Service\ResetInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(Section::class);
+
/**
* Stopwatch provides a way to profile code.
*
diff --git a/src/Symfony/Component/String/AbstractUnicodeString.php b/src/Symfony/Component/String/AbstractUnicodeString.php
index 1e1b9d7de6e95..9beafe57ebc26 100644
--- a/src/Symfony/Component/String/AbstractUnicodeString.php
+++ b/src/Symfony/Component/String/AbstractUnicodeString.php
@@ -309,7 +309,7 @@ public function replaceMatches(string $fromRegexp, $to): parent
if (\is_array($to) || $to instanceof \Closure) {
if (!\is_callable($to)) {
- throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', static::class));
+ throw new \TypeError(sprintf('Argument 2 passed to "%s::replaceMatches()" must be callable, array given.', static::class));
}
$replace = 'preg_replace_callback';
diff --git a/src/Symfony/Component/String/ByteString.php b/src/Symfony/Component/String/ByteString.php
index b1bb82ec222df..d4cc0e3175151 100644
--- a/src/Symfony/Component/String/ByteString.php
+++ b/src/Symfony/Component/String/ByteString.php
@@ -271,7 +271,7 @@ public function replaceMatches(string $fromRegexp, $to): parent
if (\is_array($to)) {
if (!\is_callable($to)) {
- throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', static::class));
+ throw new \TypeError(sprintf('Argument 2 passed to "%s::replaceMatches()" must be callable, array given.', static::class));
}
$replace = 'preg_replace_callback';
diff --git a/src/Symfony/Component/Templating/Loader/CacheLoader.php b/src/Symfony/Component/Templating/Loader/CacheLoader.php
index 4ba52017429c3..d81a2dfc95d6c 100644
--- a/src/Symfony/Component/Templating/Loader/CacheLoader.php
+++ b/src/Symfony/Component/Templating/Loader/CacheLoader.php
@@ -65,7 +65,7 @@ public function load(TemplateReferenceInterface $template)
$content = $storage->getContent();
if (!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)) {
- throw new \RuntimeException(sprintf('Cache Loader was not able to create directory "%s"', $dir));
+ throw new \RuntimeException(sprintf('Cache Loader was not able to create directory "%s".', $dir));
}
file_put_contents($path, $content);
diff --git a/src/Symfony/Component/Templating/PhpEngine.php b/src/Symfony/Component/Templating/PhpEngine.php
index 76cbe96659b37..37d44ffda96c6 100644
--- a/src/Symfony/Component/Templating/PhpEngine.php
+++ b/src/Symfony/Component/Templating/PhpEngine.php
@@ -129,10 +129,10 @@ protected function evaluate(Storage $template, array $parameters = [])
unset($template, $parameters);
if (isset($this->evalParameters['this'])) {
- throw new \InvalidArgumentException('Invalid parameter (this)');
+ throw new \InvalidArgumentException('Invalid parameter (this).');
}
if (isset($this->evalParameters['view'])) {
- throw new \InvalidArgumentException('Invalid parameter (view)');
+ throw new \InvalidArgumentException('Invalid parameter (view).');
}
// the view variable is exposed to the require file below
diff --git a/src/Symfony/Component/Translation/Catalogue/AbstractOperation.php b/src/Symfony/Component/Translation/Catalogue/AbstractOperation.php
index e482aee769f4c..17c257fde458e 100644
--- a/src/Symfony/Component/Translation/Catalogue/AbstractOperation.php
+++ b/src/Symfony/Component/Translation/Catalogue/AbstractOperation.php
@@ -91,7 +91,7 @@ public function getDomains()
public function getMessages(string $domain)
{
if (!\in_array($domain, $this->getDomains())) {
- throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain));
+ throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
}
if (!isset($this->messages[$domain]['all'])) {
@@ -107,7 +107,7 @@ public function getMessages(string $domain)
public function getNewMessages(string $domain)
{
if (!\in_array($domain, $this->getDomains())) {
- throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain));
+ throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
}
if (!isset($this->messages[$domain]['new'])) {
@@ -123,7 +123,7 @@ public function getNewMessages(string $domain)
public function getObsoleteMessages(string $domain)
{
if (!\in_array($domain, $this->getDomains())) {
- throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain));
+ throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
}
if (!isset($this->messages[$domain]['obsolete'])) {
diff --git a/src/Symfony/Component/Translation/Formatter/MessageFormatter.php b/src/Symfony/Component/Translation/Formatter/MessageFormatter.php
index c5fd2cea6466d..04079648338c8 100644
--- a/src/Symfony/Component/Translation/Formatter/MessageFormatter.php
+++ b/src/Symfony/Component/Translation/Formatter/MessageFormatter.php
@@ -14,6 +14,9 @@
use Symfony\Component\Translation\IdentityTranslator;
use Symfony\Contracts\Translation\TranslatorInterface;
+// Help opcache.preload discover always-needed symbols
+class_exists(IntlFormatter::class);
+
/**
* @author Abdellatif Ait boudad
*/
diff --git a/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php b/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php
index 6052ded55d876..0b7168181df2d 100644
--- a/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php
+++ b/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php
@@ -43,7 +43,7 @@ public function load($resource, string $locale, string $domain = 'messages')
}
if (!$rb) {
- throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource));
+ throw new InvalidResourceException(sprintf('Cannot load resource "%s".', $resource));
} elseif (intl_is_failure($rb->getErrorCode())) {
throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
}
diff --git a/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php b/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php
index dda9284ba4ade..9aa30bd6522cc 100644
--- a/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php
+++ b/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php
@@ -43,7 +43,7 @@ public function load($resource, string $locale, string $domain = 'messages')
}
if (!$rb) {
- throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource));
+ throw new InvalidResourceException(sprintf('Cannot load resource "%s".', $resource));
} elseif (intl_is_failure($rb->getErrorCode())) {
throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
}
diff --git a/src/Symfony/Component/Translation/Loader/JsonFileLoader.php b/src/Symfony/Component/Translation/Loader/JsonFileLoader.php
index e3e7c75d1a6b3..fe6747e8aabd4 100644
--- a/src/Symfony/Component/Translation/Loader/JsonFileLoader.php
+++ b/src/Symfony/Component/Translation/Loader/JsonFileLoader.php
@@ -30,7 +30,7 @@ protected function loadResource($resource)
$messages = json_decode($data, true);
if (0 < $errorCode = json_last_error()) {
- throw new InvalidResourceException(sprintf('Error parsing JSON - %s', $this->getJSONErrorMessage($errorCode)));
+ throw new InvalidResourceException(sprintf('Error parsing JSON - %s.', $this->getJSONErrorMessage($errorCode)));
}
}
diff --git a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php
index 6e2ed3b4f81eb..cf26386d9263d 100644
--- a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php
+++ b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php
@@ -53,12 +53,12 @@ private function extract($resource, MessageCatalogue $catalogue, string $domain)
try {
$dom = XmlUtils::loadFile($resource);
} catch (\InvalidArgumentException $e) {
- throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $resource, $e->getMessage()), $e->getCode(), $e);
+ throw new InvalidResourceException(sprintf('Unable to load "%s": %s.', $resource, $e->getMessage()), $e->getCode(), $e);
}
$xliffVersion = XliffUtils::getVersionNumber($dom);
if ($errors = XliffUtils::validateSchema($dom)) {
- throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s', $resource, XliffUtils::getErrorsAsString($errors)));
+ throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s.', $resource, XliffUtils::getErrorsAsString($errors)));
}
if ('1.2' === $xliffVersion) {
diff --git a/src/Symfony/Component/Translation/Loader/YamlFileLoader.php b/src/Symfony/Component/Translation/Loader/YamlFileLoader.php
index 438d7d76421b5..9502e167cd339 100644
--- a/src/Symfony/Component/Translation/Loader/YamlFileLoader.php
+++ b/src/Symfony/Component/Translation/Loader/YamlFileLoader.php
@@ -42,7 +42,7 @@ protected function loadResource($resource)
try {
$messages = $this->yamlParser->parseFile($resource, Yaml::PARSE_CONSTANT);
} catch (ParseException $e) {
- throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e);
+ throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s".', $resource), 0, $e);
}
if (null !== $messages && !\is_array($messages)) {
diff --git a/src/Symfony/Component/Translation/MessageCatalogue.php b/src/Symfony/Component/Translation/MessageCatalogue.php
index 6046eb7244ac0..becc4a655c0a2 100644
--- a/src/Symfony/Component/Translation/MessageCatalogue.php
+++ b/src/Symfony/Component/Translation/MessageCatalogue.php
@@ -176,7 +176,7 @@ public function add(array $messages, string $domain = 'messages')
public function addCatalogue(MessageCatalogueInterface $catalogue)
{
if ($catalogue->getLocale() !== $this->locale) {
- throw new LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s"', $catalogue->getLocale(), $this->locale));
+ throw new LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s".', $catalogue->getLocale(), $this->locale));
}
foreach ($catalogue->all() as $domain => $messages) {
diff --git a/src/Symfony/Component/Translation/Util/XliffUtils.php b/src/Symfony/Component/Translation/Util/XliffUtils.php
index 3ace285bfac5f..b5ff4ef4a4eac 100644
--- a/src/Symfony/Component/Translation/Util/XliffUtils.php
+++ b/src/Symfony/Component/Translation/Util/XliffUtils.php
@@ -41,7 +41,7 @@ public static function getVersionNumber(\DOMDocument $dom): string
$namespace = $xliff->attributes->getNamedItem('xmlns');
if ($namespace) {
if (0 !== substr_compare('urn:oasis:names:tc:xliff:document:', $namespace->nodeValue, 0, 34)) {
- throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s"', $namespace));
+ throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s".', $namespace));
}
return substr($namespace, 34);
diff --git a/src/Symfony/Component/Translation/Writer/TranslationWriter.php b/src/Symfony/Component/Translation/Writer/TranslationWriter.php
index 0d5324c336fe9..e0260b7a30593 100644
--- a/src/Symfony/Component/Translation/Writer/TranslationWriter.php
+++ b/src/Symfony/Component/Translation/Writer/TranslationWriter.php
@@ -63,7 +63,7 @@ public function write(MessageCatalogue $catalogue, string $format, array $option
$dumper = $this->dumpers[$format];
if (isset($options['path']) && !is_dir($options['path']) && !@mkdir($options['path'], 0777, true) && !is_dir($options['path'])) {
- throw new RuntimeException(sprintf('Translation Writer was not able to create directory "%s"', $options['path']));
+ throw new RuntimeException(sprintf('Translation Writer was not able to create directory "%s".', $options['path']));
}
// save
diff --git a/src/Symfony/Component/Validator/ConstraintViolation.php b/src/Symfony/Component/Validator/ConstraintViolation.php
index 2b2bb729c4c53..982ebe275950a 100644
--- a/src/Symfony/Component/Validator/ConstraintViolation.php
+++ b/src/Symfony/Component/Validator/ConstraintViolation.php
@@ -32,20 +32,22 @@ class ConstraintViolation implements ConstraintViolationInterface
/**
* Creates a new constraint violation.
*
- * @param string|object $message The violation message as a string or a stringable object
- * @param string $messageTemplate The raw violation message
- * @param array $parameters The parameters to substitute in the
- * raw violation message
- * @param mixed $root The value originally passed to the
- * validator
- * @param string $propertyPath The property path from the root
- * value to the invalid value
- * @param mixed $invalidValue The invalid value that caused this
- * violation
- * @param int|null $plural The number for determining the plural
- * form when translating the message
- * @param string|null $code The error code of the violation
- * @param mixed $cause The cause of the violation
+ * @param string|\Stringable $message The violation message as a string or a stringable object
+ * @param string $messageTemplate The raw violation message
+ * @param array $parameters The parameters to substitute in the
+ * raw violation message
+ * @param mixed $root The value originally passed to the
+ * validator
+ * @param string $propertyPath The property path from the root
+ * value to the invalid value
+ * @param mixed $invalidValue The invalid value that caused this
+ * violation
+ * @param int|null $plural The number for determining the plural
+ * form when translating the message
+ * @param mixed $code The error code of the violation
+ * @param Constraint|null $constraint The constraint whose validation
+ * caused the violation
+ * @param mixed $cause The cause of the violation
*/
public function __construct($message, ?string $messageTemplate, array $parameters, $root, ?string $propertyPath, $invalidValue, int $plural = null, string $code = null, Constraint $constraint = null, $cause = null)
{
diff --git a/src/Symfony/Component/Validator/ConstraintViolationInterface.php b/src/Symfony/Component/Validator/ConstraintViolationInterface.php
index 524ca896d4fda..137d7015bfa3d 100644
--- a/src/Symfony/Component/Validator/ConstraintViolationInterface.php
+++ b/src/Symfony/Component/Validator/ConstraintViolationInterface.php
@@ -36,7 +36,7 @@ interface ConstraintViolationInterface
/**
* Returns the violation message.
*
- * @return string|object The violation message as a string or a stringable object
+ * @return string|\Stringable The violation message as a string or a stringable object
*/
public function getMessage();
diff --git a/src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php b/src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
index a3897fcf86f14..3b3aba0450f85 100644
--- a/src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
@@ -55,7 +55,7 @@ public function validate($value, Constraint $constraint)
try {
$comparedValue = $this->getPropertyAccessor()->getValue($object, $path);
} catch (NoSuchPropertyException $e) {
- throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s', $path, \get_class($constraint), $e->getMessage()), 0, $e);
+ throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s.', $path, \get_class($constraint), $e->getMessage()), 0, $e);
}
} else {
$comparedValue = $constraint->value;
diff --git a/src/Symfony/Component/Validator/Constraints/BicValidator.php b/src/Symfony/Component/Validator/Constraints/BicValidator.php
index 94d345a23b739..a2c9f7a41264c 100644
--- a/src/Symfony/Component/Validator/Constraints/BicValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/BicValidator.php
@@ -130,7 +130,7 @@ public function validate($value, Constraint $constraint)
try {
$iban = $this->getPropertyAccessor()->getValue($object, $path);
} catch (NoSuchPropertyException $e) {
- throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s', $path, \get_class($constraint), $e->getMessage()), 0, $e);
+ throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s.', $path, \get_class($constraint), $e->getMessage()), 0, $e);
}
}
if (!$iban) {
diff --git a/src/Symfony/Component/Validator/Constraints/CallbackValidator.php b/src/Symfony/Component/Validator/Constraints/CallbackValidator.php
index 9bb242f0de52e..ef1c10b181ed3 100644
--- a/src/Symfony/Component/Validator/Constraints/CallbackValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/CallbackValidator.php
@@ -40,13 +40,13 @@ public function validate($object, Constraint $constraint)
if (isset($method[0]) && \is_object($method[0])) {
$method[0] = \get_class($method[0]);
}
- throw new ConstraintDefinitionException(sprintf('%s targeted by Callback constraint is not a valid callable', json_encode($method)));
+ throw new ConstraintDefinitionException(sprintf('%s targeted by Callback constraint is not a valid callable.', json_encode($method)));
}
$method($object, $this->context, $constraint->payload);
} elseif (null !== $object) {
if (!method_exists($object, $method)) {
- throw new ConstraintDefinitionException(sprintf('Method "%s" targeted by Callback constraint does not exist in class %s', $method, \get_class($object)));
+ throw new ConstraintDefinitionException(sprintf('Method "%s" targeted by Callback constraint does not exist in class "%s".', $method, \get_class($object)));
}
$reflMethod = new \ReflectionMethod($object, $method);
diff --git a/src/Symfony/Component/Validator/Constraints/ChoiceValidator.php b/src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
index 2cff8c8be61e9..a1c47a6bb22ed 100644
--- a/src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
@@ -36,7 +36,7 @@ public function validate($value, Constraint $constraint)
}
if (!\is_array($constraint->choices) && !$constraint->callback) {
- throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice');
+ throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice.');
}
if (null === $value) {
@@ -52,7 +52,7 @@ public function validate($value, Constraint $constraint)
&& !\is_callable($choices = [$this->context->getClassName(), $constraint->callback])
&& !\is_callable($choices = $constraint->callback)
) {
- throw new ConstraintDefinitionException('The Choice constraint expects a valid callback');
+ throw new ConstraintDefinitionException('The Choice constraint expects a valid callback.');
}
$choices = $choices();
} else {
diff --git a/src/Symfony/Component/Validator/Constraints/Collection.php b/src/Symfony/Component/Validator/Constraints/Collection.php
index 86418690b8d2b..605d4b9dbb89a 100644
--- a/src/Symfony/Component/Validator/Constraints/Collection.php
+++ b/src/Symfony/Component/Validator/Constraints/Collection.php
@@ -57,7 +57,7 @@ protected function initializeNestedConstraints()
parent::initializeNestedConstraints();
if (!\is_array($this->fields)) {
- throw new ConstraintDefinitionException(sprintf('The option "fields" is expected to be an array in constraint %s', __CLASS__));
+ throw new ConstraintDefinitionException(sprintf('The option "fields" is expected to be an array in constraint "%s".', __CLASS__));
}
foreach ($this->fields as $fieldName => $field) {
diff --git a/src/Symfony/Component/Validator/Constraints/Composite.php b/src/Symfony/Component/Validator/Constraints/Composite.php
index 9c423b0dc376a..bd7030ee27a44 100644
--- a/src/Symfony/Component/Validator/Constraints/Composite.php
+++ b/src/Symfony/Component/Validator/Constraints/Composite.php
@@ -71,11 +71,11 @@ public function __construct($options = null)
$constraint = \get_class($constraint);
}
- throw new ConstraintDefinitionException(sprintf('The value %s is not an instance of Constraint in constraint %s', $constraint, static::class));
+ throw new ConstraintDefinitionException(sprintf('The value "%s" is not an instance of Constraint in constraint "%s".', $constraint, static::class));
}
if ($constraint instanceof Valid) {
- throw new ConstraintDefinitionException(sprintf('The constraint Valid cannot be nested inside constraint %s. You can only declare the Valid constraint directly on a field or method.', static::class));
+ throw new ConstraintDefinitionException(sprintf('The constraint Valid cannot be nested inside constraint "%s". You can only declare the Valid constraint directly on a field or method.', static::class));
}
}
@@ -99,7 +99,7 @@ public function __construct($options = null)
$excessGroups = array_diff($constraint->groups, $this->groups);
if (\count($excessGroups) > 0) {
- throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint %s should also be passed to its containing constraint %s', implode('", "', $excessGroups), \get_class($constraint), static::class));
+ throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint "%s" should also be passed to its containing constraint "%s".', implode('", "', $excessGroups), \get_class($constraint), static::class));
}
} else {
$constraint->groups = $this->groups;
diff --git a/src/Symfony/Component/Validator/Constraints/Count.php b/src/Symfony/Component/Validator/Constraints/Count.php
index b11f994f58b65..11ea0eca11020 100644
--- a/src/Symfony/Component/Validator/Constraints/Count.php
+++ b/src/Symfony/Component/Validator/Constraints/Count.php
@@ -51,7 +51,7 @@ public function __construct($options = null)
parent::__construct($options);
if (null === $this->min && null === $this->max) {
- throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), ['min', 'max']);
+ throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']);
}
}
}
diff --git a/src/Symfony/Component/Validator/Constraints/EmailValidator.php b/src/Symfony/Component/Validator/Constraints/EmailValidator.php
index 37cfb715d71fe..865c1d07cebfa 100644
--- a/src/Symfony/Component/Validator/Constraints/EmailValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/EmailValidator.php
@@ -70,7 +70,7 @@ public function validate($value, Constraint $constraint)
}
if (!\in_array($constraint->mode, Email::$validationModes, true)) {
- throw new \InvalidArgumentException(sprintf('The %s::$mode parameter value is not valid.', \get_class($constraint)));
+ throw new \InvalidArgumentException(sprintf('The "%s::$mode" parameter value is not valid.', \get_class($constraint)));
}
if (Email::VALIDATION_MODE_STRICT === $constraint->mode) {
diff --git a/src/Symfony/Component/Validator/Constraints/File.php b/src/Symfony/Component/Validator/Constraints/File.php
index 676a7f0e06015..8f3ace89df9f9 100644
--- a/src/Symfony/Component/Validator/Constraints/File.php
+++ b/src/Symfony/Component/Validator/Constraints/File.php
@@ -117,7 +117,7 @@ private function normalizeBinaryFormat($maxSize)
$this->maxSize = $matches[1] * $factors[$unit = strtolower($matches[2])];
$this->binaryFormat = null === $this->binaryFormat ? 2 === \strlen($unit) : $this->binaryFormat;
} else {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $this->maxSize));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size.', $this->maxSize));
}
}
}
diff --git a/src/Symfony/Component/Validator/Constraints/ImageValidator.php b/src/Symfony/Component/Validator/Constraints/ImageValidator.php
index 7e7df8129aac2..aa087bdc6f4e3 100644
--- a/src/Symfony/Component/Validator/Constraints/ImageValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/ImageValidator.php
@@ -100,7 +100,7 @@ public function validate($value, Constraint $constraint)
if ($constraint->minHeight) {
if (!ctype_digit((string) $constraint->minHeight)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum height', $constraint->minHeight));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum height.', $constraint->minHeight));
}
if ($height < $constraint->minHeight) {
@@ -116,7 +116,7 @@ public function validate($value, Constraint $constraint)
if ($constraint->maxHeight) {
if (!ctype_digit((string) $constraint->maxHeight)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum height', $constraint->maxHeight));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum height.', $constraint->maxHeight));
}
if ($height > $constraint->maxHeight) {
@@ -132,7 +132,7 @@ public function validate($value, Constraint $constraint)
if (null !== $constraint->minPixels) {
if (!ctype_digit((string) $constraint->minPixels)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum amount of pixels', $constraint->minPixels));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum amount of pixels.', $constraint->minPixels));
}
if ($pixels < $constraint->minPixels) {
@@ -148,7 +148,7 @@ public function validate($value, Constraint $constraint)
if (null !== $constraint->maxPixels) {
if (!ctype_digit((string) $constraint->maxPixels)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum amount of pixels', $constraint->maxPixels));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum amount of pixels.', $constraint->maxPixels));
}
if ($pixels > $constraint->maxPixels) {
@@ -166,7 +166,7 @@ public function validate($value, Constraint $constraint)
if (null !== $constraint->minRatio) {
if (!is_numeric((string) $constraint->minRatio)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum ratio', $constraint->minRatio));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum ratio.', $constraint->minRatio));
}
if ($ratio < $constraint->minRatio) {
@@ -180,7 +180,7 @@ public function validate($value, Constraint $constraint)
if (null !== $constraint->maxRatio) {
if (!is_numeric((string) $constraint->maxRatio)) {
- throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum ratio', $constraint->maxRatio));
+ throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum ratio.', $constraint->maxRatio));
}
if ($ratio > $constraint->maxRatio) {
@@ -218,7 +218,7 @@ public function validate($value, Constraint $constraint)
if ($constraint->detectCorrupted) {
if (!\function_exists('imagecreatefromstring')) {
- throw new LogicException('Corrupted images detection requires installed and enabled GD extension');
+ throw new LogicException('Corrupted images detection requires installed and enabled GD extension.');
}
$resource = @imagecreatefromstring(file_get_contents($value));
diff --git a/src/Symfony/Component/Validator/Constraints/Ip.php b/src/Symfony/Component/Validator/Constraints/Ip.php
index 3f75702558ff5..c550749f31e28 100644
--- a/src/Symfony/Component/Validator/Constraints/Ip.php
+++ b/src/Symfony/Component/Validator/Constraints/Ip.php
@@ -83,7 +83,7 @@ public function __construct($options = null)
parent::__construct($options);
if (!\in_array($this->version, self::$versions)) {
- throw new ConstraintDefinitionException(sprintf('The option "version" must be one of "%s"', implode('", "', self::$versions)));
+ throw new ConstraintDefinitionException(sprintf('The option "version" must be one of "%s".', implode('", "', self::$versions)));
}
if (null !== $this->normalizer && !\is_callable($this->normalizer)) {
diff --git a/src/Symfony/Component/Validator/Constraints/Length.php b/src/Symfony/Component/Validator/Constraints/Length.php
index 167c781174dfb..7b4c9c589d7fe 100644
--- a/src/Symfony/Component/Validator/Constraints/Length.php
+++ b/src/Symfony/Component/Validator/Constraints/Length.php
@@ -58,7 +58,7 @@ public function __construct($options = null)
parent::__construct($options);
if (null === $this->min && null === $this->max) {
- throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), ['min', 'max']);
+ throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']);
}
if (null !== $this->normalizer && !\is_callable($this->normalizer)) {
diff --git a/src/Symfony/Component/Validator/Constraints/Range.php b/src/Symfony/Component/Validator/Constraints/Range.php
index a916a9625b9e0..b713090de7cbb 100644
--- a/src/Symfony/Component/Validator/Constraints/Range.php
+++ b/src/Symfony/Component/Validator/Constraints/Range.php
@@ -65,7 +65,7 @@ public function __construct($options = null)
parent::__construct($options);
if (null === $this->min && null === $this->minPropertyPath && null === $this->max && null === $this->maxPropertyPath) {
- throw new MissingOptionsException(sprintf('Either option "min", "minPropertyPath", "max" or "maxPropertyPath" must be given for constraint %s', __CLASS__), ['min', 'max']);
+ throw new MissingOptionsException(sprintf('Either option "min", "minPropertyPath", "max" or "maxPropertyPath" must be given for constraint "%s".', __CLASS__), ['min', 'minPropertyPath', 'max', 'maxPropertyPath']);
}
}
}
diff --git a/src/Symfony/Component/Validator/Constraints/RangeValidator.php b/src/Symfony/Component/Validator/Constraints/RangeValidator.php
index e976ff30a76ac..9b7c40ce5ae9a 100644
--- a/src/Symfony/Component/Validator/Constraints/RangeValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/RangeValidator.php
@@ -157,7 +157,7 @@ private function getLimit($propertyPath, $default, Constraint $constraint)
try {
return $this->getPropertyAccessor()->getValue($object, $propertyPath);
} catch (NoSuchPropertyException $e) {
- throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s', $propertyPath, \get_class($constraint), $e->getMessage()), 0, $e);
+ throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: %s.', $propertyPath, \get_class($constraint), $e->getMessage()), 0, $e);
}
}
diff --git a/src/Symfony/Component/Validator/Constraints/Traverse.php b/src/Symfony/Component/Validator/Constraints/Traverse.php
index 78d115fdbbc74..f5f66f53ffa07 100644
--- a/src/Symfony/Component/Validator/Constraints/Traverse.php
+++ b/src/Symfony/Component/Validator/Constraints/Traverse.php
@@ -26,7 +26,7 @@ class Traverse extends Constraint
public function __construct($options = null)
{
if (\is_array($options) && \array_key_exists('groups', $options)) {
- throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint %s', __CLASS__));
+ throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__));
}
parent::__construct($options);
diff --git a/src/Symfony/Component/Validator/Context/ExecutionContextInterface.php b/src/Symfony/Component/Validator/Context/ExecutionContextInterface.php
index 88f9c624b7129..ef2bf1a5aee97 100644
--- a/src/Symfony/Component/Validator/Context/ExecutionContextInterface.php
+++ b/src/Symfony/Component/Validator/Context/ExecutionContextInterface.php
@@ -64,8 +64,8 @@ interface ExecutionContextInterface
/**
* Adds a violation at the current node of the validation graph.
*
- * @param string|object $message The error message as a string or a stringable object
- * @param array $params The parameters substituted in the error message
+ * @param string|\Stringable $message The error message as a string or a stringable object
+ * @param array $params The parameters substituted in the error message
*/
public function addViolation(string $message, array $params = []);
@@ -81,8 +81,8 @@ public function addViolation(string $message, array $params = []);
* ->setTranslationDomain('number_validation')
* ->addViolation();
*
- * @param string|object $message The error message as a string or a stringable object
- * @param array $parameters The parameters substituted in the error message
+ * @param string|\Stringable $message The error message as a string or a stringable object
+ * @param array $parameters The parameters substituted in the error message
*
* @return ConstraintViolationBuilderInterface The violation builder
*/
diff --git a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php
index afcbec490b0c4..12763bee06ef5 100644
--- a/src/Symfony/Component/Validator/Mapping/ClassMetadata.php
+++ b/src/Symfony/Component/Validator/Mapping/ClassMetadata.php
@@ -382,7 +382,7 @@ public function getConstrainedProperties()
public function setGroupSequence($groupSequence)
{
if ($this->isGroupSequenceProvider()) {
- throw new GroupDefinitionException('Defining a static group sequence is not allowed with a group sequence provider');
+ throw new GroupDefinitionException('Defining a static group sequence is not allowed with a group sequence provider.');
}
if (\is_array($groupSequence)) {
@@ -390,11 +390,11 @@ public function setGroupSequence($groupSequence)
}
if (\in_array(Constraint::DEFAULT_GROUP, $groupSequence->groups, true)) {
- throw new GroupDefinitionException(sprintf('The group "%s" is not allowed in group sequences', Constraint::DEFAULT_GROUP));
+ throw new GroupDefinitionException(sprintf('The group "%s" is not allowed in group sequences.', Constraint::DEFAULT_GROUP));
}
if (!\in_array($this->getDefaultGroup(), $groupSequence->groups, true)) {
- throw new GroupDefinitionException(sprintf('The group "%s" is missing in the group sequence', $this->getDefaultGroup()));
+ throw new GroupDefinitionException(sprintf('The group "%s" is missing in the group sequence.', $this->getDefaultGroup()));
}
$this->groupSequence = $groupSequence;
@@ -440,11 +440,11 @@ public function getReflectionClass()
public function setGroupSequenceProvider(bool $active)
{
if ($this->hasGroupSequence()) {
- throw new GroupDefinitionException('Defining a group sequence provider is not allowed with a static group sequence');
+ throw new GroupDefinitionException('Defining a group sequence provider is not allowed with a static group sequence.');
}
if (!$this->getReflectionClass()->implementsInterface('Symfony\Component\Validator\GroupSequenceProviderInterface')) {
- throw new GroupDefinitionException(sprintf('Class "%s" must implement GroupSequenceProviderInterface', $this->name));
+ throw new GroupDefinitionException(sprintf('Class "%s" must implement GroupSequenceProviderInterface.', $this->name));
}
$this->groupSequenceProvider = $active;
diff --git a/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
index 219b8c5a11ade..4e986ba81413b 100644
--- a/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
+++ b/src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
@@ -72,7 +72,7 @@ public function __construct(LoaderInterface $loader = null, CacheItemPoolInterfa
public function getMetadataFor($value)
{
if (!\is_object($value) && !\is_string($value)) {
- throw new NoSuchMetadataException(sprintf('Cannot create metadata for non-objects. Got: %s', \gettype($value)));
+ throw new NoSuchMetadataException(sprintf('Cannot create metadata for non-objects. Got: "%s".', \gettype($value)));
}
$class = ltrim(\is_object($value) ? \get_class($value) : $value, '\\');
diff --git a/src/Symfony/Component/Validator/Mapping/GetterMetadata.php b/src/Symfony/Component/Validator/Mapping/GetterMetadata.php
index bfa3bce4d5ba7..c840d975dfedf 100644
--- a/src/Symfony/Component/Validator/Mapping/GetterMetadata.php
+++ b/src/Symfony/Component/Validator/Mapping/GetterMetadata.php
@@ -53,10 +53,10 @@ public function __construct(string $class, string $property, string $method = nu
} elseif (method_exists($class, $hasMethod)) {
$method = $hasMethod;
} else {
- throw new ValidatorException(sprintf('Neither of these methods exist in class %s: %s, %s, %s', $class, $getMethod, $isMethod, $hasMethod));
+ throw new ValidatorException(sprintf('Neither of these methods exist in class "%s": "%s", "%s", "%s".', $class, $getMethod, $isMethod, $hasMethod));
}
} elseif (!method_exists($class, $method)) {
- throw new ValidatorException(sprintf('The %s() method does not exist in class %s.', $method, $class));
+ throw new ValidatorException(sprintf('The "%s()" method does not exist in class "%s".', $method, $class));
}
parent::__construct($class, $method, $property);
diff --git a/src/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php b/src/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php
index 7a9eb026f1f94..1055f41e381b3 100644
--- a/src/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php
+++ b/src/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php
@@ -72,7 +72,7 @@ protected function newConstraint(string $name, $options = null)
list($prefix, $className) = explode(':', $name, 2);
if (!isset($this->namespaces[$prefix])) {
- throw new MappingException(sprintf('Undefined namespace prefix "%s"', $prefix));
+ throw new MappingException(sprintf('Undefined namespace prefix "%s".', $prefix));
}
$className = $this->namespaces[$prefix].$className;
diff --git a/src/Symfony/Component/Validator/Mapping/Loader/FileLoader.php b/src/Symfony/Component/Validator/Mapping/Loader/FileLoader.php
index 3aff5c92b31cb..0fc01729884ca 100644
--- a/src/Symfony/Component/Validator/Mapping/Loader/FileLoader.php
+++ b/src/Symfony/Component/Validator/Mapping/Loader/FileLoader.php
@@ -35,15 +35,15 @@ abstract class FileLoader extends AbstractLoader
public function __construct(string $file)
{
if (!is_file($file)) {
- throw new MappingException(sprintf('The mapping file "%s" does not exist', $file));
+ throw new MappingException(sprintf('The mapping file "%s" does not exist.', $file));
}
if (!is_readable($file)) {
- throw new MappingException(sprintf('The mapping file "%s" is not readable', $file));
+ throw new MappingException(sprintf('The mapping file "%s" is not readable.', $file));
}
if (!stream_is_local($this->file)) {
- throw new MappingException(sprintf('The mapping file "%s" is not a local file', $file));
+ throw new MappingException(sprintf('The mapping file "%s" is not a local file.', $file));
}
$this->file = $file;
diff --git a/src/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php b/src/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php
index de80dcd8ad50e..5eb17ee3754ea 100644
--- a/src/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php
+++ b/src/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php
@@ -36,7 +36,7 @@ public function __construct(array $loaders)
{
foreach ($loaders as $loader) {
if (!$loader instanceof LoaderInterface) {
- throw new MappingException(sprintf('Class %s is expected to implement LoaderInterface', \get_class($loader)));
+ throw new MappingException(sprintf('Class "%s" is expected to implement LoaderInterface.', \get_class($loader)));
}
}
diff --git a/src/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php b/src/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php
index 01b176cc3d489..256700e1ef64f 100644
--- a/src/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php
+++ b/src/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php
@@ -49,7 +49,7 @@ public function loadClassMetadata(ClassMetadata $metadata)
}
if (!$reflMethod->isStatic()) {
- throw new MappingException(sprintf('The method %s::%s should be static', $reflClass->name, $this->methodName));
+ throw new MappingException(sprintf('The method "%s::%s()" should be static.', $reflClass->name, $this->methodName));
}
if ($reflMethod->getDeclaringClass()->name != $reflClass->name) {
diff --git a/src/Symfony/Component/Validator/Mapping/MemberMetadata.php b/src/Symfony/Component/Validator/Mapping/MemberMetadata.php
index dbf1d4456225c..a8d2f2c856466 100644
--- a/src/Symfony/Component/Validator/Mapping/MemberMetadata.php
+++ b/src/Symfony/Component/Validator/Mapping/MemberMetadata.php
@@ -72,7 +72,7 @@ public function __construct(string $class, string $name, string $property)
public function addConstraint(Constraint $constraint)
{
if (!\in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets())) {
- throw new ConstraintDefinitionException(sprintf('The constraint %s cannot be put on properties or getters', \get_class($constraint)));
+ throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on properties or getters.', \get_class($constraint)));
}
parent::addConstraint($constraint);
diff --git a/src/Symfony/Component/Validator/Mapping/PropertyMetadata.php b/src/Symfony/Component/Validator/Mapping/PropertyMetadata.php
index 23c0f73562f70..8c18e5dcd9c30 100644
--- a/src/Symfony/Component/Validator/Mapping/PropertyMetadata.php
+++ b/src/Symfony/Component/Validator/Mapping/PropertyMetadata.php
@@ -37,7 +37,7 @@ class PropertyMetadata extends MemberMetadata
public function __construct(string $class, string $name)
{
if (!property_exists($class, $name)) {
- throw new ValidatorException(sprintf('Property "%s" does not exist in class "%s"', $name, $class));
+ throw new ValidatorException(sprintf('Property "%s" does not exist in class "%s".', $name, $class));
}
parent::__construct($class, $name, $name);
diff --git a/src/Symfony/Component/Validator/Resources/translations/validators.ar.xlf b/src/Symfony/Component/Validator/Resources/translations/validators.ar.xlf
index 79dab63d7de58..7c509b4822507 100644
--- a/src/Symfony/Component/Validator/Resources/translations/validators.ar.xlf
+++ b/src/Symfony/Component/Validator/Resources/translations/validators.ar.xlf
@@ -366,6 +366,14 @@
This value should be between {{ min }} and {{ max }}.يجب أن تكون هذه القيمة بين {{ min }} و {{ max }}.
+
+ This value is not a valid hostname.
+ هذه القيمة ليست اسم مضيف صالح.
+
+
+ The number of elements in this collection should be a multiple of {{ compared_value }}.
+ يجب أن يكون عدد العناصر في هذه المجموعة مضاعف {{ compared_value }}.
+