Symfony 7.4.0 is about to be released. As for any other Symfony release, our backward compatibility promise applies and this means that you should be able to upgrade easily to 7.4 without changing anything in your code.
During the last couple of months, we've blogged about the great 7.4 new features. I highly recommend you to read these articles about Symfony 7.4 as they contain the major changes for this new version:
- Deprecated XML Configuration: Symfony 7.4 deprecates XML as a configuration format to simplify the configuration of Symfony applications.
- Security Voter Improvements: Symfony 7.4 improves security voters with new Twig functions and customizable vote metadata.
- Uid Improvements: Symfony 7.4 improves UUIDs by generating UUID v7 by default, adding microsecond precision, and making them easier to use in tests.
- Caching HTTP Client: Symfony 7.4 introduces RFC 9111-compliant client-side HTTP caching powered by the Cache component.
- Video Constraint: Symfony 7.4 introduces a new constraint to validate video files with options to control dimensions, codecs, and formats.
- Weighted Workflow Transitions: Symfony 7.4 introduces weighted workflow transitions, allowing places to track multiple instances and model processes that require quantities, like approvals or components.
- Better Exceptions in Terminal: Symfony 7.4 displays clean, readable exception traces in the terminal instead of verbose HTML dumps.
- Share Directory: Symfony 7.4 introduces a new directory to store data shared across servers, like application caches.
- Better Currency Filtering: Symfony 7.4 makes currency handling smarter by filtering out obsolete currencies and adding new options to validate and display only relevant ones.
- Multi-Step Forms: Symfony 7.4 introduces form flows, a new way to build and manage multi-step forms using the same familiar concepts as regular Symfony forms.
- Improved Invokable Commands: Symfony 7.4 enhances invokable commands with enum support, DTO-based inputs, interactive prompts, and full testing compatibility.
- Decoupled Controller Helpers: Symfony 7.4 introduces a new way to use controller helpers without extending the base controller, making framework-agnostic controllers easier to write and test.
- Attribute Improvements: Symfony 7.4 improves routing, security, and event attributes with more features.
- Request Class Improvements: Symfony 7.4 introduces key updates to the Request class, including deprecations, expanded body parsing for more HTTP methods, and stricter control over method overrides.
- DX Improvements (Part 1): Symfony 7.4 introduces multiple developer experience improvements, from smarter form and console helpers to better debugging, localization, and service configuration.
- DX Improvements (Part 2): Symfony 7.4 enhances developer experience with easier session handling in tests, improved route debugging, more accessible forms, and native FrankenPHP integration.
- Signing Messages: Symfony 7.4 adds message signing to the Messenger component, ensuring queued messages can't be tampered with before processing.
- Better PHP Configuration: Symfony 7.4 replaces the fluent PHP config with a new array-based format with full autocompletion, static analysis, and dynamically generated array shapes.
- Extending Validation and Serialization with PHP Attributes: Symfony 7.4 introduces new PHP attributes that let you extend validation and serialization metadata for classes you do not control.
- Misc. Features (Part 1): Symfony 7.4 introduces faster native HTML5 parsing, more flexible URL validation, improved Link header handling, support for the HTTP QUERY method, and easier configuration of resource tags.
- Misc Features (Part 2): Symfony 7.4 adds enum support to workflows, new XML CDATA controls, a DynamoDB lock store, new DatePoint based Doctrine types, and explicit query parameters in URL generation.
- Misc Features (Part 3): Symfony 7.4 adds structured MIME suffix handling, Microsoft Graph mailer support, untranslated message handling, a new email assertion, and profiler improvements for EventSource requests.