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

Update dependency psr/link to v2 #58

Closed
wants to merge 1 commit into from
Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 14, 2022

Mend Renovate

This PR contains the following updates:

Package Type Update Change
psr/link require major ^1.0 -> ^1.0 || ^2.0

Release Notes

php-fig/link

v2.0.1

Compare Source

Changed
  • BREAKING The type of the $value parameter of EvolvableLinkInterface::withAttribute() was widened to comply with the original specification.

v2.0.0

Compare Source

Changed
  • BREAKING All methods have return types

v1.1.1

Compare Source

v1.1.0

Compare Source

Changed
  • All methods have typed parameters
  • Bump required PHP version to 8.0

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Read more information about the use of Renovate Bot within Laminas.

@internalsystemerror
Copy link
Member

internalsystemerror commented Sep 14, 2022

Looks like this is going to require dropping PHP 7.4 support to fix as the signature:

public function withLink(LinkInterface $link): self

needs to become

public function withLink(LinkInterface $link): static

and the static return return type doesn't exist until PHP 8.0. Testing out some of these fixes, it seems to support psr/link v2 might require BC breaks and so a new major release.

@Ocramius
Copy link
Member

Since our symbols are not final, introducing psr/link:^2 compatibility means inheriting BC breaks.

We have 2 alternatives:

  1. release 3.0.0 with psr/link:^1 and psr/link:^2 compatibility, then 4.0.0 with psr/link:^2 only
  2. release 3.0.0 with psr/link:^2 and skip the transition completely

A lot of added final to the codebase would also help in avoiding this mess again.

@renovate renovate bot force-pushed the renovate/psr-link-2.x branch from b3fcfbc to 6465216 Compare September 16, 2022 00:02
@boesing
Copy link
Member

boesing commented Sep 16, 2022

I think introducing new majors in packages like this is fine.

There are only three dependents listed on packagist:
https://packagist.org/packages/mezzio/mezzio-hal/dependents?order_by=downloads

@Ocramius
Copy link
Member

@boesing you mean "inheritance unlikely"? I'd still release a major for correctness then, but skipping v1 + v2 compat, and going straight for v2...

@renovate renovate bot force-pushed the renovate/psr-link-2.x branch from 6465216 to dc920ba Compare September 24, 2022 01:22
@boesing
Copy link
Member

boesing commented Sep 25, 2022

@Ocramius
No, I mean that components like this are usually not "used" that often (when we ignore actual "projects"). So its unlikely that there is another component out there using this component.
Usually, we are only talking about real projects and these projects can easily handle their upgrade paths on their own schedule.
When we bump majors as in laminas-servicemanager, we end up having to provide support for that in ~130 of our own components as well:
https://packagist.org/packages/laminas/laminas-servicemanager/dependents?query=laminas%2Flaminas-

But this component here is used in 0 of our own components and only a hand full of other components on packagist use this component at all.
So introducing 1 or more new major versions does not really introduce a high workload from what I can see.

@renovate renovate bot force-pushed the renovate/psr-link-2.x branch 5 times, most recently from 6e73cde to 4134a9f Compare October 2, 2022 01:02
@renovate renovate bot force-pushed the renovate/psr-link-2.x branch 6 times, most recently from d0c77f0 to 37bb6a5 Compare October 16, 2022 00:23
@internalsystemerror
Copy link
Member

OK, so to sum up, when I get the time again, I will update #59 to:

  • Be a new major
  • Drop support for psr/link v1

We would not be able to support both 1 and 2 from what I gathered when I was last looking at this due to the signature changes (happy to stand corrected if someone else figures out a way though). At least not without some intervention as to which class is loaded based on the PHP version or installed psr/link version.

@Ocramius
Copy link
Member

Sounds reasonable: go for it whenever you want 👍

@renovate renovate bot force-pushed the renovate/psr-link-2.x branch 3 times, most recently from 5ef585e to 20451df Compare October 26, 2022 00:59
@renovate renovate bot force-pushed the renovate/psr-link-2.x branch 5 times, most recently from 85c821f to 5dfaf27 Compare November 4, 2022 01:26
@renovate renovate bot force-pushed the renovate/psr-link-2.x branch from 5dfaf27 to 7e3d7f7 Compare November 5, 2022 01:52
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| packagist  | psr/link | 1.0.0 | 2.0.1 |


Signed-off-by: Renovate Bot <[email protected]>
@renovate renovate bot force-pushed the renovate/psr-link-2.x branch from 7e3d7f7 to 988ca43 Compare November 8, 2022 01:56
@Ocramius
Copy link
Member

Ocramius commented Nov 8, 2022

Closing here, since the @renovate noise is not helpful: #59 tackles this from a developer PoV.

@Ocramius Ocramius closed this Nov 8, 2022
@Ocramius Ocramius removed this from the 2.5.0 milestone Nov 8, 2022
@Ocramius Ocramius added Duplicate This issue or pull request already exists and removed Awaiting Maintainer Response Help Wanted labels Nov 8, 2022
@Ocramius Ocramius deleted the renovate/psr-link-2.x branch November 8, 2022 09:03
@renovate
Copy link
Contributor Author

renovate bot commented Nov 8, 2022

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 2.x releases. But if you manually upgrade to 2.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BC Break Duplicate This issue or pull request already exists renovate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants