Skip to content

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

Merged
merged 1 commit into from
Dec 29, 2022
Merged

Conversation

derrabus
Copy link
Member

Q A
Branch? 6.3
Bug fix? no
New feature? no
Deprecations? no
Tickets N/A
License MIT
Doc PR N/A

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/service-contracts": "^1.1.6|^2.0|^3.0",

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.

@derrabus derrabus added the RFC RFC = Request For Comments (proposals about features that you want to be discussed) label Dec 28, 2022
@carsonbot carsonbot added this to the 6.3 milestone Dec 28, 2022
@@ -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"
Copy link
Member

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?

Copy link
Member Author

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.

Copy link
Member

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.

@chalasr
Copy link
Member

chalasr commented Dec 29, 2022

Thank you @derrabus.

@chalasr chalasr merged commit 6424ce6 into symfony:6.3 Dec 29, 2022
@derrabus derrabus deleted the drop/contracts-v1 branch December 29, 2022 13:45
fabpot added a commit that referenced this pull request Jan 7, 2023
…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
@fabpot fabpot mentioned this pull request May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC RFC = Request For Comments (proposals about features that you want to be discussed) Status: Reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants