Symfony : a guide to choose between LTS and latest stable version

Aurélien Tournayre
3 min readDec 6, 2022

--

When you start a project with Symfony, you must ask yourself which version to choose to get off to a good start but also to sustain your project throughout its life cycle.

In order to clarify my knowledge and ideas on the subject, I started a discussion on the Symfony Slack. I didn’t think this would result in my very first article.

Several experienced developers, including a Symfony Core Team member played the game by answering my questions.

I will therefore try to summarize my understanding of this issue in order to help you make the most relevant choice and also to argue it with your team if necessary.

This article is subject to change, if you think that an error has slipped in or that you have suggestions to improve it, do not hesitate to give me a feedback.

What is a Symfony LTS?

An LTS version of Symfony is a stable version which is supported for 3 years and which benefits from security fixes for 1 additional year.

Symfony releases an LTS every 2 years.

As I write this article, there are 2 LTS:

  • Symfony 4.4: security fixes only
  • Symfony 5.4: maintained

LTS pros

  • Stability and security fixes for a maximum of 4 years.
  • Easy updates
  • No stress during updates

LTS cons

  • You start with technical debt. The latest LTS in progress (5.4) is already 1 year old.
  • You deprive yourself of the latest Symfony features
  • If you start with the latest PHP version no problem here because Symfony is compatible , otherwise you deprive yourself of the latest advances in language
  • You restrict your possibilities of using recent third-party dependencies
  • The transition from one LTS to the next will be costly in time, stress and this is even more true if your project lacks tests because you will have difficulty ensuring that everything is working normally.

What is a Symfony stable release?

This is the most recent version that is no more “in development” phase and considered stable.

It includes the latest features.

At the time of writing this article, the latest stable version is Symfony 6.2.

Latest stable version pros

  • Security fixes are strengthened compared to the LTS
  • Depreciations are easy to fix
  • Updates are easy from one minor version to another
  • You can plan the upgrades thanks to Symfony schedule

Latest stable version cons

  • Some third-party packages may not be up-to-date and compatible
  • Rushing on it as soon as it is released can induce that you will participate in the discovery of the bugs which are present there. If in doubt, allow a few days or weeks for the community to provide feedback and fixes, or even better, offer fixes by doing a PR.

So, how to choose now?

Choose an LTS if:

  • you are carrying out a project whose end-of-life will be less than or equal to the end-of-life of the LTS
  • you want to sell a project then sell a second one which will be the migration to the next LTS
  • you will have no maintenance to do on the project
  • your environment (server) will remain unchanged for the duration of the project

Choose the latest stable version if:

  • your project will evolve over the years and has no pre-determined end-of-life date
  • your project will be subject to a maintenance contract

As much as possible, you should always ensure that your customer benefits from a maintenance contract.

Arbitrate your choice according to the instructions that you must respect, your client, your constraints in terms of third-party dependencies.

All this is not an absolute truth but allows to have some ideas and feedback.

In addition, you can read

Thanks

For their time, comments, opinion, work and feedback.

--

--