-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Patch update to older branches (2.0, 3.6, etc), to address yarl API-breaking minor update #4987
Comments
Once #4973 is in master, it'll need backports to branches 3.6 and 3.7. And after that, it'll probably be possible to cut a release but no promises. |
There is currently an issue with incompatible versions in our dependency of aiohttp, which is causing installations to fail. Using the stricter pip 2020 resolver, which is off by default in pip 20, fixes this issue. The new resolver, which will be the new default in future pip versions, is not ready for all use cases, but works fine for our use case, so we are choosing to use it. Relates https://discuss.python.org/t/announcement-pip-20-2-release/4863 Relates aio-libs/aiohttp@2d36ef6 Relates aio-libs/aiohttp#4987
Just an FYI the Elasticsearch async implementation got hit by this. We depend on My plan is to remove Also what versioning scheme is yarl? I didn't expect breaking changes in a minor. |
So the context isn't lost, a 3.6.3 release has been cut, but it is just a quick patch on top of the 3.6.2 release to lock the yarl version to So for 3.6 series, it would be more-consistent with the 3.6.3 release to just cherry-pick that patch (bbceca7) to the 3.6 branch (but not the disable-CI change (1940503), since 3.6 already has fixes for the CI pipeline). However, if I understand @sethmlarson's comment, that patch doesn't work if other things depend on yarl directly, and a newer version of yarl ends up being used anyway. Is there an existing PIP bug to track this problem, BTW? It seems like a nasty bug that pip can ignore version requirements like that. |
Uh, that's a good point, @TBBle, that after I don't think these kinds of conflicts are something Probably Wdyt? |
I think that might be for-the-best, yeah. It's not ideal, but 3.6.3 is out there now, and my team had also locally added a I can appreciate the yarl position that this was a long-standing bug (
|
@TBBle it's best to maintain the exact env pins using something like pip-tools in order to avoid surprises. They can be autoupdated with things like dependabot. |
@webknjaz I agree that non-package deployments of Python should be using a proper resolver+lockfiles but I think users would be confused if installing a single package somehow fails to deliver proper dependencies. ie |
There is currently an issue with incompatible versions in our dependency of aiohttp, which is causing installations to fail. Using the stricter pip 2020 resolver, which is off by default in pip 20, fixes this issue. The new resolver, which will be the new default in future pip versions, is not ready for all use cases, but works fine for our use case, so we are choosing to use it. Relates https://discuss.python.org/t/announcement-pip-20-2-release/4863 Relates aio-libs/aiohttp@2d36ef6 Relates aio-libs/aiohttp#4987
3.6.3 is released with yarl pinning. |
Thanks, @asvetlov, for the info. Apparently 2.0 already has Now, with |
There is #4973 which makes aiohttp compatible with the newest yarl. |
3.6 line (3.6.3) has pinned dependency. |
🐞 Describe the bug
With yarl 1.6.0 breaking relied-on behavior of
URL.build()
API, we now have a problem wherepip install aiohttp
would receive a broken package configuratoin: aiohttp 3.6.2 with yarl 1.6.0.To address this issue, I think we need a Patch update to the 3.6 branch, like 3.6.3.
Related/Blocking issues are:
The text was updated successfully, but these errors were encountered: