Living on the Edge
A series of posts showcasing the new features introduced by each Symfony version.
In Symfony 5.1 you can define reusable sets of constraints and you can also apply constraints sequentially to stop the validation as soon as one validation fails.
In Symfony 5.1, creating single command console applications will be easier thanks to the new SingleCommandApplication class.
Symfony 5.1 supports the "safe" HTTP preference defined in RFC 8674.
In Symfony 5.1, public properties typed with classes related to services are autowired automatically, which is equivalent to the traditional setter injection.
In Symfony 5.1, the PropertyInfo component can extract information from the new typed properties introduced in PHP 7.4.
Symfony 5.0 introduces a new String component which deals with bytes, UTF-8 code points and grapheme clusters in a unified way, provides an object-oriented API for strings, and includes a slugger.
Symfony 4.4 improves the password hashing and migration features, provides faster container compilation, simplifies the redirection config in YAML and makes exceptions easier to understand when running tests.
In Symfony 4.4, routing config can exclude patterns, checking HTML contents is easier in tests, expressions support scientific numeric format, isGranted() deprecated checking multiple permissions and Twig linter included new options.
Symfony 4.4 adds many useful improvements, such as better PropertyAccess error messages, support for more only-of-type CSS selectors, a more flexible Range constraint, the option to sort extracted translation messages, an option to consider empty strings invalid and gitattributes files to exclude tests.
In Symfony 4.4, we've improved the Profiler to display the details of the Mailer and HttpClient components, we've improved the Ajax requests panel and we've decreased the disk space needed to store each profile.