This changelog references the relevant changes (bug and security fixes) done in 5.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v5.2.0...v5.2.1
-
5.2.0-BETA1 (2020-10-05)
-
feature #38382 [Validator] Use comparison constraints as attributes (derrabus)
-
feature #38369 [HttpFoundation] Expired cookies string representation consistency & tests (iquito)
-
feature #38407 [Mime] Prefer .jpg instead of .jpeg (fabpot)
-
feature #36479 [Notifier][WebProfilerBundle][FrameworkBundle] Added notifier section to profiler (jschaedl)
-
feature #38395 [lock] Prevent user serializing the key when store does not support it. (jderusse)
-
feature #38307 [Form] Implement Twig helpers to get field variables (tgalopin)
-
feature #38177 [Security] Magic login link authentication (weaverryan)
-
feature #38224 [HttpFoundation] Added Request::toArray() for JSON content (Nyholm)
-
feature #38323 [Mime] Allow multiple parts with the same name in FormDataPart (HypeMC)
-
feature #38354 [RateLimiter] Added Limit::ensureAccepted() which throws RateLimitExceededException if not accepted (kbond)
-
feature #32904 [Messenger] Added ErrorDetailsStamp (TimoBakx)
-
feature #36152 [Messenger] dispatch event when a message is retried (nikophil)
-
feature #38361 Can define ChatMessage transport to null (odolbeau)
-
feature #38289 [HttpClient] provide response body to the RetryDecider (jderusse)
-
feature #38308 [Security][RateLimiter] Added request rate limiter to prevent breadth-first attacks (wouterj)
-
feature #38257 [RateLimiter] Added limit object on RateLimiter consume method (Valentin, vasilvestre)
-
feature #38309 [Validator] Constraints as php 8 Attributes (derrabus)
-
feature #38332 [Validator] Added support for UUIDv6 in Uuid constraint (nicolas-grekas)
-
feature #38330 [Contracts] Added TranslatableInterface (nicolas-grekas)
-
feature #38322 [Validator] Added Ulid constraint and validator (Laurent Clouet)
-
feature #38333 [Uid] make UUIDv6 always return truly random nodes to prevent leaking the MAC of the host (nicolas-grekas)
-
feature #38296 [lock] Provides default implementation when store does not supports the behavior (jderusse)
-
feature #38298 [Notifier] Added Sendinblue notifier. (ptondereau)
-
feature #38305 [PhpUnitBridge] Enable a maximum PHPUnit version to be set via SYMFONY_MAX_PHPUNIT_VERSION (stevegrunwell)
-
feature #38288 [DomCrawler] Added
assertFormValue()
inWebTestCase
(mnapoli) -
feature #38287 [DomCrawler] Added checkbox assertions for functional tests (mnapoli)
-
feature #36326 [Validator] Added invalid datetime message in Range validator (przemyslaw-bogusz)
-
feature #38243 [HttpKernel] Auto-register kernel as an extension (HypeMC)
-
feature #38277 [Mailer] Added Sendinblue bridge (drixs6o9)
-
feature #35956 [Form] Added "html5" option to both MoneyType and PercentType (romaricdrigon)
-
feature #38269 [String] allow passing null to string functions (kbond)
-
feature #38176 [Config] Added the "info" to a missing option error messages (weaverryan)
-
feature #38167 [VarDumper] Support for ReflectionAttribute (derrabus)
-
feature #35740 [MonologBridge] Use composition instead of inheritance in monolog bridge (pvgnd, mm-pvgnd)
-
feature #38182 [HttpClient] Added RetryHttpClient (jderusse)
-
feature #38204 [Security] Added login throttling feature (wouterj)
-
feature #38007 [Amqp] Added amqps support (vasilvestre-OS)
-
feature #37546 [RFC] Introduce a RateLimiter component (wouterj)
-
feature #38193 Make RetryTillSaveStore implements the SharedLockStoreInterface (jderusse)
-
feature #37968 [Form] Added new way of mapping data using callback functions (yceruto)
-
feature #38198 [String] allow translit rules to be given as closure (nicolas-grekas)
-
feature #37829 [RFC][HttpKernel][Security] Allowed adding attributes on controller arguments that will be passed to argument resolvers. (jvasseur)
-
feature #37752 [RFC][lock] Introduce Shared Lock (or Read/Write Lock) (jderusse)
-
feature #37759 [Messenger] - Added option to confirm message delivery in Amqp connection (scyzoryck)
-
feature #30572 [Cache] Added integration with Messenger to allow computing cached values in a worker (nicolas-grekas)
-
feature #38149 [SecurityBundle] Comma separated ips for security.access_control (a-menshchikov)
-
feature #38151 [Serializer] Added UidNormalizer (guillbdx, norkunas)
-
feature #37976 [Messenger] Don't prevent dispatch out of another bus (ogizanagi)
-
feature #38134 [Lock] Fix wrong interface for MongoDbStore (jderusse)
-
feature #38135 [AmazonSqsMessenger] Added the count message awareness on the transport (raphahardt)
-
feature #38026 [HttpClient] Allow to provide additional curl options to CurlHttpClient (pizzaminded)
-
feature #37559 [PropertyInfo] fix array types with keys (array<string, string>) (digilist)
-
feature #37519 [Process] allow setting options esp. "create_new_console" to detach a subprocess (andrei0x309)
-
feature #37704 [MonologBridge] Added SwitchUserTokenProcessor to log the impersonator (IgorTimoshenko)
-
feature #37545 [DependencyInjection] Add the Required attribute (derrabus)
-
feature #37474 [RFC][Routing] Added the Route attribute (derrabus)
-
feature #38068 [Notifier] Register NotificationDataCollector and NotificationLoggerListener service (jschaedl)
-
feature #32841 Create impersonation_exit_path() and *_url() functions (dFayet)
-
feature #37706 [Validator] Debug validator command (loic425, fabpot)
-
feature #38052 Increase HttpBrowser::getHeaders() visibility to protected (iansltx)
-
feature #36727 [Messenger] Added option to prevent Redis from deleting messages on rejection (Steveb-p)
-
feature #37678 [DoctrineBridge] Ulid and Uuid as Doctrine Types (gennadigennadigennadi)
-
feature #38037 Translate failure messages of json authentication (Malte Schlüter)
-
feature #35890 [Cache] give control over cache prefix seed (Tobion)
-
feature #37337 [Security] Configurable execution order for firewall listeners (scheb)
-
feature #33850 [Serializer] fix denormalization of basic property-types in XML and CSV (mkrauser)
-
feature #38017 [PHPUnitBridge] deprecations not disabled anymore when disabled=0 (l-vo)
-
feature #33381 [Form] dispatch submit events for disabled forms too (xabbuh)
-
feature #35338 Added support for using the "{{ label }}" placeholder in constraint messages (a-menshchikov)
-
feature #34790 [Console] Remove restriction for choices to be strings (LordZardeck, YaFou, ogizanagi)
-
feature #37979 [Workflow] Expose the Metadata Store in the DIC (lyrixx)
-
feature #37371 [Translation] Added support for calling 'trans' with ICU formatted messages (someonewithpc)
-
feature #37670 [Translation] Translatable objects (natewiebe13)
-
feature #37432 [Mailer] Implement additional mailer transport options (fritzmg)
-
feature #35893 [HttpClient][DI] Added an option to use the MockClient in functional tests (GaryPEGEOT)
-
feature #35780 [Semaphore] Added the component (lyrixx)
-
feature #37846 [Security] Lazily load the user during the check passport event (wouterj)
-
feature #37934 [Mailer] Mailjet Added ability to pass custom headers to API (tcheymol)
-
feature #37942 [Security] Renamed provider key to firewall name (wouterj)
-
feature #37951 [FrameworkBundle] Make AbstractPhpFileCacheWarmer public (ossinkine)
-
feature #30335 [PropertyInfo] ConstructorExtractor which has higher priority than PhpDocExtractor and ReflectionExtractor (karser)
-
feature #37926 [lock] Lazy create table in lock PDO store (jderusse)
-
feature #36573 [Notifier] Added Esendex bridge (odolbeau)
-
feature #33540 [Serializer] Added special '*' serialization group that allows any group (nrobinaubertin)
-
feature #37708 Allow Drupal to wrap the Symfony test listener (alexpott)
-
feature #36211 [Serializer] Added FormErrorNormalizer (YaFou)
-
feature #37087 [Messenger] Added FlattenException Normalizer (monteiro)
-
feature #37917 [Security] Pass Passport to LoginFailureEvent (ihmels)
-
feature #37734 [HttpFoundation] Added support for X_FORWARDED_PREFIX header (jeff1985)
-
feature #37897 [Mailer] Support Amazon SES ConfigurationSetName (cvmiert)
-
feature #37915 Improve link script with rollback when using symlink (noniagriconomie)
-
feature #37889 Toolbar toggler accessibility (Chi-teck)
-
feature #36515 [HttpKernel] Added
$kernel->getBuildDir()
to separate it from the cache directory (mnapoli) -
feature #32133 [PropertyAccess] Allow to disable magic __get & __set (ogizanagi)
-
feature #36016 [Translation] Added a pseudo localization translator (fancyweb)
-
feature #37755 Fix #37740: Cast all Request parameter values to string (rgeraads)
-
feature #36541 ✨ [Mailer] Added Mailjet bridge (tcheymol)
-
feature #36940 [Notifier] Added support for smsapi-notifier (szepczynski)
-
feature #37830 [Notifier] Added LinkedIn provider (ismail1432)
-
feature #37867 [Messenger] Added message timestamp to amqp connection (Bartłomiej Zając)
-
feature #36925 [Security] Verifying if the password field is null (Mbechezi Nawo)
-
feature #37847 [Serializer][Mime] Fix Mime message serialization (fabpot)
-
feature #37338 [Console] Added TableCellStyle (khoptynskyi)
-
feature #37840 [VarDumper] Support PHPUnit --colors option (ogizanagi)
-
feature #37138 [Notifier][Slack] Use Slack Web API chat.postMessage instead of WebHooks (xavierbriand)
-
feature #37827 [Console] Rework the signal integration (lyrixx)
-
feature #36131 [Mailer] Added a transport that uses php.ini settings for configuration (l-vo)
-
feature #36596 Added cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter (l-vo)
-
feature #36582 [Messenger] Added Beanstalkd bridge (X-Coder264)
-
feature #35967 [VarDumper] Added VAR_DUMPER_FORMAT=server format (ogizanagi)
-
feature #37815 [Workflow] Choose which Workflow events should be dispatched (stewartmalik, lyrixx)
-
feature #20054 [Console] Different approach on merging application definition (ro0NL)
-
feature #36648 [Notifier] Added Mobyt bridge (Deamon)
-
feature #37332 [FrameworkBundle] Allow to leverage autoconfiguration for DataCollectors with template (l-vo)
-
feature #37359 [Security] Added event to inspect authenticated token before it becomes effective (scheb)
-
feature #37539 [Workflow] Added Context to Workflow Event (epitre)
-
feature #37683 [Console] allow multiline responses to console questions (ramsey)
-
feature #29117 [Serializer] Added CompiledClassMetadataFactory (fbourigault)
-
feature #37676 [Stopwatch] Added name property to the stopwatchEvent (AhmedRaafat14)
-
feature #34704 [Messenger] Added method HandlerFailedException::getNestedExceptionOfClass (tyx)
-
feature #37793 Revert "[DependencyInjection] Resolve parameters in tag arguments" (rpkamp)
-
feature #37537 [HttpKernel] Provide status code in fragment handler exception (gonzalovilaseca)
-
feature #36480 [Notifier] Added Infobip bridge (jeremyFreeAgent)
-
feature #36496 [Notifier] Added telegram options (krasilnikovm)
-
feature #37754 [FrameworkBundle] Added days before expiration in "about" command (noniagriconomie)
-
feature #35773 [Notifier] Change notifier recipient handling (jschaedl)
-
feature #36488 [Notifier] Added Google Chat bridge (GromNaN)
-
feature #36692 [HttpClient] added EventSourceHttpClient to consume Server-Sent Events (soyuka)
-
feature #36616 [Notifier] Added Zulip notifier bridge (phpfour)
-
feature #37747 [Notifier] Make Freemobile config more flexible (fabpot)
-
feature #37718 [Security] class Security implements AuthorizationCheckerInterface (SimonHeimberg)
-
feature #37732 [Console] Allow testing single command apps using CommandTester (chalasr)
-
feature #37480 [Messenger] Added redeliveredAt in RedeliveryStamp construct (qkdreyer)
-
feature #37565 [Validator] Added Isin validator constraint (lmasforne)
-
feature #37712 [Mailer] Prevent MessageLoggerListener from leaking in env=prod (vudaltsov)
-
feature #33729 [Console] Added signal event (marie)
-
feature #36352 [Validator] Added support for cascade validation on typed properties (HeahDude)
-
feature #37243 [DependencyInjection] Resolve parameters in tag arguments (rpkamp)
-
feature #37415 [Console] Added info method to symfony style (titospeakap, titomiguelcosta)
-
feature #36691 [FrameworkBundle] Deprecate some public services to private (fancyweb)
-
feature #36929 Added a FrenchInflector for the String component (Alexandre-T)
-
feature #37620 [Security] Use NullToken while checking authorization (wouterj)
-
feature #37711 [Router] allow to use \A and \z as regex start and end (zlodes)
-
feature #37703 Update StopwatchPeriod.php (ThomasLandauer)
-
feature #37696 [Routing] Allow inline definition of requirements and defaults for host (julienfalque)
-
feature #37567 [PhpUnitBridge] Polyfill new phpunit 9.1 assertions (phpfour)
-
feature #37479 [HttpFoundation] Added File::getContent() (lyrixx)
-
feature #36178 [Mime] allow non-ASCII characters in local part of email (dmaicher)
-
feature #30931 [Form] Improve invalid messages for form types (hiddewie)
-
feature #37492 [ErrorHandler] Allow override of the default non-debug template (PhilETaylor)
-
feature #37482 [HttpClient] always yield a LastChunk in AsyncResponse on destruction (nicolas-grekas)
-
feature #36364 [HttpKernel][WebProfilerBundle] Added session profiling (mtarld)
-
feature #37428 [Workflow] Added Function (and Twig extension) to retrieve a specific transition (Carlos Pereira De Amorim)
-
feature #36487 [HttpClient] Added MockResponse::getRequestMethod() and getRequestUrl() to allow inspecting which request has been sent (javespi)
-
feature #37295 Move event alias mappings to their components (derrabus)
-
feature #37443 [HttpClient] Added StreamableInterface to ease turning responses into PHP streams (nicolas-grekas)
-
feature #36739 [TwigBundle] Deprecate the public "twig" service to private (fancyweb)
-
feature #37272 [HttpFoundation] Added
HeaderUtils::parseQuery()
: it does the same asparse_str()
but preserves dots in variable names (nicolas-grekas) -
feature #37403 [Notifier] Return SentMessage from the Notifier message handler (fabpot)
-
feature #36611 Added Notifier SentMessage (jeremyFreeAgent)
-
feature #37357 [FrameworkBundle] allow configuring trusted proxies using semantic configuration (nicolas-grekas)
-
feature #37373 [DI] deprecate Definition/Alias::setPrivate() (nicolas-grekas)
-
feature #37351 [FrameworkBundle] allow enabling the HTTP cache using semantic configuration (nicolas-grekas)
-
feature #37306 [Messenger] Added support for Amazon SQS QueueUrl as DSN (starred-gijs)
-
feature #37336 [Security] Let security factories add firewall listeners (scheb)
-
feature #37318 [Security] Added attributes on Passport (fabpot)
-
feature #37241 [Console] Fix Docblock for CommandTester::getExitCode (Jean85)
-
feature #35834 [Notifier] Remove default transport property in Transports class (jschaedl)
-
feature #37198 [FrameworkBundle] Added support for tagged_iterator/tagged_locator in unused tags util (fabpot)
-
feature #37165 [Mime] Added DKIM support (fabpot)
-
feature #36778 Use PHP instead of XML as the prefered service/route configuration in core (fabpot)
-
feature #36802 [Console] Added support for true colors (fabpot)
-
feature #36775 [DependencyInjection] Added abstract_arg() and param() (fabpot)
-
feature #37040 [PropertyInfo] Support using the SerializerExtractor with no group check (GuilhemN)
-
feature #37175 [Mime] Deprecate Address::fromString() (fabpot)
-
feature #37114 Provides a way to override cache and log folders from the ENV (Plopix)
-
feature #36736 [FrameworkBundle][Mailer] Added a way to configure some email headers from semantic configuration (fabpot)
-
feature #37136 [HttpClient] Added support for pausing responses with a new
pause_handler
callable exposed as an info item (nicolas-grekas) -
feature #36779 [HttpClient] Added AsyncDecoratorTrait to ease processing responses without breaking async (nicolas-grekas)
-
feature #36790 Bump Doctrine DBAL to 2.10+ (fabpot)
-
feature #36818 [Validator] deprecate the "allowEmptyString" option (xabbuh)