Deep dive into Symfony 6: the interview with Nicolas Grekas
To mark the release of Symfony 6, SensioLabs has interviewed Nicolas Grekas, one of the most active members of the Symfony core team. Grekas described the main new features of this latest major version of Symfony and how to start preparing for the upgrade.
Jules Daunay: What does the release of Symfony 6 mean for a developer?
Nicolas Grekas: Symfony 6 is essentially Symfony 5, with all the code deprecated for two years removed. There are no new features or major changes specific to version 6 since everything is already in Symfony 5.
Symfony 6 represents two years of efforts from the community and the core team on Symfony 5. With Symfony 6, a new cycle of innovations begins, one that will also last two years on a modernized codebase (PHP 8) that has been cleaned of past baggage. This version management system ensures Symfony’s stability. Thanks to it, users can handle upgrades at their own pace without having to rewrite everything.
JD: So, to run Symfony 6, you will have to install PHP 8?
NG: Yes, absolutely. The big news of Symfony 6 is that PHP 8.0 is now the minimum required version.
The code of Symfony 6 has been updated. You can take advantage of all the new features in PHP. For example, the code includes PHP 8 attributes, more expressive and rigorous type declarations, etc.
To install this new version of Symfony, you’ll have to upgrade your application to PHP 8.0 first.
JD: What else is new in Symfony 6?
There won’t be any real surprise for those who have been following the new features in Symfony 5.1, 5.2, and 5.3. Among these new components or improvements, you can find:
Uid for managing unique identifiers.
RateLimiter to limit the number of incorrect login attempts.
PasswordHasher, functionality in the security and authentication layer (a subsystem extracted from the Security component).
Translation Providers to provide an interface for incorporating online translation services.
Runtime to make the startup sequence of PHP applications and thus of Symfony applications more flexible.
Lastly, Symfony 6.0 offers a tighter integration of notification service providers. Many bridges have been introduced in the Notifier component (for sending SMS, chat messages, etc.).
JD: What are your tips to get ready for the upgrade?
NG: Here again, Symfony is about stability. My answer isn’t going to change much compared to what I said on Symfony 5. There are still two pillars to get ready for your upgrade.
The first pillar is the promise of backward compatibility, applicable within the same major version (Symfony 5.x). For example, all upgrades are seamless between Symfony 5.0, 5.1, 5.2, 5.3, and 5.4. Your application will keep working without any intervention, even after a Symfony upgrade.
The second pillar is the continuous migration path. It aligns with the project’s ambition: to make it as easy as possible to upgrade from one major version to another. Symfony provides a clear path to help you upgrade, primarily through deprecation notices. These guidelines enable developers to upgrade at a lower cost.
Thank you, Nicolas, for all this helpful information!
The best way to get into Symfony 6 is to register for the Symfony World Winter Edition 2021 conference. It will take place online on December 9-10th.
A Symfony 6: The Fast Track book will be released soon and available online. And if you want to support the Symfony project, you can also contribute by funding it. Thanks to the Symfony Backers program, you benefit from excellent visibility in the community, and you donate to a project that makes sense for your teams.