Symfony Changelog

What's new in Symfony 7.1.0 Beta 1

May 2, 2024
  • feature #54818 [Translation] Crowdin is backing its translation bridge, thanks to them! o/ (@nicolas-grekas)
  • feature #54806 [HttpClient] deprecate setLogger() methods of decorating clients (@xabbuh)
  • feature #54809 JoliCode is sponsoring Symfony 7.1, thanks to them! o/ (@nicolas-grekas)
  • feature #54657 [TwigBundle] Deprecate base_template_class option (@Steveb-p)
  • feature #54663 [Serializer] Add XmlEncoder::CDATA_WRAPPING_PATTERN context option (@alexpozzi)
  • feature #54666 [DependencyInjection] Reset env vars when resetting the container (@faizanakram99)
  • feature #54455 [DoctrineBridge] Deprecate auto-mapping of entities in favor of mapped route parameters (@nicolas-grekas)
  • feature #52820 [DependencyInjection] Add #[AutowireInline] attribute to allow service definition at the class level (@DaDeather, @nicolas-grekas)
  • feature #54720 [Routing] Add {foo:bar} syntax to define a mapping between a route parameter and its corresponding request attribute (@nicolas-grekas)
  • feature #38662 [DoctrineBridge][Validator] Allow validating every class against unique entity constraint (@wkania)
  • feature #54371 [DependencyInjection] Deprecate #[TaggedIterator] and #[TaggedLocator] (@GromNaN)
  • feature #54674 [FrameworkBundle] revert implementing LoggerAwareInterface in HTTP client decorators (@xabbuh)
  • feature #54670 [TypeInfo] Ease getting base type on nullable types (@mtarld)
  • feature #54789 [PropertyInfo] remove deprecations, mark TypeInfo as experimental (@soyuka)
  • feature #54788 [TypeInfo] mark classes as experimental (@soyuka)
  • feature #54661 [TypeInfo] Handle custom collection objects properly (@mtarld)
  • feature #53214 [DoctrineBridge] Idle connection listener for long running runtime (@alli83)
  • feature #49978 [HttpKernel] Introduce #[MapUploadedFile] controller argument attribute (@renedelima)
  • feature #53365 [DoctrineBridge] Allow EntityValueResolver to return a list of entities (@HypeMC)
  • feature #54525 [Mailer] [Resend] Add Resend webhook signature verification (@welcoMattic)
  • feature #54589 [Messenger] forward a Clock instance to the created InMemoryTransport (@xabbuh)
  • feature #54604 [Ldap] Improve error reporting during LDAP bind (@RoSk0)
  • feature #54356 [Notifier] LOX24 SMS bridge (@alebedev80)
  • feature #54473 [Validator] Add support for types (ALL*, LOCAL_*, UNIVERSAL_*, UNICAST_*, MULTICAST_*, BROADCAST) in MacAddress constraint (@Ninos)
  • feature #53971 Cast env vars to null or bool when referencing them using #[Autowire(env: '...')] depending on the signature of the corresponding parameter (@ruudk)
  • feature #54535 [Validator] Deprecate Bic::INVALID_BANK_CODE_ERROR (@MatTheCat)
  • feature #54044 [Mailer] Add support for allowing some users even if recipients is defined in EnvelopeListener (@lyrixx)
  • feature #54442 [Clock] Add a polyfill for DateTimeImmutable::createFromTimestamp() (@derrabus)
  • feature #53801 [HttpKernel] Deprecate AddAnnotatedClassesToCachePass and related code infrastructure (@nicolas-grekas)
  • feature #54510 [Console] Handle SIGQUIT signal (@ostrolucky)
  • feature #54385 [HttpKernel] Map a list of items with MapRequestPayload attribute (@yceruto)
  • feature #54432 [TwigBridge] Add emojify twig filter (@lyrixx)
  • feature #54496 [Contracts] Rename ServiceSubscriberTrait to ServiceMethodsSubscriberTrait (@nicolas-grekas)
  • feature #54443 [Security] Add support for dynamic CSRF id with Expression in #[IsCsrfTokenValid] (@yguedidi)
  • feature #53968 [Process] allow to ignore signals when executing a process (@joelwurtz)
  • feature #54346 [Serializer] Fix: Report Xml warning/error instead of silently returning a wrong xml (@VincentLanglet)
  • feature #54423 [WebProfilerBundle] Update the search links in the profiler layout (@javiereguiluz)
  • feature #52986 [HttpFoundation] Similar locale selection (@Spomky)
  • feature #53160 [PropertyInfo] Deprecate PropertyInfo Type (@mtarld)
  • feature #54408 [Validator] Add a requireTld option to Url constraint (@javiereguiluz)
  • feature #54470 [Emoji] Add the "text" locale (@nicolas-grekas)
  • feature #54414 [DependencyInjection] Improve the error message when there is no extension to load some configuration (@javiereguiluz)
  • feature #54479 [Validator] set the password strength as a violation parameter (@xabbuh)
  • feature #52843 [DependencyInjection] Prepending extension configs with file loaders (@yceruto)
  • feature #53682 [Security] Support RSA algorithm signature for OIDC tokens (@Spomky)
  • feature #54441 [Emoji] Add the gitlab locale (@alamirault)
  • feature #54420 [WebProfilerBundle] Update main menu to display active panels first (@javiereguiluz)
  • feature #54381 [Messenger] Allow extending attribute class AsMessageHandler (@GromNaN)
  • feature #54364 [WebProfilerBundle] [WebProfilerPanel] Update the design of the workflow profiler panel (@javiereguiluz)
  • feature #54365 [DependencyInjection] Apply attribute configurator to child classes (@GromNaN)
  • feature #54320 [VarDumper] Add support for new DOM extension classes in DOMCaster (@alexandre-daubois)
  • feature #54344 [Workflow] Add EventNameTrait to compute event name strings in subscribers (@squrious)
  • feature #54347 [Console] Allow to return all tokens after the command name (@lyrixx)
  • feature #54135 [Console] Add a way to use custom lock factory in lockableTrait (@VincentLanglet)
  • feature #51502 [HttpKernel] Add temporary URI signed (@BaptisteContreras)
  • feature #53898 [Serializer] Add context for CamelCaseToSnakeCaseNameConverter (@AurelienPillevesse)
  • feature #49184 [FrameworkBundle][HttpFoundation] reduce response constraints verbosity (Nicolas Appriou, @Nicals)
  • feature #53901 [Mailer] [Amazon] Add support for X-SES-LIST-MANAGEMENT-OPTIONS header (@sebschaefer)
  • feature #54153 [HttpKernel] allow boolean argument support for MapQueryString (@Jean-Beru)
  • feature #53885 [WebProfilerBundle] Allow to search inside profiler tables (@javiereguiluz)
  • feature #52950 [WebProfilerBundle] Set XDEBUG_IGNORE option for all XHR (@adrolter)
  • feature #54173 [Filesystem] Add the readFile() method (@derrabus)
  • feature #54313 [Mime] Update mime types (@smnandre)
  • feature #54016 [DependencyInjection] Add #[AutowireMethodOf] attribute to autowire a method of a service as a callable (@nicolas-grekas)
  • feature #54272 [Workflow] Add support for workflows that need to store many tokens in the marking (@lyrixx)
  • feature #54238 [Console] Add ArgvInput::getRawTokens() (@lyrixx)
  • feature #51227 [FrameworkBundle][Workflow] Attach the workflow's configuration to the workflow tag (@lyrixx)
  • feature #54107 [HttpKernel] Improve error reporting when requiring the wrong Request class (@ilyachase)
  • feature #53851 [Security] Ignore empty username or password login attempts (@llupa)
  • feature #54125 [AssetMapper] Deprecate unused method splitPackageNameAndFilePath (@smnandre)
  • feature #54084 [Lock] Make NoLock implement the SharedLockInterface (@mbabker)
  • feature #53892 [Messenger][AMQP] Automatically reconnect on connection loss (@ostrolucky)
  • feature #53734 [Notifier] Add SMSense bridge (@jimiero)
  • feature #53942 [Clock] Add get/setMicroseconds() (@nicolas-grekas)
  • feature #53986 [Console] Add descriptions to Fish completion output (@adriaanzon)
  • feature #53927 [Notifier] Add new Pushy notifier bridge (@stloyd)
  • feature #53866 [Workflow] determines places from transitions (@lyrixx)
  • feature #53868 [Config] Allow custom meta location in ConfigCache (@alamirault)
  • feature #48603 [Messenger][Amqp] Add config option 'arguments' for delay queues (Thomas Beaujean)
  • feature #50745 [DependencyInjection] Add CheckAliasValidityPass to check interface compatibility (@n-valverde)
  • feature #53806 [ExpressionLanguage] Add more configurability to the parsing/linting methods (@fabpot)
  • feature #49144 [HttpFoundation] Add support for SplTempFileObject in BinaryFileResponse (@alexandre-daubois)
  • feature #53706 [Mailer] Add timestamp to SMTP debug log (@bytestream)
  • feature #53747 [Yaml] Revert "feature #48022 Fix Yaml Parser with quote end in a newline (maxbeckers)" (@xabbuh)
  • feature #50864 [TwigBridge] Allow twig:lint to excludes dirs (@94noni)
  • feature #48022 [Yaml] Fix Yaml Parser with quote end in a new line (@maxbeckers)
  • feature #48803 [CssSelector] add support for :is() and :where() (@Jean-Beru)
  • feature #52510 [TypeInfo] Introduce component (@mtarld)
  • feature #52043 [Config] Allow custom meta location in ResourceCheckerConfigCache (@ruudk)
  • feature #51343 [HttpFoundation] Add HeaderRequestMatcher (@alexandre-daubois)
  • feature #51324 [HttpFoundation] Add QueryParameterRequestMatcher (@alexandre-daubois)
  • feature #51514 [Serializer] Add Default and "class name" default groups (@mtarld)
  • feature #52658 [Validator] Add additional versions (*_NO_PUBLIC, *_ONLY_PRIV & *_ONLY_RES) in IP address & CIDR constraint (@Ninos)
  • feature #52230 [Yaml] Allow to get all the enum cases (@phansys)
  • feature #48276 [Security] add CAS 2.0 AccessToken handler (@nacorp)
  • feature #52922 [DependencyInjection] Add Lazy attribute for classes and arguments (@Tiriel)
  • feature #53056 [Serializer] Add DateTimeNormalizer::CAST_KEY context option (@norkunas)
  • feature #53096 [Intl] [Emoji] Move emoji data in a new component (@smnandre)
  • feature #53362 [PropertyInfo] Restrict access to PhpStanExtractor based on visibility (@nikophil)
  • feature #53550 [FrameworkBundle][HttpClient] Add ThrottlingHttpClient to limit requests within a timeframe (@HypeMC)
  • feature #53466 Add SecretsRevealCommand (@danielburger1337)
  • feature #53740 Mailersend webhook remote event (@doobas, @fabpot)
  • feature #53728 [ExpressionLanguage] Add min and max php functions (@maxbeckers)
  • feature #51562 [DoctrineBridge] Add message to #[MapEnt...

New in Symfony 7.0.7 (Apr 29, 2024)

  • bug #54699 [DoctrineBridge] Update AbstractSchemaListener to adjust more database params (@ywisax)
  • bug #54691 [Finder] Also consider .git inside the basedir of in() directory (@nickvergessen)
  • bug #54724 [AssetMapper] Check asset/vendor directory is writable (@smnandre)
  • bug #54750 [Validator] detect wrong usages of minMessage/maxMessage in options (@xabbuh)
  • bug #54751 [Validator] detect wrong e-mail validation modes (@xabbuh)
  • bug #54723 [Form] read form values using the chain data accessor (@xabbuh)
  • bug #54706 [Yaml] call substr() with integer offsets (@xabbuh)
  • bug #54675 [PropertyInfo] Fix PHPStan properties type in trait (@mtarld)
  • bug #54673 [Messenger] explicitly cast boolean SSL stream options (@xabbuh)
  • bug #54665 Add test for AccessTokenHeaderRegex and adjust regex (@Spomky)
  • bug #54635 [Serializer] Revert "Fix object normalizer when properties has the same name as their accessor" - it was a BC Break (@NeilPeyssard)
  • bug #54625 [Intl] Remove resources data from classmap generation (@shyim)
  • bug #54598 [TwigBridge] implement NodeVisitorInterface instead of extending AbstractNodeVisitor (@xabbuh)
  • bug #54072 [HttpKernel] Fix datacollector caster for reference object property (@ebuildy)
  • bug #54395 [Serializer] Fixing PHP warning in the ObjectNormalizer with MaxDepth enabled (@jaydiablo)
  • bug #54564 [Translation] Skip state=needs-translation entries only when source == target (@nicolas-grekas)
  • bug #54579 [Cache] Always select database for persistent redis connections (@uncaught)
  • bug #54059 [Security] Validate that CSRF token in form login is string similar to username/password (@glaubinix)
  • bug #54530 [Clock] initialize the current time with midnight before modifying the date (@xabbuh)
  • bug #54547 [HttpKernel] Force non lazy controller services (@smnandre)
  • bug #54517 [HttpClient] Let curl handle transfer encoding (@michaelhue)
  • bug #52917 [Serializer] Fix unexpected allowed attributes (@mtarld)
  • bug #54063 [FrameworkBundle] Fix registration of the bundle path to translation (@FlyingDR)
  • bug #54392 [Messenger] Make Doctrine connection ignore unrelated tables on setup (@MatTheCat)
  • bug #54513 [HtmlSanitizer] Ignore Processing Instructions (@smnandre)
  • bug #54506 [HttpFoundation] Set content-type header in RedirectResponse (@smnandre)
  • bug #54505 [Serializer] initialize serializer in trait with null (@xabbuh)
  • bug #52698 [Serializer] Fix XML scalar to object denormalization (@mtarld)
  • bug #54485 [Serializer] Ignore when using #[Ignore] on a non-accessor (@nicolas-grekas)
  • bug #54105 [Messenger] Improve deadlock handling on ack() and reject() (@jwage)
  • bug #54242 [HttpClient] [EventSourceHttpClient] Fix consuming SSEs with rn separator (@fancyweb)
  • bug #54487 [Validator] Accept Stringable in ExecutionContext::build/addViolation() (@alexandre-daubois)
  • bug #54456 [DomCrawler] Encode html entities only if nessecary (@ausi)
  • bug #54484 [Serializer] reset backed_enum priority, and re-prioritise translatable (@GwendolenLynch)
  • bug #54471 [Filesystem] Strengthen the check of file permissions in dumpFile (@alexandre-daubois)
  • bug #54403 [FrameworkBundle] [Command] Fix #54402: Suppress PHP warning when is_readable() tries to access dirs outside of open_basedir restrictions (Jeldrik Geraedts)
  • bug #54440 [Console] return null when message with name is not set (@xabbuh)
  • bug #54468 [Translation] Fix LocaleSwitcher throws when intl not loaded (@smnandre)

New in Symfony 7.0.6 (Apr 3, 2024)

  • bug #54400 [HttpClient] stop all server processes after tests have run (@xabbuh)
  • bug #54435 [Console] respect multi-byte characters when rendering vertical-style tables (@xabbuh)
  • bug #54419 Fix TypeError on ProgressBar (@Fan2Shrek)
  • bug #54425 [TwigBridge] Remove whitespaces from block form_help output (@rosier)
  • bug #53969 [Mailer] include message id provided by the MTA when dispatching the SentMessageEvent (@xabbuh)
  • bug #54315 [Serializer] Fixed BackedEnumNormalizer priority for translatable enum (@IndraGunawan)
  • bug #54372 [Config] Fix YamlReferenceDumper handling of array examples (@MatTheCat)
  • bug #54362 [Filesystem] preserve the file modification time when mirroring directories (@xabbuh)
  • bug #54333 [HttpFoundation] Allow array style callable setting for Request setFactory method (@SimBera)
  • bug #54121 [Messenger] Catch TableNotFoundException in MySQL delete (@acbramley)
  • bug #54271 [DoctrineBridge] Fix deprecation warning with ORM 3 when guessing field lengths (@eltharin)
  • bug #54306 Throw TransformationFailedException when there is a null bytes injection (@sormes)
  • bug #54148 [Serializer] Fix object normalizer when properties has the same name as their accessor (@NeilPeyssard)
  • bug #54305 [Cache][Lock] Identify missing table in pgsql correctly and address failing integration tests (@arifszn)
  • bug #54199 [Mailer] [Brevo] Check that tags is present in payload before calling setTags (@palgalik)
  • bug #54292 [FrameworkBundle] Fix mailer config with XML (@lyrixx)
  • bug #54298 [Filesystem] Fix str_contains deprecation (@NeilPeyssard)
  • bug #54248 [Security] Correctly initialize the voter property (@aschempp)
  • bug #54273 [DependencyInjection] fix XmlDumper when a tag contains also a 'name' property (@lyrixx)
  • bug #54191 [Validator] add missing invalid extension error entry (@xabbuh)
  • bug #54194 [PropertyAccess] Fix checking for missing properties (@nicolas-grekas)
  • bug #54201 [Lock] Check the correct SQLSTATE error code for MySQL (@edomato)
  • bug #54252 [Lock] compatiblity with redis cluster 7 (@bastnic)
  • bug #54265 [VarDumper] prevent error in value to Typed property must not be accessed before initialization (@shakaran)
  • bug #54124 [Messenger] trigger retry logic when message is a redelivery (@nikophil)
  • bug #54254 [HttpKernel] Fix creating ReflectionMethod with only one argument (@alexandre-daubois)
  • bug #54219 [Validator] Allow BICs’ first four characters to be digits (@MatTheCat)
  • bug #54239 [Mailer] Fix sendmail transport not handling failure (@aboks)
  • bug #54207 [HttpClient] Lazily initialize CurlClientState (@arjenm)
  • bug #53865 [Workflow]Fix Marking when it must contains more than one tokens (@lyrixx)
  • bug #54137 [Validator] UniqueValidator - normalize before reducing keys (@Brajk19)
  • bug #54187 [FrameworkBundle] Fix PHP 8.4 deprecation on ReflectionMethod (@alexandre-daubois)
  • bug #54167 [Messenger] [Amqp] Handle AMQPConnectionException when publishing a message. (@jwage)
  • bug #54146 [HttpClient] Preserve float in JsonMockResponse (@Jibbarth)

New in Symfony 7.0.4 (Feb 27, 2024)

  • [HttpKernel] Allow tagged controllers in ControllerResolver (@marein)
  • [VarExporter] Bugfix/workaround jit issue (@verfriemelt-dot-org)
  • [Messenger] Revert "Resend failed retries back to failure transport " (@ro0NL)
  • [Config][Messenger][Security] Don't turn deprecations into exceptions when unserializing (@nicolas-grekas)
  • [DependencyInjection] Fix computing error messages involving service locators (@nicolas-grekas)
  • [Serializer] Fix unknown types normalization type when know type (@Myks92)
  • [Messenger] the 'use_notify' option is on the factory, not on the postgres connection (@dbu)
  • [ErrorHandler] Fix parsing messages that contain anonymous classes on PHP >= 8.3.3 (@nicolas-grekas)
  • [AssetMapper] Fix enquoted string pattern (@smnandre)
  • [Translation] Fix extracting qualified t() function calls (@rvanvelzen)
  • [ErrorHandler] return the unchanged text if preg_replace_callback() fails (@xabbuh)
  • [Console] Fix display of vertical Table on Windows OS (@VincentLanglet)
  • [Console] Fix display of Table on Windows OS (@VincentLanglet)
  • [FrameworkBundle] Fix config builder with extensions extended in build() (@HypeMC)
  • Fix a minor design issue in the Welcome Page (@javiereguiluz)
  • [WebProfilerBundle] disable turbo in web profiler toolbar to avoid link prefetching (@davidgorges)
  • [Process] Fix the command -v exception (@kayw-geek)
  • [Cache] explicitly cast boolean SSL stream options (@xabbuh)
  • [TwigBridge] foundation 5 layout: use form_label_content block for checkbox and radio labels (@wetternest)
  • [TwigBridge] Fix compat with Twig v3.9 (@nicolas-grekas)
  • [Doctrine Messenger] Fix support for pgsql + pgbouncer. (@jwage)
  • [Messenger] Gracefully fallback to empty queue config (@Wirone)
  • [Mailer] [Mailgun] Fix expecting payload without tags or user variables (@norkunas)
  • [Mailer] Fix signed emails breaking the profiler (@HypeMC)
  • [FrameworkBundle] Check if the _route attribute exists on the request (@xvilo)
  • [Messenger] Fix SQS visibility_timeout type (@valtzu)
  • [PropertyAccess] Fixes getValue() on an unitialized object property on a lazy ghost (@priyadi)
  • [HttpClient] Make retry strategy work again (@Nyholm)
  • [VarDumper] Fix serialization of stubs with null or uninitialized values (@derrabus)
  • [VarExporter] Uniform unitialized property error message under ghost and non-ghost objects (@priyadi)
  • [AssetMapper] Ignore comment lines in JavaScriptImportPathCompiler (@smnandre)
  • [DomCrawler][Form] Fix the exclusion of (@mpiot)
  • [Mailer][Postmark][Webhook] Fix webhook testing in dockerized setups (@aleho)
  • [Validator] Fix fields without constraints in Collection (@xabbuh, @HypeMC)
  • [Process] Fix Inconsistent Exit Status in proc_get_status for PHP Versions Below 8.3 (@Luc45)
  • [Mailer][Postmark][Webhook] Accept different date formats (@aleho)
  • [DependencyInjection] fix unable to make lazy service from readonly class (@kor3k)
  • [HttpFoundation] Prevent duplicated headers when using Early Hints (@dunglas)
  • [Scheduler] Fix messenger receiver with no alias (@HypeMC)
  • [VarDumper] Fix configuring CliDumper with SYMFONY_IDE env var (@nicolas-grekas)
  • [Mailer][Postmark][Webhook] Don't require tag and metadata (@aleho)
  • [Cache] Fix BC layer with pre-6.1 cache items (@nicolas-grekas)
  • [FrameworkBundle] Fix eager-loading of env vars in ConfigBuilderCacheWarmer (@nicolas-grekas)
  • [FrameworkBundle] Prevent silenced warning by checking if /proc/mount exists (@shyim)
  • [Messenger] [Beanstalkd] fix tube stats when it's empty (@eminjk)
  • [DoctrineBridge] forward-compatibility with field mappings in Doctrine ORM 4 (@xabbuh)
  • [AssetMapper] Improve import_polyfill configuration error (@smnandre)
  • Fix client side connection timeout breaks mail authentication (@bytestream)
  • [SecurityBundle] add missing partition attribute to the schema definition (@xabbuh)
  • [Console] Fix color support for TTY output (@theofidry)
  • [Mailer] Fix usage of stream_set_timeout in case of microseconds (@aleksejs1)
  • [String] Fix plural of word ending by pus (@Fan2Shrek)
  • [Console] Allow false as a $shortcut in InputOption (@jayminsilicon)
  • [Mailer] [Mailgun] Fix payload converter getReason (@norkunas)
  • [HttpFoundation] Fix clearing CHIPS cookies (@misaert)
  • [AssetMapper] Fix exception if assets directory is missing in production (@rynhndrcksn)
  • [HttpKernel] Fix including welcome page multiple times (@HypeMC)

New in Symfony 7.0.3 (Jan 31, 2024)

  • bug #52913 [Routing] Fixed priority getting lost when setting localized prefix (@pritasil)
  • bug #53681 [DoctrineBridge] Fix detection of Xml/Yaml driver in DoctrineExtension (@GromNaN)
  • bug #53183 [Messenger] PhpSerializer: TypeError should throw MessageDecodingFailedException (@B-Galati)
  • bug #52131 [HttpKernel] Fix RequestPayloadValueResolver handling error with no ExpectedTypes (@Jeroeny)
  • bug #51559 [DependencyInjection] #[Autowire] attribute should have precedence over bindings (@HypeMC)
  • bug #53678 [Mime] Fix serializing uninitialized RawMessage::$message to null (@nicolas-grekas)
  • bug #53634 [Notifer][Smsapi] Set messageId of SentMessage (@tomasz-kusy)
  • bug #53501 [DependencyInjection] support lazy evaluated exception messages with Xdebug 3 (@xabbuh)
  • bug #53672 [FrameworkBundle] ConfigBuilderCacheWarmer should be non-optional (@nicolas-grekas)
  • bug #52994 [MonologBridge] Fix context data and display extra data (@louismariegaborit)
  • bug #53671 [HttpClient] Fix pausing responses before they start when using curl (@nicolas-grekas)
  • bug #53594 [Notifier] Updated the NTFY notifier to run without a user parameter (@lostfocus)
  • bug #53620 [Validator] Fix option filenameMaxLength to the File constraint (Image) (@mindaugasvcs)
  • bug #53624 [Translation] Fix constant domain resolution in PhpAstExtractor (@VincentLanglet)
  • bug #53663 [TwigBridge] separate child and parent context in NotificationEmail on writes (@xabbuh)
  • bug #53667 [Mailer] [Mailgun] Fix sender header encoding (@spajxo)
  • bug #53631 [DependencyInjection] Fix loading all env vars from secrets when only a subset is needed (@nicolas-grekas)
  • bug #53656 [Form] Use self-closing <input /> syntax again, reverting #47715 (@mpdude)
  • bug #53653 [Mailer] [Scaleway] Fix attachment handling (@madbob)
  • bug #53157 [Mailer] Throw TransportException when unable to read from socket (@xdanik)
  • bug #53361 [Serializer] Take unnamed variadic parameters into account when denormalizing (@thijsBreker)
  • bug #53530 [Serializer] Rewrite AbstractObjectNormalizer::createChildContext() to use the provided cache_key from original context when creating child contexts (@amne)
  • bug #53506 [HttpClient] Fix error chunk creation in passthru (@rmikalkenas)
  • bug #53260 [AssetMapper] Handle assets with non-ascii characters in dev server (@fbourigault)
  • bug #53357 [Translation] Fix TranslationNodeVisitor with constant domain (@VincentLanglet)
  • bug #53525 [Messenger] [AMQP] Throw exception on nack callback (@kvrushifa)
  • bug #53432 [HttpFoundation] Request without content-type or content-length header should result in null values, not empty strings (@priyadi)
  • bug #53593 [Cache] Fix possible infinite loop in CachePoolPass (@HypeMC)
  • bug #53588 [Translation] fix multi-byte code area to convert (@xabbuh)
  • bug #53572 [FrameworkBundle] grab a service from the container only if it exists (@xabbuh)
  • bug #53565 [Mime] Fix undefined array key 0 when empty sender (@0x346e3730)
  • bug #53516 [Console] Allow '0' as a $shortcut in InputOption.php (@lawsonjl-ornl)
  • bug #53576 [Console] Only execute additional checks for color support if the output (@theofidry)
  • bug #53582 [TwigBundle] Fix configuration when "paths" is null (@smnandre)
  • bug #53575 [Mailer] register the MailPaceTransportFactory (@xabbuh)
  • bug #53581 [String] fix aircraft inflection (@renanbr)
  • bug #53509 [Security] Fix AuthenticationUtils::getLastUsername() returning null (@alexandre-daubois)
  • bug #53529 [Ldap] Use {user_identifier} over deprecated {username} in factories (@tcitworld)
  • bug #53567 [String] Correct inflection of axis (Vladislav Iurciuc)
  • bug #53537 [VarDumper] Fix missing colors initialization in CliDumper (@nicolas-grekas)
  • bug #53521 [VarDumper] Fixes Typed property SymfonyComponentVarDumperDumperCliDumper::$colors must not be accessed before initialization (@crynobone)
  • bug #53481 [Process] Fix executable finder when the command starts with a dash (@kayw-geek)
  • bug #53006 [ErrorHandler] Don't format binary strings (@aleho)
  • bug #53453 [Translation] add support for nikic/php-parser 5.0 (@xabbuh)
  • bug #53434 [ErrorHandler] fix rendering exception pages without the HttpKernel component (@xabbuh)
  • bug #53441 [Messenger] Amazon SQS Delay has a max of 15 minutes (@alamirault)
  • bug #53414 [Serializer] GetSetMethodNormalizer: fix BC break with #[Ignore] attribute (@nikophil)
  • bug #53383 [Validator] re-allow an empty list of fields (@xabbuh)
  • bug #53418 [FrameworkBundle][Notifier] Fix service registration (MessageBird + TurboSms) (@smnandre)
  • bug #53381 [Form] Fix assigning data in PostSetDataEvent and PostSubmitEvent (@fancyweb)
  • bug #53350 [Validator] fix the exception being thrown (@xabbuh)
  • bug #52930 [Messenger] Fix Redis messenger scheme comparison (@freswa)
  • bug #52874 [Scheduler] Separate id and description in message providers (@valtzu)
  • bug #53341 [FrameworkBundle] append instead of replacing potentially non-existent named-arguments (@xabbuh)
  • bug #53320 [Cache][DependencyInjection][Lock][Mailer][Messenger][Notifier][Translation] Url decode username and passwords from parse_url() results (@alexandre-daubois)
  • bug #53108 [Serializer] Fix using deserialization path 5.4 (@HypeMC)

