-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Drop v1 contracts packages everywhere #48810
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
Conversation
@@ -19,7 +19,7 @@ | |||
"php": ">=8.1", | |||
"friendsofphp/proxy-manager-lts": "^1.0.2", | |||
"symfony/dependency-injection": "^6.3", | |||
"symfony/deprecation-contracts": "^2.1|^3" | |||
"symfony/deprecation-contracts": "^2.5|^3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why bump deprecation-contracts? better not if not needed don't you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency, mainly. 2.5 is the release we still maintain in our LTS branch. Do you want to define a different target 2.x minor version for each contracts package? If so, let's define them and I adjust the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK.
I looked for bumping to v3 but that'd make our packages less compatible with third party packages.
Thank you @derrabus. |
…ibute (alexislefebvre) This PR was merged into the 6.3 branch. Discussion ---------- [FrameworkBundle] remove double required annotation + attribute | Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48792 (checked with [this reproducer](#48792 (comment))) | License | MIT | Doc PR | no Annotation and attribute were kept: #45680 (comment) To my understanding, it's not necessary since #48810 Alternative to #48868 Commits ------- 8e8772d remove double required annotation + attribute
Version 1 of the Symfony contracts have been released during the Symfony 4.x days, but still many Symfony 6 components declare compatibility with them:
symfony/src/Symfony/Component/DependencyInjection/composer.json
Line 22 in a8bbf63
This circumstance complicates our build matrix and makes issues like #48792 hard to track down.
Version 2 was released together with Symfony 5 which means that we really only need v1 contracts if we want to actively support Symfony 4 components which are EOL and already unsupported by Symfony 6. I make the bold assumption that no Symfony 6 app should be required to pin any of the contracts packages to v1 or even an outdated v2 minor release.
This is why I propose to drop support for contracts v1 everywhere it did not happen already, making
^2.5 || ^3
the loosest constraint we use for a contracts package on a Symfony 6.3 component or bundle.