Symfony v5.2.0-BETA1 Release Notes

Release Date: 2020-10-05 // over 3 years ago
  • Changelog (v5.1.7...v5.2.0-BETA1)

    • πŸ”‹ 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] Add 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] Add Request::toArray() for JSON content (@Nyholm)
    • πŸ”‹ feature #38323 [Mime] Allow multiple parts with the same name in FormDataPart (@HypeMC)
    • πŸ”‹ feature #38354 [RateLimiter] add 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] Add limit object on RateLimiter consume method (@Valentin, @vasilvestre)
    • πŸ”‹ feature #38309 [Validator] Constraints as php 8 Attributes (@derrabus)
    • πŸ”‹ feature #38332 [Validator] Add support for UUIDv6 in Uuid constraint (@nicolas-grekas)
    • πŸ”‹ feature #38330 [Contracts] add TranslatableInterface (@nicolas-grekas)
    • πŸ”‹ feature #38322 [Validator] Add 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] Add Sendinblue notifier. (@ptondereau)
    • feature #38305 [PhpUnitBridge] Enable a maximum PHPUnit version to be set via SYMFONY_MAX_PHPUNIT_VERSION (@stevegrunwell)
    • πŸ”‹ feature #38288 [DomCrawler] Add assertFormValue() in WebTestCase (@mnapoli)
    • πŸ”‹ feature #38287 [DomCrawler] Add checkbox assertions for functional tests (@mnapoli)
    • πŸ”‹ feature #36326 [Validator] Add 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] Adding 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] Add amqps support (@vasilvestre-OS)
    • πŸ”‹ feature #37546 [RFC] Introduce a RateLimiter component (@wouterj)
    • πŸ”‹ feature #38193 Make RetryTillSaveStore implements the SharedLockStoreInterface (@jderusse)
    • πŸ”‹ feature #37968 [Form] Add 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] - Add option to confirm message delivery in Amqp connection (@scyzoryck)
    • πŸ”‹ feature #30572 [Cache] add 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] add 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] Add 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] Add 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] Add 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 Add 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] Add Esendex bridge (@odolbeau)
    • πŸ”‹ feature #33540 [Serializer] Add special '*' serialization group that allows any group (@nrobinaubertin)
    • πŸ”‹ feature #37708 Allow Drupal to wrap the Symfony test listener (@alexpott)
    • πŸ”‹ feature #36211 [Serializer] Adds FormErrorNormalizer (@YaFou)
    • πŸ”‹ feature #37087 [Messenger] Add FlattenException Normalizer (@monteiro)
    • πŸ”‹ feature #37917 [Security] Pass Passport to LoginFailureEvent (@ihmels)
    • feature #37734 [HttpFoundation] add 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] Add $kernel->getBuildDir() to separate it from the cache directory (@mnapoli)
    • feature #32133 [PropertyAccess] Allow to disable magic __get & __set (@ogizanagi)
    • πŸ”‹ feature #36016 [Translation] Add a pseudo localization translator (@fancyweb)
    • πŸ”‹ feature #37755 Fix #37740: Cast all Request parameter values to string (@rgeraads)
    • πŸ”‹ feature #36541 ✨ [Mailer] Add Mailjet bridge (@tcheymol)
    • πŸ”‹ feature #36940 [Notifier] add support for smsapi-notifier (@szepczynski)
    • πŸ”‹ feature #37830 [Notifier] Add LinkedIn provider (@ismail1432)
    • πŸ”‹ feature #37867 [Messenger] Add 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] Add a transport that uses php.ini settings for configuration (@l-vo)
    • 🏷 feature #36596 Add cache.adapter.redis_tag_aware to use RedisCacheAwareAdapter (@l-vo)
    • πŸ”‹ feature #36582 [Messenger] Add Beanstalkd bridge (@X-Coder264)
    • feature #35967 [VarDumper] Add 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] Add Mobyt bridge (@Deamon)
    • πŸ”‹ feature #37332 [FrameworkBundle] Allow to leverage autoconfiguration for DataCollectors with template (@l-vo)
    • πŸ”‹ feature #37359 [Security] Add 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] Add CompiledClassMetadataFactory (@fbourigault)
    • πŸ”‹ feature #37676 [Stopwatch] Add name property to the stopwatchEvent (@AhmedRaafat14)
    • πŸ”‹ feature #34704 [Messenger] Add 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] Add Infobip bridge (@jeremyFreeAgent)
    • πŸ”‹ feature #36496 [Notifier] added telegram options (@krasilnikovm)
    • πŸ”‹ feature #37754 [FrameworkBundle] Add days before expiration in "about" command (@noniagriconomie)
    • πŸ”‹ feature #35773 [Notifier] Change notifier recipient handling (@jschaedl)
    • πŸ”‹ feature #36488 [Notifier] Add Google Chat bridge (@GromNaN)
    • πŸ”‹ feature #36692 [HttpClient] add EventSourceHttpClient to consume Server-Sent Events (@soyuka)
    • πŸ”‹ feature #36616 [Notifier] Add 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] add redeliveredAt in RedeliveryStamp construct (@qkdreyer)
    • πŸ”‹ feature #37565 [Validator] Add Isin validator constraint (@lmasforne)
    • πŸ”‹ feature #37712 [Mailer] Prevent MessageLoggerListener from leaking in env=prod (@vudaltsov)
    • πŸ”‹ feature #33729 [Console] Add 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] Add session profiling (@mtarld)
    • πŸ”‹ feature #37428 [Workflow] Added Function (and Twig extension) to retrieve a specific transition (@Carlos Pereira De Amorim)
    • πŸ”‹ feature #36487 [HttpClient] Add 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] add StreamableInterface to ease turning responses into PHP streams (@nicolas-grekas)
    • πŸ”‹ feature #36739 [TwigBundle] Deprecate the public "twig" service to private (@fancyweb)
    • πŸ”‹ feature #37272 [HttpFoundation] add HeaderUtils::parseQuery(): it does the same as parse_str() but preserves dots in variable names (@nicolas-grekas)
    • πŸ”‹ feature #37403 [Notifier] Return SentMessage from the Notifier message handler (@fabpot)
    • πŸ”‹ feature #36611 Add 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] Add 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] Add support for tagged_iterator/tagged_locator in unused tags util (@fabpot)
    • πŸ”‹ feature #37165 [Mime] Add DKIM support (@fabpot)
    • πŸ”‹ feature #36778 Use PHP instead of XML as the prefered service/route configuration in core (@fabpot)
    • πŸ”‹ feature #36802 [Console] Add support for true colors (@fabpot)
    • πŸ”‹ feature #36775 [DependencyInjection] Add 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] Add 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] add 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)

    [PR] #38417