Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for Symfony 4.4 and PHP < 8.0 #37

Closed
tacman opened this issue Dec 18, 2021 · 5 comments · Fixed by #170
Closed

Drop support for Symfony 4.4 and PHP < 8.0 #37

tacman opened this issue Dec 18, 2021 · 5 comments · Fixed by #170
Labels
Feature Feature requested Status: In Standby Waiting for something external
Milestone

Comments

@tacman
Copy link
Contributor

tacman commented Dec 18, 2021

Given that this is a new bundle, with no existing user base with promises of backwards compatibility, I'd like to advocate for PHP8 and dropping Symfony support less than 5.4.

In particular, I really like using attributes instead of annotations. Also, strong type-hinting makes coding easier and more robust.

I've switched to 8.1, and although I'm not using any 8.1 specific features yet, given the newness of this bundle, I'm not sure how many people we'd lose if that were a requirement.

For example, MenuItemModel could be MUCH shorter by defining properties in the constructor (PHP 8.0) and I think some of those properties are readonly, and could be defined as such in the constructor (PHP 8.1)

While not essential, I think it would make for a better bundle, and certainly a better developer experience.

@kevinpapst
Copy link
Owner

In 99% of the cases people will use the bundle, not develop it. While I understand all of your arguments, I am not a fan of introducing such BC breaks that can easily be avoided.

with no existing user base

Even though that might sounds harsh: the most important user for this bundle is me. I am integrating this bundle into Kimai, my time-tracking app, and that is used by thousands of users. They will get the bundle in a couple of month with the next major release and given the circumstances how companies handle infrastructure updates I am not keen to force them to upgrade their servers just for the sake of getting access to constructor promotion or annotations.

I do understand everyone who advocates for that step, I just don't think the time is right to force an upgrade to 8.
So I am against that for now. But I don't mind talking about it again in 6 months.

@cavasinf cavasinf added Feature Feature requested Status: In Standby Waiting for something external labels Dec 20, 2021
@cavasinf
Copy link
Collaborator

With what kevinpapst said,
it's too "soon" to switch to 8.1.
For my case, AWS doesn't have (ATM) a linux AMI with PHP 8.1 (only 8.0).


I am not keen to force them to upgrade their servers

I'm not 100% following you with that.

We still a have deadlines with those techs:

@kevinpapst
Copy link
Owner

But it sounds as if you are following with what I say, but maybe that is a language barrier issue 😬

As much as I like new language features: I will not raise the bar to PHP 8 yet. That is all that I am saying. I was just trying to elaborate on the "why". I don't think we have to wait for end of 2023, but end of 2021 is too early for me either.

@tacman
Copy link
Contributor Author

tacman commented Mar 26, 2022

Are there plans to support Symfony 6?

@kevinpapst
Copy link
Owner

Yes, definitely. Are you using the bundle?
I don't think there is anything that should block your from using it right away (besides the composer limitation).
Could you give it a try?

@cavasinf cavasinf added this to the 1.1 milestone Sep 8, 2022
@kevinpapst kevinpapst modified the milestones: 1.1, 1.0 Sep 23, 2023
@kevinpapst kevinpapst linked a pull request Sep 23, 2023 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Feature requested Status: In Standby Waiting for something external
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants