This week, Symfony development activity focused on the translation files used by the Validator and Security components, completing many missing translations and normalizing the file contents. Meanwhile, Symfony 7.1 added support for custom HTTP status codes in the MapQueryParameter attribute, introduced a new ServiceCollectionInterface and added Stringable interface support in all constraints. Lastly, we simplified the versioning of Symfony Docs.
Symfony development highlights
This week, 108 pull requests were merged (89 in code and 19 in docs) and 54 issues were closed (46 in code and 8 in docs). Excluding merges, 44 authors made 5,276 additions and 2,903 deletions. See details for code and docs.
- 02ff4c6: [Form] make sure that the submitted year is an accepted choice
- d70b158: [Serializer] fix using deserialization path 5.4
- 26ad649: URL decode username and passwords from parse_url() results
- 46ce601: [FrameworkBundle] append instead of replacing potentially non-existent named-arguments
- 9069d14: [Form, Security, Validator] normalize translation files
- e3d9fd2: [FrameworkBundle] fix Notifier service registration (MessageBird + TurboSms)
- 218313e: [Validator] re-allow an empty list of fields
- 22dc6a7: [Messenger] Amazon SQS Delay has a max of 15 minutes
- 568fab1, ba51e40: [Validator] updated Hungarian translation
- 6344b56: [Validator] updated Albanian translation
- 740987c, 73cd81e: [Validator] updated Serbian translation
- bf62cbe: [Validator] updated Polish translation
- df36583: [Validator] updated Latvian translation
- e971194: [Validator] updated Ukrainian translation
- 80d7d65: [Validator] updated Croatian translation
- 791ca62: [Validator] updated Indonesian translation
- 8b8826b: [Validator] updated Slovak translation
- 3cc4fcd: [Validator] updated Luxembourgish translation
- 6789065: [Validator] updated Greek translation
- d60753c: [Validator] updated Azerbaijani translation
- d063f92: [Validator] updated Slovenian translation
- 19036b3: [Validator] updated Bulgarian translation
- 14768d7: [Validator] updated Danish translation
- 0e40369: [Validator] updated Turkish translation
- b7b684f: [Validator] updated Russian translation
- 8298c25: [Validator] updated Czech translation
- 8ae985c: [Validator] updated Macedonian translation
- 6010db4: [Validator] updated Portuguese translation
- b9b6396: [Validator] updated French translation
- 2cd0493: [Validator] updated Spanish translation
- 355081e: [Translation] add missing translations using ChatGPT
- 7cb70ae: [Validator] added missing Finnish, Italian, and Serbian Cyryllic translations
- e79914a: [Cache] synchronize RelayProxy
- a84d42b: [Scheduler] separate id and description in message providers
- 712ccf5: [Messenger] fix Redis messenger scheme comparison
- 2e73037: [Form] fix assigning data in PostSetDataEvent and PostSubmitEvent
- 635afca: [Serializer] fix BC break with #[Ignore] attribute in GetSetMethodNormalizer
- a1ca059: [ErrorHandler] fix rendering exception pages without the HttpKernel component
- 0766167: [HttpKernel] add support for custom HTTP status code for the #[MapQueryParameter] attribute
- c8adc20: [FrameworkBundle] add a private_ranges shortcut for trusted_proxies
- b9c61b6: [Dotenv] add SYMFONY_DOTENV_PATH, consumed by debug:dotenv for custom .env path
- a84d42b: [Scheduler] separate id and description in message providers
- 82e0eff: [Contracts] add ServiceCollectionInterface in DependencyInjection
- 4266345: [Validator] support \Stringable instances in all constraints
- b92bdc0: [Mailer, Notifier] add more #[SensitiveParameter] attributes
- 67f3809: [Uid] add AbstractUid::toString()
- e3e518b: [Notifier, PropertyInfo, VarDumper] remove unused code
- 21f8f8e: [Messenger] add jitter parameter to MultiplierRetryStrategy
- c2bc884: [Clock] return Symfony ClockInterface in ClockSensitiveTrait
Newest issues and pull requests
- [Uid] Please add ::toString() method to Symfony/Uid
- [Serializer] Allow the mapped object in discriminator mapping to be other type than string
- [Twig-Bridge] [RFC] Allow to declare twig extensions via config
- [Routing] Use Language only to look for a fallback-route in i18n routes, like in the translator
Symfony CLI
Symfony CLI is a must-have tool when developing Symfony applications on your local machine. It includes the Symfony Local Server, the best way to run local Symfony applications. This week Symfony CLI released its new 5.7.8 version with the following changes:
- Bump deps (@fabpot)
They talked about us
- Symfony Station Communiqué - 05 January 2024
- How to properly handle Requests with Symfony 6.3 +
- Simplifying Symfony Templating with Blade: A Step-by-Step Guide
- Unleashing the Power of Finite State Machines with Everlution/fsm - Symfony
- Implementing SEPA XML Generation in Symfony: A Step-by-Step Guide
- Mastering Activity Logging in Symfony PHP: Enhancing Security, Debugging, and User Experience
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.