# Symfony v8.1.5 - Product: Symfony (https://whatsnew.fyi/product/symfony) - Vendor: Symfony - Date: 2026-08-22 - Version: v8.1.5 - Original notes: https://github.com/symfony/symfony/releases/tag/v8.1.5 - Permalink: https://whatsnew.fyi/product/symfony/releases/v8.1.5 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Fix denormalizing mime messages typed as RawMessage - **fixed** — Match check paths given as a route alias - **changed** — Review the German translations for the EntityExists and Ulid messages - **fixed** — Fix the mailer panel crashing when an attached file was deleted - **fixed** — Tell apart handler services that share the same class - **changed** — Review Croatian translations - **fixed** — Fix auto-mapping strategies being ignored on inherited properties - **fixed** — Map violations to child forms named after the snake cased property - **fixed** — Fix :disabled and :enabled inside nested fieldsets - **fixed** — Fix resolving constants defined on interfaces - **fixed** — Do not resolve core utility parameters as command input - **fixed** — Fix caching responses that cannot provide their content - **fixed** — Fix rendering and parsing dates before the Gregorian cutover - **fixed** — Fix leaking an exception handler when not replacing the error handler - **fixed** — Reject canceled scheduled messages so async transports do not redeliver them - **fixed** — Keep escaping when resolving values against a resolved parameter bag - **fixed** — Apply the configured rounding mode when no scale is set - **fixed** — Restore the locale that was in use before a sub-request - **fixed** — Fix lint:container skipping services matched by tagged iterators - **fixed** — Do not inherit translation parameters for translatable labels and help messages **Changelog** (https://github.com/symfony/symfony/compare/v8.1.4...v8.1.5) * 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 #65579 [TypeInfo] Fix resolving constants defined on interfaces (@llupa) * bug #65455 [Console] Do not resolve core utility parameters as command input (@lazerg) * 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 d _[Truncated at 4000 characters — full notes: https://github.com/symfony/symfony/releases/tag/v8.1.5]_