This week, Symfony development activity focused on merging pending new features for the upcoming Symfony 7.4 and 8.0 versions. In addition, we announced a new conference: SymfonyDay Montreal on June 4, 2026, and made a call for volunteers for SymfonyCon Amsterdam 2025.
Symfony development highlights
This week, 64 pull requests were merged (59 in code and 5 in docs) and 31 issues were closed (28 in code and 3 in docs). Excluding merges, 35 authors made 4,479 additions and 1,373 deletions. See details for code and docs.
- 1f64ca9: [Intl] remove incorrect condition in CurrencyDataGenerator::icuPairToDate
 - 917a2af: [Config] fix GlobResource pattern with trailing slash
 - 00934e2: [Console] don't automatically append EOT to multiline test inputs
 - f1fb422: [FrameworkBundle] normalize workflow places separately
 - 63fccc4: [Console] don't append a new line to test inputs ending with an EOT
 - a90e5f0: [Validator] restore translation source entries
 - 92a6bd1: replace __sleep/wakeup() by __(un)serialize() for throwing and internal usages
 - 85b7f4a: [PhpUnitBridge] silence deprecation of __sleep/wakeup()
 - 4a75888: [PhpUnitBridge] do not try to modify the result of a PhptTestCase
 - c6e2837: [HttpKernel] handle an array vary header in the http cache store for write
 - 2924491: [Console] fix handling of \E in Bash completion
 
- 037e66f: [SecurityBundle] add missing fixXmlConfig() call for issuer
 - 91f04e9: [MonologBridge] make ConsoleHandler not handle messages at SILENT verbosity
 - 903e28d: [Security] fix #[IsCsrfTokenValid] to ensure $tokenKey is non-nullable
 - ce92504: [JsonPath] make the component RFC compliant
 - 84c65cb: [SecurityBundle] fix semantic configuration for singulars/plurals in XML
 - 741d418: [TypeInfo] improve BuiltinType::isIdentifiedBy() method performance
 - f4e417a: [TypeInfo] fix issue with merging union type with a nullable union type
 
- 3058e67: [Security] fix initializing key for reachable roles
 - facfb29: use >= operator in #[RequiresPhp] attributes to allow compatible versions
 - 4f4a40a, 615b0e9, 1da4bab, 07d0b39: [Config, Finder, Form, HttpFoundation] add better type information using PHPDoc
 - 639b911: [VarDumper] select HtmlDumper only if Accept header contains 'html'
 - 236b078: [Security] deprecate PersistentToken::getClass() and RememberMeDetails::getUserFqcn() in order to remove the user FQCN from the remember-me cookie in 8.0
 - 66b0c12: [WebProfilerBundle] show EventSource requests in debug toolbar
 - f603472: [Validator] add #[ExtendsValidationFor] to declare new constraints for a class
 - e0b50a7: [Serializer] add #[ExtendsSerializationFor] to declare new serialization attributes for a class
 - ac219f8: [Security] add $tokenSource argument to #[IsCsrfTokenValid] to support reading tokens from the query string or headers
 - be24a0e: [DoctrineBridge] use non-reserved keyword as key column name, quote key value
 - db6206e: [Messenger] introduce DefaultStampsProviderInterface
 - 4808873: [Console] add optional timeout for human interaction in QuestionHelper
 - 8496002: [Lock] fix package name for DynamoDB
 - c287443: [Lock] do not support sensitive option entries
 - 2471df3: [HttpKernel] refine ControllerEvent::getAttributes() and ControllerArgumentsEvent::getAttributes() return types
 - a6f969d: [Config] add argument $singular to NodeBuilder::arrayNode() to decouple plurals/singulars from XML
 - 13db1a0: [Serializer] allows to instantiate property when creating a NotNormalizableValueException
 - 3f60ead: [FrameworkBundle] allow to prepare session in functional tests
 - e088d76: [TwigBridge] call form_label_content block inside button_widget block
 - 2dcb076: [HttpFoundation] handle error when expected directory is a file
 
Newest issues and pull requests
- [HttpFoundation] Add mehod to check if query param is scalar or not
 - [Config] Add generics on the config builder API
 
Symfony Jobs
These are some of the most recent Symfony job offers:
- Frontend Developer for a Symfony project at AlfaDocs
Full-time - €60,000 – €80,000 / year
Full remote
View details - Backend Symfony Developer at Digt AG
Full-time - up to €45,000 / year
Full remote
View details - Symfony Developer at Instamed
Contract / Freelance - €200 – €350 / day
Full remote
View details - Lead Symfony Developer at Buddy & Selly
Full-time - €70,000 – €80,000 / year
Full remote
View details - Lead Symfony Developer at A-Cube API
Full-time - €54,000 – €72,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:
- (Video) Symfony Bundle Development: Share the Love: "Wiring Up" our Bundle Service
 - (Video) Symfony Bundle Development: Share the Love: Bundle Service Class
 - (Video) Symfony Bundle Development: Share the Love: Install our Bundle Locally
 - (Video) Symfony Bundle Development: Share the Love: The Bundle Class
 - (Video) Symfony Bundle Development: Share the Love: Initialize the Bundle
 
They talked about us
- Symfony Station Communiqué - Stardate: ✦ 12 September 2025 ✦
 - Webpack Encore: Current State and Future
 - Bring Your Own HTTP client
 - Simplify AI-Agent Deployment: Dockerizing Symfony for Scalable
 - Build Secure Web Applications with PHP, Symfony, and MongoDB
 - The Proactive Agent: Slack and Symfony for Real-Time Communications
 
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.