Symfony 7.1 curated new features


Like for 6.4/7.0, I forgot to post the curated list of features for Symfony 7.1. Let's fix this.

As for any other Symfony release, our backward compatibility promise applies and this means that you should be able to upgrade easily to 7.1 without changing anything in your code.

We blogged about the great 7.1 new features. I highly recommend you to read these articles about Symfony 7.1 as they contain the major changes for this new version:

  • TypeInfo Component: Symfony 7.1 adds a new TypeInfo component that extracts PHP type information from multiple elements (class properties and methods, return types of functions and methods, etc.) using several sources of information (PHP reflection, PHPDoc parser, etc.)
  • IsCsrfTokenValid Attribute: Symfony 7.1 includes a new IsCsrfTokenValid attribute to simplify the logic needed to check if CSRF tokens are valid.
  • MacAddress and Charset Constraints: Symfony 7.1 adds two new constraints to validate MAC addresses and the charset in which contents are encoded
  • MapUploadedFile Attribute: Symfony 7.1 introduces a new MapUploadedFile attribute to inject uploaded files into controller arguments.
  • WebProfiler Improvements: In Symfony 7.1 the profiler includes a redesigned main menu, better performance and a feature to filter table contents in real-time.
  • Improved Access Token Authenticator: Symfony 7.1 enhances its Access Token Authenticator by adding RSA signature support and introducing a new CAS 2.0 token handler.
  • Expanding UniqueEntity Constraint to Any PHP Class: Symfony 7.1 expands the UniqueEntity constraint, allowing you to check for uniqueness across all PHP classes, not just Doctrine entities.
  • New Dependency Injection Attributes: Symfony 7.1 adds two new Dependency Injection attributes to allow autowiring specific methods as callables and defining services inside PHP classes.
  • Constraint Improvements: Symfony 7.1 improves the Validator component with new options in Ip/Cidr constraints, new data types in Type constraint, improved error messages and new options for Url constraint.
  • Mailer and Notifier Integrations: Symfony 7.1 adds some new integrations to the Mailer and Notifier components, adding to the tens of integrations already available.
  • Commands Improvements: Symfony 7.1 includes a new secrets:reveal command and enhancements to debug:serialize, messenger:consume, and twig:lint commands.
  • Mapped Route Parameters: Symfony 7.1 introduces a new and concise way of mapping route parameters to controller arguments.
  • POSIX Signals Improvements: In Symfony 7.1, processes can define the list of signals to ignore and the Console and Messenger components also listen to the SIGQUIT signal.
  • Emoji Improvements: Symfony 7.1 introduces a new Emoji component, a Twig filter to render emojis inside text contents and a common catalog for emoji text codes.
  • Misc Improvements: Symfony 7.1 introduces several small yet valuable improvements, such as enhanced locale selection, a new readFile() method, and better email delivery control during application development.
  • Misc Improvements (part 2): Symfony 7.1 allows to customize the .env file location, eases the usage of PHP enums in YAML config files, and improves the Clock, EXpressionLanguage and CssSelector components with new features.
  • Misc Improvements (part 3): Symfony 7.1 allows to create expiring signed URIs, improves the linter of expressions, maps boolean query string parameters, and allows to define throttling HTTP clients.

Sponsor the Symfony project.