Symfony 8.1.1
⚡ Symfony 8.1.1 just dropped — June 27, 2026 — and it comes packed with bug bashes, ObjectMapper overhauls, and compatibility corrections. This first patch since the 8.1.0 feature release (May 29) addresses over 50 issues, with a strong focus on the new ObjectMapper component and cache interoperability.
🔧 ObjectMapper Overhaul
The ObjectMapper component, introduced in Symfony 8.1, receives substantial bug fixes in this release. Self-referencing property mapping, private properties from parent classes, and reverse class mapping with unreadable sources all get attention. The team at @nicolas-grekas and @soyuka have made existing-object mapping behavior consistent across all call sites.
- Fix self-referencing property mapping (
#64589) - Fix private properties from parent classes in reverse class map (
#63791) - Fix fatal errors on unreadable source properties (
#64584) - Handle N targets per source in reverse class map (
#64567)
🔐 Security Hardening
Multiple unserialize-related hardening patches land in this release. __toString trampolines are reinforced via __unserialize(), and the HttpKernel component adds allowed_classes => false guards to unserialize() calls in CacheWarmerAggregate, LoggerDataCollector, and HttpCache Store.
- Harden
__toStringtrampolines via__unserialize()(#64566) - TwigBridge rejects
__toStringtrampolines in TemplatedEmail (#64549) - Allowed-classes hardening in CacheWarmer, LoggerDataCollector, HttpCache (
#64419)
🐛 Bug Bashes
Serializer fixes lead the charge: GetSetMethodNormalizer now correctly denormalizes constructor-only objects, the #[Ignore] attribute no longer conflicts with same-name property getters, and csv_headers context is honored when no_headers is true. The Finder component gains proper Windows stream wrapper recursion.
- Serializer: Fix
#[Ignore]on getters conflicting with properties (#64225) - Cache: RelayProxy and RelayClusterProxy compatibility with Relay 0.30.0 (
#64648,#64645) - Messenger: Redis listable capabilities fix (
#64640) - AssetMapper: Fix stale dev asset cache in long-running runtimes (
#64635) - Form: Don't re-add deleted collection entries on submit (
#64536)
🆙 Upgrade at Your Pace
Symfony 8.1.1 is a standard patch release with no breaking changes. To upgrade, update your composer.json constraints to ^8.1 and run composer update. Review the CHANGELOG-8.1.md for the full diff if you rely on any of the affected components.
⬆️ Don't delay the upgrade — this release patches real regressions and keeps your Symfony stack fresh.