All you need to know before migrating to a new version of Symfony

The Symfony framework continues to evolve, and its version 3, released in 2015, will soon no longer be maintained. Developers are often afraid to migrate to a new version of the software. But Symfony is designed to simplify upgrades to its latest versions. In this blog post, let’s find out how to perform a smooth Symfony migration with our advice.

Track the maintenance level of your application

First of all, the release of new versions of Symfony follows a precise schedule. Minor versions are released every six months, and the major version changes every two years. Minor releases contain bug fixes and new features. But they do not include any breakthrough changes. So you can upgrade your applications very easily between minor releases.

A major version often contains critical changes; you will have to apply these updates to your application before upgrading. The latest stable version is Symfony 5.3. The first step before migrating is to check the Symfony roadmap to verify the maintenance level of your application.

Symfony roadmap

Many exclusive features with Symfony 5

When migrating to Symfony 5, you benefit from the latest features of Symfony, and you are on a long-term supported version. Symfony 5 gives you access to new components like String, secrets management, or the Notifier component to create and send all kinds of notifications via SMS, email, and chat services like Slack and Telegram.

Symfony 5 also offers extended possibilities. For example, you can correct the creation of ContainerBuilder when running the warmup/CLI command. Or sort form fields to control the order in which they appear.

To prepare for your migration, we recommend you learn more about these new features. SensioLabs organizes half-day to four-day training sessions on Symfony 5 and its components. See our training catalog here.

Symfony 5

Why migrate?

We recommend that you regularly migrate your Symfony application to new versions to avoid any security breaches.

Migrating to a new version of Symfony gives you access to more modern features in line with the evolution of the web. A new version of the framework guarantees better performance. It is way better to evolve progressively with each new version rather than migrating at once between two distant versions.

In November 2021, Symfony will no longer maintain Symfony 3.4. If you are currently using Symfony 3, it is time to migrate to Symfony 4.4 LTS or Symfony 5. This way, you will avoid security breaches and keep the performance of your application at an optimal level.

Backward compatibility to facilitate your Symfony migration

Have you ever heard of backward compatibility? Thanks to backward compatibility, you can move effortlessly between minor versions of the framework. It means that if you migrate to a minor version of Symfony 5, you can later smoothly upgrade to Symfony 5.4 LTS.

You will take advantage of the latest features of the framework while staying on a version maintained for about five years. You can read all the tips for a successful migration to Symfony 5 in Nicolas Grekas’s interview on this blog.

Migration workshop

Symfony Migration Workshop by SensioLabs

If you run your application with an older version of Symfony or another technology, SensioLabs can help you migrate. In a Migration Workshopyou will examine the best way to migrate your application to the new versions of Symfony. 

First, the SensioLabs expert analyzes the existing code to identify the main components to migrate. Then the application’s features are classified into many families. Thanks to it, at the end of the Migration Workshop, SensioLabs can define a migration roadmap to guarantee complete convergence.

The Migration Workshop can be divided in 3 parts:

  • A background meeting.
  • Intermediate and Q/R points.
  • A restitution and exchange meeting with our architect + a report describing precisely how to proceed and optimize your migration.

If you have additional questions about your migration to the new Symfony versions, contact us to discuss it.