This week, Symfony 4.4.44, 5.4.11, 6.0.11 and 6.1.3 maintenance versions were released. Meanwhile, the upcoming Symfony 6.2 version introduced a new Clock component to decouple applications from the system clock and a new transliterator to translate emojis into many locales. Lastly, there's a new proposal to discuss about switching from YAML to PHP by default in Symfony configuration.
Symfony development highlights
This week, 61 pull requests were merged (44 in code and 17 in docs) and 36 issues were closed (32 in code and 4 in docs). Excluding merges, 37 authors made 432,486 additions and 384 deletions. See details for code and docs.
- e3e2b32: [BrowserKit] merge fields and files recursively if they are multidimensional array
- 57e5141: [Serializer] respect default context in DateTimeNormalizer::denormalize
- 9fb7f20: [Debug, ErrorHandler] fix operator precedence
- 03bdaed: [HttpKernel] fix non-scalar check in surrogate fragment renderer
- dfa765d: [Security] allow redirect after login to absolute URLs
- 00037d8: [Messenger] fix function name in TriggerSql on postgresql bridge to support table name with schema
- 8341158: [Cache] ensure that Redis adapter can use multiple Redis Sentinel hosts
- 4a6a794: [FrameworkBundle] remove the ChatterInterface alias when the chatter service is removed
- cf9aff6: [Serializer] fix wrong needsNormalization in TraceableEncoder
- aea1a47: [HtmlSanitizer] allow null for sanitizer option allowed_link_hosts and allowed_media_hosts
- 39191b4, 523ba82: [ExpressionLanguage] add support for null coalescing syntax
- 523ba82: [Notifier] add "from" in SmsMessage
- b1b77f3: [Console] don't cut URLs wrapped in SymfonyStyle block
- 41dfb72, 5bf31c5: [Intl] add EmojiTransliterator to translate emoji to many locales
- 7940cc4: [Mime] change the way we avoid rendering an email twice
- f94700c: [Clock] a new component to decouple applications from the system clock
- 57e5141: [Serializer] respect default context in DateTimeNormalizer::denormalize
- 43c09ab: [ErrorHandler] don't trigger deprecations for lazy objects extending @final classes
- 905bc20: [Mailer] allow sub-classes to change the way the message id parsed
- 6e95b8b: [HttpKernel] add option to render Surrogate fragment with absolute URIs
- e137bd3: [Ldap] deprecate '{username}' parameter use in favour of '{user_identifier}' in LDAP configuration
- 03bacb3: [TwigBridge] add support for toggle buttons in Bootstrap 5 form theme
Newest issues and pull requests
- [Mailer] Send mails with attachments asynchronously
- [RFC][Forms] Make getParent static
- [Console] Improve performance of the code that gets column width and row height
- [RFC] Switch from Yaml to PHP files for skeleton configurations
- [Form] Adding valid & invalid form events
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.
These were some of the most relevant SymfonyCasts updates of the week:
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 20: Environment Variables
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 21: The Secrets Vault
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 22: Reading Secrets vs Env Vars
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 23: MakerBundle & Autoconfiguration
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 24: Customizing a Command
They talked about us
- Symfony Station Communiqué - 29 July 2022
- Symfony & When to catch exceptions
- 8 News in Config Transformer that Converts Symfony YML to PHP
- Demo Symfony Currency Converter
- Symfony ElasticSearch – Search service and Query builder
- Use D-MVC Pattern in Symfony Application
- What is message queuing and why should you use it
- Repository pattern the SOLID way in symfony
- Creating a Symfony project from zero to success in 52 weeks (week 4.4.44)
- API Platform Conference #2 : venez rencontrer les plus grand•es expert•es des API web !
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.
<hr style="margin-bottom: 5px" />
<div style="font-size: 90%">
<a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
</div>
Login to add comment
Other posts in this group

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

The Validator component provides dozens of constraints ready to use in your applications. In Symfony 7.3, we've added two new constraints to the list.
Slug Constraint

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

Contributed by Jérôme Tamarelle in

This week, we kicked off the New in Symfony 7.3 blog series, highlighting all the exciting new features coming in this release. We also unveiled more details about some of the SymfonyOnline June 2025

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

Symfony's Messenger component makes it easy to build message-driven applications. However, developers using symfony/amqp-messenger have long faced a limitation: it relies on polling (get()), which can