This week, we focused on finishing several new features for the upcoming Symfony 6.2 version: Console added support for multiple choice questions; we applied the SensitiveParameter PHP attribute to all the parameters that can contain sensitive values such as security tokens and passwords; and we enabled the use of lazy-loading ghost object proxies in Dependency Injection. Finally, we moved #[IsGranted()], #[Template()] and #[Cache()] attributes into Symfony components so we can get rid of the SensioFrameworkExtra bundle.
Symfony development highlights
This week, 42 pull requests were merged (33 in code and 9 in docs) and 25 issues were closed (17 in code and 8 in docs). Excluding merges, 27 authors made 30,698 additions and 14,089 deletions. See details for code and docs.
- 43126b1: [Messenger] fix calls to deprecated DBAL methods
- b1cd4b0: [HttpFoundation] fix deleteFileAfterSend on client abortion
- 2184f32: [BrowserKit] fix sending request to paths containing multiple slashes
- 92c7e6e: [HttpFoundation] flush backend output buffer after closing
- 550e4cc: [Validator] fix traverse option on Valid constraint when used as Attribute
- 9eca550: [Validator] fix PHP warning in NotCompromisedPasswordValidator
- 8dd6bb7: [Serializer] prevent that bad Ignore method annotations lead to incorrect results
- 7c194b9: [HttpKernel] refactored some code to remove else logic
- 47b66a9: [Console] add multiple select to choice()
- 4a31363: hide sensitive information with SensitiveParameter PHP attribute
- 3edca67, fa24df6: [Security] add #[IsGranted()]
- 378902e: [TwigBridge] add #[Template()] to describe how to render arrays returned by controllers
- 338daf2: [VarExporter] add trait to help implement lazy loading ghost objects
- 96667d3: [HttpKernel] add #[Cache()] to describe the default HTTP cache headers on controllers
- d095a50: [DependencyInjection] use lazy-loading ghost object proxies out of the box
- c3bad04: [TwigBridge] add test on _template attribute for Twig listener
- e938174: [DependencyInjection] fix dumping lazy services with parametrized class
- 8a6fa52: [DependencyInjection, VarExporter] fix support for lazy withers
- 2bf5206: [VarExporter] do not call unset() on unknown variables
- a2f27ad: [Console] be explicit about the completion API version
- 5bc5827: [FrameworkBundle] add "Usages" to debug:container output
Newest issues and pull requests
- Improve #[IsGranted] attribute
- [Messanger] Allow AsMessageHandler to configure routing
- [Serializer] Introducing an AbstractNormalizer const for custom constructor
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 12: Dependency Injection
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 13: Parameters
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 14: Manual Service Config in services.yaml
- (Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 15: All About services.yaml
They talked about us
- Symfony Station Communiqué - 15 July 2022
- Creating a Symfony project from zero to success in 52 weeks (week 2)
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.
Sponsor the Symfony project.