diff --git a/CHANGELOG-4.2.md b/CHANGELOG-4.2.md index 7c7c018037..40e3209d1d 100644 --- a/CHANGELOG-4.2.md +++ b/CHANGELOG-4.2.md @@ -7,6 +7,41 @@ in 4.2 minor versions. To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v4.2.0...v4.2.1 +* 4.2.10 (2019-06-26) + + * bug #31972 Add missing rendering of form help block. (alexsegura) + * bug #32137 [HttpFoundation] fix accessing session bags (xabbuh) + * bug #32164 [EventDispatcher] collect called listeners information only once (xabbuh) + * bug #32173 [FrameworkBundle] Fix calling Client::getProfile() before sending a request (dunglas) + * bug #32163 [DoctrineBridge] Fix type error (norkunas) + * bug #32170 [Security/Core] Don't use ParagonIE_Sodium_Compat (nicolas-grekas) + * bug #32094 [Validator] Use LogicException for missing Property Access Component in comparison constraints (Lctrs) + * bug #32123 [Form] fix translation domain (xabbuh) + * bug #32116 [FrameworkBundle] tag the FileType service as a form type (xabbuh) + * bug #32090 [Debug] workaround BC break in PHP 7.3 (nicolas-grekas) + * bug #32076 [Lock] Fix PDO prune not called (jderusse) + * bug #32071 Fix expired lock not cleaned (jderusse) + * bug #32057 [HttpFoundation] Fix SA/phpdoc JsonResponse (ro0NL) + * bug #32025 SimpleCacheAdapter fails to cache any item if a namespace is used (moufmouf) + * bug #32037 [Form] validate composite constraints in all groups (xabbuh) + * bug #32007 [Serializer] Handle true and false appropriately in CSV encoder (battye) + * bug #32000 [Routing] fix absolute url generation when scheme is not known (Tobion) + * bug #32024 [VarDumper] fix dumping objects that implement __debugInfo() (nicolas-grekas) + * bug #31962 Fix reporting unsilenced deprecations from insulated tests (nicolas-grekas) + * bug #31925 [Form] fix usage of legacy TranslatorInterface (nicolas-grekas) + * bug #31908 [Validator] fix deprecation layer of ValidatorBuilder (nicolas-grekas) + * bug #31894 Fix wrong requirements for ocramius/proxy-manager in root composer.json (henrikvolmer) + * bug #31865 [Form] Fix wrong DateTime on outdated ICU library (aweelex) + * bug #31879 [Cache] Pass arg to get callback everywhere (fancyweb) + * bug #31863 [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor (Ivo) + * bug #31869 Fix json-encoding when JSON_THROW_ON_ERROR is used (nicolas-grekas) + * bug #31868 [HttpKernel] Fix handling non-catchable fatal errors (nicolas-grekas) + * bug #31860 [HttpFoundation] work around PHP 7.3 bug related to json_encode() (nicolas-grekas) + * bug #31407 [Security] added support for updated "distinguished name" format in x509 authentication (Robert Kopera) + * bug #31786 [Translation] Fixed case sensitivity of lint:xliff command (javiereguiluz) + * bug #31757 [DomCrawler] Fix type error with null Form::$currentUri (chalasr) + * bug #31654 [HttpFoundation] Do not set X-Accel-Redirect for paths outside of X-Accel-Mapping (vilius-g) + * 4.2.9 (2019-05-28) * bug #31584 [Workflow] Do not trigger extra guards (lyrixx) diff --git a/CHANGELOG-4.3.md b/CHANGELOG-4.3.md index 29037980b3..965e52e7db 100644 --- a/CHANGELOG-4.3.md +++ b/CHANGELOG-4.3.md @@ -7,6 +7,69 @@ in 4.3 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.3.0...v4.3.1 +* 4.3.2 (2019-06-26) + + * bug #31954 [PhpunitBridge] Read environment variable from superglobals (greg0ire) + * bug #32131 [Mailgun Mailer] fixed issue when using html body (alOneh) + * bug #31730 [PhpUnitBridge] More accurate grouping (greg0ire) + * bug #31966 [Messenger] Doctrine Connection find and findAll now correctly decode headers (TimoBakx) + * bug #31972 Add missing rendering of form help block. (alexsegura) + * bug #32141 [HttpClient] fix dealing with 1xx informational responses (nicolas-grekas) + * bug #32138 [Filesystem] fix mirroring directory into parent directory (xabbuh) + * bug #32137 [HttpFoundation] fix accessing session bags (xabbuh) + * bug #32147 [HttpClient] fix timing measurements with NativeHttpClient (nicolas-grekas) + * bug #32165 revert #30525 due to performance penalty (bendavies) + * bug #32164 [EventDispatcher] collect called listeners information only once (xabbuh) + * bug #32173 [FrameworkBundle] Fix calling Client::getProfile() before sending a request (dunglas) + * bug #32163 [DoctrineBridge] Fix type error (norkunas) + * bug #32154 [Messenger] fix retrying handlers using DoctrineTransactionMiddleware (Tobion) + * bug #32169 [Security/Core] require libsodium >= 1.0.14 (nicolas-grekas) + * bug #32170 [Security/Core] Don't use ParagonIE_Sodium_Compat (nicolas-grekas) + * bug #32156 [Workflow] re-add workflow.definition tag to workflow services (nikossvnk) + * bug #32053 [Messenger] No need for retry to require SentStamp (Tobion) + * bug #32083 [HttpClient] fixing passing debug info to progress callback (nicolas-grekas) + * bug #32129 [DebugBundle] fix register ReflectionCaster::unsetClosureFileInfo caster in var cloner service (alekitto) + * bug #32027 [Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue (Nyholm) + * bug #32125 [Form] accept floats for input="string" in NumberType (xabbuh) + * bug #32094 [Validator] Use LogicException for missing Property Access Component in comparison constraints (Lctrs) + * bug #32136 [FrameworkBundle] sync `require-dev` and `conflict` constraints (xabbuh) + * bug #32123 [Form] fix translation domain (xabbuh) + * bug #32115 [SecurityBundle] don't validate IP addresses from env var placeholders (xabbuh) + * bug #32116 [FrameworkBundle] tag the FileType service as a form type (xabbuh) + * bug #32109 [Messenger] fix delay exchange recreation after disconnect (Tobion) + * bug #32090 [Debug] workaround BC break in PHP 7.3 (nicolas-grekas) + * bug #32076 [Lock] Fix PDO prune not called (jderusse) + * bug #32071 Fix expired lock not cleaned (jderusse) + * bug #32052 [Messenger] fix AMQP delay queue to be per exchange (Tobion) + * bug #32065 [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error (nicolas-grekas) + * bug #32057 [HttpFoundation] Fix SA/phpdoc JsonResponse (ro0NL) + * bug #32040 [DI] Show the right class autowired when providing a non-existing class (Simperfit) + * bug #32035 [Messenger] fix delay delivery for non-fanout exchanges (Tobion) + * bug #32025 SimpleCacheAdapter fails to cache any item if a namespace is used (moufmouf) + * bug #32022 [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set (nicolas-grekas) + * bug #32037 [Form] validate composite constraints in all groups (xabbuh) + * bug #32007 [Serializer] Handle true and false appropriately in CSV encoder (battye) + * bug #32036 [Messenger] improve logs (Tobion) + * bug #31998 Parameterize Mailgun's region (jderusse) + * bug #32000 [Routing] fix absolute url generation when scheme is not known (Tobion) + * bug #32012 Add statement to fileLink to ignore href code when no fileLink. (bmxmale) + * bug #32024 [VarDumper] fix dumping objects that implement __debugInfo() (nicolas-grekas) + * bug #32014 Do not log or call the proxy function when the locale is the same (gmponos) + * bug #32011 [HttpClient] fix closing debug stream prematurely (nicolas-grekas) + * bug #32017 [Contracts] add missing required dependencies (mbessolov) + * bug #31992 Fix sender/recipients in SMTP Envelope (fabpot) + * bug #31999 [PhpunitBridge] Restore php 5.5 compat (greg0ire) + * bug #31991 [EventDispatcher] collect called listeners information only once (xabbuh) + * bug #31988 [TwigBridge] add back possibility to use form themes without translations (xabbuh) + * bug #31982 [HttpClient] fix Psr18Client handling of non-200 response codes (nicolas-grekas) + * bug #31953 [DoctrineBridge] fix handling nested embeddables (xabbuh) + * bug #31962 Fix reporting unsilenced deprecations from insulated tests (nicolas-grekas) + * bug #31936 PropertyInfoLoader should not try to add validation to non-existent property (weaverryan) + * bug #31923 [Serializer] Fix DataUriNormalizer deprecation (MIME type guesser is optional) (ogizanagi) + * bug #31928 [FrameworkBundle] avoid service id conflicts with Swiftmailer (xabbuh) + * bug #31925 [Form] fix usage of legacy TranslatorInterface (nicolas-grekas) + * bug #31908 [Validator] fix deprecation layer of ValidatorBuilder (nicolas-grekas) + * 4.3.1 (2019-06-06) * bug #31894 Fix wrong requirements for ocramius/proxy-manager in root composer.json (henrikvolmer) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index fddccc428e..011ad9bee0 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -19,8 +19,8 @@ Symfony is the result of the work of many people who made the code better - Jakub Zalas (jakubzalas) - Johannes S (johannes) - Javier Eguiluz (javier.eguiluz) - - Kris Wallsmith (kriswallsmith) - Roland Franssen (ro0) + - Kris Wallsmith (kriswallsmith) - Grégoire Pineau (lyrixx) - Hugo Hamon (hhamon) - Abdellatif Ait boudad (aitboudad) @@ -31,9 +31,9 @@ Symfony is the result of the work of many people who made the code better - Joseph Bielawski (stloyd) - Karma Dordrak (drak) - Lukas Kahwe Smith (lsmith) + - Yonel Ceruto (yonelceruto) - Martin Hasoň (hason) - Jeremy Mikola (jmikola) - - Yonel Ceruto (yonelceruto) - Jean-François Simon (jfsimon) - Jules Pietri (heah) - Benjamin Eberlei (beberlei) @@ -45,35 +45,35 @@ Symfony is the result of the work of many people who made the code better - Jonathan Wage (jwage) - Tobias Nyholm (tobias) - Lynn van der Berg (kjarli) + - Jérémy DERUSSÉ (jderusse) - Diego Saint Esteben (dosten) - Alexandre Salomé (alexandresalome) - William Durand (couac) - ornicar - - Jérémy DERUSSÉ (jderusse) + - Alexander M. Turek (derrabus) - Dany Maillard (maidmaid) - Francis Besset (francisbesset) - stealth35 ‏ (stealth35) - Alexander Mols (asm89) - Matthias Pigulla (mpdude) - Bulat Shakirzyanov (avalanche123) - - Alexander M. Turek (derrabus) - Saša Stamenković (umpirsky) - Peter Rehm (rpet) - - Kevin Bond (kbond) - Pierre du Plessis (pierredup) + - Kevin Bond (kbond) - Henrik Bjørnskov (henrikbjorn) - Miha Vrhovnik - Diego Saint Esteben (dii3g0) + - Grégoire Paris (greg0ire) - Konstantin Kudryashov (everzet) - Gábor Egyed (1ed) - - Grégoire Paris (greg0ire) - - Bilal Amarni (bamarni) - Titouan Galopin (tgalopin) + - Konstantin Myakshin (koc) + - Bilal Amarni (bamarni) - Mathieu Piot (mpiot) - David Maicher (dmaicher) - Florin Patan (florinpatan) - Valentin Udaltsov (vudaltsov) - - Konstantin Myakshin (koc) - Gabriel Ostrolucký (gadelat) - Vladimir Reznichenko (kalessil) - Jáchym Toušek (enumag) @@ -95,12 +95,12 @@ Symfony is the result of the work of many people who made the code better - Luis Cordova (cordoval) - Graham Campbell (graham) - Daniel Holmes (dholmes) + - Thomas Calvet (fancyweb) - Toni Uebernickel (havvg) - Bart van den Burg (burgov) - Jordan Alliot (jalliot) - Jérôme Tamarelle (gromnan) - John Wards (johnwards) - - Thomas Calvet (fancyweb) - Fran Moreno (franmomu) - Antoine Hérault (herzult) - Paráda József (paradajozsef) @@ -120,6 +120,7 @@ Symfony is the result of the work of many people who made the code better - Peter Kokot (maastermedia) - Jacob Dreesen (jdreesen) - Florian Voutzinos (florianv) + - Jan Schädlich (jschaedl) - Colin Frei - Javier Spagnoletti (phansys) - Adrien Brault (adrienbrault) @@ -152,7 +153,6 @@ Symfony is the result of the work of many people who made the code better - Arnaud Kleinpeter (nanocom) - Jannik Zschiesche (apfelbox) - Guilherme Blanco (guilhermeblanco) - - Jan Schädlich (jschaedl) - SpacePossum - Pablo Godel (pgodel) - Jérémie Augustin (jaugustin) @@ -175,13 +175,17 @@ Symfony is the result of the work of many people who made the code better - Alessandro Chitolina (alekitto) - Hiromi Hishida (77web) - Matthieu Ouellette-Vachon (maoueh) + - Massimiliano Arione (garak) - Michał Pipa (michal.pipa) - Dawid Nowak + - George Mponos (gmponos) - Amal Raghav (kertz) - Jonathan Ingram (jonathaningram) - Artur Kotyrba - Tyson Andre - GDIBass + - Samuel NELA (snela) + - Vincent Touzet (vincenttouzet) - Alexander Schranz (alexander-schranz) - jeremyFreeAgent (Jérémy Romey) (jeremyfreeagent) - James Halsall (jaitsu) @@ -194,15 +198,12 @@ Symfony is the result of the work of many people who made the code better - Daniel Espendiller - Possum - Dorian Villet (gnutix) - - George Mponos (gmponos) - Sergey Linnik (linniksa) - Richard Miller (mr_r_miller) - Albert Casademont (acasademont) - Mario A. Alvarez Garcia (nomack84) - Dennis Benkert (denderello) - DQNEO - - Samuel NELA (snela) - - Vincent Touzet (vincenttouzet) - Gregor Harlan (gharlan) - Gary PEGEOT (gary-p) - Ruben Gonzalez (rubenrua) @@ -242,12 +243,12 @@ Symfony is the result of the work of many people who made the code better - Sven Paulus (subsven) - Maxime Veber (nek-) - Rui Marinho (ruimarinho) - - Massimiliano Arione (garak) - Eugene Wissner - Pascal Montoya - Julien Brochet (mewt) - Leo Feyer - Tristan Darricau (nicofuma) + - Victor Bocharsky (bocharsky_bw) - Marcel Beerta (mazen) - Pavel Batanov (scaytrase) - Mantis Development @@ -300,7 +301,6 @@ Symfony is the result of the work of many people who made the code better - Chekote - Antoine Makdessi (amakdessi) - Thomas Adam - - Viktor Bocharskyi (bocharsky_bw) - Jhonny Lidfors (jhonne) - Diego Agulló (aeoris) - jdhoek @@ -374,6 +374,7 @@ Symfony is the result of the work of many people who made the code better - Berny Cantos (xphere81) - Thierry Thuon (lepiaf) - Ricard Clau (ricardclau) + - dFayet - Mark Challoner (markchalloner) - Gennady Telegin (gtelegin) - Erin Millard @@ -438,6 +439,7 @@ Symfony is the result of the work of many people who made the code better - Joe Lencioni - Daniel Tschinder - vladimir.reznichenko + - Ruud Kamphuis (ruudk) - Kai - Lee Rowlands - Krzysztof Piasecki (krzysztek) @@ -458,6 +460,7 @@ Symfony is the result of the work of many people who made the code better - Karel Souffriau - Christophe L. (christophelau) - Anthon Pang (robocoder) + - Michael Käfer (michael_kaefer) - Sébastien Santoro (dereckson) - Brian King - Michel Salib (michelsalib) @@ -539,6 +542,7 @@ Symfony is the result of the work of many people who made the code better - Sergio Santoro - Robin van der Vleuten (robinvdvleuten) - Philipp Rieber (bicpi) + - Tomas Norkūnas (norkunas) - Manuel de Ruiter (manuel) - Eduardo Oliveira (entering) - Ilya Antipenko (aivus) @@ -563,6 +567,7 @@ Symfony is the result of the work of many people who made the code better - Jakub Škvára (jskvara) - Andrew Udvare (audvare) - alexpods + - Saif Eddin G - Adam Szaraniec (mimol) - Dariusz Ruminski - Erik Trapman (eriktrapman) @@ -597,7 +602,6 @@ Symfony is the result of the work of many people who made the code better - Martin Morávek (keeo) - Steven Surowiec - Kevin Saliou (kbsali) - - Ruud Kamphuis (ruudk) - Shawn Iwinski - Gawain Lynch (gawain) - NothingWeAre @@ -630,6 +634,7 @@ Symfony is the result of the work of many people who made the code better - Baptiste Leduc (bleduc) - Jean-Christophe Cuvelier [Artack] - Simon DELICATA + - Dmitry Simushev - alcaeus - Fred Cox - vitaliytv @@ -688,7 +693,6 @@ Symfony is the result of the work of many people who made the code better - Vincent Simonin - Alex Bogomazov (alebo) - maxime.steinhausser - - dFayet - adev - Stefan Warman - Arkadius Stefanski (arkadius) @@ -722,6 +726,7 @@ Symfony is the result of the work of many people who made the code better - Jaroslav Kuba - Stephan Vock - Benjamin Zikarsky (bzikarsky) + - battye - Simon Schick (simonsimcity) - redstar504 - Tristan Roussel @@ -763,10 +768,10 @@ Symfony is the result of the work of many people who made the code better - Arturas Smorgun (asarturas) - Alexander Volochnev (exelenz) - Michael Piecko + - Toni Peric (tperic) - yclian - Alan Poulain - Aleksey Prilipko - - Tomas Norkūnas (norkunas) - Andrew Berry - twifty - Indra Gunawan (guind) @@ -816,6 +821,7 @@ Symfony is the result of the work of many people who made the code better - John Bohn (jbohn) - Marc Morera (mmoreram) - Saif Eddin Gmati (azjezz) + - BENOIT POLASZEK (bpolaszek) - Andrew Hilobok (hilobok) - Noah Heck (myesain) - Christian Soronellas (theunic) @@ -837,6 +843,7 @@ Symfony is the result of the work of many people who made the code better - Olivier Maisonneuve (olineuve) - Pedro Miguel Maymone de Resende (pedroresende) - Masterklavi + - Franco Traversaro (belinde) - Francis Turmel (fturmel) - Nikita Nefedov (nikita2206) - cgonzalez @@ -851,6 +858,7 @@ Symfony is the result of the work of many people who made the code better - Antoine Lamirault - Adrien Lucas (adrienlucas) - Zhuravlev Alexander (scif) + - Stefano Degenkamp (steef) - James Michael DuPont - Tom Klingenberg - Christopher Hall (mythmakr) @@ -904,6 +912,7 @@ Symfony is the result of the work of many people who made the code better - Benoît Bourgeois - mantulo - Stefan Kruppa + - mmokhi - corphi - grizlik - Derek ROTH @@ -912,6 +921,7 @@ 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) + - Jacek Jędrzejewski (jacek.jedrzejewski) - Jan Kramer (jankramer) - abdul malik ikhsan (samsonasik) - Henry Snoek (snoek09) @@ -922,7 +932,6 @@ Symfony is the result of the work of many people who made the code better - Morgan Auchede (mauchede) - Sascha Dens (saschadens) - Don Pinkster - - Saif Eddin G - Maksim Muruev - Emil Einarsson - Thomas Landauer @@ -933,13 +942,14 @@ Symfony is the result of the work of many people who made the code better - Tony Tran - Jacques Moati - Balazs Csaba (balazscsaba2006) + - Bill Hance (billhance) - Douglas Reith (douglas_reith) - Forfarle (forfarle) - Harry Walter (haswalt) - Johnson Page (jwpage) - - Michael Käfer (michael_kaefer) - Ruben Gonzalez (rubenruateltek) - Michael Roterman (wtfzdotnet) + - Andrii Dembitskyi - Arno Geurts - Adán Lobato (adanlobato) - Ian Jenkins (jenkoian) @@ -986,7 +996,6 @@ Symfony is the result of the work of many people who made the code better - d-ph - Renan Taranto (renan-taranto) - Thomas Talbot (ioni) - - Dmitry Simushev - Rikijs Murgs - Uladzimir Tsykun - Ben Ramsey (ramsey) @@ -1132,7 +1141,6 @@ Symfony is the result of the work of many people who made the code better - hugofonseca (fonsecas72) - Martynas Narbutas - Toon Verwerft (veewee) - - battye - Bailey Parker - Eddie Jaoude - Antanas Arvasevicius @@ -1269,6 +1277,7 @@ Symfony is the result of the work of many people who made the code better - Pablo Schläpfer - Gert de Pagter - Jelte Steijaert (jelte) + - David Négrier (moufmouf) - Quique Porta (quiqueporta) - stoccc - Andrea Quintino (dirk39) @@ -1290,7 +1299,6 @@ Symfony is the result of the work of many people who made the code better - Lars Ambrosius Wallenborn (larsborn) - Oriol Mangas Abellan (oriolman) - Sebastian Göttschkes (sgoettschkes) - - Toni Peric (tperic) - Tatsuya Tsuruoka - Ross Tuck - Kévin Gomez (kevin) @@ -1324,7 +1332,6 @@ Symfony is the result of the work of many people who made the code better - Sébastien HOUZÉ - Jingyu Wang - steveYeah - - BENOIT POLASZEK (bpolaszek) - Samy Dindane (dinduks) - Keri Henare (kerihenare) - Cédric Lahouste (rapotor) @@ -1431,6 +1438,7 @@ Symfony is the result of the work of many people who made the code better - BilgeXA - r1pp3rj4ck - phydevs + - mmokhi - Robert Queck - Peter Bouwdewijn - mlively @@ -1455,6 +1463,7 @@ Symfony is the result of the work of many people who made the code better - Mike Meier - Tim Jabs - Sebastian Ionescu + - Robert Kopera - Pablo Ogando Ferreira - Thomas Ploch - Simon Neidhold @@ -1490,6 +1499,7 @@ Symfony is the result of the work of many people who made the code better - LubenZA - Olivier - Cyril PASCAL + - Michael Bessolov - pscheit - Wybren Koelmans - Zdeněk Drahoš @@ -1651,6 +1661,7 @@ Symfony is the result of the work of many people who made the code better - downace - Aarón Nieves Fernández - Mike Meier + - Vilius Grigaliūnas - Kirill Saksin - Julien Pauli - Koalabaerchen @@ -1698,6 +1709,7 @@ Symfony is the result of the work of many people who made the code better - Nicole Cordes - Martin Kirilov - amcastror + - Alexander Li (aweelex) - Bram Van der Sype (brammm) - Guile (guile) - Julien Moulin (lizjulien) @@ -1717,6 +1729,7 @@ Symfony is the result of the work of many people who made the code better - Sam Ward - Walther Lalk - Adam + - Ivo - Sören Bernstein - devel - taiiiraaa @@ -1751,7 +1764,6 @@ Symfony is the result of the work of many people who made the code better - Hans Nilsson (hansnilsson) - Andrew Marcinkevičius (ifdattic) - Ioana Hazsda (ioana-hazsda) - - Jacek Jędrzejewski (jacek.jedrzejewski) - Jan Marek (janmarek) - Mark de Haan (markdehaan) - Dan Patrick (mdpatrick) @@ -1760,6 +1772,7 @@ Symfony is the result of the work of many people who made the code better - tante kinast (tante) - Ahmed Hannachi (tiecoders) - Vincent LEFORT (vlefort) + - Walid BOUGHDIRI (walidboughdiri) - Darryl Hein (xmmedia) - Sadicov Vladimir (xtech) - Kevin EMO (zarcox) @@ -1774,6 +1787,7 @@ Symfony is the result of the work of many people who made the code better - Vincent Chalnot - James Hudson - Tom Maguire + - Mateusz Lerczak - Richard Quadling - David Zuelke - Adrian @@ -1948,6 +1962,7 @@ Symfony is the result of the work of many people who made the code better - Ulf Reimers (ureimers) - Wotre - goohib + - Chi-teck - Tom Counsell - Xavier HAUSHERR - Ron Gähler @@ -2007,6 +2022,7 @@ Symfony is the result of the work of many people who made the code better - Cédric Bertolini - n-aleha - Anatol Belski + - Anderson Müller - Şəhriyar İmanov - Alexis BOYER - Kaipi Yann @@ -2019,7 +2035,6 @@ Symfony is the result of the work of many people who made the code better - Tammy D - Daniel STANCU - Ryan Rud - - mmokhi - Ondrej Slinták - vlechemin - Brian Corrigan @@ -2110,10 +2125,10 @@ Symfony is the result of the work of many people who made the code better - Alex Olmos (alexolmos) - Antonio Mansilla (amansilla) - Robin Kanters (anddarerobin) + - Andrii Popov (andrii-popov) - Juan Ases García (ases) - Siragusa (asiragusa) - Daniel Basten (axhm3a) - - Bill Hance (billhance) - Bernd Matzner (bmatzner) - Bram Tweedegolf (bram_tweedegolf) - Brandon Kelly (brandonkelly) @@ -2150,6 +2165,7 @@ Symfony is the result of the work of many people who made the code better - Justin Rainbow (jrainbow) - Juan Luis (juanlugb) - JuntaTom (juntatom) + - Julien Manganne (juuuuuu) - Ismail Faizi (kanafghan) - Sébastien Armand (khepin) - Pierre-Chanel Gauthier (kmecnin) diff --git a/composer.json b/composer.json index f85dfbc45c..9d78b7eaef 100644 --- a/composer.json +++ b/composer.json @@ -115,7 +115,7 @@ "psr/http-client": "^1.0", "psr/simple-cache": "^1.0", "egulias/email-validator": "~1.2,>=1.2.8|~2.0", - "symfony/phpunit-bridge": "~3.4|~4.0", + "symfony/phpunit-bridge": "~3.4|~4.0|~5.0", "symfony/security-acl": "~2.8|~3.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0" }, diff --git a/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/default.phpt b/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/default.phpt index 126d23389a..7b4625979c 100644 --- a/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/default.phpt +++ b/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/default.phpt @@ -3,7 +3,9 @@ Test DeprecationErrorHandler in default mode --FILE-- assertTrue($testLoaded); } + + /** + * @group legacy + * @expectedDeprecation Calling the "Symfony\Component\EventDispatcher\EventDispatcherInterface::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead. + */ + public function testLegacySignatureWithoutEvent() + { + $this->dispatcher->dispatch('foo'); + } + + /** + * @group legacy + * @expectedDeprecation Calling the "Symfony\Component\EventDispatcher\EventDispatcherInterface::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead. + */ + public function testLegacySignatureWithEvent() + { + $this->dispatcher->dispatch('foo', new Event()); + } + + /** + * @expectedException \TypeError + * @expectedExceptionMessage Argument 1 passed to "Symfony\Component\EventDispatcher\EventDispatcherInterface::dispatch()" must be an object, string given. + */ + public function testLegacySignatureWithNewEventObject() + { + $this->dispatcher->dispatch('foo', new ContractsEvent()); + } } class CallableClass diff --git a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/Stream/SocketStreamTest.php b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/Stream/SocketStreamTest.php new file mode 100644 index 0000000000..b825d1d19a --- /dev/null +++ b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/Stream/SocketStreamTest.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Mailer\Tests\Transport\Smtp\Stream; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\Mailer\Transport\Smtp\Stream\SocketStream; + +class SocketStreamTest extends TestCase +{ + /** + * @expectedException \Symfony\Component\Mailer\Exception\TransportException + * @expectedExceptionMessageRegExp /Connection refused|unable to connect/ + */ + public function testSocketErrorNoConnection() + { + $s = new SocketStream(); + $s->setTimeout(0.1); + $s->setPort(9999); + $s->initialize(); + } + + /** + * @expectedException \Symfony\Component\Mailer\Exception\TransportException + * @expectedExceptionMessageRegExp /no valid certs found cafile stream|Unable to find the socket transport "ssl"/ + */ + public function testSocketErrorBeforeConnectError() + { + $s = new SocketStream(); + $s->setStreamOptions([ + 'ssl' => [ + // not a CA file :) + 'cafile' => __FILE__, + ], + ]); + $s->setEncryption('ssl'); + $s->setHost('smtp.gmail.com'); + $s->setPort(465); + $s->initialize(); + } +} diff --git a/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php b/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php index 308201d538..a502c85e82 100644 --- a/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php +++ b/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php @@ -34,14 +34,14 @@ final class SocketStream extends AbstractStream private $sourceIp; private $streamContextOptions = []; - public function setTimeout(int $timeout): self + public function setTimeout(float $timeout): self { $this->timeout = $timeout; return $this; } - public function getTimeout(): int + public function getTimeout(): float { return $this->timeout; } @@ -144,10 +144,16 @@ final class SocketStream extends AbstractStream $options['ssl']['crypto_method'] = $options['ssl']['crypto_method'] ?? STREAM_CRYPTO_METHOD_TLS_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT; } $streamContext = stream_context_create($options); - $this->stream = @stream_socket_client($this->url, $errno, $errstr, $this->timeout, STREAM_CLIENT_CONNECT, $streamContext); - if (false === $this->stream) { - throw new TransportException(sprintf('Connection could not be established with host "%s": %s (%s)', $this->url, $errstr, $errno)); + + set_error_handler(function ($type, $msg) { + throw new TransportException(sprintf('Connection could not be established with host "%s": %s.', $this->url, $msg)); + }); + try { + $this->stream = stream_socket_client($this->url, $errno, $errstr, $this->timeout, STREAM_CLIENT_CONNECT, $streamContext); + } finally { + restore_error_handler(); } + stream_set_blocking($this->stream, true); stream_set_timeout($this->stream, $this->timeout); $this->in = &$this->stream; diff --git a/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php b/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php index 8ab5cccb67..2215a20a2b 100644 --- a/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php +++ b/src/Symfony/Component/Security/Core/Encoder/SodiumPasswordEncoder.php @@ -48,7 +48,7 @@ final class SodiumPasswordEncoder implements PasswordEncoderInterface, SelfSalti public static function isSupported(): bool { - return \function_exists('sodium_crypto_pwhash_str_needs_rehash') || \function_exists('Sodium\crypto_pwhash_str_needs_rehash'); + return version_compare(\extension_loaded('sodium') ? \SODIUM_LIBRARY_VERSION : phpversion('libsodium'), '1.0.14', '>='); } /**