Symfony 6.4/7.0 curated new features
August 22, 2024
•
Published by
Fabien Potencier
Symfony 6.4 is backed by:
It seems like I forgot to post the curated list of features for Symfony 6.4 and 7.0. 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 6.4 without changing anything in your code.
We blogged about the great 6.4 new features. I highly recommend you to read these articles about Symfony 6.4 as they contain the major changes for this new version:
- Command Profiler: Symfony 6.4 includes a new command profiler to collect information about your commands while running them so you can debug issues later.
- CHIPS Cookies: Symfony 6.4 adds support for CHIPS, a new cookie feature that will be used to replace the traditional third-party cookies.
- Subprocess Handler: Symfony 6.4 introduces a new feature to run subprocesses with the same configuration as their parent PHP processes.
- FQCN-based Routes: Symfony 6.4 will define route aliases based on the controller's FQCN for invokable and single-route controllers.
- Impersonation Utilities: Symfony 6.4 includes new Twig functions to generate the relative/absolute URL needed to impersonate users.
- Class-based Serializer Contexts: In Symfony 6.4, you can apply the serializer context attribute to the entire class to define the common context configuration for all class properties.
- DatePoint: Symfony 6.4 introduces DatePoint, a drop-in replacement of PHP date/time classes that provides many utilities, full integration with the Clock component and better error handling.
- Simpler Logout: Symfony 6.4 improves the logout feature so you don't have to define the logout routes explicitly in your applications.
- Build Dir Improvements: Symfony 6.4 adds support for the APP_BUILD_DIR environment variable and updates cache warmers to receive the build_dir parameter.
- More Testing Assertions: Symfony 6.4 adds new test assertions related to CSS selectors, the HttpClient component and email subjects.
- Locale Improvements: Symfony 6.4 introduces some improvements related to locale, such as setting the locale when rendering email contents and accessing the list of enabled locales from templates.
- More Built-in Message Handlers: Symfony 6.4 adds new Messenger handlers so you can run processes, commands and ping URLs.
- Serializer Improvements: Symfony 6.4 adds new features to the Serializer such as class-based group attributes, Translatable objects normalization and detailed JSON decoding errors.
- AutowireLocator and AutowireIterator Attributes: Symfony 6.4 introduces a new AutowireLocator attribute so you can define service locators using PHP attributes instead of configuration files.
- Mailer, Translation, Notifier, Webhook and RemoteEvent Integrations: Symfony 6.4 adds 12 new third-party service integrations to Mailer, Translation, Notifier, Webhook and RemoteEvent components.
- Security Improvements: Symfony 6.4 adds security badge resolution to the profiler, safer security logs and the option to define multiple patterns separately in the security firewalls.
- DX Improvements (part 1): Symfony 6.4 provides support for ISO 3166-1 numeric codes, improves the Type constraint, provides better precision when formatting time messages, improves performance of Finder filter utilities and adds new methods to the AbstractController.
- AssetMapper Improvements: AssetMapper 6.4 comes with a huge number of new features: local vendor downloads, CSS support, smarter preloading and more.
- DX Improvements (part 2): Symfony 6.4 adds many features to improve DX (developer experience): duplicate the preferred choices form option, add server params when clicking links, define default crawler attributes, set a max number of retries in HTTP client, add a defined env var processor.
- Workflow Profiler: Symfony 6.4 includes a new Profiler feature to introspect the workflow definitions and render them as a visual chart.
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.