New in Symfony 7.0.2 (Dec 31, 2023)

  • Changelog (v7.0.1...v7.0.2):
  • bug #53282 [RateLimiter] Fix RateLimit->getRetryAfter() return value when consuming 0 or last tokens (@wouterj, @ERuban)
  • bug #53054 [Cache] Fix expiration time for CouchbaseCollection (@alexandre-daubois)
  • bug #53259 [RateLimit] Test and fix peeking behavior on rate limit policies (@wouterj)
  • bug #52406 [Validator] Fix ConstraintsEmail::ERROR_NAMES (@mathroc)
  • bug #53140 [Serializer] Skip uninitialized properties with deep_object_to_populate (@mtarld)
  • bug #53195 [HttpKernel] Fix default locale is ignored when set_locale_from_accept_language is used (@jkobus)
  • bug #52928 [Dotenv] Allow environment variables starting with an underscore (@xabbuh)
  • bug #53243 [Mailer][Postmark] Add missing changelog for webhook support (@OskarStark)
  • bug #53239 [HttpKernel] fix "Cannot redeclare renderSymfonyLogoSvg()" inside phpunit tests (@davidesigner)
  • bug #53232 [Notifier] [Smsc] Require login and password (@OskarStark)
  • bug #53225 [WebProfilerBundle] Fix the design of the compact toolbar button (@javiereguiluz)
  • bug #52869 [AssetMapper] Improve link generation script (@smnandre)
  • bug #53203 [Intl] [Emoji] Fix emoji files (remove wrong characters / add missing data) (@smnandre)
  • bug #53178 [Translation][Crowdin] Use project language mapping (@andrii-bodnar)
  • bug #53187 [Messenger] Fix using negative delay (@J-roen)
  • bug #53133 [Validator] Fix using known option names as field names (@HypeMC)
  • bug #53172 [SecurityBundle] Prevent to login/logout without a request context (@symfonyaml)
  • bug #52881 [DoctrineBridge] Global query time always at 0.00 ms on profiler (Maxime THIRY)
  • bug #53173 [FrameworkBundle] add missing webhook services for Brevo and Mailjet (@xabbuh)
  • bug #53153 [WebProfilerBundle] Fix JS error when evaluating scripts (@jderusse)
  • feature #53150 [Contracts] Allow psr/container 1.1 again (@derrabus)
  • bug #52998 [Notifier] [Bridges] Provide EventDispatcher and HttpClient to the transport (@rdavaillaud)
  • bug #52817 [Serializer] Do not instantiate object if it is not instantiable (@maxbaldanza)
  • bug #53003 [AssetMapper] Fix URL pattern when importing es-module-shims (@hashbanged)
  • bug #53079 [DoctrineBridge] Add check for lazy object interface (@maxbaldanza)
  • bug #53061 [Mailer] [Mailjet] Disable tls for mailjet as it should use STARTTLS (@RFreij)
  • bug #53115 [Serializer] Fix partial denormalization with missing constructor arguments (@HypeMC)
  • bug #53128 Change ProxyCacheWarmer::warmUp signature (@llupa)
  • bug #53120 [Translation] add the Phrase translation provider to the UnsupportedSchemeException (@xabbuh)
  • bug #53125 [Mailer] add the MailPace transport to the UnsupportedSchemeException (@xabbuh)
  • bug #53081 [Serializer] Keep stack trace for enum value denormalizer error (@kylekatarnls)
  • bug #53107 [HttpKernel] Don't validate partially denormalized object (@HypeMC)
  • bug #52891 [HttpKernel] Fix request attribute value ignored with pinned resolvers (@HypeMC)
  • bug #53057 [HttpKernel] Move @internal from AbstractSessionListener class to its methods and properties (@Florian-Merle)
  • bug #52990 [TwigBridge] don't use deprecated and internal Twig functions (@xabbuh)
  • bug #53004 [FrameworkBundle] Add missing webhook parsers (@alexandre-daubois)
  • bug #53007 [FrameworkBundle] Fix webhook parser service removal and add notifier parser service removal (@alexandre-daubois)
  • bug #52996 [Validator] add missing translation (@xabbuh)
  • bug #52979 [WebProfilerBundle] Fix "Copy as cURL" dark style (@HypeMC)
  • bug #52978 [Webhook] [Framework] Added missing XML attribute in config XSD (@TimoBakx)
  • bug #52584 [WebProfilerBundle] Fix intercept external redirects (@HeahDude)
  • bug #52964 [ExpressionLanguage] Fix null coalescing propagation (@fancyweb)
  • bug #52963 [FrameworkBundle] Fix profiling commands without router (@HeahDude)
  • bug #52966 [FrameworkBundle] Fix profiling command in web context (@HeahDude)
  • bug #52937 [WebProfilerBundle] Fix "Copy as cURL" (@HypeMC)
  • bug #52940 [Console] Fix color support check on non-Windows platforms (@theofidry)
  • bug #52896 [Messenger] Avoid reconnecting active Redis connections. (@BusterNeece)
  • bug #52923 Avoid incompatibility with symfony/console 7 (@jdecool)
  • bug #52927 [Dotenv] Properly handle SYMFONY_DOTENV_VARS being the empty string (@xabbuh)
  • bug #52935 [Validator] Missing translations for Slovak (sk) #51954 (Jan Vernarsky)
  • bug #52941 [Console] Fix xterm detection (@theofidry)
  • bug #52795 [FrameworkBundle] do not overwrite an application's default serialization context (@xabbuh)
  • bug #52870 [SecurityBundle] Fix redeclaration of InternalSecurity class when opcache preload is active (@kaznovac)
  • bug #52885 [Serializer] fix nullable int cannot be serialized (@nikophil)
  • bug #52886 [HttpKernel] Catch TypeError if the wrong type is used in BackedEnumValueResolver (@alexandre-daubois)
  • bug #52878 [WebProfiler] Fix unclosed JS script cannot be parsed (@smnandre)
  • bug #52867 [Validator] Only trigger deprecation when Validator annotations are used (@HypeMC)
  • bug #52864 [HttpClient][Mailer][Process] always pass microseconds to usleep as integers (@xabbuh)

New in Symfony 7.0.1 (Dec 2, 2023)

  • bug #52814 [Workflow] Add getEnabledTransition() to TraceableWorkflow (@alexandre-daubois)
  • bug #52852 [Serializer] Fix TranslatableNormalizer when the Translator is disabled (@Jean-Beru)
  • bug #52836 [DependencyInjection] Fix parsing named autowiring aliases that contain underscores (@nicolas-grekas)
  • bug #52804 [Serializer] Fix support of plain object types denormalization (@andersonamuller)
  • bug #52845 [Routing] Restore aliases removal in RouteCollection::remove() (@fancyweb)
  • bug #52846 [PhpUnitBridge] run composer update for compatibility with PHPUnit versions shipping composer.lock (@xabbuh)
  • bug #52823 add parameter types in query builder (@javiercno)
  • bug #52825 [AssetMapper] Upgrade asset mapper to 6.4 fails due to invalid entries "downloaded_to" and "preload" (@redflo)
  • bug #52808 [DependencyInjection] Fix dumping containers with null-referenced services (@nicolas-grekas)
  • bug #52797 [VarExporter] Fix lazy ghost trait when using nullsafe operator (@nicolas-grekas)
  • bug #52806 [Routing] Fix removing aliases pointing to removed route in RouteCollection::remove() (@fancyweb)
  • bug #52805 [Routing] Fix conflicting FQCN aliases with route name (@fancyweb)

New in Symfony 7.0.0 (Nov 29, 2023)

  • bug #52786 [Serializer] Revert allowed attributes fix (@mtarld)
  • bug #52765 [Translation] Remove @internal from abstract testcases (@OskarStark)
  • bug #52780 [DependencyInjection] don't check parameter values if they are not set (@xabbuh)
  • bug #52762 [VarExporter] Work around php/php-src#12695 for lazy objects, fixing nullsafe-related behavior (@nicolas-grekas)
  • bug #52759 [VarExporter] Fix serializing objects that implement __sleep() and that are made lazy (@nicolas-grekas)
  • bug #52767 [Serializer] Fix normalization relying on allowed attributes only (@mtarld)
  • bug #52727 [String] Fix Inflector for 'icon' (@podhy)

New in Symfony 7.0.0 RC 2 (Nov 26, 2023)

  • [Security] make secret required for DefaultLoginRateLimiter
  • [Cache] Remove database server version detection
  • [AssetMapper] Fix resolving jsdeliver default + other exports from modules
  • [AssetMapper] Exclude dot files
  • [AssetMapper] Fix: also download files referenced by url() in CSS
  • [AssetMapper] Fix eager imports are not deduplicated
  • [Mime] Add TemplatedEmail::$locale to the serialized props
  • [Translation] [Lokalise] Fix language format on Lokalise Provider
  • [Cache] fix detecting the database server version
  • [Cache] Add url decoding of password in RedisTrait DSN
  • [Serializer] Fix denormalizing empty string into object|null parameter
  • [Messenger] Fix message handlers with multiple from_transports
  • [PropertyInfo] Fixed promoted property type detection for PhpStanExtractor
  • [Serializer] Fix support for DiscriminatorMap in PropertyNormalizer
  • [Serializer] Fix access to private properties/getters when using the @Ignore annotation
  • [Serializer] Fix deserialization_path missing using contructor
  • [Serializer] Fix constructor deserialization path
  • [HttpKernel] Fix logging deprecations to the "php" channel when channel "deprecation" is not defined
  • [Serializer] Fix XML attributes not added on empty node
  • [Cache] fix detecting the server version with Doctrine DBAL 4
  • [MonologBridge] Fix error cannot use object of type as array
  • [Messenger] Fix support for Redis Sentinel using php-redis 6.0.0
  • [FrameworkBundle] Add TemplateController to the list of allowed controllers for fragments
  • [Cache][HttpFoundation][Lock] Fix PDO store not creating table + add tests
  • [Serializer] Fix denormalizing date intervals having both weeks and days
  • [Serializer] Fix denormalize constructor arguments
  • Add some more non-countable English nouns
  • [FrameworkBundle] register the virtual request stack together with common profiling services
  • [Scheduler] Continue with stored Checkpoint::$time on lock
  • [DomCrawler] Revert "bug #52579 UriResolver support path with colons"
  • [DoctrineBridge] Fix use "attribute" driver by default
  • [VarExporter] Fix handling mangled property names returned by __sleep()

New in Symfony 7.0.0 RC 1 (Nov 15, 2023)

  • [DependencyInjection] Fix dumping containers with null-referenced services
  • [Messenger] Use extension_loaded call to check if pcntl extension is loaded, as SIGTERM might be set be swoole
  • [VarExporter] Drop support for partially initialized lazy object
  • [AssetMapper] Fixing js sourceMappingURL extraction when sourceMappingURL used in code
  • [DomCrawler] UriResolver support path with colons
  • [Messenger] attach all required parameters to query
  • [VarExporter] Deprecate per-property lazy-initializers
  • [Mailer] Update default Mailjet port

New in Symfony 6.3.5 (Oct 1, 2023)

  • bug #51773 [Mailer] [Mailgun] Fix outlook sender (@Romanavr)
  • bug #50761 [DoctrineBridge] Ignore invalid stores in LockStoreSchemaListener raised by StoreFactory (@alexandre-daubois)
  • bug #51508 [Messenger] Fix routing to multiple fallback transports (@valtzu)
  • bug #51468 [Messenger] Fix forced bus name gone after an error in delayed message handling (@valtzu)
  • bug #51509 [HttpKernel] Fix the order of merging of serializationContext and self::CONTEXT_DENORMALIZE (@pedrocasado)
  • bug #51701 [Serializer] Fix parsing XML root node attributes (@mtarld)
  • bug #50787 [Messenger] Fix exiting messenger:failed:retry command (@HypeMC)
  • bug #49700 [Serializer] Fix reindex normalizedData array in AbstractObjectNormalizer::denormalize() (André Laugks)
  • bug #51489 [Mime] Fix email (de)serialization issues (@X-Coder264)
  • bug #51529 [Mailer] [Mailgun] fix parsing of payload timestamp to event date value (DateTimeImmutable) in MailgunPayloadConverter (@ovgray)
  • bug #51728 [AssetMapper] Fixing jsdelivr regex to catch 2x export syntax in a row (@weaverryan)
  • bug #51726 [Validator] NoSuspiciousCharacters custom error messages fix (@bam1to)
  • bug #51588 [FrameworkBundle] Always use buildDir as ConfigBuilderGenerator outputDir (@HypeMC)
  • bug #51754 [Cache] Fix Redis6Proxy (@nicolas-grekas)
  • bug #51721 [Notifier][Telegram] Add escaping for slashes (@igrizzli)
  • bug #51704 [Routing] Fix routing collection defaults when adding a new route to a collection (@bram123)
  • bug #51675 [Messenger] Fix cloned TraceableStack not unstacking the stack independently (@krciga22)
  • bug #51198 [DependencyInjection] Fix autocasting null env values to empty string with container.env_var_processors_locator (@fancyweb)
  • bug #51683 [Cache] Fix support for Redis Sentinel using php-redis 6.0.0 (@Qonstrukt)
  • bug #51686 [SecurityBundle][PasswordHasher] Fix password migration with custom hasher service with security bundle config (@ogizanagi)
  • bug #51669 [FrameworkBundle] Handle tags array attributes in descriptors (@fancyweb)
  • bug #51671 [FrameworkBundle] Fix support for translator.default_path in XML (@HeahDude)
  • bug #51659 [HttpClient] Fix TraceableResponse if response has no destruct method (@maxhelias)
  • bug #51629 [Notifier] Fix Smsmode HttpClient mandatory headers (@inwebo)
  • bug #51674 [Scheduler] Match next run timezone with "from" timezone (@valtzu)
  • bug #51598 [Cache] fix using multiple Redis Sentinel hosts when the first one is not resolvable (@digilist)
  • bug #51497 [FrameworkBundle] no serializer mapping cache in debug mode without enable_annotations (@soyuka)
  • bug #51645 [String] Update wcswidth data with Unicode 15.1 (@fancyweb)
  • bug #51586 [ErrorHandler] Handle PHP 8.3 highlight_file function output changes (@PhilETaylor)
  • bug #47221 [Serializer] Fallback looking for DiscriminatorMap on interfaces (@Caligone)
  • bug #50794 [TwigBridge] Change return type of SymfonyBridgeTwigAppVariable::getSession() (@Dirkhuethorst)
  • bug #51568 [Mailer] bug - fix EsmtpTransport variable $code definition (@kgnblg)
  • bug #51511 [PasswordHasher] Avoid passing null to hash_pbkdf2() (@sdespont)

New in Symfony 6.3.4 (Aug 26, 2023)

  • bug #51475 [Serializer] Fix union of enum denormalization (@mtarld)
  • bug #51474 [Serializer] Fix wrong InvalidArgumentException thrown (@mtarld)
  • bug #51494 Fixed attachment base64 content string in MailerSendApiTransport (@pavelwitassek)
  • bug #51350 [Security] Prevent creating session in stateless firewalls (@Seb33300)
  • bug #51104 [Security] Fix loading user from UserBadge (@guillaumesmo)
  • bug #51473 [VarDumper] Fix managing collapse state in CliDumper (@nicolas-grekas)
  • bug #51369 [Serializer] Fix deserializing object collection properties (@X-Coder264)
  • bug #51399 [Serializer] Fix deserializing of nested snake_case attributes using CamelCaseToSnakeCaseNameConverter (@Victor-Truhanovich)
  • bug #51456 [Serializer] Fix serialized name with groups during denormalization (@mtarld)
  • bug #51445 [Security] FormLoginAuthenticator: fail for non-string password (@dmaicher)
  • bug #51424 [HttpFoundation] Fix base URI detection on IIS with UrlRewriteModule (@derrabus)
  • bug #51396 [HttpKernel] Fix missing Request in RequestStack for StreamedResponse (Ismail Turan)
  • bug #51378 [Console] avoid multiple new line when message already ends with a new line in section output (@joelwurtz)
  • bug #51336 [Notifier] [Pushover] Fix invalid method call + improve exception message (@ahmedghanem00)
  • bug #51345 [AssetMapper] Fixing bug where a circular exception could be thrown while making error message (@weaverryan)
  • bug #48840 [Validator] Dump Valid constraints on debug command (@macintoshplus)
  • bug #51223 [Console] Fix linewraps in OutputFormatter (@maxbeckers)
  • bug #51307 [DependencyInjection] fix dump xml with array/object/enum default value (@Jean-Beru)
  • bug #51355 [Console] fix section output when multiples section with max height (@joelwurtz)
  • bug #51359 [Security] Fix error with lock_factory in login_throttling (@BaptisteContreras)
  • bug #51326 [FrameworkBundle] Fix xsd for handle-all-throwables (@Jean-Beru)
  • bug #51328 [Messenger] Always return bool from messenger amqp connection nack (@Danielss89)
  • bug #51295 [Mailer] update Brevo SMTP host (@bastien-wink)
  • bug #51301 [FrameworkBundle] add missing default-doctrine-dbal-provider cache pool attribute to XSD (@xabbuh)
  • bug #51296 [Process] Fix silencing wait when using a sigchild-enabled binary (@nicolas-grekas)
  • bug #51251 [DependencyInjection] Do not add return in LazyClosure when return type of closure is void (@ruudk)
  • bug #51219 [DependencyInjection][HttpKernel] Fix using #[AutowireCallable] with controller arguments (@HypeMC)
  • bug #51201 [Workflow] fix MermaidDumper when place contains special char (@lyrixx)
  • bug #49195 [Crawler] Fix regression where cdata nodes will return empty string (@NanoSector)
  • bug #51061 [DoctrineBridge] Bugfix - Allow to remove LazyLoaded listeners by object (@VincentLanglet)
  • bug #51190 [Clock] load function only if not loaded before (@xabbuh)

New in Symfony 6.3.3 (Jul 31, 2023)

  • Bug #51178 [Finder] Revert "Fix children condition in ExcludeDirectoryFilterIterator" (@derrabus)

New in Symfony 6.3.3 (Jul 31, 2023)

  • bug #51178 [Finder] Revert "Fix children condition in ExcludeDirectoryFilterIterator" (@derrabus)

New in Symfony 6.3.2 (Jul 30, 2023)

  • [Scheduler] Postpone schedule creation (@HypeMC)
  • [Serializer] Fix deserializing nested arrays of objects with mixed keys (@HypeMC)
  • [VarExporter] Fix calling scope detection inside magic accessors (@vtsykun)
  • [FrameworkBundle][Workflow] Throw exception is workflow.xxx.transitions is not an array (@lyrixx)
  • [Webhook] Allow slash in webhook type (@alamirault)
  • [Serializer] Fix denormalizing abstract part headers in MimeMessageNormalizer (@fancyweb)
  • [Scheduler] Fix NPE in debug:scheduler command (@maxbeckers)
  • [Mailer] [Mailgun] Disable tls for mailgun as it should use STARTTLS (@joelwurtz)
  • [SecurityBundle] Add firewalls.logout.csrf_token_manager to XSD (@HeahDude)
  • [AssetMapper] Fixing import parsing from jsdelivr (@weaverryan)
  • [Validator] Fix regression with class metadatada on parent classes (@rmikalkenas)
  • [Intl] Fixed directory traversal in emoji compression tool (@rlandgrebe)
  • [VarExporter] Fix exporting classes with __serialize() but not __unserialize() (@fancyweb)
  • Fix deprecations on PHP 8.3 (@nicolas-grekas)
  • [WebProfilerBundle] Fix error in case of 'Content-Type' set null in dev environment with no debug (@alexbuyanow)
  • [DependencyInjection] Fix fetching lazy non-shared services multiple times (@HypeMC)
  • [ErrorHandler][Runtime] Don't mess with ini_set('assert.warning') (@nicolas-grekas)
  • [DependencyInjection] Run the ResolveFactoryClassPass when lint:container builds the container from a dump (@MatTheCat)
  • [PropertyAccess] Fix access to undefined "file" key when checking stack frames (@nicolas-grekas)
  • [Security] Allow custom scheme to be used as redirection URIs (@Spomky)
  • [DebugBundle][FrameworkBundle] Fix using the framework without the Console component (@HypeMC)
  • [HttpKernel][WebProfilerBundle] Fix search feature (Cyril HERRERA)
  • [Messenger] do not listen to signals if the pcntl extension is missing (@xabbuh)
  • [Form] fetch all known ChoiceType values at once (@xabbuh)
  • [FrameworkBundle] Add missing monolog channel tag to the messenger:failed:retry command (@HypeMC)
  • [RateLimiter] fix incorrect retryAfter of FixedWindow (@RobertMe)
  • [VarDumper] Fix dumping ArrayObject with DumpDataCollector (@lyrixx, @HypeMC)
  • [Intl] Taking into account bibliographic + overlong (@oleg-andreyev)
  • [PhpUnitBridge] Kill the last concurrent process when it stales for more than 60s (@nicolas-grekas)
  • [Notifier] Fix Esendex messages serialization (@raphael-geffroy)
  • [FrameworkBundle] Prevent cache:clear to lose files on subsequent runs (@Okhoshi)
  • [PhpUnitBridge] Use triggering class to generate baseline for deprecation messages from DebugClassLoader (@leongersen)
  • [Security/Http] Fix false-string handling in RememberMeAuthenticator (@ossinkine)
  • [DependencyInjection] Don't ignore attributes on the actual decorator (@HypeMC)
  • [Serializer] Fix Normalizer not utilizing converted name for index variadic param (@DidierLmn)
  • [DoctrineBridge] Load refreshed user proxy (@MatTheCat)
  • [DepdencyInjection] Fix costly logic when checking errored definitions (@nicolas-grekas)
  • [Finder] Fix initial directory is opened twice (@mvorisek)
  • [Scheduler] Fix PeriodicalTrigger from argument for stateful run dates (@StanJansen)
  • [Messenger] Fix passing options set via tags to handler descriptors (@nicolas-grekas)
  • [DoctrineBridge] Remove outdated comment (@HeahDude)
  • [DependencyInjection] Fix autocasting null env values to empty string (@fancyweb)
  • [SecurityBundle] Do not translate Bearer header’s error_description (@MatTheCat)
  • [DependencyInjection] Fix resource tracking for lazy services (@nicolas-grekas)
  • [String] Fix Inflector for 'status' (@evertharmeling)
  • [Serializer] Fix type error not be accessed before initialization (@shyim)

New in Symfony 6.3.1 (Jun 26, 2023)

  • bug #50763 [DependencyInjection] Skip errored definitions deep-referenced as runtime exceptions (@nicolas-grekas)
  • bug #50637 [FrameworkBundle] Fixed parsing new JSON output of debug:config not possible (@Toflar)
  • bug #50728 [HttpClient] Explicitly exclude CURLOPT_POSTREDIR (@nicolas-grekas)
  • bug #50710 [FrameworkBundle] Fix setting decorated services during tests (@nicolas-grekas)
  • bug #50749 [AssetMapper] Allow DirectoryResource for cache (@weaverryan)
  • bug #50760 [HttpFoundation] Require PHPUnit 9.6 by default (@nicolas-grekas)
  • bug #50747 [HttpKernel] Nullable and default value arguments in RequestPayloadValueResolver (@mdeboer)
  • bug #48961 [WebProfilerBundle] right blocks: fix display (@jmsche)
  • bug #50730 [HttpFoundation] Make Request::getPayload() return an empty InputBag if request body is empty (@nicolas-grekas)
  • bug #50654 [Validator] Add the message option to the PasswordStrength constraint (@alexandre-daubois)
  • bug #50671 [HttpClient] Fix encoding some characters in query strings (Daniel Kozák)
  • bug #50673 [HttpKernel] make RequestPayloadValueResolver::resolve() throw on variadic argument (@javaDeveloperKid)
  • bug #50655 Revert "Respect isRetryable decision of the retry strategy for re-delivery" (@bendavies)
  • bug #50665 [FrameworkBundle] Ignore missing directories in about command (@ro0NL)
  • bug #50644 [VarDumper] Dumping DateTime throws error if getTimezone is false (@bogdanmoza)
  • bug #50712 [FrameworkBundle] Fix secrets:list not displaying local vars (@nicolas-grekas)
  • bug #50656 Only update autoload_runtime.php when it changed (@Seldaek)
  • bug #50698 [HttpClient] Fix int conversion for GenericRetryStrategy with floated multiplier (@francisbesset)
  • bug #50686 [Messenger] Don't mark RedispatchMessage as internal (@valtzu)
  • bug #50530 [DependencyInjection] Fix support for false boolean env vars (@Okhoshi)
  • bug #50577 [HttpClient] Remove final keyword on AsyncResponse (@lyrixx)
  • bug #50611 [Clock] Fix MockClock::modify() on PHP 8.3 (@nicolas-grekas)
  • bug #50548 [FrameworkBundle] Show non-bundle extensions in debug:config & config:dump list view & completion (@HypeMC)
  • bug #50585 [Cache] Fix RedisTrait::createConnection for cluster (@darkanakin41)
  • bug #50599 [MonologBridge] widen return type for Monolog 3 compatibility (@xabbuh)
  • bug #50546 [FrameworkBundle] Fix debug:config & config:dump in debug mode (@HypeMC)
  • bug #50560 [DependencyInjection] Support PHP 8.2 true and null type (@ruudk)
  • bug #50563 [FrameworkBundle] remove unusable cache pools (@xabbuh)
  • bug #50567 [PhpUnitBridge] Ignore deprecations about the annotation mapping driver when it's not possible to move to the attribute driver yet (@nicolas-grekas)
  • bug #50562 [Lock] Fix sprintf (@fancyweb)
  • bug #50540 [Validator] GH-50526: Reverting ExecutionContextInterface void return types in favor of docblock annotations. (@upchuk)
  • bug #50524 Fix Doctrine deprecations (@nicolas-grekas)
  • bug #50539 [Validator] Remove internal from methods on non-internal interfaces (@wouterj)
  • bug #50532 [Messenger] Prevent StopWorkerOnSignalsListener::$signals to be assigned to null in case SIGTERM constant doesn't exist (@alexandre-daubois)
  • bug #50534 [PhpUnitBridge] Fix support for the NO_COLOR env var (@nicolas-grekas)
  • bug #50525 [PhpUnitBridge] Fix classifying doctrine/deprecations as direct/indirect (@nicolas-grekas)
  • bug #50521 [Serializer] Fix ignoring objects that only implement DenormalizableInterface (@spideyfusion)
  • bug #50517 [DependencyInjection] Fix casting scalar env vars from null (@fancyweb)
  • bug #50515 [Mailer] [MailPace] Fix undefined array key in errors response (Florian Heller)
  • bug #50514 [PhpUnitBridge] Disable deduplication of Doctrine deprecations (@nicolas-grekas)
  • bug #50508 [Messenger] Add deprecation message for the messenger.listener.stop_worker_on_sigterm_signal_listener service (@alexandre-daubois)
  • bug #50507 [Cache] Fix DBAL deprecations (@MatTheCat)
  • bug #50501 [Serializer] Fix discriminator map not working with AbstractNormalizer::OBJECT_TO_POPULATE (@HypeMC)
  • bug #50503 [SecurityBundle] Fix error message when using OIDC and web-token/jwt-core is not installed (@nicolas-grekas)
  • bug #50498 [FrameworkBundle] ease migration to symfony 6.3 (@lyrixx)
  • bug #50480 [Serializer] Fix discriminator map not working with AbstractNormalizer::OBJECT_TO_POPULATE (@HypeMC)
  • bug #50493 [VarDumper] Use documentElement instead of body for JS flag (@ohader)

