New in Symfony 4.1: Inlined routing configuration

In Symfony 4.1 you can inline the requirements and default values in the route path to make the config more concise.

New in Symfony 4.1: Simpler service testing

In Symfony 4.1, to make testing simpler, tests will have access to a special service container that allows fetching any non-removed private service.

New in Symfony 4.1: Internationalized routing

In Symfony 4.1 you can define different paths per locale in routes without the need of installing a third-party bundle.

New in Symfony 4.1: Improved Bootstrap 4 form theme

In Symfony 4.1 we've improved the Bootstrap 4 form theme with new features and we've made it fully accessible and compliant with WCAG 2.0.

New in Symfony 4.1: Twig extensions priority

Symfony 4.1 allows to define the priority of Twig extensions, which is useful when you need to overload the filters and functions defined in other extensions.

New in Symfony 4.1: Dynamic lock refresh

In Symfony 4.1, locks can be refreshed for a different amount of time than the original TTL used when creating the lock.

New in Symfony 4.1: Deprecated the AdvancedUserInterface

In Symfony 4.1 the AdvancedUserInterface has been deprecated, but you can define your own "user checkers" to get the same functionality.

New in Symfony 4.1: Smarter URL redirections

In Symfony 4.1 the logic to redirect from URLs with trailing slashes to URLs without them finally works in both ways.

New in Symfony 4.1: Prepared commands

In Symfony 4.1, the commands passed to the process component can contain placeholders whose values are defined at runtime or obtained through environment variables.

New in Symfony 4.1: Argon2i configuration

In Symfony 4.1 you can configure the cost of hashing a password with the Argon2i algorithm thanks to three new options called memory_cost, time_cost and threads.