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.

nicolas-grekas-symfony

Credits: Christopher Hertel, Twitter.

Jules Daunay: What does the release of Symfony 6 mean for a developer?

Nicolas Grekas: Symfony 6 is just Symfony 5, without all the code that has been deprecated for two years. There is no new feature, no main change specific to version 6 because 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 starts one that will also last two years, on a modernized codebase (PHP 8) that has been cleaned up from the dead weight of the past. 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.

baseline-symfony6-grekas

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 login attempts with a wrong password.
  • PasswordHasher, functionality on 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 so of Symfony applications more flexible.

Last, 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 is not 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 meets 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.