New in Symfony 6.3.0 (May 31, 2023)

  • bug #50432 [Security] Validate aud and iss claims on OidcTokenHandler (@vincentchalamon)
  • bug #50477 [Security] Add clock dependency to OidcTokenHandler (@nicolas-grekas)
  • bug #50437 [Filesystem] Follow symlinks when dumping files (@ausi)
  • bug #50478 [DependencyInjection] Escape `` from parameter-like default values (@MatTheCat)
  • bug #50476 [FrameworkBundle] remove support for preloading ESM using headers (@dunglas)
  • bug #50453 [SecurityBundle] add missing xsd definition for OIDC (@aegypius)
  • bug #50468 [FrameworkBundle][PhpUnitBridge] Configure doctrine/deprecations as expected (@nicolas-grekas)
  • bug #50473 [Notifier] Fix ContactEveryoneOptions (@nicolas-grekas)
  • bug #50470 [SecurityBundle] Fix configuring OIDC user info token handler client (@vincentchalamon)
  • bug #50456 [AssetMapper] Fix unable to use asset mapper with CSP (@vtsykun)
  • bug #50458 [HttpKernel] Fix default value ignored with pinned resolvers (@HypeMC)
  • bug #50452 Hide definitions bearing the container.excluded tag (@Myks92)

New in Symfony 6.3.0 RC 2 (May 28, 2023)

  • feature #50445 [AssetMapper] Add "=alias" syntax to importmap:require (@weaverryan)
  • bug #50442 [SecurityBundle] Update security-1.0.xsd to include missing access-token definition (@aegypius)
  • bug #50440 [DependencyInjection] Revert "Use weak references in the container" (@nicolas-grekas)
  • bug #50429 [Console] block input stream if needed (@joelwurtz)
  • bug #50397 [HttpKernel][VarDumper] Fix dumping with labels (@nicolas-grekas)
  • bug #50408 [AssetMapper] Change default importmap "provider" to JsDelivr+esm (@weaverryan, @nicolas-grekas)
  • bug #50394 [AssetMapper] Avoid loading potentially ALL assets in dev server (@weaverryan)
  • bug #50400 [AssetMapper] Sometimes asset contents are built from non-asset files (@weaverryan)
  • bug #50406 [VarDumper] Fix dd() showing line with null (@HypeMC)
  • bug #50393 [AssetMapper] Fixing incorrect exception & adding allowing more realistic error mode (@weaverryan)

New in Symfony 6.3.0 RC 1 (May 27, 2023)

  • bug #49817 [Scheduler] Improve triggers performance when possible (@fabpot)
  • bug #50376 [WebProfilerBundle] Fix cursor on link that has no href (@PhilETaylor)
  • bug #50349 [Notifier] Document Notifier options in README files (@alamirault)
  • bug #50312 [Security] Skip clearing CSRF Token on stateless logout (@chalasr)
  • bug #50315 [Translation] Fix handling of null messages in ArrayLoader (@rob006)
  • bug #50338 [Console] Remove exec and replace it by shell_exec (@maxbeckers)
  • bug #50356 [AssetMapper] Fix bug where dependencies were preloaded even if the parent was not (@weaverryan)
  • bug #50347 [DebugBundle][VarDumper] Fix dump labels compatibility (@fancyweb)
  • feature #50363 [AssetMapper] Adding "path" option to importmap:require (@weaverryan)
  • feature #48852 [Validator] Allow to use translation_domain false for validators and to use custom translation domain by constraints (@VincentLanglet)
  • feature #49293 [DoctrineBridge] Allow to ignore specific nullable fields in UniqueEntity (@VincentLanglet)
  • bug #50193 [Serializer] Fix SerializedPath not working with constructor arguments (@HypeMC)
  • bug #50280 [PropertyAccess] Fix nullsafe operator on array index (@HypeMC)
  • bug #50362 [FrameworkBundle] Fix Workflow without a marking store definition uses marking store definition of previously defined workflow (@krciga22)
  • bug #50309 [HttpFoundation] UrlHelper is now aware of RequestContext changes (@giosh94mhz)
  • bug #50309 [HttpFoundation] UrlHelper is now aware of RequestContext changes (@giosh94mhz)
  • bug #50355 Bug fix for paths that start with the same string (@weaverryan)
  • bug #50352 [Notifier][TurboSMS] Fix get sender name (@ZhukV)
  • bug #50351 [DependencyInjection] Add excludeSelf option to dumpers (@HypeMC)
  • bug #50354 [Process] Stop the process correctly even if underlying input stream is not closed (@joelwurtz)
  • bug #50325 [WebProfilerBundle] Tweak the HTML code of the Twig entry view (@javiereguiluz)
  • bug #50331 [HttpFoundation] Fix problem with empty generator in StreamedJsonResponse (@alexander-schranz)
  • bug #50340 [HttpKernel] Make QueryParameterValueResolver provide a value if possible when a parameter is not found (@MatTheCat)
  • bug #50332 [PropertyInfo] Fix PhpStanExtractor when constructor has no docblock (@HypeMC)
  • bug #50343 [VarDumper] Fix HTML of invisible characters (@fancyweb)
  • bug #50253 [FrameworkBundle] Generate caches consistently on successive run of cache:clear command (@Okhoshi)
  • bug #49063 [Messenger] Respect isRetryable decision of the retry strategy for re-delivery (@FlyingDR)

New in Symfony 6.3.0 Beta 3 (May 13, 2023)

  • Feature [AssetMapper] Add cached asset factory
  • Bug [AssetMapper] Improving XSD to use attributes whenever possible
  • Bug [OptionsResolver] Fixed changelog
  • Feature [AssetMapper] Adding "excluded_patterns" option
  • Bug [AssetMapper] Normalizing logicalPath to a getter like all other properties
  • Feature [Notifier] Add Smsmode bridge
  • Feature [Notifier] Add ClickSend notifier bridge
  • Feature [Notifier] Add SMS options to AllMySms notifier
  • Feature [Notifier] Add SMS options to OrangeSms notifier
  • Feature [Notifier] Add SMS options to GatewayApi notifier
  • Feature [Notifier] Add SMS options to MessageMedia notifier
  • Feature [Notifier] Add SMS options to MessageBird notifier
  • Feature [Notifier] Add SMS options to ContactEveryone notifier
  • Feature [Notifier] Add SMS options to FortySixElks notifier
  • Feature [Notifier] Add SMS options to Esendex notifier
  • Feature [Notifier] Add SMS options to Clickatell notifier
  • Bug [ErrorHandler] Sync createTabs from WebProfilerBundle
  • Bug [Serializer] Handle datetime deserialization in U format
  • Bug [HttpFoundation] Fix file streaming after connection aborted
  • Feature [HttpClient] Add option crypto_method to set the minimum TLS version and make it default to v1.2
  • Bug [DependencyInjection] Fix dumping non-shared factories with TaggedIteratorArgument
  • Bug [Messenger] Store dates in UTC when using Doctrine
  • Bug [Messenger] Add IS_REPEATABLE flag to AsMessageHandler attribute
  • Bug [FrameworkBundle] Ignore vars from dotenv files in secrets:list
  • Feature [AssetMapper] Flexible public paths + relative path imports + possibility of "building" assets
  • Feature [Scheduler] add RecurringMessage::getId() and prevent duplicates
  • Bug Fix param type annotation
  • Feature [Scheduler] add JitterTrigger
  • Bug [FrameworkBundle][Webhook] Throw when required services are missing when using the Webhook component
  • Bug [DependencyInjection] Fix dumping/loading errored definitions in XML/Yaml
  • Bug [AssetMapper] Adding autoconfiguration tag for asset compilers
  • Bug [HttpClient] Fix setting duplicate-name headers when redirecting with AmpHttpClient

New in Symfony 6.2.10 (Apr 28, 2023)

  • Bug #50143 [Console] trim(): Argument #1 () must be of type string, bool given (@danepowell)
  • Bug #50139 Check if trace.curlCommand is defined in profiler (@Toflar)
  • Bug #50066 [Dumper] Trim leading newlines when checking if value begins with a space (@bradtreloar)
  • Bug #50115 [FrameworkBundle] Make service edges unique (@rmikalkenas)
  • Bug #50111 Fix the list of supported shells for completions in a phar (@stof)
  • Bug #50110 [Console] Fix the usage of the zsh completion through the fpath discovery (@stof)
  • Bug #50074 [Cache] Send Predis SSL options in the $hosts parameter (@magnusnordlander)
  • Bug #50088 [DependencyInjection] Do not ignore tags name attribute when it does not define their name (@MatTheCat)
  • Bug #50099 [Cache] Fix success interpretation when pruning cache (@staabm)
  • Bug #50092 [Security] Fix return type of AuthenticationSuccessHandlerInterface::onAuthenticationSuccess() (@nicolas-grekas)
  • Bug #48288 [Security] Make onAuthenticationSuccess Response optional (@db306)
  • Bug #50086 [VarExporter] Fix forwarding references to proxied classes (@nicolas-grekas)
  • Bug #50072 [HttpClient] Fix global state preventing two CurlHttpClient instances from working together (@nicolas-grekas)
  • Bug #50040 [Translation] Crowdin Bridge: Fix locale vs LanguageId (@peter Culka)
  • Bug #50061 [DependencyInjection] Fix support for inner collections when using <bind> (@zerustech)
  • Bug #50022 [DependencyInjection] Fallback to default value when autowiring undefined parameters for optional arguments (@radar3301)
  • Bug #50056 [Form] Fix "prototype_data" option creating duplicates instead of new lines (@Thorry84)
  • Bug #50017 [Validator] Fix support of Enum to ConstraintValidator::formatValue (@PhoneixS)
  • Bug #49356 [Process] Path resolution changes for PHP in the cgi-fcgi mode (@isdn)
  • Bug #48886 [Console] Fix computing column width containing multibyte chars (@cay89)
  • Bug #50049 [Messenger] Fix deprecation layer of RedeliveryStamp (@nicolas-grekas)
  • Bug #47505 [Mime] Form field values with integer keys not resolved correctly (@claudiu-cristea)
  • Bug #50048 [PhpUnitBridge] Fix PHPUnit 10.1 compatibility (@enumag)
  • Bug #50047 [VarDumper] Make the server TCP connection sync (@ogizanagi)
  • Bug #48837 [Messenger] [Redis] Fixed problem where worker stops handling messages on first empty message (@jvmanji)
  • Bug #49317 [Messenger] Fix warning message on failed messenger show command (@gstapinato)
  • Bug #49992 [Mailer] [Mailjet] Use body MessageID instead of X-MJ-Request-GUID (@Starfox64)
  • Bug #48972 [HttpFoundation] Fix memory limit problems in BinaryFileResponse (@glady)
  • Bug #48108 [PropertyAccess] Readonly properties must have no PropertyWriteInfo (@CasvanDongen)
  • Bug #49009 [Form] Cast choices value callback result to string (@Matth--)
  • Bug #49537 [Serializer] Unexpected value should throw UnexpectedValueException (@ThomasTr)
  • Bug #49581 Avoid leading .. for temporary files from Filesystem recursive remove (@giosh94mhz)
  • Bug #50036 [ErrorHandler] Don't throw deprecations for HttplugClient (@nicolas-grekas)
  • Bug #50024 [Serializer] Fix denormalization of object with typed constructor arg (not castable) and with COLLECT_DENORMALIZATION_ERRORS (@lyrixx)
  • Bug #50004 [HttpClient] fix proxied redirects in curl client (@matthi4s)
  • Bug #50008 [Intl] Update the ICU data to 73.1 (@jderusse)
  • Bug #50015 [Serializer] Fix serializer normalize attribute context (@akalineskou)
  • Bug #49987 [Console] Restoring the ability to output unicode text to the Win10 console (@aleksandr-shevchenko)

New in Symfony 6.2.9 (Apr 13, 2023)

  • Bug #49957 [ErrorHandler] Fix sending Vary header with SerializerErrorRenderer (@nicolas-grekas)
  • Bug #49983 [DomCrawler] Avoid passing null to substr/strrpos methods (@VincentLanglet)
  • Bug #49079 [DoctrineBridge] fix issue with missing stopwatch events (@dmaicher)
  • Bug #49926 [HttpClient] Fix canceling MockResponse (@fancyweb)
  • Bug #49889 [FrameworkBundle] Fix registering ExpressionValidator (@nicolas-grekas)

New in Symfony 6.2.8 (Mar 31, 2023)

  • Bug #49835 [Form] CollectionType apply prototypeOptions to ResizeFormListener new fields (@Thorry84)
  • Bug #49849 [FrameworkBundle] Fix services usages output for text descriptor (@rmikalkenas)
  • Bug #49525 [Serializer] Fix serialized path for non-scalar values (@boenner)
  • Bug #49618 [Serializer] Preserve array keys while denormalize variadic parameters (@melya)
  • Bug #49401 [TwigBridge] Fix raw content rendering in HTML notification emails (@1ed)
  • Bug #49679 [FrameworkBundle] enable metadata cache when annotation is disabled (@bastnic)
  • Bug #49796 [HttpClient] Fix not calling the on progress callback when canceling a MockResponse (@fancyweb)
  • Bug #49850 [FrameworkBundle] Fix auto-discovering validator constraints (@nicolas-grekas)
  • Bug #49867 [DependencyInjection] Filter "container.excluded" services when using findTaggedServiceIds() (@nicolas-grekas)
  • Bug #49833 [Translation] TranslatorBag::diff now iterates over catalogue domains instead of operation domains (@welcoMattic)
  • Bug #49848 [Cache] Fix storing binary keys when using pgsql (@nicolas-grekas)
  • Bug #49765 [Console] Add missing ZSH mention in DumpCompletionCommand help (@lyrixx)
  • Bug #49843 [FrameworkBundle] Add missing monolog channel tag for messenger services (@rmikalkenas)
  • Bug #49745 [FrameworkBundle] Fix wiring session.handler when handler_id is null (@nicolas-grekas)
  • Bug #49189 [FrameworkBundle] Improve documentation about translation:extract --sort option (@marien-probesys)
  • Bug #49274 [VarDumper] Disable links for IntelliJ platform (@SerafimArts)
  • Bug #49682 [FrameworkBundle] Workflow - Fix LogicException about a wrong configuration of "enabled" node (@adpauly)
  • Bug #49758 [HttpFoundation] Use separate caches for IpUtils checkIp4 and checkIp6 (@danielburger1337)
  • Bug #49722 [HttpClient] Encode and decode curly brackets {} (@pbowyer)
  • Bug #49720 [Serializer] GetSetMethodNormalizer::supportss should not check ignored methods (@nikophil)
  • Bug #49681 [String] Correct inflection of 'codes' and 'names' (@GwendolenLynch)
  • Bug #49697 [Validator] Update BIC validator IBAN mappings (@maxbeckers)
  • Bug #49706 Stop stopwatch events in case of exception (@MatTheCat)
  • Bug #49657 [HttpKernel] Change limit argument from string to integer for Profiler (@Aliance)
  • Bug #49674 [FrameworkBundle] Rename limiter’s strategy to policy in XSD (@MatTheCat)
  • Bug #49673 [VarDumper] Fixed dumping of CutStub (@lyrixx)
  • Bug #49604 [Mailer] STDOUT blocks infinitely under Windows when STDERR is filled (@TemaYud)
  • Bug #49651 [DependencyInjection] Fix support binary values in parameters. (@vtsykun)
  • Bug #49548 [Messenger] Fix TransportNamesStamp deserialization (@tucksaun)
  • Bug #49580 [HttpClient] Fix encoding "+" in URLs (@nicolas-grekas)
  • Bug #49541 [Security] Remove @internal tag on TraceableAuthenticator::getAuthenticator() (@florentdestremau)
  • Bug #49578 [DependencyInjection] Fix dumping array of enums parameters (@fancyweb)

New in Symfony 6.2.6 (Feb 1, 2023)

  • [HttpFoundation] Fix bad return type in IpUtils::checkIp4()
  • [DependencyInjection] Fix order of arguments when mixing positional and named ones
  • [HttpClient] Fix collecting data non-late for the profiler
  • [Security/Http] Fix compat of persistent remember-me with legacy tokens
  • [Security/Http] Remove CSRF tokens from storage on successful login
  • [HttpKernel] Remove private headers before storing responses with HttpCache

New in Symfony 6.2.4 (Dec 29, 2022)

  • [WebProfilerBundle] Fix the usage of web fonts (@javiereguiluz)
  • [Cache] Fix possibly null value passed to preg_match() in RedisTrait (@chalasr)
  • [Cache] Fix for RedisAdapter without auth parameter (@rikvdh)

New in Symfony 6.2.3 (Dec 28, 2022)

  • bug #48805 [DependencyInjection] Fix resolving parameters when dumping lazy proxies (@nicolas-grekas)
  • bug #48787 [PhpUnitBridge] Use verbose deprecation output for quiet types only when it reaches the threshold (@ogizanagi)
  • bug #48784 [Console] Correctly overwrite progressbars with different line count per step (@ncharalampidis)
  • bug #48801 [Form] Make ButtonType handle form_attr option (@MatTheCat)
  • bug #48791 [DependencyInjection] Fix deduplicating service instances in circular graphs (@nicolas-grekas)
  • bug #48790 [WebProfilerBundle] fix Mailer detail on click (@Jean-Beru)
  • bug #48771 [CssSelector] Fix escape patterns (@fancyweb)
  • bug #48774 [Translation] Fix undefined variable messages in ConstraintVisitor (@alamirault)
  • bug #48727 [PropertyAccess] Fix nullsafe chain like x?.y (@Vincz)
  • bug #48711 [Cache] RedisTrait::createConnection does not pass auth value from redis sentinel cluster DSN (@evgkord)
  • bug #48724 [VarExporter] Fix exporting classes with __unserialize() but not __serialize() (@fancyweb)
  • bug #48746 [Validator] Fix IBAN format for Tunisia and Mauritania (@smelesh)
  • bug #48738 [Workflow] Allow spaces in place names so the PUML dump doesn't break (@kamil Musial)
  • bug #48742 [VarExporter] Generate proxies for static abstract methods (@nicolas-grekas)
  • bug #48735 [SecurityBundle] Prevent RuntimeException on profiler (@marphi)
  • bug #48718 Compatibility with doctrine/annotations 2 (@derrabus)
  • bug #48688 [FrameworkBundle] Add MailPace definition (@skmedix)

New in Symfony 6.2.2 (Dec 17, 2022)

  • bug #48661 [Serializer] fix context attribute with serializedName (@nikophil)
  • bug #48681 [Console] Revert "bug #48089 Fix clear line with question in section (maxbeckers) (@chalasr)
  • bug #48680 [Cache] fix lazyness of redis when using RedisTagAwareAdapter (@nicolas-grekas)
  • bug #48651 [HttpKernel] AbstractSessionListener should not override the cache lifetime for private responses (@rodmen)
  • bug #48591 [DependencyInjection] Shared private services becomes public after a public service is accessed (@alexpott)
  • bug #48126 [Mailer] Include all transports' debug messages in RoundRobin transport exception (@mixdf)
  • bug #48644 [Validator] Allow opt-out of EmailValidator deprecation when using Validation::createValidatorBuilder() (@nicolas-grekas)
  • bug #48606 [FrameworkBundle] container:debug CLI output improvements for excluded services (@apfelbox)
  • bug #48089 [Console] Fix clear line with question in section (@maxbeckers)
  • bug #48602 [HtmlSanitizer] Fix HtmlSanitizer default configuration behavior for allowed schemes (@titouan Galopin)
  • bug #48635 [HttpFoundation] Use relative timestamps with MemcachedSessionHandler (@tvlooy)
  • bug #47979 [Cache] Fix dealing with ext-redis' multi/exec returning a bool (@joão Nogueira)
  • bug #48612 [Messenger] [Amqp] Added missing rpc_timeout option (@lyrixx)
  • bug #48233 [Serializer] Prevent GetSetMethodNormalizer from creating invalid magic method call (@klaussilveira)
  • bug #48628 [HttpFoundation] Fix dumping array cookies (@nicolas-grekas)
  • bug #48559 [ExpressionLanguage] Fix BC of cached SerializedParsedExpression containing GetAttrNode (@fancyweb)
  • bug #48524 [HttpKernel] Fix CacheAttributeListener priority (@HypeMC)
  • bug #48451 [Translation] Fix extraction when dealing with VariadicPlaceholder parameters (@Kocal)
  • bug #48601 [SecurityBundle] Fix authenticator existence check in Security::login() (@chalasr)
  • bug #48587 [TwigBundle] Alias BodyRendererInterface (@n3o77)
  • bug #48580 [Console] Fix missing command not matching namespace error message (@titouan Galopin)
  • bug #48449 [DependencyInjection] Fix bug when tag name is a text node (@BrandonlinU)
  • bug #48048 [WebProfilerBundle] Fix dump header not being displayed (@HypeMC)
  • bug #47836 [HttpClient] TraceableHttpClient: increase decorator's priority (@adpeyre)
  • bug #48259 [FrameworkBundle] Allow configuring framework.exceptions with a config builder (@MatTheCat)
  • bug #48314 [Mime] Fix MessagePart serialization (@Amunak)
  • bug #48331 [Yaml] fix dumping top-level tagged values (@xabbuh)
  • bug #48615 Fix getting the name of closures on PHP 8.1.11+ (@nicolas-grekas)
  • bug #48624 [ErrorHandler][HttpKernel] Fix reading the SYMFONY_IDE env var (@nicolas-grekas)
  • bug #48618 [ErrorHandler] [DebugClassLoader] Fix some new return types support (@fancyweb)
  • bug #48605 [VarExporter] Fix adding a key to an uninitialized array (@nicolas-grekas)
  • bug #48554 [Security] Fix invalid deprecation messages in Security constants (@IonBazan)
  • bug #48538 [Clock] Fix usleep deprecation warning (@victor-prdh)
  • bug #48421 [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected (@bonroyage)
  • bug #48501 [RateLimiter] Add int to Reservation::wait() (@DaRealFreak)
  • bug #48359 [VarDumper] Ignore Error in __debugInfo() (@fancyweb)
  • bug #48553 [VarExporter] Fix calling parent::__wakeup() when unserializing with LazyProxyTrait (@azjezz)
  • bug #48489 [DoctrineBridge] Skip resolving entities when the corresponding request attribute is already an object (@nicolas-grekas)
  • bug #48534 [FrameworkBundle] add kernel.locale_aware tag to LocaleSwitcher (@kbond)
  • bug #48521 [FrameworkBundle] fix removing commands if console not available (@kbond)
  • bug #48522 [DependencyInjection] Generate different classes for ghost objects and virtual proxies (@nicolas-grekas)
  • bug #48482 [DependencyInjection] Revert "bug #48027 Don't autoconfigure tag when it's already set with attributes" (@nicolas-grekas)

New in Symfony 6.2.1 (Dec 6, 2022)

  • Bug #48502 [DependencyInjection] Fix ContainerBuilder stats env usage with enum (@alamirault)
  • Bug #48509 [HttpKernel] Fix using entities with the #[Cache()] attribute (@HypeMC)
  • Bug #48505 [Mailer] Fix rendered templates for notifications (@fabpot)
  • Bug #48476 [WebProfilerBundle] Use same color as other icons for the close toolbar btn (@ogizanagi)
  • Bug #48483 [DependencyInjection] Remove refs that point to container.excluded services when allowed (@nicolas-grekas)
  • Bug #48346 [HttpKernel] In DateTimeValueResolver, convert previously defined date attribute to the expected class (@GromNaN)
  • Bug #48450 [WebProfilerBundle] Fix form panel expanders (@MatTheCat)
  • Bug #48459 [FrameworkBundle] [Framework] Fix Infobip Mailer transport factory import (@gnito-org)
  • Bug #48461 [VarExporter] Fix possible memory-leak when using lazy-objects (@nicolas-grekas)
  • Bug #48335 [TwigBridge] Amend MoneyType twig to include a space (@mogilvie)
  • Bug #48046 [WebProfilerBundle] Remove redundant code from logger template (@HypeMC)
  • Bug #48428 Fixed undefined variable error (@kevin Meijer)
  • Bug #48416 [FrameworkBundle] don't register the MailerTestCommand symfony/console is not installed (@xabbuh)

New in Symfony 6.2.0 (Dec 1, 2022)

  • Changelog (v6.2.0-RC2...v6.2.0):
  • bug #48395 [String] Fix AsciiSlugger with emojis (@fancyweb)
  • bug #48385 [Security] Reuse AbstractFactory's config tree in AccessTokenFactory (@chalasr)
  • bug #48292 [Security] [LoginLink] Throw InvalidLoginLinkException on missing parameter (@MatTheCat)

New in Symfony 6.2.0 RC 2 (Nov 28, 2022)

  • Bug #48366 [Mailer] Fix body renderer check (@fabpot)
  • Bug #48347 [Clock] Autowire PSR interface (@wouterj)
  • Bug #48341 [SecurityBundle] Fix logout.csrf_token_generator default value (@MatTheCat)
  • Bug #48333 [Yaml] parse unquoted digits in tag values as integers (@xabbuh)
  • Bug #48330 [FrameworkBundle] do not wire the MercureTransportFactory if the MercureBundle is not enabled (@xabbuh)
  • Bug #48320 [Clock] Implement PSR-20 (@nicolas-grekas)

New in Symfony 6.2.0 RC 1 (Nov 25, 2022)

  • Bug #48312 [VarExporter] Improve partial-initialization API for ghost objects (@nicolas-grekas)
  • Bug #48285 [Security] Support loading UserBadge directly from accessToken (@Jeroeny)
  • Bug #48262 [Notifier] [SMSBiuras] true/false mismatch for test_mode option (@StaffNowa)
  • Bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
  • Bug #48251 [PropertyInfo] ignore const expressions read by phpdocumentor (@xabbuh)
  • Bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
  • Bug #48271 [WebProfilerBundle] Fix form panel when there are no view vars (@nicolas-grekas)
  • Bug #48274 Add more #[SensitiveParameter] (@fancyweb)
  • Bug #48179 [Console] Support completion for bash functions (@Chi-teck)
  • [PR] #48323

