This week, development activity focused on the upcoming Symfony 7.4 and 8.0 versions, which will deprecate and remove many features. In addition, we published a case study about Yousign. Finally, we're preparing everything for the SymfonyOnline June 2025 conference, which starts next week.
Symfony development highlights
This week, 79 pull requests were merged (59 in code and 20 in docs) and 57 issues were closed (41 in code and 16 in docs). Excluding merges, 27 authors made 3,730 additions and 2,695 deletions. See details for code and docs.
- 851f0ff: [Intl] ensure data consistency between alpha and numeric codes
- 8175960: [SecurityBundle] remove AnonymousFactory leftovers
- 91964c1: [Yaml] fix support for years outside of the 32b range on x86 arch on PHP 8.4
- 17fa1fd: [Mailer] use STARTTLS for SMTP with MailerSend
- de57965: [FrameworkBundle] ensureKernelShutdown in tearDownAfterClass
- 09d02eb: [Form] fix handling the empty string in NumberToLocalizedStringTransformer
- ac67b6a: [DependencyInjection] improve docblock on compile()
- 39d4e97: [TypeInfo] handle key-of and value-of types
- 47f3667: [PhpUnitBridge] skip bootstrap for PHPUnit >=10
- 16efe96: [DependencyInjection] fix ServiceLocatorTagPass indexes handling
- 46dca3d: [HttpKernel] pass log level instead of exception to resolve the logger
- 1023bc7: [WebProfilerBundle] fix toolbar with ajax requests not closing
- 37f5341: [FrameworkBundle] set NamespacedPoolInterface alias to cache.app
- dd64f65: [Ldap] fix LdapUser::isEqualTo
- 1b70214: [FrameworkBundle] don't register SchedulerTriggerNormalizer without symfony/serializer
- effb4a7: [TypeInfo] fix merging collection value types with union types
- 70ccb7e: [TypeInfo] fix type alias resolving
- 0577b23: [JsonStreamer] lazyGhostsDir should be optional
- e9eb3e7: [JsonPath] always use brackets notation with JsonPath::key()
- 42e5ad5: [Security] keep roles when serializing tokens
- 9ec87bf: [HttpClient] suggest amphp/http-client v5 by default
- cf3b527: [JsonPath] better handling of unicode chars in expressions
- 5aea219: [Process] improve typing for process callback
- 33ecd1c: [Routing] allow query-specific parameters in UrlGenerator using _query
- 0c00ffe: [PhpUnitBridge] add strtotime() to ClockMock
- 6251fbc, 68fce26: bump Symfony 8 to PHP >= 8.4
- 2c24370: enforce return types on all components
- 31986cd: [Console] remove deprecated code
- 60a3bc9: [OptionsResolver] remove support for nested options definition via setDefault(), use setOptions() instead
- 9a44448: [VarExporter] remove LazyGhostTrait and LazyProxyTrait in favor of native lazy objects
- 5c5e440: [FrameworkBundle] enable the property-info constructor extractor by default
- 22d14ee: [PropertyInfo] remove PropertyInfo's Type
Newest issues and pull requests
- [AssetMapper] Provide a dedicated CLI command for pre-compressing the assets
- [JsonPath] Test against official compliance test suite
- [JsonStreamer] Add PHPDoc to generated code
Symfony Jobs
These are some of the most recent Symfony job offers:
- Lead Symfony Developer at anyIP
Full-time - $3,000 – $5,000 / month
Full remote
View details - Symfony Developer at Les Echos Le Parisien Services
Full-time - €50,000 – €60,000 / year
Remote + part-time onsite (Paris (15e), France)
View details - Lead Symfony Developer at Gravitas
Full-time - €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 7 - Lemon Squeezy Payment Processor: Rendering LemonSqueezy Orders on the Account Page
- (Video) Symfony 7 - Lemon Squeezy Payment Processor: Enhancing API Error Handling
- New course announced: Going Global: Translate your Site
They talked about us
- Symfony Station Communiqué - 06 June 2025
- How to Make ChatGPT Codex Work with PHP and Symfony
- Integrating Neo4j With Symfony: Profiling Queries and Centralized Logging
- Powerful Design Pattern Pairing: Strategy and Chain of Responsibility in Symfony
- Sylius 2.1 leads the way with PHP 8.4 and Symfony 7.3
- Sortie de Symfony 7.3 : plus de fonctionnalités que jamais !
- Як боротися з cache stampede в PHP (на прикладі Symfony)
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.