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.

4.4 changelog:

  • 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

5.4 changelog:

  • 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

6.2 changelog:

  • 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

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:

They talked about us

Call to Action

Published in #A week of symfony