New in Symfony 6.1.7 (Oct 29, 2022)

  • Bug #47990 [HttpClient] Fix retrying requests when the content is used by the strategy (@nicolas-grekas)
  • Bug #48005 [ErrorHandler] s//(@PhilETaylor)
  • Bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
  • Bug #47955 [Security][Serializer] Add missing args to trigger_deprecation (@alamirault)
  • Bug #47932 Throw LogicException instead of Error when trying to generate logout-… (@addiks)
  • Bug #47918 [Intl] Update the ICU data to 72.1 - 5.4 (@jderusse)
  • Bug #47857 [HttpKernel] Fix empty request stack when terminating with exception (@krzyc)
  • Bug #47879 [HttpClient] Fix buffering after calling AsyncContext::passthru() (@nicolas-grekas, @lubo13)
  • Bug #47878 [HttpKernel] Remove EOL when using error_log() in HttpKernel Logger (@cyve)
  • Bug #47854 [HttpClient] Don't override header if is x-www-form-urlencoded (@Oipnet)
  • Bug #47883 [Console] Fix error output on windows cli (@Maximilian.Beckers)
  • Bug #47884 [Cache] Reserve numeric keys when doing memory leak prevention (@simoheinonen)
  • Bug #47863 [DoctrineBridge] Allow doctrine/event-manager 2 (@derrabus)
  • Bug #47831 [Messenger] Fix amqp socket lost (@GurvanVgx)
  • Bug #47855 [Routing] TypeError in Router when using UrlGenerator (@Maximilian.Beckers)
  • Bug #47822 [Mailer] fix: use message object from event (@rogamoore)
  • Bug #47858 [DoctrineBridge] Implement EventManager::getAllListeners() (@derrabus)

New in Symfony 6.1.6 (Oct 12, 2022)

  • Bug #47621 [Serializer] Allow getting discriminated type by class name (@TamasSzigeti)
  • Bug #47833 [TwigBridge] Remove empty spaces between choices when using checkbox-inline or checkbox-switch (@simondaigre)
  • Bug #47808 [HttpClient] Fix seeking in not-yet-initialized requests (@nicolas-grekas)
  • Bug #47798 [DoctrineBridge] Fix auto mapping for bundles that contain only embeddables (@jorissae)
  • Bug #47702 [Messenger] Fix default serializer not handling DateTime objects properly (@barton-webwings)
  • Bug #47764 [Serializer] fixed traceable decoration priorities (@mtarld)
  • Bug #47779 [Console] Fix Helper::removeDecoration hyperlink bug (@greew)
  • Bug #47753 [Mime] sync message serializer code for forward-compatibility (@xabbuh)
  • Bug #47763 [PropertyInfo] a readonly property must not be reported as being writable (@xabbuh)
  • Bug #47731 [WebProfiler] Fix overflow issue in Forms panel (@zolikonta)
  • Bug #46956 [FrameworkBundle] Allow to specify null for exception mapping configuration values (@andrew-demb)
  • Bug #47746 [HttpFoundation] Fix BinaryFileResponse content type detection logic (@X-Coder264)
  • Bug #47626 [Notifier] [Expo] Throw exception on error-response from expo api (@sdrewergutland)
  • Bug #47317 [Security] Fix login url matching when app is not run with url rewriting or from a sub folder (@sgehrig)

New in Symfony 6.1.5 (Sep 30, 2022)

  • bug #47703 [Mailer][Mailjet] Apply the default value of 512 for max depths (@nurtext)
  • bug #47637 [FrameworkBundle] Fix passing serializer.default_context option to normalizers (@wuchen90)
  • bug #47695 [FrameworkBundle] Filter out trans paths that are covered by a parent folder path (@natewiebe13)
  • bug #45554 [Serializer] Fixed framework.serializer.default_context is not working for JsonEncoder (@siganushka)
  • bug #47547 [Ldap] Do not run ldap_set_option on failed connection (@tatankat)
  • bug #47635 [DependencyInjection] EnvPlaceholderParameterBag::get() can't return UnitEnum (@jack.shpartko)
  • bug #47675 [HttpKernel] Use Accept-Language header even if there are no enabled locales (@MatTheCat)
  • bug #47578 [Security] Fix AbstractFormLoginAuthenticator return types (@AndrolGenhald)
  • bug #47614 [FrameworkBundle] Fix a phpdoc in mailer assertions (@HeahDude)
  • bug #47227 [Messenger] Support for custom handler method containing a Union type tagged with #[AsMessageHandler] (@ArchitectNate)
  • bug #47516 [HttpFoundation] Prevent BinaryFileResponse::prepare from adding content type if no content is sent (@naitsirch)
  • bug #47533 [Messenger] decode URL-encoded characters in DSN's usernames/passwords (@xabbuh)
  • bug #47530 [HttpFoundation] Always return strings from accept headers (@ausi)
  • bug #47529 [Routing] Reject v2 UUIDs (@nicolas-grekas)
  • bug #47523 [Uid] Ensure ULIDs are monotonic even when the time goes backward (@nicolas-grekas)
  • bug #47528 [Form] fix UUID tranformer (@nicolas-grekas)
  • bug #47488 [Security] Fix valid remember-me token exposure to the second consequent request (@ivan Kurnosov)
  • bug #47518 [Uid] Fix validating UUID variant bits (@nicolas-grekas)
  • bug #47441 [HttpClient] [HttpClientBundle] Bugfix for delayed retryableHttpClient (@martkop26)
  • bug #47499 [Uid][Validator] Stop to first ULID format violation (@ogizanagi)
  • bug #47491 [HttpKernel] Prevent exception in RequestDataCollector if request stack is empty (@aschempp)
  • bug #47497 [Bridge] Fix mkdir() race condition in ProxyCacheWarmer (@andrey-tech)
  • bug #47415 [HttpClient] Psr18Client ignore invalid HTTP headers (@nuryagdym)
  • bug #47463 [Console] [Completion] Make fish completion run in non interactive mode (@Seldaek)
  • bug #47394 [Console] [Completion] Make bash completion run in non interactive mode (@Seldaek)
  • bug #47455 [Mime] Fix TextPart broken after being serialized (@fabpot)
  • bug #47423 [String] CamelCase/SnakeCase on uppercase word (@mpiot)
  • bug #47435 [HttpKernel] lock when writting profiles (@nicolas-grekas)
  • bug #47417 [WebProfilerBundle] Fix profile search bar link query params (@HeahDude)
  • bug #47437 [Mime] Fix email rendering when having inlined parts that are not related to the content (@fabpot)
  • bug #47434 [HttpFoundation] move flushing outside of Response::closeOutputBuffers (@nicolas-grekas)
  • bug #47351 [FrameworkBundle] Do not throw when describing a factory definition (@MatTheCat)
  • bug #47403 [Mailer] Fix edge cases in STMP transports (@fabpot)

New in Symfony 6.1.4 (Aug 26, 2022)

  • bug #47372 [Console] Fix OutputFormatterStyleStack::getCurrent return type (@alamirault)
  • bug #47391 [LokaliseBridge] Fix push command --delete-missing options when there are no missing messages (@rwionczek)
  • bug #47368 [Security] Count remember me cookie parts before accessing the second (@MatTheCat)
  • bug #47358 Fix broken request stack state if throwable is thrown. (@Warxcell)
  • bug #47304 [Serializer] Fix caching context-aware encoders/decoders in ChainEncoder/ChainDecoder (@Guite)
  • bug #47150 [Serializer] Revert deprecation of ContextAwareEncoderInterface and ContextAwareDecoderInterface (@nicolas-grekas)
  • bug #47329 Email image parts: regex for single closing quote (@rr-it)
  • bug #47335 [Security] [AbstractToken] getUserIdentifier() must return a string (@mpiot)
  • bug #47283 [HttpFoundation] Prevent accepted rate limits with no remaining token to be preferred over denied ones (@MatTheCat)
  • bug #47128 [Serializer] Throw InvalidArgumentException if the data needed in the constructor doesn't belong to a backedEnum (@allison guilhem)
  • bug #47273 [HttpFoundation] Do not send Set-Cookie header twice for deleted session cookie (@X-Coder264)
  • bug #47255 [Serializer] Fix get accessor regex in AnnotationLoader (@jsor)
  • bug #47238 [HttpKernel] Fix passing null to trim() method in LoggerDataCollector (@SVillette)
  • bug #47216 [Translation] Crowdin provider throw Exception when status is 50x (@alamirault)
  • bug #47209 Always attempt to listen for notifications (@goetas)
  • bug #47211 [Validator] validate nested constraints only if they are in the same group (@xabbuh)
  • bug #47218 [Console] fix dispatch signal event check for compatibility with the contract interface (@xabbuh)
  • bug #47200 [Form] ignore missing keys when mapping DateTime objects to uninitialized arrays (@xabbuh)
  • bug #47189 [Validator] Add additional hint when egulias/email-validator needs to be installed (@mpdude)
  • bug #47195 [FrameworkBundle] fix writes to static $kernel property (@xabbuh)
  • bug #47185 [String] Fix snake conversion (@simPod)
  • bug #47175 [DowCrawler] Fix locale-sensitivity of whitespace normalization (@nicolas-grekas)
  • bug #47172 [Translation] Fix reading intl-icu domains with LocoProvider (@nicolas-grekas)
  • bug #47171 [TwigBridge] suggest to install the Twig bundle when the required component is already installed (@xabbuh)
  • bug #47169 [Serializer] Fix throwing right exception in ArrayDenormalizer with invalid type (@norkunas)
  • bug #47162 [Mailer] Fix error message in case of an SMTP error (@fabpot)
  • bug #47161 [Mailer] Fix logic (@fabpot)
  • bug #47157 [Messenger] Fix Doctrine transport on MySQL (@nicolas-grekas)
  • bug #47155 [Filesystem] Remove needless mb_* calls (@HellFirePvP)
  • bug #46190 [Translation] Fix translator overlapse (@xavier RENAUDIN)
  • bug #47142 [Mailer] Fix error message in case of an STMP error (@fabpot)
  • bug #45333 [Console] Fix ConsoleEvents::SIGNAL subscriber dispatch (@GwendolenLynch)
  • bug #47145 [HttpClient] Fix shared connections not being freed on PHP < 8 (@nicolas-grekas)
  • bug #47143 [HttpClient] Fix memory leak when using StreamWrapper (@nicolas-grekas)
  • bug #47130 [HttpFoundation] Fix invalid ID not regenerated with native PHP file sessions (@BrokenSourceCode)
  • bug #47129 [FrameworkBundle] remove the ChatterInterface alias when the chatter service is removed (@xabbuh)

New in Symfony 6.1.3 (Jul 29, 2022)

  • bug #47069 [Security] Allow redirect after login to absolute URLs (@tim Ward)
  • bug #47073 [HttpKernel] Fix non-scalar check in surrogate fragment renderer (@aschempp)
  • bug #46849 [HtmlSanitizer] Allow null for sanitizer option allowed_link_hosts and allowed_media_hosts (@plfort)
  • bug #47104 [Serializer] Fix wrong needsNormalization in TraceableEncoder (@ostrolucky)
  • bug #47003 [Cache] Ensured that redis adapter can use multiple redis sentinel hosts (@warslett)
  • bug #43329 [Serializer] Respect default context in DateTimeNormalizer::denormalize (@hultberg)
  • bug #47070 [Messenger] Fix function name in TriggerSql on postgresql bridge to support table name with schema (@zimny9932)
  • bug #47086 Workaround disabled "var_dump" (@nicolas-grekas)
  • bug #40828 [BrowserKit] Merge fields and files recursively if they are multidimensional array (@januszmk)
  • bug #47010 [String] Fix width method in AbstractUnicodeString (@TBoileau)
  • bug #47048 [Serializer] Fix XmlEncoder encoding attribute false (@alamirault)
  • bug #46957 [HttpFoundation] Fix Stringable support in InputBag::get() (@chalasr)
  • bug #47022 [Console] get full command path for command in search path (@remicollet)
  • bug #47000 [ErrorHandler] Fix return type patching for list and class-string pseudo types (@derrabus)
  • bug #43998 [HttpKernel] [HttpCache] Don't throw on 304 Not Modified (@aleho)
  • bug #46792 [Bridge] Corrects bug in test listener trait (@magikid)
  • bug #46985 [DoctrineBridge] Avoid calling AbstractPlatform::hasNativeGuidType() (@derrabus)
  • bug #46958 [Serializer] Ignore getter with required parameters (Fix #46592) (@astepin)
  • bug #46981 [Mime] quote address names if they contain parentheses (@xabbuh)
  • bug #46960 [FrameworkBundle] Fail gracefully when forms use disabled CSRF (@HeahDude)
  • bug #46973 [DependencyInjection] Fail gracefully when attempting to autowire composite types (@derrabus)
  • bug #45884 [Serializer] Fix inconsistent behaviour of nullable objects in key/value arrays (@phramz)
  • bug #46963 [Mime] Fix inline parts when added via attachPart() (@fabpot)
  • bug #46968 [PropertyInfo] Make sure nested composite types do not crash ReflectionExtractor (@derrabus)
  • bug #46931 Flush backend output buffer after closing. (@bradjones1)
  • bug #46947 [Serializer] Prevent that bad Ignore method annotations lead to incorrect results (@astepin)
  • bug #46948 [Validator] : Fix "PHP Warning: Undefined array key 1" in NotCompromisedPasswordValidator (@KevinVanSonsbeek)
  • bug #46905 [BrowserKit] fix sending request to paths containing multiple slashes (@xabbuh)
  • bug #46244 [Validator] Fix traverse option on Valid constraint when used as Attribute (@tobias-93)
  • bug #42033 [HttpFoundation] Fix deleteFileAfterSend on client abortion (@nerg4l)
  • bug #46941 [Messenger] Fix calls to deprecated DBAL methods (@derrabus)
  • bug #46863 [Mime] Fix invalid DKIM signature with multiple parts (@BrokenSourceCode)
  • bug #46808 [HttpFoundation] Fix TypeError on null $_SESSION in NativeSessionStorage::save() (@chalasr)
  • bug #46811 [DoctrineBridge] Fix comment for type on Query::setValue (middlewares) (@l-vo)
  • bug #46790 [HttpFoundation] Prevent PHP Warning: Session ID is too long or contains illegal characters (@BrokenSourceCode)
  • bug #46700 [HttpClient] Prevent "Fatal error" in data collector (@fmata)
  • bug #46800 Spaces in system temp folder path cause deprecation errors in php 8 (@demeritcowboy)
  • bug #46797 [Messenger] Ceil waiting time when multiplier is a float on retry (@WissameMekhilef)

New in Symfony 6.1.2 (Jun 26, 2022)

  • bug #46779 [String] Add an invariable word in french (@lemonlab)
  • bug #46765 [Serializer] Fix denormalization union types with constructor (@Gwemox)
  • bug #46769 [HttpKernel] Fix a PHP 8.1 deprecation notice in HttpCache (@mpdude)
  • bug #46760 Fix double authentication via RememberMe resulting in wrong RememberMe cookie being set in client (@heiglandreas)
  • bug #46766 Initially set user null. (@mogilvie)
  • bug #46735 [Messenger] Do not log the message object itself (@ajardin)
  • bug #46748 [Security] Fix legacy impersonation system (@dunglas)
  • bug #46747 Fix global state pollution between tests run with ApplicationTester (@Seldaek)
  • bug #46730 [Intl] Fix the IntlDateFormatter::formatObject signature (@damienalexandre)
  • bug #46668 [FrameworkBundle] Lower JsonSerializableNormalizer priority (@aprat84)
  • bug #46711 [PhpUnitBridge] Exclude from baseline generation deprecations triggered in legacy test (@mondrake)
  • bug #46678 [HttpFoundation] Update "[Session] Overwrite invalid session id" to only validate when files session storage is used (@alexpott)
  • bug #46665 [HttpClient] Fix Copy as curl with base uri (@HypeMC)
  • bug #46670 [HttpClient] Fix json encode flags usage in copy-as-curl generation (@welcoMattic)
  • bug #45861 [Serializer] Try all possible denormalization route with union types when ALLOW_EXTRA_ATTRIBUTES=false (@T-bond)
  • bug #46676 [DoctrineBridge] Extend type guessing on enum fields (@gigino Chianese)
  • bug #46699 [Cache] Respect $save option in all adapters (@jrjohnson)
  • bug #46697 [HttpKernel] Disable session tracking while collecting profiler data (@nicolas-grekas)
  • bug #46704 Allow passing null in twig_is_selected_choice (@raziel057)
  • bug #46684 [MonologBridge] Fixed support of elasticsearch 7.+ in ElasticsearchLogstashHandler (@lyrixx)
  • bug #46650 [WebProfilerBundle] Bump http-kernel requirement to ^6.1 (@ostrolucky)
  • bug #46646 [Messenger] move resetting services at worker stopped into listener (@thomas Talbot)
  • bug #46611 [PropertyInfo] Fix multi phpdoc covered promoted properties (@ostrolucky, @simPod)
  • bug #46368 [Mailer] Fix for missing sender name in case with usage of the EnvelopeListener (@bobahvas)
  • bug #46603 [Mailer] Fix Error Handling for OhMySMTP Bridge (@paul-oms)

New in Symfony 6.1.1 (Jun 9, 2022)

  • bug #46570 [HttpClient][WebProfilerBundle] Catch errors when encoding body for c… (@phillip Look)
  • bug #46583 [HttpClient] Copy as curl fixes (@HypeMC)
  • bug #46625 [FrameworkBundle] Disable Serializer data collect by default (@chalasr)
  • bug #46545 Fix getting class constraints on debug command (@loic425)
  • bug #46548 [Mime] Allow url as a path in the DataPart::fromPath (@wkania)
  • bug #46576 Fix choice filter error when loading mix of grouped and non-grouped choices (@BreyndotEchse)
  • bug #46594 [FrameworkBundle] Fix XML cache config (@HeahDude)
  • bug #46610 [Messenger] use the outermost wrapping DBAL connection (@xabbuh)
  • bug #46595 [Console] Escape in command name & description from getDefaultName() (@ogizanagi)
  • bug #46608 [Console] Fix deprecation when description is null (@HypeMC)
  • bug #46586 [HttpKernel] Fix BackedEnumValueResolver already resolved enum value (@janatjak)
  • bug #46574 [Console] Escape in command name & description from PHP (getDefault* methods) (@ogizanagi)
  • bug #46577 [Serializer] Fix ignore attribute in Xml files (@alamirault)
  • bug #46565 [WebProfilerBundle] Fix dark theme selected line highlight color & reuse css vars (@ogizanagi)
  • bug #46553 [WebProfilerBundle] normalizer and encoder can be undefined in template (@kor3k)
  • bug #46538 [FrameworkBundle][HtmlSanitizer] Fix calling allowStaticElements when setting allow_all_static_elements: true (@norkunas)
  • bug #46525 [Serializer] Get attributeContext after converting name (@zenas1210)
  • bug #46535 [Mime] Check that the path is a file in the DataPart::fromPath (@wkania)
  • bug #46543 [Cache] do not pass null to strlen() (@xabbuh)
  • bug #46523 [HttpFoundation] Revert "Send Content-Length when calling Response::send() and the content is a non-empty string" (@nicolas-grekas)
  • bug #46526 [Serializer] Added missing __call to TraceableEncoder (@danielburger1337)
  • bug #46527 [Serializer] Forget partially collected traces (@mtarld)
  • bug #46515 [PropertyInfo] Fix extracting int range type (@norkunas)
  • bug #46511 [Serializer] Added missing __call to TraceableNormalizer and TraceableSerializer (@danielburger1337)
  • bug #46478 [Contracts] remove static cache from ServiceSubscriberTrait (@kbond)
  • bug #46480 [FrameworkBundle][TwigBundle] Fix registering html-sanitizer services (@nicolas-grekas)
  • bug #46475 [MonologBridge] ensure that the $response property is initialized before being read (@xabbuh)

New in Symfony 6.0.9 (May 27, 2022)

  • [Console] Fix missing negative variation of negatable options in shell completion (@GromNaN)
  • [DependencyInjection] Fix "proxy" tag: resolve its parameters and pass it to child definitions (@nicolas-grekas)
  • [FrameworkBundle] Revert "
  • 46125 Always add CacheCollectorPass (fancyweb)" (@chalasr)
  • [DoctrineBridge] Don't reinit managers when they are proxied as ghost objects (@nicolas-grekas)
  • [FrameworkBundle] fix wiring of annotations.cached_reader (@nicolas-grekas)
  • [DependencyInjection] Ignore unused bindings defined by attribute (@nicolas-grekas)
  • [FrameworkBundle] Fix BC break in abstract config commands (@yceruto)
  • [Form] do not accept array input when a form is not multiple (@xabbuh)
  • [Mime] Throw exception when body in Email attach method is not ok (@alamirault)
  • [VarDumper][VarExporter] Deal with DatePeriod->include_end_date on PHP 8.2 (@nicolas-grekas)
  • [Cache] Throw when "redis_sentinel" is used with a non-Predis "class" option (@buffcode)
  • Bootstrap 4 fieldset for row errors (@konradkozaczenko)
  • [FrameworkBundle] Fix dumping extension config without bundle (@yceruto)
  • [HttpClient] Honor "max_duration" when replacing requests with async decorators (@nicolas-grekas)
  • [Filesystem] Safeguard (sym)link calls (@derrabus)
  • [Form] Fix same choice loader with different choice values (@HeahDude)
  • [HttpClient] Add missing HttpOptions::setMaxDuration() (@nicolas-grekas)
  • [HttpKernel] Fix missing null type in ErrorListener::__construct() (@chalasr)
  • [HttpFoundation] [Session] Regenerate invalid session id (@peter17)
  • [Config] Allow scalar configuration in PHP Configuration (@jderusse, @HypeMC)
  • [Mime] Add null check for EmailHeaderSame (@magikid)
  • [Config] Fix looking for single files in phars with GlobResource (@nicolas-grekas)
  • [HttpKernel] Revert "
  • Allow ErrorHandler ^5.0 to be used" (@nicolas-grekas)
  • Fixes "Incorrectly nested style tag found" error when using multi-line header content (@Perturbatio)
  • [Ldap] Fix LDAP connection options (@buffcode)
  • Fix aliases handling in command name completion (@Seldaek)
  • [Security/Http] Ignore invalid URLs found in failure/success paths (@nicolas-grekas)
  • [Security] Fix division by zero (@tvlooy)
  • [HttpKernel] Allow ErrorHandler ^5.0 to be used in HttpKernel 4.4 (@mpdude)
  • [Serializer] Fix JsonSerializableNormalizer ignores circular reference handler in $context (@BreyndotEchse)
  • [Console] Suppress unhandled error in some specific use-cases. (@rw4lll)
  • [ErrorHandler] Fix list of tentative return types (@nicolas-grekas)
  • [Serializer][PropertyInfo] Fix support for "false" built-in type on PHP 8.2 (@alexandre-daubois)
  • [HttpKernel] Fix SessionListener without session in request (@edditor)
  • [DoctrineBridge] Treat firstResult === 0 like null (@derrabus)
  • [Translation] Refresh local translations on PushCommand if the provider has domains (@Florian-B)
  • [DependencyInjection] Fix lazyness of AutowiringFailedException (@nicolas-grekas)
  • [Workflow] Fix deprecated syntax for interpolated strings (@nicolas-grekas)
  • [Console] Better required argument check in InputArgument (@jnoordsij)
  • [EventDispatcher] Fix removing listeners when using first-class callable syntax (@javer)
  • [Form] fix populating single widget time view data with different timezones (@xabbuh)
  • [DomCrawler][VarDumper] Fix html-encoding emojis (@nicolas-grekas)
  • [VarExporter] Fix exporting DateTime objects on PHP 8.2 (@nicolas-grekas)

New in Symfony 6.1.0 RC 1 (May 15, 2022)

  • feature #46335 [Form][FrameworkBundle][TwigBundle] Add Twig filter, form-type extension and improve service definitions for HtmlSanitizer (@nicolas-grekas)
  • bug #46114 Fixes "Incorrectly nested style tag found" error when using multi-line header content (@Perturbatio)
  • bug #46325 [Ldap] Fix LDAP connection options (@buffcode)
  • bug #46341 Fix aliases handling in command name completion (@Seldaek)
  • bug #46317 [Security/Http] Ignore invalid URLs found in failure/success paths (@nicolas-grekas)
  • bug #46309 [Security] Fix division by zero (@tvlooy)
  • bug #46327 [HttpKernel] Allow ErrorHandler ^5.0 to be used in HttpKernel 4.4 (@mpdude)
  • bug #46310 [MonologBridge] Fix LevelName being removed in Monolog 3.0 (@Seldaek)
  • bug #46297 [Serializer] Fix JsonSerializableNormalizer ignores circular reference handler in $context (@BreyndotEchse)
  • bug #46291 [Console] Suppress unhandled error in some specific use-cases. (@rw4lll)
  • bug #46302 [ErrorHandler] Fix list of tentative return types (@nicolas-grekas)
  • bug #46293 [HttpClient] "debug" is missing if a request failed to even start (@weaverryan)
  • bug #45981 [Serializer][PropertyInfo] Fix support for "false" built-in type on PHP 8.2 (@alexandre-daubois)
  • feature #41676 [Console] Table vertical rendering (@yoannrenard)
  • bug #46277 [HttpKernel] Fix SessionListener without session in request (@edditor)
  • bug #46282 [DoctrineBridge] Treat firstResult === 0 like null (@derrabus)
  • bug #46239 [Translation] Refresh local translations on PushCommand if the provider has domains (@Florian-B)
  • bug #46274 [HtmlSanitizer] Fix node renderer handling of self-closing (void) elements (@omniError)
  • bug #46276 [DependencyInjection] Fix lazyness of AutowiringFailedException (@nicolas-grekas)
  • bug #46278 [Workflow] Fix deprecated syntax for interpolated strings (@nicolas-grekas)
  • bug #46264 [Console] Better required argument check in InputArgument (@jnoordsij)
  • bug #46272 [DependencyInjection] Fix resolving parameters found in #[Autowire] (@nicolas-grekas)
  • bug #46262 [EventDispatcher] Fix removing listeners when using first-class callable syntax (@javer)
  • feature #46153 [MonologBridge] Add support for Monolog 3 (@Seldaek)
  • bug #46199 [HttpKernel] Handle previously converted DateTime arguments (@mbabker)
  • bug #46216 [Form] fix populating single widget time view data with different timezones (@xabbuh)
  • bug #46221 [DomCrawler][VarDumper] Fix html-encoding emojis (@nicolas-grekas)
  • bug #46220 [Console] Fix fish completion script (@wouterj)
  • bug #46167 [VarExporter] Fix exporting DateTime objects on PHP 8.2 (@nicolas-grekas)

