Skip to content

Latest commit

 

History

History
438 lines (421 loc) · 35.5 KB

CHANGELOG-5.2.md

File metadata and controls

438 lines (421 loc) · 35.5 KB

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.1 (2020-12-18)

  • bug #39555 [FrameworkBundle] Fix NFS detection on macOs (jderusse)

  • bug #39545 [Notifier] [Mattermost] Host is required (OskarStark)

  • bug #39548 [Notifier] [Infobip][Zulip] Host is required (OskarStark)

  • bug #39550 [HttpFoundation] keep turning dots to underscores when using Request::create() (nicolas-grekas)

  • bug #39538 [Notifier] Fix parsing Dsn with empty user/password (OskarStark)

  • bug #39531 [Mailer] Fix parsing Dsn with empty user/password (OskarStark)

  • bug #39492 [Notifier] [Discord] Use private const and mb_strlen() (OskarStark)

  • bug #39522 [Notifier] Set message id on SentMessage (OskarStark)

  • bug #39532 [Notifier] Fix toString when optional parameter is not set (OskarStark)

  • bug #39518 [Ldap] Incorrect determination of RelativeDistinguishedName for the "move" operation (astepin)

  • bug #39525 [VarDumper] dont hide any nodes until JS is proven to work (nicolas-grekas)

  • bug #39498 [DoctrineBridge] Guess correct form types for DATE_IMMUTABLE and DATETIME_IMMUTABLE (guillaume-sainthillier)

  • bug #39510 [Notifier]  [Free Mobile] Could not use custom host in DSN (OskarStark)

  • bug #39515 [Notifier] Fix wrong package name (OskarStark)

  • bug #39514 [Notifier] Fix wrong package names (OskarStark)

  • bug #39502 Add missing symfony/deprecation-contracts requirement - 5.2 (jderusse)

  • bug #39494 Add missing symfony/deprecation-contracts requirement (jderusse)

  • bug #39360 [FrameworkBundler] Fix cache:clear with buildDir (jderusse)

  • bug #39476 [Lock] Prevent store exception break combined store (dzubchik)

  • bug #39478 [FrameworkBundle] Fix missing kernel.build_dir on cache clear (chalasr)

  • bug #39456 [Notifier] [Free Mobile] Fix wrong scheme in mapping (OskarStark)

  • bug #39442 Fix enabled key for ratelimiter config (pierredup)

  • bug #39299 [PropertyInfo][Serializer] Fixed extracting ignored properties for Serializer (javer)

  • bug #39433 [Cache] fix setting "read_timeout" when using Redis (nicolas-grekas)

  • bug #39228 [HttpClient] Fix content swallowed by AsyncClient initializer (jderusse)

  • bug #39420 [Cache] Prevent notice on case matching metadata trick (bastnic)

  • bug #39413 [Notifier] [Discord] Make webhookId argument required (OskarStark)

  • bug #39203 [DI] Fix not working if only "default_index_method" used (malteschlueter)

  • bug #39409 [Notifier] [Twilio] Add tests (OskarStark)

  • bug #39401 [DoctrineBridge] no-op RegisterUidTypePass if DBAL types aren't loaded (craue)

  • bug #39417 [Form] Fix UUID exception (jderusse)

  • bug #39142 [Config] Stop treating multiline resources as globs (michaelKaefer)

  • bug #39341 [Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD) (pmishev)

  • bug #39268 [HttpClient] Use decoration instead of class replacement for mock factory (GaryPEGEOT)

  • bug #39334 [Config][TwigBundle] Fixed syntax error in config (Nyholm)

  • bug #39196 [DI] Fix Xdebug 3.0 detection (vertexvaar)

  • bug #39375 [SecurityBundle] fix LDAP-based HTTP Basic Auth entry point registration (xabbuh)

  • bug #39226 [PhpUnitBridge] Fix disabling DeprecationErrorHandler from PHPUnit configuration file (fancyweb)

  • bug #39298 [Cache] Fixed incorrect usage of UNLINK with PHPRedis with Redis < 4.0 (wickex)

  • bug #39361 [FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations (nicolas-grekas)

  • bug #39358 [HttpFoundation] fix parsing some special chars with HeaderUtils::parseQuery() (nicolas-grekas)

  • bug #39357 [FrameworkBundle] fix preserving some special chars in the query string (nicolas-grekas)

  • bug #39310 [Notifier] Add exception for deprecated slack dsn (malteschlueter)

  • bug #39271 [HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given (sidz)

  • bug #39251 [DependencyInjection] Fix container linter for union types (derrabus)

  • bug #39336 [Config] YamlReferenceDumper: No default value required for VariableNode with array example (Nyholm)

  • bug #39333 [Form] do not apply the Valid constraint on scalar form data (lchrusciel, xabbuh)

  • bug #39331 [PhpUnitBridge] Fixed PHPunit 9.5 compatibility (wouterj)

  • bug #39220 [HttpKernel] Fix bug with whitespace in Kernel::stripComments() (ausi)

  • bug #39252 [Mime] Leverage PHP 8's detection of CSV files (derrabus)

  • bug #39313 [FrameworkBundle] TextDescriptor::formatControllerLink checked method… (fjogeleit)

  • bug #39286 [HttpClient] throw clearer error when no scheme is provided (BackEndTea)

  • bug #39267 [Yaml] fix lexing backslashes in single quoted strings (xabbuh)

  • bug #39151 [DependencyInjection] Fixed incorrect report for private services if required service does not exist (Islam93)

  • bug #39236 [Notifier] Fix slack section block (norkunas)

  • bug #39274 [Yaml] fix lexing mapping values with trailing whitespaces (xabbuh)

  • bug #39256 [Workflow] Fixed case when the marking store is not defined (lyrixx)

  • bug #39244 [String] Fix Notice when argument is empty string (moldman)

  • bug #39270 [Inflector] Fix Notice when argument is empty string (moldman)

  • bug #39263 [Security] more defensive PasswordMigratingListener (romaricdrigon)

  • bug #39261 [Security] fix #39249, default entry_point compiler pass was returning too early (romaricdrigon)

  • bug #39247 [Security] remove return type definition in order to avoid type juggling (adeptofvoltron)

  • bug #39223 [Console] Re-enable hyperlinks in Konsole/Yakuake (OndraM)

  • bug #39241 [Yaml] fix lexing inline sequences/mappings with trailing whitespaces (Nyholm, xabbuh)

  • bug #39243 [Filesystem] File existence check before calling unlink method (gechetspr)

  • 5.2.0 (2020-11-30)

  • feature #39213 [Security] [DX] Automatically add PasswordUpgradeBadge + default support() impl in AbstractFormLoginAuthenticator (wouterj)

  • bug #39166 [Messenger] Fix mssql compatibility for doctrine transport. (bill moll)

  • bug #39210 [DoctrineBridge] Fix form EntityType with filter on UID (jderusse)

  • bug #39211 [HttpClient] fix binding to network interfaces (nicolas-grekas)

  • bug #39129 [DependencyInjection] Fix circular in DI with lazy + byContruct loop (jderusse)

  • feature #39153 [Security] Automatically register custom authenticator as entry_point (if supported) (wouterj)

  • bug #39068 [DependencyInjection][Translator] Silent deprecation triggered by libxml_disable_entity_loader (jderusse)

  • bug #39119 [Form] prevent duplicated error message for file upload limits (xabbuh)

  • bug #39099 [Form] ignore the pattern attribute for textareas (xabbuh)

  • feature #39118 [DoctrineBridge] Require doctrine/persistence 2 (greg0ire)

  • feature #39128 [HttpFoundation] Deprecate BinaryFileResponse::create() (derrabus)

  • bug #39154 [Yaml] fix lexing strings containing escaped quotation characters (xabbuh)

  • bug #39187 [Security] Support for SwitchUserToken instances serialized with 4.4/5.1 (derrabus)

  • bug #39180 [Serializer] Fix denormalizing scalar with UnwrappingDenormalizer (camilledejoye)

  • bug #38597 [PhpUnitBridge] Fix qualification of deprecations triggered by the debug class loader (fancyweb)

  • bug #39160 [Console] Use a partial buffer in SymfonyStyle (jderusse)

  • bug #39168 [Console] Fix console closing tag (jderusse)

  • bug #39155 [VarDumper] fix casting resources turned into objects on PHP 8 (nicolas-grekas)

  • bug #39131 [Cache] Fix CI because of Couchbase version (jderusse)

  • bug #39115 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break (nicolas-grekas)

  • bug #33763 [Yaml] fix lexing nested sequences/mappings (xabbuh)

  • 5.2.0-RC2 (2020-11-21)

  • bug #39113 [DoctrineBridge] drop binary variants of UID types (nicolas-grekas)

  • feature #39111 [Security] Update password upgrader listener to work with the new UserBadge (wouterj)

  • bug #39083 [Dotenv] Check if method inheritEnvironmentVariables exists (Chi-teck)

  • bug #39094 [Ldap] Fix undefined variable $con (derrabus)

  • bug #39091 [Config] Recheck glob brace support after GlobResource was serialized (wouterj)

  • bug #39092 Fix critical extension when reseting paged control (jderusse)

  • bug #38614 [HttpFoundation] Fix for virtualhosts based on URL path (mvorisek)

  • bug #39072 [FrameworkBundle] [Notifier] fix firebase transport factory DI tag type (xabbuh)

  • bug #39070 [Validator] Remove IsinValidator's validator dependency (derrabus)

  • bug #38387 [Validator] prevent hash collisions caused by reused object hashes (fancyweb, xabbuh)

  • bug #38999 [DependencyInjection] autoconfigure behavior describing tags on decorators (xabbuh)

  • bug #39058 [DependencyInjection] Fix circular detection with multiple paths (jderusse)

  • bug #39059 [Filesystem] fix cleaning up tmp files when dumpFile() fails (nicolas-grekas)

  • 5.2.0-RC1 (2020-11-10)

  • bug #39004 [Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText (Jean85)

  • bug #38628 [DoctrineBridge] indexBy could reference to association columns (juanmiguelbesada)

  • bug #39021 [DependencyInjection] Optimize circular collection by removing flattening (jderusse)

  • bug #39031 [Ldap] Fix pagination (jderusse)

  • bug #39038 [DoctrineBridge] also reset id readers (xabbuh)

  • feature #39032 [Validator] Allow load mappings from attributes without doctrine/annotations (derrabus)

  • feature #39022 [FrameworkBundle] Allow to use attribute-based configuration of routing/serializer without doctrine/annotations (derrabus)

  • bug #39002 [Validator] Override the default option of the choice constraint (benji07)

  • bug #39026 [Messenger] Fix DBAL deprecations in PostgreSqlConnection (chalasr)

  • bug #39025 [DoctrineBridge] Fix DBAL deprecations in middlewares (derrabus)

  • bug #38991 [Console] Fix ANSI when stdErr is not a tty (jderusse)

  • bug #38980 [DependencyInjection] Fix circular reference with Factory + Lazy Iterrator (jderusse)

  • bug #38986 [DoctrineBridge] accept converting Uid-as-strings to db-values (nicolas-grekas)

  • feature #38850 [Messenger] Do not call getQueueUrl when the url is known in AmazonSqs transport (jderusse)

  • feature #38940 [Messenger] Improve formatting of exception in failed message (Jeroen Noten)

  • feature #38954 [HttpFundation][FrameworkBundle] Deprecate the HEADER_X_FORWARDED_ALL constant (jderusse)

  • bug #38977 [HttpClient] Check status code before decoding content in TraceableResponse (chalasr)

  • bug #38971 [PhpUnitBridge] fix replaying skipped tests (nicolas-grekas)

  • bug #38910 [HttpKernel] Fix session initialized several times (jderusse)

  • bug #38882 [DependencyInjection] Improve performances in CircualReference detection (jderusse)

  • bug #38950 [Process] Dont test TTY if there is no TTY support (Nyholm)

  • bug #38921 [PHPUnitBridge] Fixed crash on Windows with PHP 8 (villfa)

  • feature #38919 [Console] Make error message more verbose (Nyholm)

  • bug #38869 [SecurityBundle] inject only compatible token storage implementations for usage tracking (xabbuh)

  • feature #38859 [HttpFoundation] Deprecate not passing a Closure together with FILTER_CALLBACK to ParameterBag::filter() (nicolas-grekas)

  • bug #38894 [HttpKernel] Remove Symfony 3 compatibility code (derrabus)

  • bug #38888 remove reflection-docblock from mime requirements (garak)

  • bug #38895 [PhpUnitBridge] Fix wrong check for exporter in ConstraintTrait (alcaeus)

  • bug #38879 [Cache] Fixed expiry could be int in ChainAdapter due to race conditions (phamviet)

  • bug #38867 [FrameworkBundle] Fixing TranslationUpdateCommand failure when using "--no-backup" (liarco)

  • bug #38856 [Cache] Add missing use statement (fabpot)

  • 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/afterLast 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)