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

pip 20.3 release (Q4 2020) #8936

Closed
pradyunsg opened this issue Sep 29, 2020 · 30 comments
Closed

pip 20.3 release (Q4 2020) #8936

pradyunsg opened this issue Sep 29, 2020 · 30 comments
Assignees
Labels
type: maintenance Related to Development and Maintenance Processes
Milestone

Comments

@pradyunsg
Copy link
Member

Another quarter! Another release!

We're definitely not skipping this release, because we have a new resolver to roll out -- and lots of really nice other enhancements as well.

@pradyunsg pradyunsg added the type: maintenance Related to Development and Maintenance Processes label Sep 29, 2020
@pradyunsg pradyunsg added this to the 20.3 milestone Sep 29, 2020
@pradyunsg pradyunsg self-assigned this Sep 29, 2020
@pradyunsg
Copy link
Member Author

As always, need a release manager (RM) for this from @pypa/pip-committers.

I've self-assigned myself as the RM for this release (#7531 (comment)) -- as usual, if anyone is opposed to this, let me know. :)

@brainwane
Copy link
Contributor

Per our discussion in our meeting today, @pradyunsg believes we should be able to make this release in the second half of October, assuming we don't find a showstopper in a bug report before then.

@brainwane
Copy link
Contributor

I just spoke with @pradyunsg about the timing of the 20.3 release. Conclusion: @pradyunsg and I are leaning towards modifying the plans for 20.3 to:

  • a pre-release this week
  • a stable release in mid-November, around Nov. 11-12

Reasons: In terms of features and showstoppers, we are set to be ready to release this week. However, a few things have come up, just now, at the end of the 20.2 beta period:

We planned an October release, in accordance with the usual release cadence, before the full scope of the pandemic and the US election situation emerged. But, as the release policy states,

The release manager may, at their discretion, choose whether or not there will be a pre-release period for a release, and if there is may extend that period into the next month if needed.

@pypa/pip-committers heads-up in case you are inclined to agree or disagree.

@brainwane
Copy link
Contributor

Looks like we should expect the prerelease in the next couple days (cc @pradyunsg).

@brainwane
Copy link
Contributor

We're being blocked (in making the 20.3.beta1 release); it's held up by a Python 2.7-specific CI failure that Pradyun is unable to reproduce locally. So 20.3.beta1 may not be out till Saturday.

https://dev.azure.com/pypa/pip/_build/results?buildId=29831&view=logs&j=f801bdd4-2ff4-5da8-3bd6-deea013b4470&t=89b17dec-01ee-56ca-032e-26fbc447775d&l=70

@pradyunsg
Copy link
Member Author

pradyunsg commented Oct 31, 2020

Alrighty, that's resolved now (see #9019 for details, and a very-annoyed-at-CI-stuff Pradyun). I'll be making the release (20.3.beta1) in the next few hours!

@pradyunsg
Copy link
Member Author

pradyunsg commented Oct 31, 2020

pip 20.3 beta1 is up on PyPI. get-pip.py has not been updated.

Happy Halloween folks! :)

@brainwane
Copy link
Contributor

brainwane commented Nov 4, 2020

Here's a rough plan for publicizing this release (separate from the script or checklist for actually making the release and uploading it to PyPI and updating get-pip.py):

  1. pypi-announce
  2. python-announce
  3. wheel-builders
  4. python-list
  5. psf-community
  6. psf-volunteers

@brainwane
Copy link
Contributor

@pypa/pip-committers @pypa/pip-helpers @di Heads-up: we decided in today's meeting that we will probably be releasing 20.3 tomorrow or Friday. We'll of course know more tomorrow.

@brainwane
Copy link
Contributor

Pradyun has been chasing down several issues that have proven nastier or more critical than they originally seemed, notably #9011. (See the milestone.) We may be able to cut the new release on Sunday or Monday. I would really hate for it to be delayed much longer than that, such as going into December, but if we release something with known regressions that will create hard-to-debug trouble for enough users, then that'll cause high support costs for us and lowered credibility for future releases.

@pelson
Copy link
Contributor

pelson commented Nov 25, 2020

@brainwane - just wanted to say that although sometimes it might feel like you are speaking to the void with these updates, in reality they are extremely helpful for downstream planning and long may they continue! Keep up the great work (and to all the pip devs!) 👍

@duckinator
Copy link
Contributor

I 100% agree with @pelson. It's so nice that I can just go to the issue tracker, find an issue about the pending release, and just... learn exactly what the state of it is. I can't think of any other project that does that so reliably. 🙂

@pradyunsg pradyunsg pinned this issue Nov 26, 2020
@webknjaz
Copy link
Member

