amphp / amphp/socket

Migration from league/uri-parser to league/uri-interfaces (abandoned package)

Open
#117 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
269
Forks
37
PR merge metrics
No merged PRs in 30d

Description

Hello,

First of all, thank you for your hard work on amphp/socket and the broader Amp ecosystem. These libraries are fantastic tools for asynchronous programming in PHP.

I would like to bring to your attention an issue regarding one of the dependencies used in this project: league/uri-parser. This package has been marked as abandoned by its maintainers, and Composer now recommends replacing it with league/uri-interfaces. Below is the warning I receive during installation or when auditing dependencies:

Package league/uri-parser is abandoned, you should avoid using it. Use league/uri-interfaces instead.

Additionally, while attempting to upgrade to amphp/socket 2.x (as suggested to address this issue), I encountered a conflict with amphp/http-client. The current version of amphp/http-client (v4.4.0) depends on amphp/socket ^1, which prevents upgrading to amphp/socket 2.0.

Here are the specific Composer error messages I received:

Problem 1
  - Root composer.json requires amphp/socket 2.0, found amphp/socket[v2.0.0] but these were not loaded, likely because it conflicts with another require.
Problem 2
  - amphp/http-client v4.4.0 requires amphp/socket ^1 -> found amphp/socket[v1.0.0, ..., v1.2.1] but it conflicts with your root composer.json require (2.0).

This creates a dependency conflict that makes it impossible to both migrate away from league/uri-parser and maintain compatibility with amphp/http-client.

Would it be possible to update amphp/http-client to be compatible with amphp/socket 2.x? Alternatively, if there is a workaround for this situation, I would greatly appreciate any guidance.

Thank you again for your efforts and for maintaining these great libraries. Please let me know if I can assist with testing or validating a potential solution.

Best regards,

Ineodev

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the root composer.json requirements and inspect the compatibility constraints between amphp/socket 2.0 and amphp/http-client v4.4.0. Check whether the dependency migration can be resolved within this repository or requires an upstream http-client release. Done means Composer can install the compatible versions without the league/uri-parser warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.