This week, the Symfony book published its update for Symfony 8.1 in multiple languages. Meanwhile, we completed the New in Symfony 8.1 series, continued the New in Twig 4.0 series with articles about the sandbox and expression parsers, and launched a new series about Symfony AI. Finally, we released new Symfony UX versions to address two security issues.
Symfony development highlights
This week, 50 pull requests were merged (41 in code and 9 in docs) and 26 issues were closed (23 in code and 3 in docs). Excluding merges, 24 authors made additions and deletions. See details for code and docs.
- 0fa12cc: [Console] use mb_convert_encoding() instead of mb_convert_variables()
- 641dfc5: [EventSourceHttpClient] prevent re-yielding of the first chunk after reconnect
- b63682d: [FrameworkBundle] detect env placeholders in resolved route parameter values
- 12b6775: [Cache, DoctrineBridge, HttpFoundation, Lock, Messenger] restore compat with DBAL 4.5
- fa6a014: [SecurityBundle] fix state leak in LogoutUrlGenerator in async environments
- 0adc102: [AssetMapper] fix stale dev asset cache in long-running runtimes
- e8a584b: [Validator] avoid TypeError and improve DX when null groups
- 5bb95c5: [Finder] fix recursion into stream wrapper subdirectories on Windows
- 30edcae: [Serializer] fix #[Ignore] on a getter ignoring a same-name property
- 422ed49: [Cache] ensure RelayProxy compatibility with Relay extension 0.30.0
- 22dcfb3: [Serializer] honor csv_headers context when no_headers is true
- 271ce83: [Mailer] register MicrosoftGraphTransportFactory in Transport::FACTORY_CLASSES
- b637a7c: [ObjectMapper] fix mapping of private properties from parent classes
- 75631ea: [FrameworkBundle, TwigBridge] relax test assertions for generated _fragment URI
- 623dd2d, 695a290: [Contracts] rename ContainerAwareInterface to ContainerProviderInterface
- 99e481b: [DependencyInjection] fix deprecation when handling tagged iterator YAML short syntax
- 5bab0d0: [Translation] create Crowdin files before uploading translations
- 6f5fd7f: [ObjectMapper] handle N targets per source in reverse class map
- ffa738f: [ObjectMapper] fix self-referencing property mapping
- 2b1b0a2: [Messenger] fix #[AsMessage] on abstract classes
- 0baccf6: [Messenger] fix Messenger commands don't yet make use of listable Redis capabilities
- 88ca572: [ObjectMapper] fix reverse class mapping of private properties from parent classes
- 01c6e89: [Yaml] restrict block parser regexps to the ASCII grammar
- 2f32cf4: [SecurityHttp] make OidcTokenHandler allowedTimeDrift configurable
- 44e07fc: [Translation] remove CrowdinProviderTest::testWriteWithTooManyRequests()
- 1d21790: [TypeInfo] add support for covariant templates
Newest issues and pull requests
- [Validator] Allow cascading the current group sequence group to referenced objects
- [Messenger] Add LoggableMiddleware for execution time and memory logging
- [Scheduler] Add a way to select the environments for #[AsCronTask] and #[AsPeriodicTask]
Symfony Jobs
These are some of the most recent Symfony job offers:
- Backend Symfony Developer at SensioLabs Deutschland
Full-time - €60,000 – €75,000 / year
Full remote
View details - Lead Symfony Developer at DocuPet
Full-time - CA$140,000 – CA$180,000 / year
Full remote
View details - Backend Symfony Developer at KRUU GmbH
Full-time - €60,000 – €75,000 / month
Remote + part-time onsite (Bad Friedrichshall, Germany)
View details - DevOps for a Symfony project at Cloudpepper
Full-time - $150,000 – $180,000 / year
Full remote
View details
You can publish a Symfony job offer for free on symfony.com.
SymfonyCasts Updates
SymfonyCasts is the official way to learn Symfony. Select a track for a guided path through 100+ video tutorial courses about Symfony, PHP and JavaScript.
This week, SymfonyCasts published the following updates:
- (Article) Keeping Doctrine Entities Honest with DTOs and ObjectMapper
- (Video) Symfony Security: The Basics: Creating a Login Form
- (Article) Meet Brontie, your AI Companion
They talked about us
- Mastering Symfony Security, Passports and Custom Authenticators
- OpenAPI without #[OA] how I built a Symfony documentation generator
- What is New in PHP Event Sourcing 3.12 to 3.19
- Comprendre (enfin) les TTY et PTY avec le composant Process de Symfony
- Le piège UserInterface dans le Domain (Hexagonal/DDD)
- Contao 5 Bundle-Entwicklung: Warum das neue System ein Gamechanger für Entwickler ist
- OpenAPI без #[OA] как я сделал генератор документации для Symfony
Upcoming Symfony Events
- Symfony/PHP Meetup Barcelona by SensioLabs: Barcelona, Spain (June 25, 2026)
- Web Summer Camp 2026: Opatija, Croatia (July 2, 2026 – July 4, 2026)
Call to Action
- Follow Symfony on X, on Mastodon, on Bluesky and on Threads and share this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.