New in Symfony 6.0.8 (Apr 27, 2022)

  • bug #46154 [Mailer] Restore X-Transport after failure (@zenas1210)
  • bug #46178 [DependencyInjection] Properly declare #[When] as allowed on functions (@nicolas-grekas)
  • bug #46171 [VarDumper] Fix dumping floats on PHP8 (@nicolas-grekas)
  • bug #46170 Fix dumping enums on PHP 8.2 (@nicolas-grekas)
  • bug #46143 [Cache] Prevent fatal errors on php 8 when running concurrently with TagAwareAdapter v6.1 (@sbelyshkin)
  • bug #46149 Modify processing of uploaded files to be compatible with PHP 8.1 (@p-golovin)
  • bug #46125 [FrameworkBundle] Always add CacheCollectorPass (@fancyweb)
  • bug #46121 Fix "Notice: Undefined index: headers" in messenger with Oracle (@rjd22)
  • bug #46106 [String] Fix ansi escape sequences regex (@fancyweb)
  • bug #46097 [Routing] fix router base url when default uri has trailing slash (@Tobion)
  • bug #46054 [SecurityBundle] Use config's secret in remember-me signatures (@jderusse)
  • bug #46051 Don't replace symfony/security-guard (@derrabus)
  • bug #45980 [Finder] Add support of no-capture regex modifier in MultiplePcreFilterIterator (available from PHP 8.2) (@alexandre-daubois)
  • bug #45394 [HttpKernel] Use the existing session id if available. (@trsteel88)
  • bug #46008 [Workflow] Catch error when trying to get an uninitialized marking (@lyrixx)
  • bug #45171 [Translation] Allow usage of Provider domains if possible (@welcoMattic)
  • bug #40998 [Form] Use reference date in reverse transform (@KDederichs)
  • bug #46012 [HttpKernel] Fix Symfony not working on SMB share (@qinshuze)
  • bug #45983 [Messenger] DoctrineTransportFactory works with notify and decorated PostgreSQL driver (@alamirault)
  • bug #45992 [Mailer] Return-Path has higher priority for envelope address than From address (@tpetry)
  • bug #45998 [HttpClient] Fix sending content-length when streaming the body (@nicolas-grekas)
  • bug #45565 Fix table header seperator wrapping (@alamirault)
  • bug #45969 [Intl] Update the ICU data to 71.1 - 5.4 (@jderusse)
  • bug #45968 [Intl] Update the ICU data to 71.1 - 4.4 (@jderusse)
  • bug #45964 Fix use_cookies framework session configuration (@alexander-schranz)
  • bug #45947 [FrameworkBundle] [Command] Fix debug:router --no-interaction error … (@WilliamBoulle)
  • bug #45948 [RateLimiter] Adding default empty string value on Security::LAST_USERNAME (@David-Crty)
  • bug #45931 [Process] Fix Process::getEnv() when setEnv() hasn't been called before (@asika32764)
  • bug #45928 [ExpressionLanguage] Fix matching null against a regular expression (@ausi)
  • bug #45925 [RateLimiter] Add typecase to SlidingWindow::getExpirationTime (@georgringer)
  • bug #45910 [Messenger] reset connection on worker shutdown (@SanderHagen)
  • bug #45909 [Form][TwigBundle] reset Twig form theme resources between requests (@xabbuh)

New in Symfony 6.1.0 Beta 1 (Apr 15, 2022)

  • Feature #44798 [FrameworkBundle] Integrate the HtmlSanitizer component (@tgalopin, @wouterj)
  • Feature #46045 [Translation] Improve LocaleSwitcher a bit (@nicolas-grekas)
  • Feature #42403 [Validator] Define which collection keys should be checked for uniqueness (@wkania)
  • Feature #44405 [Routing] Allow using services in the route condition (@renanbr)
  • Feature #46009 [FrameworkBundle] Add support for first-class callable route controller in MicroKernelTrait (@fancyweb)
  • Feature #44155 [FrameworkBundle] Add semaphore configuration (@jderusse)
  • Feature #45803 [Routing] Add EnumRequirement to help generate route requirements from a BackedEnum (@fancyweb)
  • Feature #45724 [FrameworkBundle] Add support to set BinaryFileResponse::trustXSendfileTypeHeader over config (@alexander-schranz)
  • Feature #45092 [HttpFoundation] Send Content-Length when calling Response::send() and the content is a non-empty string (@nicolas-grekas)
  • Feature #45967 [Messenger] Consume a PSR-14 dispatcher for dispatching events (@derrabus)
  • Feature #45951 [Notifier] [OvhCloud] Add no_stop_clause to DSN (@alamirault)
  • Feature #45795 [ExpressionLanguage] Add support for null-safe operator (@mytuny)
  • Feature #45605 [Form] Add prototype_options to CollectionType (@michaelKaefer)
  • Feature #45912 [ExpressionLanguage] Add some more operators (@fabpot)
  • Feature #45656 [Serializer] Add serializer profiler (@mtarld)
  • Feature #45072 [Validator] Allow creating constraints with required arguments (@norkunas)
  • Feature #43239 [Finder] Look for gitignore patterns up to git root (@julienfalque)
  • Feature #45845 [TwigBundle] Pre-compile only *.twig files in cache warmup (@GromNaN)
  • Feature #44446 [Mailer] Improve extensibility of EsmtpTransport (@ampaze)
  • Feature #45226 [PhpUnitBridge] Add option ignoreFile to configure a file that lists deprecation messages to ignore (@mondrake)
  • Feature #43163 [Messenger] Add Redis Sentinel support (@norbertschultheisz)
  • Feature #43701 [HttpKernel] Simplifying Bundle/Extension config definition (@yceruto)
  • Feature #45873 [HttpFoundation] Allow dynamic session "ttl" when using a remote storage (@nicolas-grekas)
  • Feature #45878 [DependencyInjection] Add argument type closure to help passing closures to services (@nicolas-grekas)
  • Feature #44898 [Ldap] LDAP authentication should return a meaningful error when the LDAP server is unavailable (@Jayfrown)
  • Feature #45090 [Validator] Improve Image constraint invalid mime type message (@fancyweb)
  • Feature #42997 [Cache] Improve reliability and performance of TagAwareAdapter by making tag versions an integral part of item value (@Sergey Belyshkin, @nicolas-grekas)
  • Feature #45512 [DependencyInjection] Allow using expressions as service factories (@nicolas-grekas, @jvasseur)
  • Feature #45273 [Messenger] Allow AsMessageHandler attribute on methods (@mjpvandenberg, @fabpot)
  • Feature #44284 [SecurityBundle] Display the inherited roles of the logged-in user in the WDT (@jmsche)
  • Feature #44303 Add Engagespot bridge (@danut007ro)
  • Feature #44532 Handle CSV DSN in ZookeeperStore (@qkdreyer)
  • Feature #45047 [Notifier] Use Importance level to set flash message type (@benr77, @fabpot)
  • Feature #45166 [HttpFoundation] add stale while revalidate cache header (@remieuronews)
  • Feature #45195 [Notifier] Add Sendberry notifier bridge (@StaffNowa)
  • Feature #45793 [FrameworkBundle][Translation] add LocaleSwitcher service (@kbond)
  • Feature #45833 [HttpKernel] Add Http Status 423 LockedHttpException (@xosofox)
  • Feature #45705 [FrameworkBundle] Deprecate the messenger.reset_on_message config option (@upyx)
  • Feature #45812 [HttpClient] Improve default content-type handling (@nicolas-grekas)
  • Feature #45783 [DependencyInjection] adjust Autowire attribute implementation (@kbond)
  • Feature #44171 [Config] Add comment on array methods (@jderusse)
  • Feature #45657 [DependencyInjection] add Autowire parameter attribute (@kbond)
  • Feature #45725 [Finder] Fix SplFileInfo PHPDoc (@InvisibleSmiley)
  • Feature #44948 [Console] Add completion values to input definition (@GromNaN)
  • Feature #45745 [ErrorHandler][HttpKernel] Read SYMFONY_IDE to render exception in case of fatal error (@GromNaN)
  • Feature #45765 Mailer - Display email recipients in Profiler (@raziel057)
  • Feature #45094 Add generics to ArgumentMetadata::getAttributes (@Seldaek)
  • Feature #45761 Throw access denied if CurrentUser cannot be resolved instead of a 500 (@Seldaek)
  • Feature #45680 [DependencyInjection] use #[Required] for ServiceSubscriberTrait::setContainer() (@kbond)
  • Feature #45624 [Config] Allow using environment variables in EnumNode (@ecourtial)
  • Feature #45484 Make constraint violation interfaces stringable (@HypeMC)
  • Feature #43931 [HttpClient][WebProfilerBundle] Add button to copy a request as a cURL command (@Deuchnord)
  • Feature #45515 [BrowserKit] Add toArray to Response (@HypeMC)
  • Feature #45658 [Routing] Avoid double encoded slashes in query parameters (@usu)
  • Feature #45062 [PropertyInfo] Add PHP 8.0 promoted properties @param mutation support to PhpDocExtractor (@raphaelvoisin)
  • Feature #44522 [Messenger] add TransportMessageIdStamp to RedisSender (@GaryPEGEOT)
  • Feature #45623 [Validator] Deprecate constraint "ExpressionLanguageSyntax", use "ExpressionSyntax" instead (@mpiot)
  • Feature #45563 Deprecate requiring the "symfony/symfony" package (@nicolas-grekas)
  • Feature #45616 [HttpClient] Remove credentials from requests redirected to same host but different port (@GromNaN)
  • Feature #45377 Bump minimum version of PHP to 8.1 (@nicolas-grekas)
  • Feature #45421 [Translation] Add the possibilty to export xliff translation with the .xliff suffix (@DanielBadura)
  • Feature #45152 Ability to customize payload when sending mail through mailjet+api (@gam6itko)
  • Feature #44665 [HttpKernel] Add the UidValueResolver argument value resolver (@fancyweb)
  • Feature #44073 [ExpressionLanguage] Support lexing numbers with underscores and decimals with no leading zero (@fancyweb)
  • Feature #44721 [Serializer] Deprecate support for abstract uid denormalization in UidNormalizer (@fancyweb)
  • Feature #44615 [Routing] Support the "attribute" type (alias of "annotation") in annotation loaders (@fancyweb)
  • Feature #45265 [HttpKernel] Add Profiler::isEnabled() method (@Bilge)
  • Feature #45449 [Mime] Added getter for "TextPart::$name" (@MasterRO94)
  • Feature #45402 make Message classes extensible (@bitgandtter)
  • Feature #45476 [HttpKernel] Deprecate StreamedResponseListener, it serves no purpose anymore (@nicolas-grekas)
  • Feature #45436 [Messenger] Support setting connection_name for AMQP (@a.dmitryuk)
  • Feature #45450 [DependencyInjection] Add an env function to DI expression language (@jvasseur)
  • Feature #45388 [Mailer] Allow manually start() of SmtpTransport (@jannick-holm)
  • Feature #45376 [Mime] Fix embed logic for background attributes (@flack)
  • Feature #45360 [ErrorHandler] trigger deprecations for @final properties (@nicolas-grekas, @fancyweb)
  • Feature #45371 [Validator] Deprecate Constraint::$errorNames in favor of Constraint::ERROR_NAMES (@nicolas-grekas)
  • Feature #44692 [Cache][FrameworkBundle] add cache:pool:invalidate-tags command (@kbond)
  • Feature #45361 [Console] Deprecate the $defaultName property (@derrabus)
  • Feature #45313 [Cache] Add support for ACL auth in RedisAdapter (@gam6itko)
  • Feature #45303 [ErrorHandler] Report overridden @Final constants (@fancyweb)
  • Feature #44484 [Translation] [Loco] Send If-Modified-Since header when possible (@Kocal)
  • Feature #45307 [Mailer] Allow manually stop() of SmtpTransport (@dvaeversted)
  • Feature #43973 [Serializer] Add context builders (@mtarld)
  • Feature #45222 [Mailer] Implement EmailTags for Amazon Mailer (@driesvints, @kbond)
  • Feature #44670 [SecurityBundle] Allow to specify a RequestMatcher directly in an ACL definition (@TristanPouliquen)
  • Feature #45139 [Notifier] smsapi-notifier fast option to sending message with the highest priority (@marphi)
  • Feature #45155 [Serializer] Set context annotation as not final (@benjaminmal)
  • Feature #44503 [FrameworkBundle] Allow PHP configuration in config/packages by default (@dreadnip)
  • Feature #45101 [Form] Add inputmode attribute on NumberType (@welcoMattic)
  • Feature #45075 [Routing] Enrich MissingMandatoryParametersException (@adrienlucas)
  • Feature #45064 [Messenger] Add sessionToken option to SQS transport (@filkaris)
  • Feature #44917 [Mailer] Add downloadable attachments to profiler (@dbrekelmans)
  • Feature #45054 [Routing] Allow using UTF-8 parameter names (@nicolas-grekas)
  • Feature #44360 [Notifier] [Bridge] [KazInfoTeh] added the bridge (@taranovegor)
  • Feature #44874 [Notifier] Added 46elks notifier bridge (@jongotlin)
  • Feature #44913 [Notifier] Add Orange SMS bridge (@enigma972)
  • Feature #44971 [Messenger] Resolve handled classes when only method in tag is provided (@angelov)
  • Feature #43982 [Messenger][Serializer] Deprecate "context aware" interfaces (@mtarld)
  • Feature #44790 [Serializer] Give more hints when an attribute is not correctly used (@lyrixx)
  • Feature #44831 [HttpKernel] Add a controller argument resolver for backed enums (@ogizanagi)
  • Feature #44589 [Messenger] add SerializedMessageStamp (@nikophil)
  • Feature #41750 [Yaml] Double-quote strings with single quote marks (@Ostrzyciel)
  • Feature #44774 Add exclude to TaggedIterator and TaggedLocator (@ruudk)
  • Feature #44681 [HtmlSanitizer] Introduce HtmlSanitizer component (@tgalopin)
  • Feature #44311 [Mime] add DraftEmail (@kbond)
  • Feature #44746 [Console] Add method __toString() to InputInterface (@boesing)
  • Feature #44568 [HttpClient] Allow yielding Exception from MockResponse's $body to mock transport errors (@fancyweb)
  • Feature #44672 [Translation] Translatable parameters (@sylfabre)
  • Feature #44451 [PropertyInfo] Add support for phpDocumentor and PHPStan pseudo-types (@EmilMassey)
  • Feature #44575 [Framework] Read env var SYMFONY_IDE by default for framework.ide (@GromNaN)
  • Feature #43641 [Console] Issue 43602 : Add fish completion (@guillaume-a)
  • Feature #44150 [Assets] Accept empty base_url, in order to simplify local dev configuration. (@GromNaN)
  • Feature #44137 [Mailer] [Mailgun] Allow multiple TagHeaders with MailgunApiTransport (@starred-gijs)
  • Feature #44543 [HttpFoundation] Update cookie date time format (@chapterjason)
  • Feature #44483 [HttpKernel][WebProfilerBundle] adding xdebug_info page to webprofilerbundle (@chr-hertel)

New in Symfony 6.0.7 (Apr 2, 2022)

  • [HttpClient] on redirections don't send content related request headers (@xabbuh)
  • [Messenger] Fix cannot select FOR UPDATE from view on Oracle (@rjd22)
  • [TwigBridge] Fix the build (@wouterj)
  • [Messenger] Add mysql indexes back and work around deadlocks using soft-delete (@nicolas-grekas)
  • [PropertyInfo] PhpStanExtractor namespace missmatch issue (@Korbeil)
  • [TwigBridge] fix bootstrap_3_layout ChoiceType's expanded label_html (@ytilotti)
  • [HttpClient] Fix exporting objects with readonly properties (@nicolas-grekas)
  • [ExpressionLanguage] Fix matches when the regexp is not valid (@fabpot)
  • [RateLimiter] Always store SlidingWindows with an expiration set (@Seldaek)
  • [Validator] Fix File constraint invalid max size exception message (@fancyweb)
  • [Console] Fix exit status on uncaught exception with negative code (@acoulton)
  • [Validator] fix #43345 @AssertDivisibleBy (@CharlyPoppins)
  • [Translation] [LocoProvider] Add content-type for POST translations (@tomasz Kusy)
  • [Translation] Fix locales format in CrowdinProvider (@ossinkine)
  • [DoctrineBridge] Allow to use a middleware instead of DbalLogger (@l-vo)
  • [Translation] Fix intersect in TranslatorBag (@ossinkine)
  • [Serializer] Fix denormalizing union types (@T-bond)
  • Fix compatibility of ldap 6.0 with security 5.x (@jderusse)
  • [Security] Fixed TOCTOU in RememberMe cache token verifier (@ivan Kurnosov)
  • [Mailer] Preserve case of headers (@nicolas-grekas)
  • [FrameworkBundle] Fix exit codes in debug:translation command (@gndk)
  • [Config] Fix using null values with config builders (@HypeMC)
  • [HttpClient] Let curl handle Content-Length headers (@nicolas-grekas)
  • [HttpClient] Move Content-Type after Content-Length (@nicolas-grekas)
  • [Lock] SemaphoreStore catching exception from sem_get (@Triplkrypl)
  • [Mailer] Use recipients in sendmail transport (@HypeMC)
  • [PropertyInfo] strip only leading when unknown docType (@EmilMassey)
  • [RateLimiter] Fix rate serialization for long intervals (monthly and yearly) (@smelesh)
  • [Serializer] Fix nested deserialization_path computation when there is no metadata for the attribute (@fancyweb)
  • [Console] Fix compact table style to avoid outputting a leading space (@Seldaek)
  • [Mailer] fix: stringify from address for ses+api transport (@everyx)
  • Make FormErrorIterator generic (@VincentLanglet)
  • [Process] Don't return executable directories in PhpExecutableFinder (@fancyweb)
  • [symfony/mailjet-mailer] Fix invalid mailjet error managment (@alamirault, @fancyweb)
  • [Security] Fix return value of NullToken::getUser() (@chalasr)
  • typehint of DkimOptions algorithm wrong (@markusramsak)
  • [Form] Fix the usage of the Valid constraints in array-based forms (@stof)
  • [DependencyInjection] fix ServiceSubscriberTrait bug where parent has __call() (@kbond)
  • [HttpClient] Fix reading proxy settings from dotenv when curl is used (@nicolas-grekas)
  • [Runtime] Fix passing $debug parameter to ErrorHandler (@Kocal)
  • [FrameworkBundle] Fix container:lint and #[Autoconfigure(binds: ...)] failing (@LANGERGabrielle)
  • [FrameworkBundle] Ensure container is reset between tests (@nicolas-grekas)
  • [HttpKernel] fix using Target attribute with controller arguments (@kbond)

New in Symfony 6.0.6 (Mar 6, 2022)

  • bug #45619 [redis-messenger] remove undefined array key warnings (@PhilETaylor)
  • bug #45637 [Cache] do not pass DBAL connections to PDO adapters (@xabbuh)
  • bug #45631 [HttpFoundation] Fix PHP 8.1 deprecation in Response::isNotModified (@HypeMC)
  • bug #45610 [HttpKernel] Guard against bad profile data (@nicolas-grekas)
  • bug #45532 Fix deprecations on PHP 8.2 (@nicolas-grekas)
  • bug #45595 [FrameworkBundle] Fix resetting container between tests (@nicolas-grekas)
  • bug #45590 [Console] Revert StringInput bc break from #45088 (@bobthecow)
  • bug #45585 [HttpClient] fix checking for unset property on PHP <= 7.1.4 (@nicolas-grekas)
  • bug #45583 [WebProfilerBundle] Fixes HTML syntax regression introduced by #44570 (@xavismeh)

New in Symfony 6.0.5 (Feb 28, 2022)

  • [WebProfilerBundle] Log section minor fixes (missing "notice" filter, log priority, accessibility) (@Amunak)
  • [Validator] Multi decimal to alpha for CssColor validator (@tilimac)
  • [Console] Fix null handling in formatAndWrap() (@derrabus)
  • [WebProfilerBundle] add nonces to profiler (@garak)
  • MailerInterface: failed exception contract when enabling messenger (@giorgio Premi)
  • [Lock] Release Locks from Internal Store on Postgres waitAndSave* (@chrisguitarguy)
  • [DependencyInjection] Don't reset env placeholders during compilation (@nicolas-grekas)
  • [HttpClient] Fix overriding default options with null (@nicolas-grekas)
  • [Serializer] Fix passing null to str_contains() (@erwin Dirks)
  • [Validator][Tests] Fix AssertingContextualValidator not throwing on remaining expectations (@fancyweb)
  • [Messenger] Fix dealing with unexpected payload in Redis transport (@nicoalonso)
  • [VarDumper] Fix dumping mysqli_driver instances (@nicolas-grekas)
  • [HttpFoundation] Fix missing ReturnTypeWillChange attributes (@luxemate)
  • [Cache] Add missing log when saving namespace (@developer-av)
  • [HttpKernel] Reset services between requests performed by KernelBrowser (@nicolas-grekas)
  • [Serializer] Make document type nodes ignorable (@boenner)
  • [SecurityBundle] fix autoconfiguring Monolog's ProcessorInterface (@nicolas-grekas)
  • [FrameworkBundle] KernelTestCase resets internal state on tearDown (@core23)
  • [Dotenv] Fix reading config for symfony/runtime when running dump command (@nicolas-grekas)
  • [Intl] fix wrong offset timezone PHP 8.1 (@Lenny4)
  • [HttpKernel] Fix extracting controller name from closures (@nicolas-grekas)
  • [Security/Http] Fix getting password-upgrader when user-loader is a closure (@nicolas-grekas)
  • [DependencyInjection] Fix type binding (@sveneld)
  • [Runtime] Fix dotenv_overload with commands (@fancyweb)
  • [Security] AccountStatusException::$user should be nullable (@Cantepie)
  • [Serializer] Ensuring end of line character apply with constructor settings in CSV encoder (@bizley)
  • [Serializer] Fix ignored callbacks in denormalization (@benjaminmal)
  • [FrameworkBundle] Fix sorting bug in sorting of tagged services by priority (@Ahummeling)
  • [Mailer] Fix string-cast of exceptions thrown by authenticator in EsmtpTransport (@wikando-ck)
  • [Cache] fix error handling when using Redis (@nicolas-grekas)
  • [Security] Fix wrong authenticator class in debug logs (@chalasr)
  • Fix generic type for FormErrorIterator (@akalineskou)
  • [Cache] Fix connecting to Redis via a socket file (@alebedev80)
  • [FrameworkBundle] Fix log channel of TagAwareAdapter (@fancyweb)
  • [PropertyAccessor] Add missing TypeError catch (@b1rdex)
  • [DependencyInjection][FrameworkBundle] Fix using PHP 8.1 enum as parameters (@ogizanagi)
  • [HttpKernel] Fix FileLinkFormatter with empty xdebug.file_link_format (@fancyweb)
  • [DependencyInjection] Fix AsEventListener not working on decorators (@LANGERGabrielle)
  • [HttpKernel][WebProfilerBundle] Fixed error count by log not displayed in WebProfilerBundle (@SVillette)
  • [WebProfilerBundle] Fixes weird spacing in log message context/trace output (@jennevdmeer)
  • [Notifier] fix Microsoft Teams webhook url (@christophkoenig)
  • [Mailer] allow Mailchimp to handle multiple TagHeader's (@kbond)
  • [Mailer] ensure only a single tag can be used with Postmark (@kbond)
  • [HttpClient] Fix Content-Length header when possible (@nicolas-grekas)
  • [Routing] AnnotationDirectoryLoader::load() may return null (@mhujer)
  • [DependencyInjection] Don't dump polyfilled classes in preload script (@nicolas-grekas)
  • [Serializer] make XmlEncoder stateless thus reentrant (@connorhu)
  • [Form] Do not fix URL protocol for relative URLs (@bogkonstantin)
  • [DomCrawler] ignore bad charsets (@nicolas-grekas)
  • [PropertyAccess] Fix handling of uninitialized property of parent class (@filiplikavcan)
  • [Validator] Fix minRatio and maxRatio when getting rounded (@alexander-schranz)
  • [Console] Revert StringInput bc break from #45088 (@bobthecow)
  • [DoctrineBridge] Fix compatibility with doctrine/orm 3 in Id generators (@ostrolucky)

New in Symfony 6.0.4 (Jan 30, 2022)

  • Security #cve-2022-xxxx [FrameworkBundle] Enable CSRF in FORM by default (@jderusse)

New in Symfony 6.0.3 (Jan 28, 2022)

  • bug #45193 [FrameworkBundle] Fix missing arguments when a serialization default context is bound (@ArnoudThibaut)
  • bug #44997 [Runtime] Fix --env and --no-debug with dotenv_overload (@fancyweb)
  • bug #45188 [Dotenv] Fix bootEnv() override with .env.local.php when the env key already exists (@fancyweb)
  • bug #45095 [Finder] Fix finding VCS re-included files in excluded directory (@julienfalque)
  • bug #44987 [DoctrineBridge] Fix automapping (@mbabker)
  • bug #44860 [Validator] Fix Choice constraint with associative choices array (@derrabus)
  • bug #44939 [Form] UrlType should not add protocol to emails (@GromNaN)
  • bug #43149 Silence warnings during tty detection (@neclimdul)
  • bug #45154 [Serializer] Fix AbstractObjectNormalizer not considering pseudo type false (@thomas Nunninger)
  • bug #45185 [Notifier] Fix encoding of messages with FreeMobileTransport (@94noni)
  • bug #45181 [Console] Fix PHP 8.1 deprecation in ChoiceQuestion (@BrokenSourceCode)
  • bug #44634 [HttpKernel] Fix compatibility with php bridge and already started php sessions (@alexander-schranz)
  • bug #45174 [Notifier] Use the UTF-8 encoding in smsapi-notifier (@marphi)
  • bug #45140 [Yaml] Making the parser stateless (@mamazu)
  • bug #45109 [Console] fix restoring stty mode on CTRL+C (@nicolas-grekas)
  • bug #45103 [Process] Avoid calling fclose on an already closed resource (@Seldaek)
  • bug #44941 [RateLimiter] Resolve crash on near-round timestamps (@xesxen)
  • bug #45088 [Console] fix parsing escaped chars in StringInput (@nicolas-grekas)
  • bug #45096 [Cache] Throw exception if incompatible version of psr/simple-cache is used (@colinodell)
  • bug #45067 [RateLimiter] Implicit conversion fix (@brian978)
  • bug #45063 [DependencyInjection] remove arbitratry limitation to exclude inline services from bindings (@nicolas-grekas)
  • bug #44986 [DependencyInjection] copy synthetic status when resolving child definitions (@kbond)
  • bug #45073 [HttpClient] Fix Failed to open stream: Too many open files (@adrienfr)
  • bug #45053 [Console] use STDOUT/ERR in ConsoleOutput to save opening too many file descriptors (@nicolas-grekas)
  • bug #45029 [Cache] Set mtime of cache files 1 year into future if they do not expire (@Blacksmoke16)
  • bug #45012 [DoctrineBridge] Fix invalid guess with enumType (@jderusse)
  • bug #45015 [HttpClient] fix resetting DNS/etc when calling CurlHttpClient::reset() (@nicolas-grekas)
  • bug #45004 [HttpClient] Remove deprecated usage of GuzzleHttpPromisepromise_for (@plozmun)
  • bug #44998 [FrameworkBundle] Allow default cache pools to be overwritten by user (@Seldaek)
  • bug #44890 [HttpClient] Remove deprecated usage of GuzzleHttpPromisequeue (@GrahamCampbell)
  • bug #45002 [PropertyAccess] Fix handling of uninitialized property of anonymous class (@filiplikavcan)
  • bug #44979 [DependencyInjection] Add iterable to possible binding type (@vladimir.panivko)
  • bug #44908 [Serializer] Fix AbstractObjectNormalizer TypeError on denormalization (@JustDylan23)
  • bug #44976 [FrameworkBundle] Avoid calling rtrim(null, '/') in AssetsInstallCommand (@pavol-tk, @GromNaN)
  • bug #44879 [DependencyInjection] Ignore argument type check in CheckTypeDeclarationsPass if it's a Definition with a factory (@fancyweb)
  • bug #44920 Use correct tag for ExpoTransportFactory service (@jschaedl)
  • bug #44931 Allow a zero time-limit for messenger:consume (@fritzmg)
  • bug #44932 [DependencyInjection] Fix nested env var with resolve processor (@laurent Moreau)
  • bug #44912 [Console] Allow OutputFormatter::escape() to be used for escaping URLs used in (@Seldaek)
  • bug #44877 [Validator] Error using CssColor with doctrine annotations (@sormes)
  • bug #44878 [HttpClient] Turn negative timeout to a very long timeout (@fancyweb)
  • bug #44854 [Validator] throw when Constraint::_construct() has not been called (@nicolas-grekas)
  • bug #44857 [Translation] [LocoProvider] Fix use of asset ids (@danut007ro)

