This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/CHANGELOG-5.2.md

297 lines
24 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CHANGELOG for 5.2.x
===================
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-BETA3 (2020-10-28)
* bug #38845 [Console] Register signal handling only for commands implemeting SignalableCommandInterface (lyrixx)
* bug #38751 [Security] Move AbstractListener abstract methods to the new FirewallListenerInterface (chalasr)
* bug #38713 [DI] Fix Preloader exception when preloading a class with an unknown parent/interface (rgeraads)
* feature #38664 [RateLimiter] Moved classes implementing LimiterInterface to a new namespace (Nyholm)
* bug #38647 [HttpClient] relax auth bearer format requirements (xabbuh)
* bug #38675 [RateLimiter] Rename RateLimiter to RateLimiterFactory (Nyholm)
* bug #38699 [DependencyInjection] Preload classes with union types correctly (derrabus)
* feature #38688 [HttpClient] Add a Stopwatch on TraceableHttpClient (jderusse)
* bug #38669 [Serializer] fix decoding float XML attributes starting with 0 (Marcin Kruk)
* bug #38680 [PhpUnitBridge] Support new expect methods in test case polyfill (alcaeus)
* bug #38681 [PHPUnitBridge] Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait (alcaeus)
* bug #38686 [TwigBridge] Remove "transchoice" from the code base (nicolas-grekas)
* bug #38661 [RateLimiter] Fix delete method of the cache storage (GregOriol, Nyholm)
* bug #38678 [String] fix before/after[Last]() returning the empty string instead of the original one on non-match (nicolas-grekas)
* bug #38682 [HttpClient] never trace content of event-stream responses (nicolas-grekas)
* bug #38679 [PhpUnitBridge] Add missing exporter function for PHPUnit 7 (alcaeus)
* bug #38674 [RateLimiter] Make sure we actually can use sliding_window and no_limit (Nyholm)
* bug #38670 [RateLimiter] Be more type safe when fetching from cache (Nyholm)
* bug #38665 [RateLimiter] Allow configuration value "no_limit" (Nyholm)
* bug #38659 [String] fix slicing in UnicodeString (nicolas-grekas)
* bug #38633 [HttpClient] Fix decorating progress info in AsyncResponse (jderusse)
* feature #38543 [HttpKernel] add `kernel.runtime_environment` = `env(default:kernel.environment:APP_RUNTIME_ENV)` parameter (nicolas-grekas)
* bug #38595 [TwigBridge] do not translate null placeholders or titles (xabbuh)
* feature #38653 [DoctrineBridge] Enabled to use the UniqueEntity constraint as an attribute (derrabus)
* bug #38635 [Cache] Use correct expiry in ChainAdapter (Nyholm)
* bug #38652 [Filesystem] Check if failed unlink was caused by permission denied (Nyholm)
* bug #38645 [PropertyAccess] forward the caught exception (xabbuh)
* bug #38644 [FrameworkBundle] remove transport factory service when class does not exist (xabbuh)
* feature #38426 [HttpClient] Parameterize list of retryable methods (jderusse)
* feature #38608 [RateLimiter] rename Limit to RateLimit and add RateLimit::getLimit() (kbond)
* bug #38617 [Form] Add missing invalid_message translations (wouterj)
* bug #38612 [Messenger/Amqp] Allow setting option "login" in DSN (W0rma)
* bug #38618 [Messenger][Doctrine] Avoid early db access for pgsql detection (chalasr)
* bug #38623 [HttpFoundation][RateLimiter] fix RequestRateLimiterInterface::reset() (kbond)
* bug #38604 [DoctrineBridge] indexBy does not refer to attributes, but to column names (xabbuh)
* bug #38605 [DoctrinBridge] make Uid types stricter (nicolas-grekas)
* bug #38606 [WebProfilerBundle] Hide debug toolbar in print view (jt2k)
* bug #38602 [Console] Fix signal management (chalasr)
* bug #38600 [DoctrineBridge] Convert values to Rfc4122 before inserting them into the database (Kai)
* feature #38562 [RateLimiter] Added reserve() to LimiterInterface and rename Limiter to RateLimiter (wouterj)
* feature #38593 [Lock][Semaphore] Add Factory::createFromKey and deprecate lock.store services (jderusse)
* feature #38587 [HttpClient] added `extra.trace_content` option to `TraceableHttpClient` to prevent it from keeping the content in memory (nicolas-grekas)
* bug #38580 [FrameworkBundle] fix config declaration of http_cache option (nicolas-grekas)
* bug #38589 [Console] Don't register signal handlers if pcntl is disabled (chalasr)
* bug #38581 [Semaphore] Reset Key lifetime time before we acquire it (jderusse)
* bug #38582 [DI] Fix Reflection file name with eval()\'d code (maxime-aknin)
* feature #38565 [RateLimiter] Adding SlidingWindow algorithm (Nyholm)
* feature #38576 Deeprecate lock service (jderusse)
* bug #38578 Add missing use statement (jderusse)
* bug #38516 [HttpFoundation] Fix Range Requests (BattleRattle)
* 5.2.0-BETA2 (2020-10-14)
* feature #38552 [Security][Notifier] Added integration of Login Link with the Notifier component (wouterj)
* bug #38566 Fix minor issue when sharing windows between Limiters (Nyholm)
* feature #38563 [Messenger][Redis] Adding support for lazy connect (Nyholm)
* bug #38553 [Lock] Reset Key lifetime time before we acquire it (Nyholm)
* bug #38559 [Lock] Reset lifetime on acquireRead() (Nyholm)
* bug #38548 [FrameworkBundle] Bugfixes in buildDir in the CacheClear command (Nyholm)
* bug #38551 Remove content-type check on toArray methods (jderusse)
* feature #38550 [Security] Added check_post_only to the login link authenticator (wouterj)
* bug #38546 [String] fix "is too large" ValueError on PHP 8 (nicolas-grekas)
* bug #38544 [DI] fix dumping env vars (nicolas-grekas)
* feature #38532 [HttpClient] simplify retry mechanism around RetryStrategyInterface (nicolas-grekas)
* bug #38533 [TwigBridge] Fix preload hint and remove "unlinked class class@anonymous" warning (burned42)
* bug #38528 [Security] Making login link signature_properties option required (weaverryan)
* feature #38525 [Serializer] Enabled mapping configuration via attributes (derrabus)
* feature #38522 [Notifier ] Add Discord notifier (mpiot, connorhu)
* bug #38477 [Form] fix ViolationMapper was always generating a localized label for each FormType (romaricdrigon)
* bug #38529 [Mailer] Fix mailjet image embedding (Sandldan)
* bug #38530 [HttpClient] fix reading the body after a ClientException (nicolas-grekas)
* bug #38523 [HttpClient] Fix multiple timeout with multiple retry (jderusse)
* bug #38520 [HttpClient] Fix nesteed stream in AsyncResponse (jderusse)
* bug #38518 [HttpClient] fix decorating timeout errors (nicolas-grekas)
* feature #38499 [Validator] Upgraded constraints to enable named arguments and attributes (derrabus)
* feature #38505 [Security][Login Link] Allow null and DateTime objects to be used as signatureProperties (wouterj)
* bug #38507 [Bug] Fix RateLimiter framework configuration (bobvandevijver)
* bug #38510 [PropertyInfo] Support for the mixed type (derrabus)
* bug #38493 [HttpClient] Fix CurlHttpClient memory leak (HypeMC)
* feature #38484 [Messenger] Add DelayStamp::delayFor() and DelayStamp::delayUntil() (Nyholm)
* bug #38476 [HttpClient] Fix missing abstract arg (jderusse)
* feature #37733 [PhpUnitBridge] Add ability to set a baseline for deprecation testing (alexpott)
* bug #38456 [Cache] skip igbinary < 3.1.6 (nicolas-grekas)
* bug #38453 [lock] Mark Key unserializable whith PgsqlStore (jderusse)
* bug #38452 [SecurityBundle] Make user lazy loading working without user provider (tyx)
* bug #38455 [Form] Fix field_value Twig helper for multiple choices (tgalopin)
* bug #38392 [Ldap] Bypass the use of `ldap_control_paged_result` on PHP >= 7.3 (lucasaba)
* feature #38434 [HttpClient] Add jitter to RetryBackoff (jderusse)
* feature #38346 [lock] Add store dedicated to postgresql (jderusse)
* bug #38444 [PhpUnitBridge] fix running parallel tests with phpunit 9 (nicolas-grekas)
* bug #38446 [PropertyInfo] Extract from default value doesn't set collection boolean (Korbeil)
* feature #38424 [Translation] Rename Translatable class to TranslatableMessage (natewiebe13)
* bug #38442 [VarDumper] fix truncating big arrays (nicolas-grekas)
* bug #38433 [Mime] Fix serialization of RawMessage (gilbertsoft)
* bug #38422 [SecurityGuard] Implement PostAuthenticationGuardToken::getFirewallName() (derrabus)
* feature #38393 [FrameworkBundle] Add option --as-tree to translation:update command (jschaedl)
* bug #38419 [DoctrineBridge] fix and replace namespace to Uid (maxhelias)
* feature #38410 [Validator] Migrate File and Image constraints to attributes (derrabus)
* bug #38418 [HttpClient] minor fixes in RetryableHttpClient (nicolas-grekas)
* feature #38253 [Cache] Allow ISO 8601 time intervals to specify default lifetime (lstrojny)
* 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] 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)