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.