New in Symfony 6.0.2 (Dec 29, 2021)

  • Bug #44828 [Lock] Release DoctrineDbalPostgreSqlStore connection lock on failure (@simon-watiau)
  • Bug #44838 [DependencyInjection][HttpKernel] Fix enum typed bindings (@ogizanagi)
  • Bug #44723 [Lock] Release PostgreSqlStore connection lock on failure (simon-watiau) * commit 'e5b2f9efba': [Lock] Release PostgreSqlStore connection lock on failure
  • Bug #44826 [HttpKernel] Do not attempt to register enum arguments in controller service locator (@ogizanagi)
  • Bug #44822 [Mime][Security] Fix missing sprintf and add tests (@alamirault)
  • Bug #44824 [Mime] Fix missing sprintf in DkimSigner (@alamirault)
  • Bug #44816 [Translation] [LocoProvider] Use rawurlencode and separate tag setting (@danut007ro)
  • Bug #44805 [Security] fix unserializing session payloads from v4 (@nicolas-grekas)
  • Bug #44820 [Cache] Don't lock when doing nested computations (@nicolas-grekas)
  • Bug #44807 [Messenger] fix Redis support on 32b arch (@nicolas-grekas)
  • Bug #44759 [HttpFoundation] Fix notice when HTTP_PHP_AUTH_USER passed without pass (@vitali Tsyrkin)
  • Bug #44809 [WebProfilerBundle] relax return type for memory data collector (@94noni)
  • Bug #44799 [Cache] fix compat with apcu < 5.1.10 (@nicolas-grekas)
  • Bug #44764 [Form] Expand FormView key to include int (@biozshock)
  • Bug #44730 [Console] Fix autocompletion of argument with default value (@GromNaN)
  • Bug #44637 [PropertyInfo] PhpStan extractor nested object fix (@rmikalkenas)
  • Bug #44085 [Translation] Fix TranslationPullCommand with ICU translations (@Kocal)
  • Bug #44578 [PropertyInfo] Fix phpstan extractor issues (@ostrolucky)
  • Bug #44771 [Notifier] Use correct factory for the msteams transport (@veewee)
  • Bug #44618 [HttpKernel] Fix SessionListener without session in request (@shyim)
  • Bug #44743 [HttpClient] fix checking for recent curl consts (@nicolas-grekas)
  • Bug #44752 [Security/Http] Fix cookie clearing on logout (@maxhelias)
  • Bug #44745 [EventDispatcher][HttpFoundation] Restore return type to covariant IteratorAggregate implementations (@derrabus)
  • Bug #44732 [Mime] Relaxing in-reply-to header validation (@ThomasLandauer)
  • Bug #44714 [WebProfilerBundle] fix Email HTML preview (@94noni)
  • Bug #44737 Fix Psr16Cache not being compatible with non-Symfony cache pools (@colinodell)
  • Bug #44728 [Mime] Fix encoding filenames in multipart/form-data (@nicolas-grekas)
  • Bug #44602 [Serializer] Improve UidNormalizer denormalize error message (@fancyweb)
  • Bug #44383 [Lock] Create tables in transaction only if supported by driver (@martinssipenko)
  • Bug #44518 [HttpFoundation] Take php session.cookie settings into account (@simonchrz)
  • Bug #44719 [ErrorHandler] fix on patching return types on Windows (@nicolas-grekas)
  • Bug #44710 [DependencyInjection] fix linting callable classes (@nicolas-grekas)
  • Bug #44639 [DependencyInjection] Cast tag attribute value to string (@ruudk)
  • Bug #44473 [Validator] Restore default locale in ConstraintValidatorTestCase (@rodnaph)
  • Bug #44682 [FrameworkBundle] alias cache.app.taggable to cache.app if using cache.adapter.redis_tag_aware (@kbond)
  • Bug #44649 [HttpKernel] fix how configuring log-level and status-code by exception works (@nicolas-grekas)
  • Bug #44667 [Cache] Revert "feature #41989 make LockRegistry use semaphores when possible" (@nicolas-grekas)
  • Bug #44671 [HttpClient] Fix tracing requests made after calling withOptions() (@nicolas-grekas)
  • Bug #44577 [Cache] Fix proxy no expiration to the Redis (@Sergey Belyshkin)
  • Bug #44669 [Cache] disable lock on CLI (@nicolas-grekas)
  • Bug #44598 [Translation] Handle the blank-translation in Loco Adapter (@kgonella)
  • Bug #44448 [Validator] Allow Sequence constraint to be applied onto class as an attribute (@sidz)
  • Bug #44354 [RateLimiter] Make RateLimiter resilient to timeShifting (@jderusse)
  • Bug #44600 [Serializer] Fix denormalizing custom class in UidNormalizer (@fancyweb)
  • Bug #44537 [Config] In XmlUtils, avoid converting from octal every string starting with a 0 (@alexandre-daubois)
  • Bug #44510 [Workflow] Fix eventsToDispatch parameter setup for StateMachine (@olexandr Kalaidzhy)
  • Bug #44625 [HttpClient] fix monitoring responses issued before reset() (@nicolas-grekas)
  • Bug #44623 [HttpClient] Fix dealing with "HTTP/1.1 000 " responses (@nicolas-grekas)
  • Bug #44430 [PropertyInfo] Fix aliased namespace matching (@Korbeil)
  • Bug #44601 [HttpClient] Fix closing curl-multi handle too early on destruct (@nicolas-grekas)
  • Bug #44554 Make enable_authenticator_manager true as there is no other way in Symfony 6 (@alexander-schranz)
  • Bug #44571 [HttpClient] Don't reset timeout counter when initializing requests (@nicolas-grekas)
  • Bug #44479 [HttpClient] Double check if handle is complete (@Nyholm)
  • Bug #44418 [DependencyInjection] Resolve ChildDefinition in AbstractRecursivePass (@fancyweb)
  • Bug #44474 [Translation] [Bridge] [Lokalise] Fix push keys to lokalise. Closes #… (@olegmifle)
  • Bug #43164 [FrameworkBundle] Fix cache pool configuration with one adapter and one provider (@fancyweb)
  • Bug #44419 [PropertyAccess] Fix accessing public property on Object (@kevcomparadise)
  • Bug #44565 [FrameworkBundle] Use correct cookie domain in loginUser() (@wouterj)
  • Bug #44538 [Process] fixed uppercase ARGC and ARGV should also be skipped (@rbaarsma)
  • Bug #44438 [HttpClient] Fix handling thrown Exception in Generator in MockResponse (@fancyweb)
  • Bug #44469 [String] Fix requiring wcswitch table several times (@fancyweb)
  • Bug #44428 [HttpClient] Fix response id property check in MockResponse (@fancyweb)
  • Bug #44539 [Lock] Fix missing argument in PostgreSqlStore::putOffExpiration with DBAL connection (@GromNaN)

New in Symfony 6.0.1 (Dec 9, 2021)

  • Bug #44494 Remove FQCN type hints on properties (@fabpot)
  • Bug #44490 [DependencyInjection][Messenger] Add auto-registration for BatchHandlerInterface (@GaryPEGEOT)
  • Bug #44523 [Console] Fix polyfill-php73 requirement (@Seldaek)
  • Bug #44514 Don't access uninitialized typed property ChromePhpHandler::$response (@Philipp91)
  • Bug #44502 [HttpFoundation] do not call preg_match() on null (@xabbuh)
  • Bug #44475 [Console] Handle alias in completion script (@GromNaN)
  • Bug #44481 [FrameworkBundle] Fix loginUser() causing deprecation (@wouterj)
  • Bug #44416 [Translation] Make http requests synchronous when reading the Loco API (@Kocal)
  • Bug #44437 [HttpKernel] Fix wrong usage of SessionUtils::popSessionCookie (@simonchrz)
  • Bug #44350 [Translation] Fix TranslationTrait (@tomasz Kusy)
  • Bug #44460 [SecurityBundle] Fix ambiguous deprecation message on missing provider (@chalasr)
  • Bug #44467 [Console] Fix parameter types for ProcessHelper::mustRun() (@derrabus)
  • Bug #44427 [FrameworkBundle] Fix compatibility with symfony/security-core 6.x (deps=high tests) (@wouterj)
  • Bug #44424 [SecurityBundle] Don't rely on deprecated strategy constants (@derrabus)
  • Bug #44399 Prevent infinite nesting of lazy ObjectManager instances when ObjectManager is reset (@Ocramius)
  • Bug #44402 [HttpKernel] Fix using FileLinkFormatter after serialization (@derrabus)
  • Bug #44395 [HttpKernel] fix sending Vary: Accept-Language when appropriate (@nicolas-grekas)
  • Bug #44385 [DependencyInjection] Skip parameter attribute configurators in AttributeAutoconfigurationPass if we can't get the constructor reflector (@fancyweb)
  • Bug #44359 Avoid duplicated session listener registration in tests (@alexander-schranz)
  • Bug #44375 [DoctrineBridge] fix calling get_class on non-object (@kbond)
  • Bug #44378 [HttpFoundation] fix SessionHandlerFactory using connections (@dmaicher)
  • Bug #44365 [SecurityBundle] Fix invalid reference with always_authenticate_before_granting (@chalasr)
  • Bug #44361 [HttpClient] Fix handling error info in MockResponse (@fancyweb)
  • Bug #44370 [Lock] create lock table if it does not exist (@martinssipenko)

New in Symfony 6.0.0 RC1 (Nov 24, 2021)

  • security #cve-2021-41268 [SecurityBundle] Default signature_properties to the previous behavior (@wouterj)
  • security #cve-2021-41267 [HttpKernel] Fix missing extra trusted header in sub-request (@jderusse)
  • security #cve-2021-41270 [Serializer] Use single quote to escape formulas (@jderusse)
  • bug #44230 [Console] Add Suggestion class for more advanced completion suggestion (@wouterj)
  • bug #44232 [Cache] fix connecting to local Redis sockets (@nicolas-grekas)
  • bug #44204 [HttpClient] fix closing curl multi handle when destructing client (@nicolas-grekas)
  • bug #44208 [Process] exclude argv/argc from possible default env vars (@nicolas-grekas)
  • bug #44188 [VarExporter] fix exporting declared but unset properties when __sleep() is implemented (@nicolas-grekas)
  • bug #44176 [Console] Default ansi option to null (@jderusse)
  • bug #44179 [WebProfilerBundle] Fix JS error when toolbar is reloaded (@jderusse)
  • bug #44177 [SecurityBundle] Remove Guard (@derrabus)
  • bug #44172 [Security] Guard is incompatible with Symfony 6 (@derrabus)
  • bug #44119 [HttpClient][Mime] Add correct IDN flags for IDNA2008 compliance (@j-bernard)
  • bug #44139 [WebProfilerBundle] Prevent installation of incompatible mailer component versions (@Anne-Julia Seitz)
  • bug #43917 Allow autodetecting mapping type for any object (@franmomu)
  • bug #44130 [SecurityBundle] Remove outdated conditions based on authenticatorManagerEnabled (@chalasr)
  • bug #44131 [Yaml] properly parse quoted strings tagged with !!str (@xabbuh)
  • bug #42323 [TwigBridge] do not merge label classes into expanded choice labels (@xabbuh)

New in Symfony 5.3.11 (Nov 22, 2021)

  • bug #44188 [VarExporter] fix exporting declared but unset properties when __sleep() is implemented (@nicolas-grekas)
  • bug #44176 [Console] Default ansi option to null (@jderusse)
  • bug #44119 [HttpClient][Mime] Add correct IDN flags for IDNA2008 compliance (@j-bernard)
  • bug #44131 [Yaml] properly parse quoted strings tagged with !!str (@xabbuh)
  • bug #42323 [TwigBridge] do not merge label classes into expanded choice labels (@xabbuh)
  • bug #44110 [FrameworkBundle] Fix default PHP attributes support in validation and serializer configuration when doctrine/annotations is not installed with PHP 8 (@fancyweb)
  • bug #44121 [Serializer] fix support for lazy properties (@nicolas-grekas)
  • bug #44108 [FrameworkBundle][Messenger] remove FlattenExceptionNormalizer definition if serializer not available (@kbond)
  • bug #44111 [Serializer] fix support for unset properties on PHP < 7.4 (@nicolas-grekas)
  • bug #44070 [Process] intersect with getenv() to populate default envs (@nicolas-grekas)
  • bug #43990 [Translation] [Loco] Generate id parameter instead of letting Loco do it (@welcoMattic)
  • bug #44043 [Cache] fix dbindex Redis (@a1812)
  • bug #44050 [Notifier] Fix package names (@fabpot)
  • bug #44042 Fix DateIntervalToStringTransformer::transform() doc (@BenMorel)
  • bug #44034 [Yaml] don't try to replace references in quoted strings (@xabbuh)
  • bug #44028 [ErrorHandler] Fix FlattenException::setPrevious argument typing (@welcoMattic)
  • bug #44012 [DependencyInjection] fix inlining when non-shared services are involved (@nicolas-grekas)
  • bug #44002 [Cache] Fix Memory leak (@a1812)
  • bug #43981 [FrameworkBundle] fix registering late resettable services (@nicolas-grekas)
  • bug #43988 [DoctrineBridge] add support for the JSON type (@dunglas)
  • bug #43987 [PhpUnitBridge] Fix Uncaught ValueError (@dunglas)
  • bug #43961 [HttpClient] Curl http client has to reinit curl multi handle on reset (@rmikalkenas)
  • bug #43948 [Asset][Security] Fixed leftover deprecations PHP 8.1 (@michaljusiega)
  • bug #43945 [Runtime] fix defining APP_DEBUG when Dotenv is not enabled (@nicolas-grekas)
  • bug #43922 [DependencyInjection] only allow ReflectionNamedType for ServiceSubscriberTrait (@kbond)
  • bug #43814 [Intl] Update the ICU data to 70.1 - 5.3 (@jderusse)
  • bug #43915 [Messenger] Fix tests (@jderusse)
  • bug #43901 [SecurityBundle] Default access_decision_manager.strategy option with merge (@biozshock)
  • bug #43909 [VarExporter] escape unicode chars involved in directionality (@nicolas-grekas)
  • bug #43900 [Security] Fix TypeError message in ChainUserProvider (@derrabus)
  • bug #43884 [Console] Runtime conflict for psr/log >= 3.0 instead of composer conflict (@fancyweb)
  • bug #43867 [VarDumper] Make dumping DateInterval instances timezone-independent (@derrabus)
  • bug #43096 [Messenger] Use TransportMessageIdStamp in InMemoryTransport allows retrying (@alexndlm)
  • bug #42168 [RateLimiter] Fix wait duration for fixed window policy (@jlekowski)
  • bug #43501 [HttpKernel] fix ErrorException in CacheWarmerAggregate (@Ahummeling)
  • bug #42361 [Translation] correctly handle intl domains with TargetOperation (@acran)
  • bug #43833 [Runtime] Consider also $_ENV when resolving APP_RUNTIME and APP_RUNTIME_OPTIONS (@peter Simoncic)
  • bug #43834 [Inflector] Fix inflector for "zombies" (@acodispo)
  • bug #43267 [Config] Fix signature generation with nested attributes on PHP 8.1 (@agustingomes)

New in Symfony 6.0.0 Beta 3 (Nov 18, 2021)

  • Feature #44125 Add a setter on DateTimeNormalizer to change the default context at runtime (@Seldaek)
  • Bug #44110 [FrameworkBundle] Fix default PHP attributes support in validation and serializer configuration when doctrine/annotations is not installed with PHP 8 (@fancyweb)
  • Bug #44115 [WebProfilerBundle] Tweak the colors of the security panel (@javiereguiluz)
  • Bug #44121 [Serializer] fix support for lazy properties (@nicolas-grekas)
  • Bug #44108 [FrameworkBundle][Messenger] remove FlattenExceptionNormalizer definition if serializer not available (@kbond)
  • Bug #44111 [Serializer] fix support for unset properties on PHP < 7.4 (@nicolas-grekas)
  • Bug #44098 [DependencyInjection] fix preloading (@nicolas-grekas)
  • Bug #44065 [FrameworkBundle] Add framework config for DBAL cache adapter (@GromNaN)
  • Bug #44096 Make ExpressionVoter Cacheable (@jderusse)
  • Bug #44070 [Process] intersect with getenv() to populate default envs (@nicolas-grekas)
  • Feature #43181 Allow AbstractDoctrineExtension implementations to support the newer bundle structure (@mbabker)
  • Bug #44060 [Cache] Fix calculate ttl in couchbase sdk 3.0 (@ajcerezo)
  • Bug #43990 [Translation] [Loco] Generate id parameter instead of letting Loco do it (@welcoMattic)
  • Bug #44043 [Cache] fix dbindex Redis (@a1812)
  • Feature #44015 [Cache] Decrease the probability of invalidation loss on tag eviction (@nicolas-grekas)
  • Bug #44064 [Cache] fix releasing not acquired locks (@nicolas-grekas)
  • Bug #44063 [DependencyInjection] fix creating 2nd container instances (@nicolas-grekas)
  • Bug #44056 [DependencyInjection] Fix YamlFileLoader return type (@1ed)
  • [PR] #44129

New in Symfony 6.0.0 Beta 2 (Nov 14, 2021)

  • Bug #44051 [Notifier] Fix package name (@fabpot)
  • Bug #44050 [Notifier] Fix package names (@fabpot)
  • Bug #44042 Fix DateIntervalToStringTransformer::transform() doc (@BenMorel)
  • Bug #44034 [Yaml] don't try to replace references in quoted strings (@xabbuh)
  • Bug #44013 [ErrorHandler] fix parsing @param with dollars in the description (@nicolas-grekas)
  • Bug #44010 [DependencyInjection] fix auto-refresh when inline_factories is enabled (@nicolas-grekas)
  • Bug #44028 [ErrorHandler] Fix FlattenException::setPrevious argument typing (@welcoMattic)
  • Bug #44016 [SecurityBundle] Fix listing listeners in profiler when authenticator manager is disabled (@94noni)
  • Bug #44012 [DependencyInjection] fix inlining when non-shared services are involved (@nicolas-grekas)
  • Bug #44002 [Cache] Fix Memory leak (@a1812)
  • Bug #43993 [FrameworkBundle] fix deprecation message (@nicolas-grekas)
  • Feature #43985 [HttpClient] Implement ResetInterface for all http clients (@rmikalkenas)
  • Bug #43981 [FrameworkBundle] fix registering late resettable services (@nicolas-grekas)
  • Bug #43988 [DoctrineBridge] add support for the JSON type (@dunglas)
  • Bug #43987 [PhpUnitBridge] Fix Uncaught ValueError (@dunglas)
  • Feature #43983 [HttpKernel] allow ignoring kernel.reset methods that don't exist (@nicolas-grekas)
  • Bug #43967 [Loco] Fix Loco Provider ID and pull & push local messages reading (@welcoMattic)
  • Bug #43961 [HttpClient] Curl http client has to reinit curl multi handle on reset (@rmikalkenas)
  • Bug #43930 [DependencyInjection] Fix support for unions/intersections together with ServiceSubscriberInterface (@kbond)
  • Bug #43948 [Asset][Security] Fixed leftover deprecations PHP 8.1 (@michaljusiega)
  • Bug #43944 [Yaml] revert using functions provided by polyfill packages (@xabbuh)
  • Bug #43940 [FrameworkBundle] Fix logic in workflow:dump between workflow name and workflow id (@noniagriconomie)
  • Bug #43947 [HttpKernel] Make sure FileLinkFormatter can be serialized (@derrabus)
  • Bug #43945 [Runtime] fix defining APP_DEBUG when Dotenv is not enabled (@nicolas-grekas)
  • Bug #43946 [HttpKernel] Make sure a serialized DumpDataCollector can be unserialized (@derrabus)

