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.