DEV Community

Cover image for Symfony 7.4 is Coming! Your New LTS Bridge to 8.0

Symfony 7.4 is Coming! Your New LTS Bridge to 8.0

Matt Mochalkin on October 10, 2025

Hey, folks! Guess what? Symfony 7.4 LTS — biggest, safest upgrade is coming! The final minor release in any Symfony branch is always the crucial mo...
Collapse
 
xwero profile image
david duymelinck

It requires PHP 8.2 or higher to run it

Symfony requires PHP 8.2 since version 7.0. PHP 8.2 is already in security updates only updates, so don't use that version until the LTS end date.

use Symfony\Component\Console\Attribute\AsArgument;
use Symfony\Component\Console\Attribute\AsOption;

If you look at the 7.4 branch those attributes doesn't exist. The attributes Argument and Option exist, and they are introduced in 7.3.

without having to extend that big, monolithic AbstractController class.

It has been the better auto-wiring that I used the AbtractController class. You don't need helpers.

At this point I just stopped reading. I don't want to know how many other things you got wrong.
If you publish a post, please verify the information.

Collapse
 
mattleads profile image
Matt Mochalkin

Thank you for your feedback and for taking the time to read the post. I appreciate you pointing out these details. I want to clarify a few things based on your comments.

This article is aimed at an audience that primarily uses LTS (Long-Term Support) versions of Symfony. The current stable version is 6.4, and it was important for me to show the differences between 6.4 and 7.4, not between the 7.x versions. Furthermore, my article explicitly states that 7.4 is a minor update to the 7.x version, which transforms the 7.x branch into an LTS platform with extended support.

You are correct that Symfony 7.0 was the first version to require PHP 8.2, and this requirement naturally extends to Symfony 7.4, which is part of the same major version.

The post was intended to highlight the PHP 8.2 requirement for the latest LTS version, and I apologize if that point wasn't as clear for you as it could have been. You are also right that PHP 8.2 is now in its security-only phase, which is a good point for developers to consider when planning long-term projects.

On the topic of the attributes, you're correct that the Argument and Option attributes were introduced in a previous minor version of Symfony 7. The post intended to show that these new, modern attributes are fully supported and the preferred way to configure console commands in the latest release, as the framework moves away from the older method of configuration.

Finally, the section on AbstractController was meant to demonstrate the flexibility of Symfony's dependency injection and how developers are not tied to a single monolithic class. Using auto-wiring is a great approach, and many developers prefer it, so I am glad to hear that's your preferred method.

Collapse
 
xwero profile image
david duymelinck

it was important for me to show the differences between 6.4 and 7.4

The long term support versions are not meant to be used until their time runs out. They provide a longer grace period to move to the next major version.
It is not like an OS where you have to buy licenses and you want to use all those to not lose money.

Symfony 6.4 supports a dead PHP version.

as the framework moves away from the older method of configuration

I don't think they are going to remove the configure method. When new language features provide a better experience, it doesn't automatically mean the older option gets cut.

flexibility of Symfony's dependency injection

The flexibility exists in 6.4, so why would that be a new feature?

I don't mind that you are hyping the new version, each version of the framework brings great features. It is the misleading communication I'm not fond of.

Thread Thread
 
mattleads profile image
Matt Mochalkin

I appreciate you taking the time to lay all of this out. It’s a bold take to say that LTS versions, which are literally designed for long-term stability, are not meant to be used. I guess all those enterprises relying on them for years are just doing it wrong? And regarding the configure method, you're absolutely right—it's not like the framework is trying to give developers a choice in how they configure things. It's just a bizarre coincidence that new, more convenient options are being introduced while the old ones remain perfectly functional.

Thread Thread
 
xwero profile image
david duymelinck

that LTS versions, which are literally designed for long-term stability, are not meant to be used.

Please reread my comment, that is a distorted interpretation of my statement.
This proves my point.

Thread Thread
 
mattleads profile image
Matt Mochalkin

Accuracy is always important, and I take that seriously — but it’s equally important to make technical news approachable for those still finding their footing in the field. I’ll continue striving to balance both clarity and precision in future articles.

Thread Thread
 
xwero profile image
david duymelinck

I don't like how you deleted your more snarky comment, to replace it with a cleaned up version.
But I give you the benefit of the doubt, and I really hope you find that balance.

Thread Thread
 
mattleads profile image
Matt Mochalkin

You can generate hype in different ways. You can write an article about an exciting new solution with long-term support, or you can just drop a comment on a post based on your personal opinions about what's good and what's bad. The thing is, the person writing the article puts in way more effort than someone depreciating or hating him, just trying to create a reputation for himself with minimal work, and who isn't really contributing anything to the community.

However, there's another side to the coin: the algorithms for promoting articles on different platforms. User engagement is a key factor here, and that includes comments and conversation within the article. If it weren't for these factors, I wouldn't pay any attention to comments that don't offer any real value. But since more comments make my article more visible to people who are genuinely interested in the content, not just their own issues, I'm ready to keep this conversation going in the comments.

Thread Thread
 
xwero profile image
david duymelinck • Edited

The thing is, the person writing the article puts in way more effort than someone depreciating or hating him, just trying to create a reputation for himself with minimal work, and who isn't really contributing anything to the community.

Are you really trying to make me the bad guy? I'm trying to have a debate, while you try to twist the conversation with a personal attack this time.
Your comment might be gone from the platform, but they are send as an email too.

I don't care about some reputation. I care about misinformation.
Showing attributes that don't even exist feels much more like not contributing. You acknowledged you were wrong, but didn't even take the effort to edit your post.

I wouldn't pay any attention to comments that don't offer any real value.

So basically the kindness in your comments is just for show?

To be clear in my first comments I didn't attack you, I attacked your words. But after reading that removed comment, I gave you a last chance.
But you lost that with your last comment. I don't act in anger, but it seems you do.

Thread Thread
 
mattleads profile image
Matt Mochalkin

Run, Forrest, Run!

Collapse
 
shemith_mohanan_6361bb8a2 profile image
shemith mohanan

Great breakdown! 👏 I’ve been following the Symfony 7.x series closely, and 7.4 sounds like a massive quality-of-life upgrade for developers. The emphasis on DX and type safety really stands out — definitely planning to integrate some of these improvements in my own projects soon. 🚀

Collapse
 
parag_nandy_roy profile image
Parag Nandy Roy

The attribute-based commands are such a clean upgrade...