New in Symfony 6.0.0 Beta 1 (Nov 5, 2021)

  • feature #43916 [PropertyInfo] Support the list pseudo-type (@derrabus)
  • feature #43850 Add completion for DebugConfig name and path arguments (@eclairia, @adrien Jourdier)
  • feature #43838 feat: add completion for DebugAutowiring search argument (@eclairia, @adrien Jourdier)
  • feature #38464 [Routing] Add support for aliasing routes (@Lctrs)
  • feature #43923 [Console] Open CompleteCommand for custom outputs (@wouterj)
  • feature #43663 [Messenger] Add command completion for failed messages (@scyzoryck)
  • feature #43857 [Framework] Add completion to debug:container (@GromNaN)
  • feature #43891 [Messenger] Add completion to command messenger:consume (@GromNaN)
  • feature #42471 Add generic types to traversable implementations (@derrabus)
  • feature #43898 [Security] Make the abstract Voter class implement CacheableVoterInterface (@javiereguiluz)
  • feature #43848 [FrameworkBundle] Add completion for workflow:dump (@StaffNowa)
  • feature #43837 [Finder] Add .gitignore nested negated patterns support (@julienfalque)
  • feature #43754 Determine attribute or annotation type for directories (@cinamo)
  • feature #43846 Add completion for debug:twig (@StaffNowa)
  • feature #43138 [FrameworkBundle][HttpKernel] Add the ability to enable the profiler using a parameter (@dunglas)
  • feature #40457 [PropertyInfo] Add PhpStanExtractor (@Korbeil)
  • feature #40262 [DoctrineBridge] Param as connection in *.event_subscriber/listener tags (@wbloszyk)
  • feature #43354 [Messenger] allow processing messages in batches (@nicolas-grekas)
  • feature #43788 [DependencyInjection][FrameworkBundle][SecurityBundle][TwigBundle] Require Composer's runtime API to be present (@derrabus)
  • feature #43835 [SecurityBundle] Deprecate not configuring explicitly a provider for custom_authenticators when there is more than one registered provider (@lyrixx)
  • feature #43598 [Console] add suggestions for debug commands: firewall, form, messenger, router (@IonBazan)
  • feature #41993 [Security] Prevent FormLoginAuthenticator from responding to requests that should be handled by JsonLoginAuthenticator (@abunch)
  • feature #43751 [WebProfilerBundle] Add a "preview" tab in mailer profiler for HTML email (@lyrixx)
  • feature #43644 [FrameworkBundle] Add completion to debug:translation command (@alexandre-daubois)
  • feature #43653 [PasswordHasher] Add autocompletion for security commands (@noniagriconomie)
  • feature #43676 [FrameworkBundle] Add completion feature on translation:update command (@stephenkhoo)
  • feature #43672 [Translation] Add completion feature on translation pull and push commands (@welcoMattic)
  • feature #43060 [RateLimiter] Add support for long intervals (months and years) (@alexandre-daubois)
  • feature #42177 [Security][SecurityBundle] Implement ADM strategies as dedicated classes (@derrabus)
  • feature #43804 [DependencyInjection][FrameworkBundle][SecurityBundle][TwigBundle] Deprecate Composer 1 (@derrabus)
  • feature #43796 [Filesystem] Add third argument $lockFile to Filesystem::appendToFile() (@fwolfsjaeger)
  • feature #42414 [Notifier] Add Expo bridge (@zairigimad)
  • feature #43066 [Security] Cache voters that will always abstain (@jderusse)
  • feature #43758 [FrameworkBundle] Rename translation:update to translation:extract (@welcoMattic)
  • feature #41414 Support statusCode default param when loading template directly via route (@dayallnash)
  • feature #42238 [DependencyInjection] Add SubscribedService attribute, deprecate current ServiceSubscriberTrait usage (@kbond)
  • feature #38542 [FrameworkBundle][Serializer] Allow serializer default context configuration (@soyuka)
  • feature #43755 [Dotenv] Add $overrideExistingVars to bootEnv() and loadEnv() and dotenv_overload to SymfonyRuntime (@fancyweb)
  • feature #43671 add ResponseIsUnprocessable (@garak)
  • feature #43682 [FrameworkBundle] Add completion for config:dump-reference (@StaffNowa)
  • feature #43588 [Messenger] Autoconfigurable attributes (@alirezamirsepassi)
  • feature #43593 [Validator] Add CidrValidator to allow validation of CIDR notations (@popsorin)
  • feature #43683 [VarDumper] Add completion to server:dump command (@alexandre-daubois)
  • feature #43677 [RateLimiter] bug #42194 fix: sliding window policy to use microtime (@jlekowski)
  • feature #43679 [VarDumper] Add support for Fiber (@lyrixx)
  • feature #43680 Add suggestions for the option 'format' of lints commands: twig, yaml and xliff (@makraz)
  • feature #43621 Add completion for cache:pool:clear and cache:pool:delete commands (@andyexeter)
  • feature #43639 [Uid] Allow use autocompletion (@StaffNowa)
  • feature #43626 [Console] [Framework] Add completion to secrets:set and fix secrets:remove (@GromNaN)
  • feature #43640 [Console] Add completion to messenger:setup-transports command (@Tayfun74)
  • feature #43615 feat: add completion for CompletionCommand "shell" argument (@dkarlovi)
  • feature #43595 [Console] SymfonyStyle enhancements (@kbond)
  • feature #41268 [HttpFoundation] Allow setting session options via DSN (@makraz)
  • feature #43596 [Console] Add completion to help & list commands (@GromNaN)
  • feature #43587 [Lock] Remove support of Doctrine DBAL in PostgreSqlStore (@GromNaN)
  • feature #43576 [Messenger] subtract handling time from sleep time in worker (@nicolas-grekas)
  • feature #43585 [Lock] Remove support of Doctrine DBAL in PdoStore (@GromNaN)
  • feature #43386 [DependencyInjection] Extend TaggedIterator and TaggedLocator Attributes with able to specify defaultIndexMethod for #[TaggerIterator] and #[TaggedLocator] (@fractalzombie)
  • feature #42251 [Console] Bash completion integration (@wouterj)
  • feature #39402 [Notifier] Add push channel to notifier (@norkunas)
  • feature #43332 [Lock] Split PdoStore into DoctrineDbalStore (@GromNaN)
  • feature #43362 [Cache] Split PdoAdapter into DoctrineDbalAdapter (@GromNaN)
  • feature #43550 [HttpFoundation] Remove possibility to pass null as $requestIp in IpUtils (@W0rma)
  • feature #42580 [Console][FrameworkBundle] Add DotenvDebugCommand (@chr-hertel)
  • feature #43411 [HttpFoundation] Deprecate passing null as $requestIp in IpUtils (@W0rma)
  • feature #43526 Add a warning in WDT when using symfony/symfony (@fabpot)
  • feature #43481 [String] Add trimSuffix() and trimPrefix() methods (@nicolas-grekas)
  • feature #43497 [Notifier] [Twilio] Ensure from/sender is valid via regex (@OskarStark)
  • feature #43492 Lower log level in case of retry (@jderusse)
  • feature #43479 [DependencyInjection] autowire union and intersection types (@nicolas-grekas)
  • feature #43134 [Notifier] Add sms77 Notifier Bridge (@matthiez)
  • feature #43378 [HttpFoundation] Deprecate upload_progress.* and url_rewriter.tags session options (@matthew Covey)
  • feature #43405 [Bridge][Monolog] Remove ResetLoggersWorkerSubscriber (@lyrixx)
  • feature #42582 [Security] Add authenticators info to the profiler (@chalasr)
  • feature #42723 [Messenger] Log when worker should stop and when SIGTERM is received (@ruudk)
  • feature #40168 [Validator] Added CssColor constraint (@welcoMattic)
  • feature #43328 [MonologBridge] Deprecate the Swiftmailer handler (@fabpot)
  • feature #43322 [MonologBridge] Deprecates ResetLoggersWorkerSubscriber (@lyrixx)
  • feature #43108 [HttpKernel] Add basic support for language negotiation (@GregoireHebert)
  • feature #41265 [Messenger] Add a middleware to log when transaction has been left open (@lyrixx)
  • feature #43280 [HttpClient] Add method to set response factory in mock client (@greeflas)
  • feature #42610 [Dotenv] Reimplementing symfony/flex' dump-env as a Symfony command (@abdielcs, @nicolas-grekas)
  • feature #42244 [HttpKernel] Add support for configuring log level, and status code by exception class (@lyrixx)
  • feature #43236 [Security] Add alias for FirewallMapInterface to @security.firewall.map (@lyrixx)
  • feature #43150 [Finder] Add recursive .gitignore files support (@julienfalque)
  • feature #41608 [Runtime] Possibility to define the env and/or debug key (@maxhelias)
  • feature #42257 [Messenger] Allow using user's serializer for message do not fit the expected JSON structure (@welcoMattic)
  • feature #43148 [Cache] Throw ValueError in debug mode when serialization fails (@nicolas-grekas)
  • feature #43139 [Notifier] Mattermost Notifier option to post in an other channel (@nathanaelmartel)
  • feature #42335 [Messenger] Add WorkerMetadata to Worker class. (@okwinza)
  • feature #42712 [Serializer] Save missing arguments in MissingConstructorArgumentsException (@BafS)
  • feature #43004 [Serializer] Throw NotNormalizableValueException when type is not known or not in body in discriminator map (@lyrixx)
  • feature #43118 [FrameworkBundle] Remove deprecated code (@IonBazan)
  • feature #43121 [Notifier] [GoogleChat] remove support for deprecated "threadKey" parameter (@IonBazan)
  • feature #42338 [DomCrawler] Added Crawler::innerText() method (@Bilge)
  • feature #43095 [Form] Add the EnumType (@derrabus)
  • feature #43094 [Console] Add support of RGB functional notation (@alexandre-daubois)
  • feature #43098 [Validator] Add error's uid to Count and Length constraints with "exactly" option enabled (@VladGapanovich)
  • feature #42668 [Yaml] Use more concise float representation in dump (@dev97)
  • feature #43017 [HttpFoundation] Map multipart/form-data as form Content-Type (@keichinger)
  • feature #43015 [DependencyInjection] Allow injecting tagged iterator as service locator arguments (@IonBazan)
  • feature #42991 [FrameworkBundle] Add configureContainer(), configureRoutes() and getConfigDir() to MicroKernelTrait (@nicolas-grekas)
  • feature #43018 [Mailer] Adding support for TagHeader and MetadataHeader to the Sendgrid API transport (@gnito-org)
  • feature #43010 Remove remaining support for Doctrine Cache (@derrabus)
  • feature #42988 [ErrorHandler] Add helper script to patch type declarations (@wouterj)
  • feature #42982 Add Session Token to Amazon Mailer (@Jubeki)
  • feature #42959 [DependencyInjection] Make auto-aliases private by default (@nicolas-grekas)
  • feature #42957 [RateLimiter][Runtime][Translation] remove @experimental flag (@nicolas-grekas)
  • feature #41163 [Mesenger] Add support for reseting container services between 2 messages (@lyrixx)
  • feature #42967 [Cache] Remove support for Doctrine Cache (@derrabus)
  • feature #41858 [Translation] Translate translatable parameters (@kylekatarnls)
  • feature #42941 Implement Message Stream for Postmark Mailer (@driesvints)
  • feature #42532 [DependencyInjection] Sort services in service locator according to priority (@BoShurik)
  • feature #42502 [Serializer] Add support for collecting type error during denormalization (@lyrixx)
  • feature #40120 [Cache] Add CouchbaseCollectionAdapter compatibility with sdk 3.0.0 (@ajcerezo)
  • feature #42965 [Cache] Deprecate support for Doctrine Cache (@derrabus)
  • feature #41615 [Serializer] Add option to skip uninitialized typed properties (@vuryss)
  • feature #41566 [FrameworkBundle] Introduced new method for getting bundles config path (@a-menshchikov)
  • feature #42925 [DoctrineBridge] Remove DoctrineTestHelper and TestRepositoryFactory (@derrabus)
  • feature #42881 [Console] Add more context when CommandIsSuccessful fails (@yoannrenard)
  • feature #41321 [FrameworkBundle] Remove deprecate session service (@jderusse)
  • feature #42900 [HttpFoundation] Add a flag to hasSession to distinguished session from factory (@jderusse)
  • feature #41390 [HttpKernel] Add session cookie handling in cli context (@alexander-schranz, @Nyholm)
  • feature #42800 Display the roles of the logged-in user in the Web Debug Toolbar (@NicoHaase)
  • feature #42872 [Mime] Update mime types (@fabpot)
  • feature #42039 [DependencyInjection] Autoconfigurable attributes on methods, properties and parameters (@ruudk)
  • feature #42710 [Mailer] Added OhMySMTP Bridge (@paul-oms)
  • feature #40987 [Config] Handle ignoreExtraKeys in config builder (@HypeMC)
  • feature #42426 [Notifier] Autoconfigure chatter.transport_factory (@ismail1432)
  • feature #42748 [Notifier] Add Esendex message ID to SentMessage object (@benr77)
  • feature #42526 [FrameworkBundle] Add BrowserKitAssertionsTrait::assertThatForBrowser (@koenreiniers)
  • feature #41527 [Ldap] Fixing the behaviour of getting LDAP Attributes (@mr-sven)
  • feature #42623 [ErrorHandler] Turn return-type annotations into deprecations by default + add mode to turn them into native types (@nicolas-grekas)
  • feature #42695 [Mailer] Restore Transport signatures (@derrabus)
  • feature #42698 Notifier final transport (@fabpot)
  • feature #42696 [Notifier] Mark Transport as final (@fabpot)
  • feature #42433 [Notifier] Add more explicit error if a SMSChannel doesn't have a Recipient (@ismail1432)
  • feature #42619 [Serializer] Deprecate support for returning empty, iterable, countable, raw object when normalizing (@lyrixx)
  • feature #42662 [Mailer] Consume a PSR-14 event dispatcher (@derrabus)
  • feature #42625 [DependencyInjection] Add service_closure() to the PHP-DSL (@HypeMC)
  • feature #42650 [Security] make TokenInterface::getUser() nullable to tell about unauthenticated tokens (@nicolas-grekas)
  • feature #42644 [Security] Make AuthenticationTrustResolverInterface::isAuthenticated() non-virtual (@chalasr)
  • feature #42634 [Console] Remove HelperSet::setCommand() and getCommand() (@derrabus)
  • feature #42632 [Console] Deprecate HelperSet::setCommand() and getCommand() (@derrabus)
  • feature #41994 [Validator] Add support of nested attributes (@alexandre-daubois)
  • feature #41613 [Security] Remove everything related to the deprecated authentication manager (@wouterj)
  • feature #42595 Fix incompatibilities with upcoming security 6.0 (@wouterj)
  • feature #42578 [Security] Deprecate legacy remember me services (@wouterj)
  • feature #42516 [Security] Deprecate built-in authentication entry points (@wouterj)
  • feature #42387 [Form] Deprecate calling FormErrorIterator::children() if the current element is not iterable (@W0rma)
  • feature #39641 [Yaml] Add --exclude and negatable --parse-tags option to lint:yaml command (@christingruber)
  • feature #42510 [Security] Deprecate remaining anonymous checks (@wouterj)
  • feature #42423 [Security] Deprecate AnonymousToken, non-UserInterface users, and token credentials (@wouterj)
  • feature #41954 [Filesystem] Add the Path class (@theofidry)
  • feature #42442 [FrameworkBundle] Deprecate AbstractController::get() and has() (@fabpot)
  • feature #42422 Clarify goals of AbstractController (@fabpot)
  • feature #42420 [Security] Deprecate legacy signatures (@wouterj)
  • feature #41754 [SecurityBundle] Create a smooth upgrade path for security factories (@wouterj)
  • feature #42198 [Security] Deprecate PassportInterface (@chalasr)
  • feature #42332 [HttpFoundation] Add litespeed_finish_request to Response (@thomas2411)
  • feature #42286 [HttpFoundation] Add SessionFactoryInterface (@kbond)
  • feature #42392 [HttpFoundation] Mark Request::get() internal (@ro0NL)
  • feature #39601 [Notifier] add SentMessageEvent and FailedMessageEvent (@ismail1432)
  • feature #42188 [Notifier] Add FakeChat Logger transport (@noniagriconomie)
  • feature #41522 [Notifier] Add TurboSms Bridge (@fre5h)
  • feature #42337 [Validator] Remove internal from ConstraintViolationAssertion (@jordisala1991)
  • feature #42333 [Security] Remove deprecated logout handlers (@chalasr)
  • feature #42123 [Notifier] Add FakeSMS Logger transport (@noniagriconomie)
  • feature #42297 [Serializer] Add support for serializing empty array as object (@lyrixx)
  • feature #42326 [Security] Deprecate remaining LogoutHandlerInterface implementations (@chalasr)
  • feature #42219 [Mailer] Add support of ping_threshold to SesTransportFactory (@Tyraelqp)
  • feature #40052 [ErrorHandler] Add button to copy the path where error is thrown (@lmillucci)
  • feature #38495 [Asset] [DX] Option to make asset manifests strict on missing item (@GromNaN)
  • feature #39828 [Translation] XliffLintCommand supports Github Actions annotations (@YaFou)
  • feature #39826 [TwigBridge] LintCommand supports Github Actions annotations (@YaFou)
  • feature #39141 [Notifier] Add Amazon SNS bridge (@adrien-chinour)
  • feature #42240 [Serializer] Add support for preserving empty object in object property (@lyrixx)
  • feature #42239 [Notifier] Add Yunpian Notifier Bridge (@welcoMattic)
  • feature #42195 [WebProfilerBundle] Redesigned the log section (@javiereguiluz)
  • feature #42176 [Console][HttpKernel] Implement psr/log 3 (@derrabus)
  • feature #42163 [Messenger] [Redis] Prepare turning delete_after_ack to true in 6.0 (@chalasr)
  • feature #42180 [Notifier] Add bridge for smsc.ru (@kozlice)
  • feature #42172 [Finder] Remove deprecated code (@derrabus)
  • feature #42137 [Finder] Make Comparator immutable (@derrabus)
  • feature #42142 [Security] Remove CSRF deprecations (@derrabus)
  • feature #42133 [FrameworkBundle] Remove deprecated options in translation:update command (@javiereguiluz)
  • feature #42127 [ExpressionLanguage] Store compiler and evaluator as closures (@derrabus)
  • feature #42088 [Contracts] add return types and bump to v3 (@nicolas-grekas)
  • feature #42094 [Notifier] [Slack] Throw error if maximum block limit is reached for slack message options (@norkunas)
  • feature #42050 [Security] Deprecate TokenInterface::isAuthenticated() (@chalasr)
  • feature #42090 [Notifier] [Slack] Include additional errors to slack notifier error message (@norkunas)
  • feature #41319 [Messenger] Removed deprecated code (@Nyholm)
  • feature #41982 [Security] Remove getPassword() and getSalt() from UserInterface (@chalasr)
  • feature #41989 [Cache] make LockRegistry use semaphores when possible (@nicolas-grekas)
  • feature #41965 [Security] Deprecate "always authenticate" and "exception on no token" (@wouterj)
  • feature #41290 [Cache] Implement psr/cache 3 (@derrabus)
  • feature #41962 add ability to style doubles and integers independently (@1ma)
  • feature #40830 [Serializer] Add support of PHP backed enumerations (@alexandre-daubois)
  • feature #41976 [Cache] Remove DoctrineProvider (@derrabus)
  • feature #40908 [Cache] Deprecate DoctrineProvider (@derrabus)
  • feature #41717 Allow TranslatableMessage object in form option 'help' (@scuben)
  • feature #41963 [HttpKernel] remove deprecated features (@nicolas-grekas)
  • feature #41960 [PasswordHasher][Security] Remove legacy password encoders (@chalasr)
  • feature #41705 [Notifier] add Mailjet SMS bridge (@jnadaud)
  • feature #41657 [Serializer] Remove deprecation layer (@derrabus)
  • feature #41937 [EventDispatcher] Remove ability to configure tags on RegisterListenersPass (@derrabus)
  • feature #41932 [DependencyInjection] Remove deprecated code (@derrabus)
  • feature #41851 Add TesterTrait::assertCommandIsSuccessful() helper (@yoannrenard)
  • feature #39623 [Messenger] Added StopWorkerException (@lyrixx)
  • feature #41292 [Workflow] Add support for getting updated context after a transition (@lyrixx)
  • feature #41154 [Validator] Add support for ConstraintViolationList::createFromMessage() (@lyrixx)
  • feature #41874 [SecurityBundle] Hide security toolbar if no firewall matched (@wouterj)
  • feature #41375 [Notifier] Add MessageMedia Bridge (@vuphuong87)
  • feature #41923 [EventDispatcher] Deprecate configuring tags on RegisterListenersPass (@derrabus)
  • feature #41802 [Uid] Add NilUlid (@fancyweb)
  • feature #40738 [Notifier] Add options to Microsoft Teams notifier (@OskarStark)
  • feature #41172 [Notifier] Add Telnyx notifier bridge (@StaffNowa)
  • feature #41770 [HttpClient] Add default base_uri to MockHttpClient (@nicolas-grekas)
  • feature #41205 [TwigBridge] Add encore_entry_*_tags() to UndefinedCallableHandler, as no-op (@nicolas-grekas)
  • feature #41786 [FrameworkBundle] Add commented base64 version of secrets' keys (@nicolas-grekas)
  • feature #41432 [WebProfilerBundle] Improved the light/dark theme switching (@javiereguiluz)
  • feature #41743 [Form] remove remaining deprecation layers (@xabbuh)
  • feature #41692 [Form] remove deprecated constants (@xabbuh)
  • feature #41540 [VarDumper] Add casters for Symfony UUIDs and ULIDs (@fancyweb)
  • feature #41530 [FrameworkBundle] Deprecate the public profiler service to private (@nicolas-grekas)
  • feature #41392 [Validator] Remove deprecated code (@jschaedl)
  • feature #41318 [Form] Remove deprecated code (@yceruto)
  • feature #41308 [Mailer] Remove deprecated code (@jderusse)
  • feature #41299 Remove Serializable implementations (@derrabus)
  • feature #41350 [Inflector] Remove the component (@fancyweb)
  • feature #41361 [Intl] Removed deprecated code (@malteschlueter)
  • feature #41365 [PropertyAccess] Remove deprecated code (@malteschlueter)
  • feature #41371 [Routing] Remove deprecation layer (@derrabus)
  • feature #41199 [FrameworkBundle] Deprecate the AdapterInterface autowiring alias, use CacheItemPoolInterface instead (@nicolas-grekas)
  • feature #41304 [EventDispatcher] Remove LegacyEventDispatcherProxy (@derrabus)
  • feature #41302 [PhpUnitBridge] Remove SetUpTearDownTrait (@derrabus)
  • feature #41363 [Ldap] Removed deprecated code (@malteschlueter)
  • feature #41364 [Mime] Remove deprecated code (@malteschlueter)
  • feature #41359 [HttpClient] Removed deprecated code (@malteschlueter)
  • feature #41360 [Yaml] Remove deprecated code (@fancyweb)
  • feature #41358 [EventDispatcher] Removed deprecated code (@malteschlueter)
  • feature #41357 [Dotenv] Remove deprecated code (@malteschlueter)
  • feature #41355 [DomCrawler] Removed deprecated code (@malteschlueter)
  • feature #41353 [Cache] Removed depreacted code (@malteschlueter)
  • feature #41351 [FrameworkBundle][SecurityBundle][TwigBundle] Turn deprecated public services to private (@fancyweb)
  • feature #41334 [HttpFoundation] remove deprecated code (@azjezz)
  • feature #41316 [OptionsResolver] Remove deprecated code (@yceruto)
  • feature #41314 [Messenger] Remove dependency on bridge packages (@Nyholm)
  • feature #41284 [Lock] Remove deprecated classes in Lock (@jderusse)
  • feature #41312 [Console] Remove console deprecations (@jschaedl)
  • feature #41303 [Config] Remove deprecated code (@derrabus)
  • feature #41301 [MonologBridge] Remove deprecated code (@derrabus)
  • feature #41300 [Asset] Remove deprecated RemoteJsonManifestVersionStrategy (@mbabker)
  • feature #41298 [Notifier] Remove deprecation in slack-notifier (@jschaedl)
  • feature #41203 [FrameworkBundle] Add autowiring alias for HttpCacheStoreInterface (@nicolas-grekas)
  • feature #41282 Bump Symfony 6 to PHP 8 (@nicolas-grekas)

New in Symfony 5.3.8 (Sep 28, 2021)

  • Bug #43206 [Workflow] Add missing audit-trail settings in framework workflow con… (@Stephan Wentz)
  • Bug #42354 [Ldap][Security] Make LdapAuthenticator an EntryPoint (@dcp-dev, @chalasr)
  • Bug #43146 [SecurityBundle] Fixed LogicException message of FirewallAwareTrait (@fkropfhamer)
  • Bug #43158 [Cache] Fix invalidating tags on Redis <5 (@wouterj)
  • Bug #43179 [Ldap] Fix resource type checks & docblocks on PHP 8.1 (@chalasr)
  • Bug #43174 [Messenger] relax parameter type (@xabbuh)
  • Bug #43137 [FrameworkBundle] Avoid secrets:decrypt-to-local command to fail (@noniagriconomie)
  • Bug #43171 [VarDumper] fix dumping typed references from properties (@nicolas-grekas)
  • Bug #43124 [Messenger] [Redis] Allow authentication with user and password (@GaryPEGEOT)
  • Bug #39350 [FrameworkBundle] Remove translation data_collector BEFORE adding it to profiler (@l-vo)
  • Bug #43115 [DependencyInjection] Fix iterator in ServiceConfigurator (@jderusse)
  • Bug #43073 [Notifier] Update FirebaseTransport.php (@dima-gr)
  • Bug #43031 [Form] Do not trim unassigned unicode characters (@simonberger)
  • Bug #43058 [WebProfilerBundle] Fix displaying certain configs (@HypeMC)
  • Bug #43022 [PhpUnitBridge] Track unsilenced deprecations only for userland (@nicolas-grekas)
  • Bug #42979 [FrameworkBundle] fix session-related BC layer triggering deprecation (@nicolas-grekas)
  • Bug #42672 [PropertyAccess] Fix Regression in PropertyAccessor::isWritable() (@haase-fabian)
  • Bug #42976 [Mime] Allow array as input for RawMessage (@derrabus)
  • Bug #42932 [Messenger] Support rediss in transport bridge (@RuslanZavacky)
  • Bug #42771 [FrameworkBundle] Match 5.3 and 5.1 mailer configuration (@wizardz)
  • Bug #42098 [PropertyInfo] Support for intersection types (@derrabus)
  • Bug #42904 [Cache] Make sure PdoAdapter::prune() always returns a bool (@derrabus)
  • Bug #42896 [HttpClient] Fix handling timeouts when responses are destructed (@nicolas-grekas)
  • Bug #42862 [Framework] Clean "about" command help after Environment section was removed (@GromNaN)
  • Bug #42835 [Cache] Fix implicit float to int cast (@derrabus)
  • Bug #42831 [Mime] Update mime types (@fabpot)
  • Bug #42830 [HttpKernel] Fix empty timeline in profiler (@nicodmf)
  • Bug #42815 [DependencyInjection] Fix circular reference in autowired decorators (@shyim)
  • Bug #42819 Fix tests failing with DBAL 3 (@derrabus)

New in Symfony 5.3.7 (Aug 30, 2021)

  • Bug #42769 [HttpClient] Don't pass float to usleep() (@derrabus)
  • Bug #42753 Cast ini_get to an integer to match expected type (@natewiebe13)
  • Bug #42345 [Messenger] Remove indices in messenger table on MySQL to prevent deadlocks while removing messages when running multiple consumers (@jeroennoten)
  • Bug #41378 [Messenger] Fix ErrorDetailsStamp denormalization (@wucdbm)
  • Bug #42160 [Translation] Extract translatable content on twig set (@natewiebe13)
  • Bug #42053 [Notifier] [Smsapi] fixed checking whether message is sent (@damlox)
  • Bug #40744 allow null for framework.translator.default_path (@SimonHeimberg)
  • Bug #39856 [DomCrawler] improve failure messages of the CrawlerSelectorTextContains constraint (@xabbuh)
  • Bug #40545 [HttpFoundation] Fix isNotModified determination logic (@ol0lll)
  • Bug #42368 [FrameworkBundle] Fall back to default configuration in debug:config and consistently resolve parameter values (@herndlm)
  • Bug #41684 Fix Url Validator false positives (@sidz)
  • Bug #42576 [Translation] Reverse fallback locales (@ro0NL)
  • Bug #42721 Escape all special characters for parse_mode MARKDOWN_V2 (@thomas2411)
  • Bug #42707 [Messenger] [AMQP] Do not leak any credentials when connection fails (@ruudk)
  • Bug #42690 [Notifier] Firebase error handling (@mishaklomp)
  • Bug #42628 [PropertyInfo] Support for the never return type (@derrabus)
  • Bug #42685 Fix ProgressBar to correctly clear multi-line formats (@rtek)
  • Bug #42649 [Translation] Fix message key handling for the Localise provider (@xepozz)
  • Bug #42659 Ignoring X-Transport header while signing email with DKIM (@metaer)
  • Bug #42585 [ExpressionLanguage] [Lexer] Remove PHP 8.0 polyfill (@nigelmann)
  • Bug #42621 [Security] Don't produce TypeErrors for non-string CSRF tokens (@derrabus)
  • Bug #42596 [Security] Fix wrong cache directive when using the new PUBLIC_ACCESS attribute (@wouterj)
  • Bug #42445 [Cache] fix wiring async cache recomputing in debug mode (@nicolas-grekas)
  • Bug #42365 [Cache] Do not add namespace argument to NullAdapter in CachePoolPass (@olsavmic)
  • Bug #42331 [HttpKernel] always close open stopwatch section after handling kernel.request events (@xabbuh)
  • Bug #42381 [Console] Don't pass null to preg_replace() (@derrabus)
  • Bug #42347 Fix ServiceLocator indexing when service is decorated (@shyim)
  • Bug #42380 [HttpFoundation] Don't pass null to strpos() (@derrabus)
  • Bug #42377 [HttpKernel] Remove preloading legacy event dispatcher (@OskarStark)
  • Bug #42260 Fix return types for PHP 8.1 (@derrabus)
  • Bug #42360 [DoctrineBridge] Typehint against doctrine/persistence interfaces (@malarzm)
  • Bug #42341 [Validator] Update MIR card scheme (@ossinkine)
  • Bug #42321 [PasswordHasher] Fix usage of PasswordHasherAdapter in PasswordHasherFactory (@peter17)

New in Symfony 5.3.6 (Jul 29, 2021)

  • Bug #42307 [Mailer] Fixed decode exception when sendgrid response is 202 (@rubanooo)
  • Bug #42296 [Dotenv][Yaml] Remove PHP 8.0 polyfill (@derrabus)
  • Bug #42274 [VarDumper] HtmlDumper::setDumpHeader() accepts null (@rrpadilla)
  • Bug #42289 [HttpFoundation] Fixed type mismatch (@Toflar)
  • Bug #42259 [Security] fix Check if it has session before getSession() (@mousezheng)

New in Symfony 5.3.5 (Jul 27, 2021)

  • Bug #42270 [WebProfilerBundle] [WebProfiler] "empty" filter bugfix. Filter with name "empty" is not … (@luzrain)

New in Symfony 5.3.4 (Jul 27, 2021)

  • bug #41504 [Translation] Fix default value for locales in translation push|pull commands (@welcoMattic)
  • bug #42243 [Translation] [Lokalise] Fix base_uri (@welcoMattic, @Nyholm)
  • bug #42212 [Lock] Handle lock with long key (@jderusse)
  • bug #42223 [Debug][ErrorHandler] Do not use the php80 polyfill (@nicolas-grekas)
  • bug #42207 [Console] fix table setHeaderTitle without headers (@a1812)
  • bug #42130 [Translation] fix fallback to Locale::getDefault() (@nicolas-grekas)
  • bug #42184 [Mailer] Make sure Http TransportException is not leaking (@Nyholm)
  • bug #42091 [Console] Run commands when implements SignalableCommandInterface without pcntl and they have'nt signals (@PaolaRuby)
  • bug #42150 [Form] Fix 'invalid_message' use in multiple ChoiceType (@alexandre-daubois)
  • bug #42183 [Notifier] Allow passing a previous throwable to exceptions (@derrabus)
  • bug #42185 [Notifier] Make sure Http TransportException is not leaking (@Nyholm)
  • bug #42182 [Notifier] Make sure Http TransportException is not leaking (@Nyholm)
  • bug #42173 [Messenger] [Redis] Fix auth option wrongly considered invalid (@chalasr)
  • bug #42174 Indicate compatibility with psr/log 2 and 3 (@derrabus)
  • bug #41897 [Security] fix #41891 Save hashed tokenValue in RememberMe cookie (@qurben)
  • bug #42156 Fix missing assignment (@Seldaek)
  • bug #42112 [HttpFoundation] fix FileBag under PHP 8.1 (@alexpott)
  • bug #42131 [PhpUnitBridge] Fix composer resolution on Windows (@Rainrider)
  • bug #42097 [DependencyInjection] Support for intersection types (@derrabus)
  • bug #42114 [HttpFoundation] Fix return types of SessionHandler::gc() (@derrabus)
  • bug #42099 [VarDumper] Support for intersection types (@derrabus)
  • bug #42011 [Cache] Support decorated Dbal drivers in PdoAdapter (@Jeroeny)
  • bug #42068 Add a Special Case for Translating Choices in en_US_POSIX (@chrisguitarguy)
  • bug #42074 Fix ctype_digit deprecation (@alexpott)
  • bug #42084 [WebProfilerBundle] Fix the values of some CSS properties (@javiereguiluz)
  • bug #42079 [FrameworkBundle] Fixed file operations in Sodium vault seal (@javiereguiluz)
  • bug #42078 [DoctrineBridge] [Doctrine Bridge] Fix an exception message (@javiereguiluz)
  • bug #42067 [Messenger] [Redis] Make auth option works (@welcoMattic)
  • bug #42054 [DoctrineBridge] fix setting default mapping type to attribute/annotation on php 8/7 respectively (@nicolas-grekas)
  • bug #42059 [Messenger] Fixed BC layer for RedeliveryStamp (@Nyholm)
  • bug #42060 [Messenger] AmqpTransport implements QueueReceiverInterface (@xabbuh)
  • bug #42049 [TwigBridge] do not render the same label id attribute twice (@xabbuh)
  • bug #42019 [DependencyInjection] Fix TaggedLocator attribute without indexAttribute argument (@lucas Bäuerle)
  • bug #42032 [HttpKernel] recover from failed deserializations (@xabbuh)
  • bug #42035 [Messenger] Fix use_notify default value for PostgreSqlConnection (@tgalopin)
  • bug #42009 [Console] Fix save correct name in setDefaultCommand() for PHP8 (@a1812)
  • bug #41990 [Lock] fix derivating semaphore from key (@nicolas-grekas)
  • bug #41986 [Notifier] Fix TransportTestCase (@OskarStark)
  • bug #40529 [Translation] Missing translations from traits (@insekticid)
  • bug #41384 Fix SkippedTestSuite (@jderusse)
  • bug #41966 [Console] Revert "bug #41952 fix handling positional arguments" (@chalasr, @nicolas-grekas)
  • bug #41905 [EventDispatcher] Correct the called event listener method case (@jjsty1e)
  • bug #41961 [Serializer] Need to clear cache when updating Annotation Groups on Entities (@monteiro)
  • bug #41952 [Console] fix handling positional arguments (@nicolas-grekas)
  • bug #41917 Rethrow exception in DoctrineTokenProvider (@jderusse)
  • bug #41887 [PhpUnitBridge] Fix deprecation handler with PHPUnit 10 (@YaFou)