Sounds like it's fixed in the resolver upstream: #9011 (comment) 🎉

Have you considered having another beta/rc release before going final?

@joelberkeley-secondmind
Copy link

joelberkeley-secondmind commented Nov 30, 2020

ok, thanks. But it isn't necessary if the whole workflow is pip install x y z; pip check?

@uranusjr
Copy link
Member

If you start with an empty environment, yes.

@pradyunsg
Copy link
Member Author

pip 20.3 has been released!

  • Uploaded to PyPI.
  • Pushed updates/tags to GitHub.
  • get-pip.py has been updated, and the change will propagate over the next few minutes.

@groodt
Copy link
Contributor

groodt commented Nov 30, 2020

@pradyunsg @uranusjr and the many others involved. Thank you! What a huge achievement!

@brainwane
Copy link
Contributor

brainwane commented Dec 1, 2020

We're planning a 20.3.1 release for some followup bugfixes.

I went most of the way through the release publicity checklist I made in #8936 (comment) .

I screwed up -- I forgot to mention in our announcements and other materials that the old resolver is still the default when using pip with Python 2.x.

I am going to:

@pradyunsg
Copy link
Member Author

There's a 20.3.2 release that I'd likely make this week (and likely a 20.3.3 release).

@pypa/pip-committers Please don't merge non-bugfix stuff until 20.3.2 is out, since I'd like to be lazy and cut the release directly off of the default branch instead of the tag. :)

@pradyunsg
Copy link
Member Author

There's a 20.3.2 release that I'd likely make this week (and likely a 20.3.3 release).

Done!

  • Uploaded to PyPI.
  • Pushed updates/tags to GitHub.
  • get-pip.py has been updated, and the change will propagate over the next few minutes.

@pypa/pip-committers consider the master branch to be open for pip 21.0 now. I'll cut the remaining bugfixes via cherry-picked commits.

@pradyunsg
Copy link
Member Author

pradyunsg commented Dec 15, 2020

For anyone following along, pip 20.3.2 was yanked, and pip 20.3.3 will be released today, fixing the underlying issue that led to us yanking pip 20.3.2.

See #9293 for relevant details.

@hugovk
Copy link
Contributor

hugovk commented Dec 15, 2020

As an aside, I'm a little surprised that pip install -U pip installed the yanked version (albeit with a warning):

$ pip install -U pip
Requirement already satisfied: pip in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (20.3.1)
Collecting pip
  Downloading pip-20.3.2-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 2.2 MB/s
WARNING: The candidate selected for download or install is a yanked version: 'pip' candidate (version 20.3.2 at https://files.pythonhosted.org/packages/3d/0c/01014c0442830eb38d6baef0932fdcb389279ce74295350ecb9fe09e048a/pip-20.3.2-py2.py3-none-any.whl#sha256=8d779b6a85770bc5f624b5c8d4d922ea2e3cd9ce6ee92aa260f12a9f072477bc (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*))
Reason for being yanked: <none given>
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.3.1
    Uninstalling pip-20.3.1:
      Successfully uninstalled pip-20.3.1
Successfully installed pip-20.3.2

The docs say:

A yanked release is a release that is always ignored by an installer, unless it is the only release that matches a version specifier (using either == or ===). See PEP 592 for more information.

https://pypi.org/help/#yanked

Is this a bug?

@pradyunsg
Copy link
Member Author

Yup. That's a bug in the new resolver's handling in pip 20.3.1, that was fixed in 20.3.2. Sadly, pip 20.3.2 is borked in a different way. :)

@pradyunsg
Copy link
Member Author

For anyone following eagerly -- #9302 is the PR for the 20.3.3 release. Once CI says "OK to go", I'll upload it. :)

@pradyunsg
Copy link
Member Author

20.3.3 is out!

  • Uploaded to PyPI.
  • Pushed updates/tags to GitHub.
  • get-pip.py has been updated, and the change will propagate over the next few minutes.

@pradyunsg
Copy link
Member Author

21.0 is imminent, so I'll cut the 20.3.4 sometime in the next few days.

Note that (unless something really weird happens), 20.3.4 will be the last release of 20.3.* series, and the last Python 2-compatible release of pip.

@pradyunsg
Copy link
Member Author

20.3.4 is out!

  • Uploaded to PyPI.
  • Pushed updates/tags to GitHub.
  • get-pip.py has been updated, and the change will propagate over the next few minutes.

Calling that the end of 20.3's lifecycle. Expect a 21.0 today/tomorrow. :)

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: maintenance Related to Development and Maintenance Processes
Projects
None yet
Development

No branches or pull requests

9 participants