Deprecation policy #453
Replies: 5 comments 2 replies
-
Agree in general. This should also apply to The magic I'd prefer to wait 3 years before removing the deprecated methods/properties, rather doing so immediately for the next major release. The rationale is that if you're maintaining a project that supports multiple PHP versions, and multiple versions of other components, it could lead to some very tight version constraints leading to difficulties supporting the latest PHP version. The reason for 3 years, is that that's how long before a new major PHP release becomes EOL. We could also trigger an |
Beta Was this translation helpful? Give feedback.
-
Yes, I fully agree. (That also means that we want to make as many methods and properties as possible
No, it's not AFAIK. TYPO3 uses a trait for making public properties as deprecated, which we could
Yes, sounds like a good plan.
I'd prefer to be able to remove deprecated things sooner. Maybe we can have maintenance branches of released major versions where we only fix problems with higher PHP versions - similar to the "life support" approach from PHPUnit: https://phpunit.de/supported-versions.html What do you think? |
Beta Was this translation helpful? Give feedback.
-
We probably can also use the trait from TYPO3 for that. |
Beta Was this translation helpful? Give feedback.
-
Fine with me (for the cases where it’s not too much of a hassle for us). |
Beta Was this translation helpful? Give feedback.
-
I have created an 8.x branch and backported some changes that hopefully will make working on the branch and backporting things to it easier. |
Beta Was this translation helpful? Give feedback.
-
This is the general deprecation policy I'd like to suggest both for code removal and for renaming public things:
This allows users of our package to keep using the old method(s) for some time and automatically scan their code for usages of the deprecated methods (using their IDE or a PHPStan ruleset).
Would this work for you, @sabberworm @JakeQZ?
And yes, I think having good, clear, easy-to-understand and hard-to-misunderstand names is immensely important and often makes this worth the hassle.
Beta Was this translation helpful? Give feedback.
All reactions