Symfony 6.4.44 has just been released.

Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project.

Tip

Want to be notified whenever a new Symfony release is published? Or when a version is not maintained anymore? Or only when a security issue is fixed? Consider subscribing to the Symfony Roadmap Notifications.

Changelog Since Symfony 6.4.43

  • bug #65541 [Serializer] Fix denormalizing mime messages typed as RawMessage (@nicolas-grekas)
  • bug #65524 [Security] Match check paths given as a route alias (@nicolas-grekas)
  • minor #65585 [Validator] Review the German translations for the EntityExists and Ulid messages (@wazum)
  • bug #65521 [WebProfilerBundle] Fix the mailer panel crashing when an attached file was deleted (@nicolas-grekas)
  • bug #65514 [Messenger] Tell apart handler services that share the same class (@nicolas-grekas)
  • minor #65583 [Validator] Review Croatian translations (@HypeMC)
  • bug #65506 [Validator] Fix auto-mapping strategies being ignored on inherited properties (@nicolas-grekas)
  • bug #65584 [Form] Map violations to child forms named after the snake cased property (@nicolas-grekas)
  • bug #65582 [CssSelector] Fix :disabled and :enabled inside nested fieldsets (@nicolas-grekas)
  • bug #65540 [HttpKernel] Fix caching responses that cannot provide their content (@nicolas-grekas)
  • bug #65538 [Form] Fix rendering and parsing dates before the Gregorian cutover (@nicolas-grekas)
  • bug #65534 [ErrorHandler] Fix leaking an exception handler when not replacing the error handler (@nicolas-grekas)
  • bug #65533 [Scheduler] Reject canceled scheduled messages so async transports do not redeliver them (@nicolas-grekas)
  • bug #65532 [DependencyInjection] Keep escaping when resolving values against a resolved parameter bag (@nicolas-grekas)
  • bug #65530 [Form] Apply the configured rounding mode when no scale is set (@nicolas-grekas)
  • bug #65526 [HttpKernel] Restore the locale that was in use before a sub-request (@nicolas-grekas)
  • bug #65525 [FrameworkBundle] Fix lint:container skipping services matched by tagged iterators (@nicolas-grekas)
  • bug #65522 [Form] Do not inherit translation parameters for translatable labels and help messages (@nicolas-grekas)
  • bug #65519 [DomCrawler] Detect the charset from meta tags only (@nicolas-grekas)
  • bug #65517 [FrameworkBundle] Fix dispatching console events after cache:clear (@nicolas-grekas)
  • bug #65516 [HttpKernel] Forward the request headers to inline rendered fragments (@nicolas-grekas)
  • bug #65513 [Messenger] Ignore the option-less handler tag added by autoconfiguration (@nicolas-grekas)
  • bug #65512 [HttpKernel] Ignore the session id that PHP kept from a previous request (@nicolas-grekas)
  • bug #65511 [Serializer] Fix SerializedName being ignored on denormalization when the attribute has groups (@nicolas-grekas)
  • bug #65510 [PhpUnitBridge] Fix finding the project root when vendor/ is a symlink (@nicolas-grekas)
  • bug #65509 [Mime] Reject an unquoted "@" in the local part of an email address (@nicolas-grekas)
  • bug #65508 [Intl] Follow the ICU parent locale when falling back (@nicolas-grekas)
  • bug #65507 [BrowserKit] Fix decoding raw cookie values that contain a plus sign (@nicolas-grekas)
  • bug #65504 [Messenger] Stop applying serialization groups and attribute filters to stamps (@nicolas-grekas)
  • bug #65502 [Security] Refresh the impersonator while impersonating (@nicolas-grekas)
  • bug #65501 [PropertyInfo] Fix the priority of the accessor named after the property (@nicolas-grekas)
  • bug #65499 [Serializer] Fix XmlEncoder dropping the extra attributes of item elements on decode (@nicolas-grekas)
  • bug #65491 [Serializer] Allow the attributes of nested discriminator maps when denormalizing (@nicolas-grekas)
  • bug #65580 [Notifier] Fix SendFailedMessageToNotifierListener rejecting any notifier but the concrete one (@nicolas-grekas)
  • bug #65476 [DoctrineBridge][EventDispatcher] Fix losing listeners when a lazy listener adds listeners (@nicolas-grekas)
  • bug #65498 [Process] Do not wait for output when the input iterator has more data (@nicolas-grekas)
  • bug #65495 [TwigBridge] Fix the broken error box around Bootstrap 4 date and time widgets (@nicolas-grekas)
  • bug #65494 [Translation] Stop leaking a temporary schema copy per validated XLIFF file inside a phar (@nicolas-grekas)
  • bug #65493 [Serializer] Fix XmlEncoder skipping normalizers for nested Traversable values (@nicolas-grekas)
  • bug #65489 [Scheduler] Fix refreshing the checkpoint lock with a negative TTL (@nicolas-grekas)
  • bug #65488 [MonologBridge] Fix NotifierHandler calling a method that NotifierInterface does not declare (@nicolas-grekas)
  • bug #65487 [Messenger] Fail when messenger:consume is given no receiver (@nicolas-grekas)
  • bug #65486 [Messenger] Remove the worker listeners when messenger:consume ends (@nicolas-grekas)
  • bug #65485 [Mailer] Remove metadata headers from the emails sent by the SES HTTP transports (@nicolas-grekas)
  • bug #65484 [HttpClient] Fix CachingHttpClient when trusted hosts are configured (@nicolas-grekas)
  • bug #65483 [FrameworkBundle] Show the effective priority of tagged services in debug:container (@nicolas-grekas)
  • bug #65482 [FrameworkBundle] Fix ignored --raw option of debug:router (@nicolas-grekas)
  • bug #65481 [FrameworkBundle] Fix debug:config and config:dump-reference when a bundle registers services in its build method (@nicolas-grekas)
  • bug #65474 [DependencyInjection] Fix compiling nested service locators (@nicolas-grekas)
  • bug #65473 [DependencyInjection] Fix sorting tagged services when autoconfiguration duplicates a tag (@nicolas-grekas)
  • bug #65578 [Form] Apply the guessed "pattern" and "maxlength" attributes to the types rendered as text inputs (@nicolas-grekas)
  • minor #65574 [Validator] Update Albanian translations (@llupa)
  • bug #65528 [Security] Track session usage when a lazy firewall reads the token (@nicolas-grekas)
  • bug #65527 [Mailer] Fix emails reported twice when they are queued and sent in the same process (@nicolas-grekas)
  • bug #65523 [PropertyInfo] Use the same mutator method for types and write info (@nicolas-grekas)
  • bug #65520 [BrowserKit] Return the most specific cookie when several ones match (@nicolas-grekas)
  • bug #65505 [Form] Apply the guessed "pattern" and "maxlength" attributes to text inputs only (@nicolas-grekas)
  • bug #65496 [HttpKernel] Send the response content before terminating the kernel in the test client (@nicolas-grekas)
  • bug #65492 [Serializer] Allow array indexes in the property paths of attributes when denormalizing (@nicolas-grekas)
  • minor #65577 Add skill to merge PRs (@nicolas-grekas)
  • minor #65571 [Validator] Review Brazilian Portuguese translations (@henriquejsza)
  • bug #65529 [Finder] Fix gitignore matching of negated patterns and excluded directories (@nicolas-grekas)
  • minor #65572 [Validator] Review French translations (@Amoifr)
  • bug #65546 [Scheduler] Fix infinite loop in MessageGenerator when a trigger does not move the run date forward (@lazerg)
  • bug #65500 [Console] Keep backslashes preceding < and > when escaping text (@nicolas-grekas)
  • bug #65542 [DependencyInjection] Detect circular references through a shared factory builder (@nicolas-grekas)
  • bug #65477 [Finder] Do not report dangling symlinks as both files and directories (@nicolas-grekas)
  • bug #65472 [HttpKernel] Write pending dumps to the output before dd() exits (@nicolas-grekas)
  • bug #65471 [Console] Fix clearing more lines than a section holds (@nicolas-grekas)
  • bug #65470 [Yaml] Fix parsing tagged block scalars inside sequences (@nicolas-grekas)
  • bug #65537 [Filesystem] Fix mirror() deleting files from the origin directory (@nicolas-grekas)
  • bug #65518 [Translation] Fix pushing numeric translation keys to Lokalise (@nicolas-grekas)
  • bug #65547 [VarDumper] Fix division by zero when dumping a DatePeriod whose interval does not move forward (@lazerg)
  • bug #65544 [Mailer] Fix the SMTP scheme check in the transport factory test case (@nicolas-grekas)
  • bug #65503 [VarDumper] Fix losing colors when dumping to php://output on the CLI (@nicolas-grekas)
  • bug #65469 [Scheduler] Fix infinite loop in PeriodicalTrigger when the interval cannot move the run date forward (@wazum)
  • bug #65478 [Form] Replace the {{ max }} placeholder in the post_max_size error message (@nicolas-grekas)
  • bug #65480 [Form] Fix the money pattern for locales that do not use ASCII digits (@nicolas-grekas)
  • bug #65465 [TwigBridge] Pass a valid XML version to DOMDocument in the form layout test case (@nicolas-grekas)
  • minor #65453 [Validator] Add the EntityExists and Ulid message translation units (@nicolas-grekas)
  • bug #65448 [HttpKernel] Fix concurrent cache warmups corrupting the deprecations log (@lazerg)
  • bug #65444 [Config] Fix dumping keyless prototyped arrays of arrays in XmlReferenceDumper (@nicolas-grekas)
  • bug #65430 [Cache] Validate every key before deleting any in ArrayAdapter::deleteItems() (@nicolas-grekas)
  • bug #65429 [Cache] Fix numeric string keys being cast to integers (@nicolas-grekas)
  • bug #65425 [Yaml] Fix parsing an alias followed by a comment (@eyupcanakman)
  • bug #65421 [Cache] Fix Predis ignoring the "auth" parameter set in the DSN or in the options (@nicolas-grekas)
  • bug #65423 [WebProfilerBundle] Fix wrongly disabled tabs and toggles that cannot be focused (@Nitram1123)
  • bug #65422 [Security] Reject malformed login link parameters instead of throwing a TypeError (@nicolas-grekas)
  • bug #65419 [Console] Consume the whole escape sequence when reading autocomplete input (@nicolas-grekas)
  • bug #65395 [Yaml] Do not treat an uppercase 0X prefix as hexadecimal (@eyupcanakman)
  • bug #65392 [DomCrawler] Fix FormField::getLabel() when the field id contains a quote (@nicolas-grekas)
  • bug #65391 [DomCrawler] Read the whole content of a textarea (@nicolas-grekas)
  • bug #65382 [DomCrawler] Fix matches(), closest() and children() for selectors with a combinator or a positional pseudo-class (@nicolas-grekas)
  • bug #65376 [Validator] Allow a literal # in the fragment part of Url (@lazerg)
  • minor #65378 Add an agent skill for authoring pull requests (@nicolas-grekas)
  • bug #65371 [Translation] Read CSV translations without SplFileObject (@nicolas-grekas)
  • bug #65372 [HttpFoundation] Declare create_sid() on session handlers (@nicolas-grekas)
  • bug #65367 Fix PHP 8.6 deprecations (@nicolas-grekas)
  • bug #65363 [MonologBridge] Release command data in ConsoleCommandProcessor when the command terminates (@tomsommer)
  • bug #65352 [Mailer] Reconnect after a timeout to avoid SMTP response desync (@ousamabenyounes)
  • bug #65354 [Serializer] Throw on XML data without a root node (@nicolas-grekas)
  • bug #65315 [Translation] Do not extract messages from classes merely named TranslatableMessage (@nicolas-grekas)
  • bug #65314 [HttpClient] Fix abandoned wrapped response throwing on destruct (@nicolas-grekas)
  • bug #65311 [HttpClient] Fix mis-armed consumption guard in AsyncResponse::stream() (@nicolas-grekas)
  • minor #65310 [HttpClient] Remove unused code in AsyncResponse::__destruct() (@lyrixx)
  • bug #65305 [Messenger] Handle synchronous batch nack (@eissasoubhi)
  • bug #65296 [DoctrineBridge] Fix removing lazy listeners by object (@eissasoubhi)
  • bug #65288 [Cache] Fix stampede protection not being disabled on CLI (@nicolas-grekas)
  • bug #65278 [FrameworkBundle] Reset the notification logger listener between messages (@nicolas-grekas)
  • bug #65271 [DependencyInjection] Fix circular references through expressions (@eissasoubhi)
  • bug #65275 [PropertyInfo] Ignore methods that only look like accessors (@nicolas-grekas)
  • bug #65264 [Mime] Do not drop the last line of a resource-backed message (@sadiqk2)
  • bug #65262 [AssetMapper] Include front controller in dev asset URLs (@eissasoubhi)
  • bug #65260 [Messenger][AmazonSqs] Support queue URLs from the aws-cn and aws-eusc partitions (@bhavin-nakrani)
  • bug #65258 [Console] Restore the catchExceptions state after running a command message (@KevinMartinsDev)
  • bug #65252 [HttpFoundation] Combine trusted host patterns into a single regexp (@nicolas-grekas)
  • bug #65249 [DependencyInjection][HttpKernel] Fix undefined variable when locking the container build fails early (@javiereguiluz)
  • bug #65193 [RateLimiter] Cap the burst size and the duration computed from it (@cs278)
  • bug #65191 [PhpUnitBridge] Don't return a non-callable from getPhpUnitErrorHandler() (@sadiqk2)
  • bug #65180 [HttpKernel] Fix failing reset methods preventing later services from resetting (@javiereguiluz)
  • bug #64982 [PropertyInfo] Do not report a non-public mutator as writable (@nicolas-grekas)
  • bug #65128 [Mime] Escape backslashes in Address::getEncodedName() (@munzzyy)
  • bug #65172 [DependencyInjection] Don't keep partially-configured shared services when their setup fails (@javiereguiluz)
  • minor #65165 [Form][Validator] Added missing Slovak translations (@dtokos)
  • bug #65131 [FrameworkBundle] Fix "cache:clear" failing when the cache dir is rebuilt concurrently (@ousamabenyounes)
  • bug #65116 [Lock] Fix a released read lock letting a new read lock through while a write lock is held (@Zombaya)
  • bug #65133 [DependencyInjection] Fix ParameterBag::clear() leaving stale deprecations and resolution state (@javiereguiluz)
  • bug #65113 [DependencyInjection] Fix instantiating a lazy proxy for an inline definition (@nicolas-grekas)
  • bug #65112 [DependencyInjection] Fix misleading error messages for invalid "proxy" tags (@nicolas-grekas)
  • bug #65111 [DependencyInjection] Fix generating one proxy class per set of "proxy" tags (@nicolas-grekas)
  • bug #65100 [Translation][Lokalise] Send filter_filenames as a JSON array (@nicolas-grekas)
  • bug #65099 [Mailer][Sendgrid] Map the processed event to RECEIVED (@nicolas-grekas)
  • minor #65097 [Form][Validator] Review Lithuanian (lt) translations (@MariusVarna)
  • minor #65070 [Notifier][Telegram] Document how to build a multi-row inline keyboard (@nicolas-grekas)
  • bug #65065 [Console] Fix column widths when a row spans columns (@wazum)
  • bug #65062 [Mime] Fix corrupted CID references when one is a prefix of another (@MarcinOrlowski)
  • bug #65066 [Mailer] Fix rewriting cid references of inline parts for Mailgun (@nicolas-grekas)
  • bug #65060 [TwigBridge][WebProfilerBundle] Fix compatibility with Twig 4 (@nicolas-grekas)
  • bug #65058 [PropertyAccess] Fix caching of null read info (@javiereguiluz)
  • bug #65059 [Translation] Fix fuzzy translations and multi-line msgctxt in PO files (@javiereguiluz)
  • minor #65055 [Validator] Review Serbian (sr_Latn) translations (@milanqtx)
  • minor #65054 [Validator] Review Serbian (sr_Cyrl) translations (@milanqtx)
  • bug #65041 [Validator] Fix File constraint skipping the mime type check when extensions and mimeTypes have no common value (@nicolas-grekas)
  • minor #65048 [VarExporter] cache result of hasOctalControlChars (@alexisLefebvre)
  • bug #65049 [Translation] Do not split ICU messages on pipes in PoFileDumper (@nicolas-grekas)
  • minor #65046 [VarExporter] Detect the null byte rendering instead of pinning a PHP version (@nicolas-grekas)
  • bug #65036 [HttpClient] Revert " Strip Proxy-Authorization on cross-authority redirects" (@GrahamCampbell)
Published in #Releases