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)
- How to make Doctrine (way) faster
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>
Войдите, чтобы добавить комментарий
Другие сообщения в этой группе

SymfonyLive Berlin 2025, conference held in English, will take place from April 1 to 4! The schedule is being revealed gradually. More details are available here. 🚨 Enjoy the last few days bef

SymfonyLive Paris 2025, conference in French language only, will take place from March 27 to 28! The schedule is currently being revealed as we go along. More details are available here. 🚨 Tod

Symfony 6.4.19 has just been released. Here is the list of the most important changes since 6.4.18:
bug #59198 [Messenger] Filter out non-consumable receivers when registering ConsumeMessagesComm

Symfony 7.2.4 has just been released. Here is the list of the most important changes since 7.2.3:
bug #59198 [Messenger] Filter out non-consumable receivers when registering ConsumeMessagesComman

SymfonyLive Paris 2025, conference in French language only, will already start in 1 month with the workshops! Have a look on the topics and join us! Schedule details are available here.
📣

A few weeks ago, I had the pleasure of announcing the formation of the Symfony UX Core Team, a dedicated group working to enhance the frontend development experience within the Symfony ecosystem. Toda

SymfonyLive Paris 2025, conference in French language only, will take place from March 27 to 28! The schedule is currently being revealed as we go along. More details are available here.
Al