New in Symfony 5.3.3 (Jul 17, 2021)

  • [Security] Handle concurency in Csrf DoctrineTokenProvider (@jderusse)
  • Fix SessionTokenStorage reuse with Request (@jderusse)
  • [Filesystem] Workaround cannot dumpFile into "protected" folders on Windows (@arnegroskurth)
  • [Messenger] fix FlattenExceptionNormalizer (@nicolas-grekas)
  • [SecurityBundle] Change information label from red to yellow (@94noni)
  • [HttpKernel] Keep max lifetime also when part of the responses don't set it (@mpdude)
  • [ErrorHandler] fix handling buffered SilencedErrorContext (@nicolas-grekas)
  • [HttpClient] fix Psr18Client when allow_url_fopen=0 (@nicolas-grekas)
  • [Runtime] Fix project dir variable when vendor not in project root (@Ash014)
  • [DependencyInjection] Add support of PHP enumerations (@alexandre-daubois)
  • [Config] fix tracking default values that reference the parent class (@nicolas-grekas)
  • [DependencyInjection] Fix binding "iterable $foo" when using the PHP-DSL (@nicolas-grekas)
  • [DependencyInjection] accept service locator definitions with no class (@nicolas-grekas)
  • [Uid] Fix fromString() with low base58 values (@fancyweb)
  • [Cache] handle prefixed redis connections when clearing pools (@nicolas-grekas)
  • [Cache] fix eventual consistency when using RedisTagAwareAdapter with a cluster (@nicolas-grekas)
  • [Cache] Disable locking on Windows by default (@nicolas-grekas)
  • [Mailer] fix encoding of addresses using SmtpTransport (@dmaicher)
  • [HttpKernel] [HttpCache] Keep s-maxage=0 from ESI sub-responses (@mpdude)
  • Avoid broken action URL in text notification mail (@mbrodala)
  • [Security] Fix special char used to create cache key (@jderusse)
  • [VarDumper] Fix tests for PHP 8.1 (@alexandre-daubois)
  • [FrameworkBundle] Replace var_export with VarExporter to use array short syntax in secrets list files (@alexandre-daubois)
  • [DependencyInjection] throw proper exception when decorating a synthetic service (@nicolas-grekas)
  • [Security] Implement fluent interface on RememberMeBadge::disable() (@derrabus)
  • [ErrorHandler] [DebugClassLoader] Do not check Phake mocks classes (@adoy)
  • [PhpUnitBridge] fix handling the COMPOSER_BINARY env var when using simple-phpunit (@Taluu)
  • [PasswordHasher] UserPasswordHasher only calls getSalt when method exists (@dbrumann)
  • [HttpFoundation] allow savePath of NativeFileSessionHandler to be null (@simon.chrzanowski)
  • [Messenger] prevent reflection usages when classes do not exist (@xabbuh)
  • [Security] Fixed 'security.command.debug_firewall' not found (@Nyholm)
  • [Security] Fix invalid RememberMe value after update (@jderusse)
  • [Security] Fix invalid cookie when migrating to new Security (@jderusse)
  • [Security] make the getter usable if no user identifier is set (@xabbuh)

New in Symfony 5.2.10 (Jun 1, 2021)

  • Bug #41000 [Form] Use !isset for checks cause this doesn't falsely include 0 (@kai Dederichs)
  • Bug #41407 [DependencyInjection] keep container.service_subscriber tag on the decorated definition (@xabbuh)
  • Bug #40866 [Filesystem] fix readlink() for Windows (@a1812)
  • Bug #41394 [Form] fix support for years outside of the 32b range on x86 arch (@nicolas-grekas)
  • Bug #41380 Make Mailgun Header compatible with other Bridges (@jderusse)
  • Bug #39847 [Messenger] Fix merging PrototypedArrayNode associative values (@svityashchuk)
  • Bug #41346 [WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed (@weaverryan)
  • Bug #41344 [VarDumper] Don't pass null to parse_url() (@derrabus)

New in Symfony 5.2.9 (May 19, 2021)

  • Security #cve-2021-21424 [SecurityCore] Fix user enumeration via response body on invalid credentials (@chalasr)
  • Bug #41275 Fixes Undefined method call (@faizanakram99)
  • Bug #41269 [SecurityBundle] Remove invalid unused service (@chalasr)
  • Bug #41139 [Security] [DataCollector] Remove allows anonymous information in datacollector (@ismail1432)
  • Bug #41230 [FrameworkBundle][Validator] Fix deprecations from Doctrine Annotations+Cache (@derrabus)
  • Bug #41206 [Mailer] Fix SES API call with UTF-8 Addresses (@jderusse)
  • Bug #41240 Fixed deprecation warnings about passing null as parameter (@derrabus)
  • Bug #41241 [Finder] Fix gitignore regex build with "**" (@mvorisek)
  • Bug #41224 [HttpClient] fix adding query string to relative URLs with scoped clients (@nicolas-grekas)
  • Bug #41233 [DependencyInjection][ProxyManagerBridge] Don't call class_exists() on null (@derrabus)
  • Bug #41211 [Notifier] Add missing charset to content-type for Slack notifier (@norkunas)
  • Bug #41210 [Console] Fix Windows code page support (@orkan)

New in Symfony 5.3.0 Beta 4 (May 12, 2021)

  • security #cve-2021-21424 [Security][Guard] Prevent user enumeration (@chalasr)
  • feature #41178 [FrameworkBundle] Introduce AbstractController::renderForm() instead of handleForm() (@lyrixx)
  • feature #41182 [DependencyInjection] allow PHP-DSL files to be env-conditional (@nicolas-grekas)
  • bug #41177 [DependencyInjection] fix empty instanceof-conditionals created by AttributeAutoconfigurationPass (@nicolas-grekas)
  • bug #41176 [DependencyInjection] fix dumping service-closure-arguments (@nicolas-grekas)
  • bug #41174 [Console] Fix Windows code page support (@orkan)
  • bug #41173 [Security] Make Login Rate Limiter also case insensitive for non-ascii user identifiers (@Seldaek)
  • bug #41170 [DependencyInjection] Don't try to load YamlFileLoader if it's not actually needed (@nicolas-grekas)
  • bug #41168 WDT: Only load "Sfjs" if it is not present already (@weaverryan)
  • feature #36864 [Messenger] Ability to distinguish retry and delay actions (@theravel)
  • bug #41164 [FrameworkBundle] fix debug:event-dispatcher and debug:firewall (@nicolas-grekas)
  • feature #41161 [HttpClient] Add DecoratorTrait to ease writing simple decorators (@nicolas-grekas)
  • bug #41147 [Inflector][String] wrong plural form of words ending by "pectus" (@makraz)
  • bug #41160 [HttpClient] Don't prepare the request in ScopingHttpClient (@nicolas-grekas)
  • bug #41156 [Security] Make Login Rate Limiter case insensitive (@jderusse)
  • bug #41155 [Translation] Improved Translation Providers (@welcoMattic)
  • feature #40927 [Translation] Added Lokalise Provider (@welcoMattic)
  • feature #40926 [Translation] Added PoEditor Provider (@welcoMattic)
  • bug #41137 [Security] Reset limiters on successful login (@MatTheCat)
  • bug #41148 [Runtime] fix defining $_SERVER[APP_ENV] (@nicolas-grekas)
  • bug #40758 [Security] NullToken signature (@jderusse)
  • bug #40763 Fix/Rewrite .gitignore regex builder (@mvorisek)

New in Symfony 5.3.0 Beta 3 (May 10, 2021)

  • Feature #40947 [Translation] Added Crowdin Translation Provider (@andrii-bodnar)
  • Bug #41132 [Runtime] don't display the shebang on the CLI (@nicolas-grekas)
  • Bug #41113 [Console] Fix Windows code page support (@orkan)
  • Bug #40902 [Security] Allow ips parameter in access_control to accept comma-separated string (@edefimov)
  • Bug #40980 [TwigBridge] Fix HTML for translatable custom-file label in Bootstrap 4 theme (@acran)
  • Bug #40955 [Notifier] [Bridge] Fix missed messageId for SendMessage object in slack notifier (@WaylandAce)
  • Bug #40943 [PropertyInfo] PhpDocExtractor: Handle "true" and "false" property types (@maciej Zgadzaj)
  • Bug #40759 [Form] Add missing TranslatableMessage support to choice_label option of ChoiceType (@alexandre-daubois)
  • Bug #40917 [Config][DependencyInjection] Uniformize trailing slash handling (@dunglas)
  • Bug #40699 [PropertyInfo] Make ReflectionExtractor correctly extract nullability (@shiftby)
  • Bug #40874 [PropertyInfo] fix attribute namespace with recursive traits (@soullivaneuh)
  • Bug #40957 [PhpUnitBridge] Fix tests with @doesNotPerformAssertions annotations (@alexpott)
  • Bug #41099 [Cache] Check if phpredis version is compatible with stream parameter (@nicolassing)
  • Bug #40982 [Notifier] Fix return SentMessage then Messenger not used (@WaylandAce)
  • Bug #40972 Avoid regenerating the remember me token if it is still fresh (@Seldaek)
  • Bug #41072 [VarExporter] Add support of PHP enumerations (@alexandre-daubois)
  • Feature #40992 [Notifier] Add SlackOptions::threadTs() to send message as reply (@WaylandAce)
  • Bug #41104 Fix return type in isAllowedProperty method on ReflectionExtractor class (@Tomanhez)
  • Bug #41078 [Notifier] Make FailoverTransport always pick the first transport (@jschaedl)
  • Feature #39157 [TwigBridge] Add form templates for Bootstrap 5 (@ker0x)
  • Bug #41022 [PasswordHasher] Improved BC layer (@derrabus)
  • Bug #41105 [Inflector][String] Fixed singularize edges > edge (@ruudk)
  • Bug #41075 [ErrorHandler] Skip "same vendor" @method deprecations for Symfony* classes unless symfony/symfony is being tested (@nicolas-grekas)
  • Bug #41096 Make Serializable implementation internal and final (@derrabus)
  • Bug #40994 [Config] More accurate message on invalid config builder (@a-menshchikov)
  • Bug #40767 [Routing] Fix localized paths (@l-vo)

New in Symfony 5.3.0 Beta 2 (May 4, 2021)

  • feature #41002 [FrameworkBundle][HttpKernel] Move IDE file link formats from FrameworkExtension to FileLinkFormatter (@MatTheCat)
  • bug #41014 [Routing] allow extending Route attribute (@robmro27)
  • feature #39913 [OptionsResolver] Add prototype definition support for nested options (@yceruto)
  • bug #41008 [Security] Do not try to rehash null-passwords (@tjveldhuizen)
  • bug #41013 [Console] Remove spaces between arguments GithubActionReporter (@franmomu)
  • bug #40920 [PasswordHasher] accept hashing passwords with nul bytes or longer than 72 bytes when using bcrypt (@nicolas-grekas)
  • bug #40993 [Security] [Security/Core] fix checking for bcrypt (@nicolas-grekas)
  • bug #40986 [Console] Negatable option are null by default (@jderusse)
  • bug #40923 [Yaml] expose references detected in inline notation structures (@xabbuh)
  • bug #40951 [FrameworkBundle] Make debug:event-dispatcher search case insensitive (@javiereguiluz)
  • bug #40966 [Messenger] fix manual amqp setup when autosetup disabled (@Tobion)
  • bug #40956 [Config] [ConfigBuilder] Set FQCN as properties type instead of class name (@MatTheCat)
  • bug #40964 [HttpFoundation] Fixes for PHP 8.1 deprecations (@jrmajor)
  • bug #40950 [Config] Remove double semicolons from autogenerated config classes (@HypeMC)
  • bug #40903 [Config] Builder: Remove typehints and allow for EnvConfigurator (@Nyholm)
  • bug #40919 [Mailer] use correct spelling when accessing the SMTP php.ini value (@xabbuh)
  • bug #40514 [Yaml] Allow tabs as separators between tokens (@bertramakers)
  • bug #40882 [Cache] phpredis: Added full TLS support for RedisCluster (@jackthomasatl)
  • feature #38475 [Translation] Adding Translation Providers (@welcoMattic)
  • bug #40877 [Config] Make sure one can build cache on Windows and then run in (Docker) Linux (@Nyholm)
  • bug #40878 [Config] Use plural name on array values (@Nyholm)
  • bug #40872 [DependencyInjection] [AliasDeprecatedPublicServicesPass] Noop when the service is private (@fancyweb)
  • feature #40800 [DependencyInjection] Add #[Target] to tell how a dependency is used and hint named autowiring aliases (@nicolas-grekas)
  • bug #40859 [Config] Support extensions without configuration in ConfigBuilder warmup (@wouterj)
  • bug #40852 [Notifier] Add missing entries in scheme to package map (@jschaedl)

New in Symfony 5.2.7 (May 4, 2021)

  • bug #41008 [Security] Do not try to rehash null-passwords (@tjveldhuizen)
  • bug #40993 [Security] [Security/Core] fix checking for bcrypt (@nicolas-grekas)
  • bug #40923 [Yaml] expose references detected in inline notation structures (@xabbuh)
  • bug #40964 [HttpFoundation] Fixes for PHP 8.1 deprecations (@jrmajor)
  • bug #40919 [Mailer] use correct spelling when accessing the SMTP php.ini value (@xabbuh)
  • bug #40514 [Yaml] Allow tabs as separators between tokens (@bertramakers)
  • bug #40882 [Cache] phpredis: Added full TLS support for RedisCluster (@jackthomasatl)
  • bug #40872 [DependencyInjection] [AliasDeprecatedPublicServicesPass] Noop when the service is private (@fancyweb)
  • bug #40802 [FrameworkBundle] Fix array controller link in debug:router (@fancyweb)
  • bug #40793 [DoctrineBridge] Add support for a driver type "attribute" (@beberlei)
  • bug #40807 RequestMatcher issue when _controller is a closure (@Plopix)
  • bug #40811 [PropertyInfo] Use the right context for methods defined in traits (@colinodell)
  • bug #40791 [WebProfilerBundle] Use ControllerReference instead of URL in twig render() (@Foxprodev)
  • bug #40330 [SecurityBundle] Empty line starting with dash under "access_control" causes all rules to be skipped (@monteiro)
  • bug #40780 [Cache] Apply NullAdapter as Null Object (@roukmoute)
  • bug #40740 [Cache][FrameworkBundle] Fix logging for TagAwareAdapter (@fancyweb)
  • bug #40755 [Routing] Better inline requirements and defaults parsing (@Foxprodev)
  • bug #40754 [PhpUnitBridge] Fix phpunit symlink on Windows (@johnstevenson)
  • bug #40660 [Form] Fix 'invalid_message' use in multiple ChoiceType (@alexandre-daubois)
  • bug #40707 [Yaml] Fixed infinite loop when parser goes through an additional and invalid closing tag (@alexandre-daubois)
  • bug #40698 [Console] Add Helper::width() and Helper::length() (@Nyholm, @grasmash)
  • bug #40679 [Debug][ErrorHandler] Avoid warning with Xdebug 3 with develop mode disabled (@Jean85)
  • bug #40702 [HttpClient] allow CurlHttpClient on Windows (@n0rbyt3)
  • bug #40503 [Yaml] fix parsing some block sequences (@a1812)
  • bug #40610 Fixed bugs found by psalm (@Nyholm)
  • bug #40603 [Config] Fixed support for nodes not extending BaseNode (@Nyholm)
  • bug #40658 [RateLimiter] Fix sleep value (@jderusse)
  • bug #40645 [FrameworkBundle] Dont store cache misses on warmup (@Nyholm)
  • bug #40629 [DependencyInjection] Fix "url" env var processor behavior when the url has no path (@fancyweb)
  • bug #40655 [Cache] skip storing failure-to-save as misses in ArrayAdapter (@nicolas-grekas)
  • bug #40522 [Serializer] Allow AbstractNormalizer to use null for non-optional nullable constructor parameters without default value (@pierre Rineau)
  • bug #40595 add missing queue_name to find(id) in doctrine messenger transport (@monteiro)
  • bug #40619 [FrameworkBundle] dont access the container to configure http_cache (@nicolas-grekas)
  • [PR] #41018

New in Symfony 5.2.6 (Apr 1, 2021)

  • Bug #40598 [Form] error if the input string couldn't be parsed as a date (xabbuh)
  • Bug #40587 [HttpClient] fix using stream_copy_to_stream() with responses cast to php streams (nicolas-grekas)
  • Bug #40510 [Form] IntegerType: Always use en for IntegerToLocalizedStringTransformer (Warxcell)
  • Bug #40593 Uses the correct assignment action for console options depending if they are short or long (topikito)
  • Bug #40535 [HttpKernel] ConfigDataCollector to return known data without the need of a Kernel (topikito)
  • Bug #40552 [Translation] Fix update existing key with existing +int-icu domain (Alexis)
  • Bug #40541 Fixed parsing deprecated definitions without message key (adamwojs)
  • Bug #40537 [Security] Handle properly 'auto' option for remember me cookie security (fliespl)
  • Bug #40524 [Console] fix emojis messing up the line width (MarionLeHerisson)
  • Bug #40506 [Validator] Avoid triggering the autoloader for user-input values (Seldaek)
  • Bug #40544 [FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized (kbond)
  • Bug #40547 [RateLimiter] Security hardening - Rate limiter (jderusse)
  • Bug #40538 [HttpClient] remove using $http_response_header (nicolas-grekas)
  • Bug #40508 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader (nicolas-grekas)
  • Bug #40497 [HttpFoundation] enable HTTP method overrides as early as possible with the HTTP cache (xabbuh)
  • Bug #40348 [Console] Fix line wrapping for decorated text in block output (grasmash)
  • Bug #40499 [Inflector][String] Fixed pluralize "coupon" (Nyholm)
  • Bug #40494 [PhpUnitBridge] fix compat with symfony/debug (nicolas-grekas)
  • Bug #40453 [VarDumper] Adds support for ReflectionUnionType to VarDumper (Michael Nelson, michaeldnelson)
  • Bug #40460 Correctly clear lines for multi-line progress bar messages (grasmash)
  • Bug #40490 [Security] Add XML support for authenticator manager (wouterj)
  • Bug #40242 [ErrorHandler] Fix error caused by `include` + open_basedir (stlrnz)
  • Bug #40368 [FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens (Seldaek)
  • Bug #40450 [Console] ProgressBar clears too many lines on update (danepowell)
  • Bug #40178 [FrameworkBundle] Exclude unreadable files when executing About command (michaljusiega)
  • Bug #40472 [BridgeTwig] Add 'form-control-range' for range input type (Oviglo)
  • Bug #40481 make async-ses required (jderusse)
  • Bug #39866 [Mime] Escape commas in address names (YaFou)
  • Bug #40373 Check if templating engine supports given view (fritzmg)
  • Bug #39992 [Security] Refresh original user in SwitchUserListener (AndrolGenhald)
  • Bug #40446 [TwigBridge] Fix "Serialization of 'Closure'" error when rendering an TemplatedEmail (jderusse)
  • Bug #40416 Fix `ConstraintViolation#getMessageTemplate()` to always return `string` (Ocramius)
  • Bug #40425 [DoctrineBridge] Fix eventListener initialization when eventSubscriber constructor dispatch an event (jderusse)
  • Bug #40313 [FrameworkBundle] Fix PropertyAccess definition when not in debug (PedroTroller)
  • Bug #40417 [Form] clear unchecked choice radio boxes even if clear missing is set to false (xabbuh)
  • Bug #40388 [ErrorHandler] Added missing type annotations to FlattenException (derrabus)
  • Bug #40407 [TwigBridge] Allow version 3 of the Twig extra packages (derrabus)

New in Symfony 5.2.0 Beta 3 (Oct 28, 2020)

  • Register signal handling only for commands implemeting SignalableCommandInterface
  • [Security] Move AbstractListener abstract methods to the new FirewallListenerInterface
  • Fix Preloader exception when preloading a class with an unknown parent/interface
  • [RateLimiter] Moved classes implementing LimiterInterface to a new namespace
  • [HttpClient] relax auth bearer format requirements
  • [RateLimiter] Rename RateLimiter to RateLimiterFactory
  • [DependencyInjection] Preload classes with union types correctly
  • feature #38688 [HttpClient] Add a Stopwatch on TraceableHttpClient
  • [Serializer] fix decoding float XML attributes starting with 0
  • [PhpUnitBridge] Support new expect methods in test case polyfill
  • [PHPUnitBridge] Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
  • [TwigBridge] Remove "transchoice" from the code base
  • [RateLimiter] Fix delete method of the cache storage )
  • [String] fix before/afterLast returning the empty string instead of the original one on non-match
  • [HttpClient] never trace content of event-stream responses
  • Add missing exporter function for PHPUnit 7 (@alcaeus)
  • [RateLimiter] Make sure we actually can use sliding_window and no_limit (@Nyholm)
  • [RateLimiter] Be more type safe when fetching from cache (@Nyholm)
  • [RateLimiter] Allow configuration value "no_limit" (@Nyholm)
  • [String] fix slicing in UnicodeString (@nicolas-grekas)
  • [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)
  • [TwigBridge] do not translate null placeholders or titles (@xabbuh)
  • [DoctrineBridge] Enabled to use the UniqueEntity constraint as an attribute
  • [Cache] Use correct expiry in ChainAdapter
  • [Filesystem] Check if failed unlink was caused by permission denied
  • [PropertyAccess] forward the caught exception (@xabbuh)
  • [FrameworkBundle] remove transport factory service when class does not exist (@xabbuh)
  • [HttpClient] Parameterize list of retryable methods
  • feature #38608 [RateLimiter] rename Limit to RateLimit and add RateLimit::getLimit()
  • [Form] Add missing invalid_message translations
  • [Messenger/Amqp] Allow setting option "login" in DSN
  • [Messenger][Doctrine] Avoid early db access for pgsql detection
  • [HttpFoundation][RateLimiter] fix RequestRateLimiterInterface::reset()
  • [DoctrineBridge] indexBy does not refer to attributes, but to column names
  • [DoctrinBridge] make Uid types stricter (@nicolas-grekas)
  • [WebProfilerBundle] Hide debug toolbar in print view
  • [Console] Fix signal management
  • [DoctrineBridge] Convert values to Rfc4122 before inserting them into the database
  • f[RateLimiter] Added reserve() to LimiterInterface and rename Limiter to RateLimiter
  • [Lock][Semaphore] Add Factory::createFromKey and deprecate lock.store services
  • [HttpClient] added extra.trace_content option to TraceableHttpClient to prevent it from keeping the content in memory
  • [FrameworkBundle] fix config declaration of http_cache option
  • [Console] Don't register signal handlers if pcntl is disabled
  • [Semaphore] Reset Key lifetime time before we acquire it
  • [DI] Fix Reflection file name with eval()'d code
  • [RateLimiter] Adding SlidingWindow algorithm
  • Deeprecate lock service
  • Add missing use statement
  • [HttpFoundation] Fix Range Requests

New in Symfony 5.2.0 Beta 2 (Oct 14, 2020)

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

New in Symfony 5.2.0 Beta 1 (Oct 5, 2020)

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

New in Symfony 5.1.7 (Oct 4, 2020)

  • bug #38396 Handle consecutive supports() calls in the RememberMeAuthenticator (@wouterj)
  • bug #36291 [Lock] Fix StoreFactory to accept same DSN syntax as AbstractAdapter (@Jontsa)
  • bug #38390 [Serializer][Minor] Fix circular reference exception message (bad limit displayed) (@l-vo)
  • bug #38388 [HttpClient] Always "buffer" empty responses (@nicolas-grekas)
  • bug #38384 [PhpUnitBridge] Fix Deprecation file when it comes from the TestsListener (@fancyweb)
  • bug #38380 [Form] propagate validation groups to subforms (@johanderuijter, @xabbuh)
  • bug #38377 Ignore more deprecations for Mockery mocks (@fancyweb)
  • bug #38375 [HttpClient] fix using proxies with NativeHttpClient (@nicolas-grekas)
  • bug #38372 [Routing] fix using !important and defaults/reqs in inline route definitions (@nicolas-grekas)
  • bug #38373 [ErrorHandler][DebugClassLoader] Do not check Mockery mocks classes (@fancyweb)
  • bug #38368 [HttpClient] Fix using https with proxies (@bohanyang)
  • bug #38350 [TwigBundle] Only remove kernel exception listener if twig is used (@dmolineus)
  • bug #38360 [BrowserKit] Cookie expiration at current timestamp (@iquito)
  • bug #38357 [DI] fix dumping non-shared lazy services (@nicolas-grekas)
  • bug #38358 [Messenger] Fix redis connection error message (@alexander-schranz)
  • bug #38343 Revert "bug #38063 [FrameworkBundle] generate preload.php in src/ to make opcache.preload predictable" (@nicolas-grekas)
  • bug #38348 [FrameworkBundle] Add Mailjet definition (@michaelKaefer)
  • bug #38336 [PhpUnitBridge] Fixed class_alias() for PHPUnitFrameworkErrorError (@stevegrunwell)

New in Symfony 5.0.4 (Feb 19, 2020)

  • Bug #35530 [HttpClient] Fix regex bearer (@noniagriconomie)
  • Bug #35532 [Validator] fix access to uninitialized property when getting value (@greedyivan)
  • Bug #35486 [Translator] Default value for 'sort' option in translation:update should be 'asc' (@versgui)
  • Bug #35305 [HttpKernel] Fix stale-if-error behavior, add tests (@mpdude)
  • Bug #34808 [PhpUnitBridge] Properly handle phpunit arguments for configuration file (@biozshock)
  • Bug #35517 [Intl] Provide more locale translations (@ro0NL)
  • Bug #35518 [Mailer] Fix STARTTLS support for Postmark and Mandrill (@fabpot)
  • Bug #35480 [Messenger] Check for all serialization exceptions during message dec… (@patrick Berenschot)
  • Bug #35502 [Messenger] Fix bug when using single route with XML config (@Nyholm)
  • Bug #35438 [SecurityBundle] fix ldap_bind service arguments (@Ioni14)
  • Bug #35429 [DI] CheckTypeDeclarationsPass now checks if value is type of parameter type (@pfazzi)
  • Bug #35464 [ErrorHandler] Add debug argument to decide whether debug page is shown or not (@yceruto)
  • Bug #35423 Fixes a runtime error when accessing the cache panel (@DamienHarper)
  • Bug #35428 [Cache] fix checking for igbinary availability (@nicolas-grekas)
  • Bug #35424 [HttpKernel] Check if lock can be released (@sjadema)