diff --git a/AUTHORS.txt b/AUTHORS.txt index a314bb315f2..7768a4cd918 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -18,6 +18,7 @@ Alan Yee Albert Tugushev Albert-Guan albertg +Alberto Sottile Aleks Bunin Alethea Flowers Alex Gaynor @@ -124,6 +125,7 @@ Chris Brinker Chris Hunt Chris Jerdonek Chris McDonough +Chris Pawley Chris Wolfe Christian Clauss Christian Heimes @@ -155,6 +157,7 @@ Damian Shaw Dan Black Dan Savilonis Dan Sully +Dane Hillard daniel Daniel Collins Daniel Hahler @@ -195,6 +198,7 @@ DiegoCaraballo Dimitri Merejkowsky Dirk Stolle Dmitry Gladkov +Dmitry Volodin Domen Kožar Dominic Davis-Foster Donald Stufft @@ -248,6 +252,7 @@ gizmoguy1 gkdoc Gopinath M GOTO Hayato +gousaiyang gpiks Greg Roodt Greg Ward @@ -290,6 +295,7 @@ Jakub Wilk James Cleveland James Curtin James Firth +James Gerity James Polley Jan Pokorný Jannis Leidel @@ -358,6 +364,7 @@ Laurent Bristiel Laurent LAPORTE Laurie O Laurie Opperman +layday Leon Sasson Lev Givon Lincoln de Sousa @@ -365,6 +372,7 @@ Lipis Loren Carvalho Lucas Cimon Ludovic Gasc +Lukas Juhrich Luke Macken Luo Jiebin luojiebin @@ -395,6 +403,7 @@ Matthew Trumbell Matthew Willson Matthias Bussonnier mattip +Maurits van Rees Max W Chase Maxim Kurnikov Maxime Rouyrre @@ -409,6 +418,7 @@ Michael E. Karpeles Michael Klich Michael Williamson michaelpacer +Michał Górny Mickaël Schoentgen Miguel Araujo Perez Mihir Singh @@ -420,7 +430,10 @@ Miro Hrončok Monica Baluna montefra Monty Taylor +Nadav Wexler Nate Coraor +Nate Prewitt +Nathan Houghton Nathaniel J. Smith Nehal J Wani Neil Botelho @@ -472,6 +485,7 @@ Paulus Schoutsen Pavel Safronov Pavithra Eswaramoorthy Pawel Jasinski +Paweł Szramowski Pekka Klärck Peter Gessler Peter Lisák @@ -602,6 +616,7 @@ toonarmycaptain Toshio Kuratomi toxinu Travis Swicegood +Tushar Sadhwani Tzu-ping Chung Valentin Haenel Victor Stinner diff --git a/NEWS.rst b/NEWS.rst index c186b3084df..f83d9526e1e 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -9,6 +9,70 @@ .. towncrier release notes start +22.0 (2022-01-29) +================= + +Process +------- + +- Completely replace :pypi:`tox` in our development workflow, with :pypi:`nox`. + +Deprecations and Removals +------------------------- + +- Deprecate alternative progress bar styles, leaving only ``on`` and ``off`` as available choices. (`#10462 `_) +- Drop support for Python 3.6. (`#10641 `_) +- Disable location mismatch warnings on Python versions prior to 3.10. + + These warnings were helping identify potential issues as part of the sysconfig -> distutils transition, and we no longer need to rely on reports from older Python versions for information on the transition. (`#10840 `_) + +Features +-------- + +- Changed ``PackageFinder`` to parse HTML documents using the stdlib :class:`html.parser.HTMLParser` class instead of the ``html5lib`` package. + + For now, the deprecated ``html5lib`` code remains and can be used with the ``--use-deprecated=html5lib`` command line option. However, it will be removed in a future pip release. (`#10291 `_) +- Utilise ``rich`` for presenting pip's default download progress bar. (`#10462 `_) +- Present a better error message when an invalid wheel file is encountered, providing more context where the invalid wheel file is. (`#10535 `_) +- Documents the ``--require-virtualenv`` flag for ``pip install``. (`#10588 `_) +- ``pip install `` autocompletes paths. (`#10646 `_) +- Allow Python distributors to opt-out from or opt-in to the ``sysconfig`` installation scheme backend by setting ``sysconfig._PIP_USE_SYSCONFIG`` to ``True`` or ``False``. (`#10647 `_) +- Make it possible to deselect tests requiring cryptography package on systems where it cannot be installed. (`#10686 `_) +- Start using Rich for presenting error messages in a consistent format. (`#10703 `_) +- Improve presentation of errors from subprocesses. (`#10705 `_) +- Forward pip's verbosity configuration to VCS tools to control their output accordingly. (`#8819 `_) + +Bug Fixes +--------- + +- Optimize installation order calculation to improve performance when installing requirements that form a complex dependency graph with a large amount of edges. (`#10557 `_) +- When a package is requested by the user for upgrade, correctly identify that the extra-ed variant of that same package depended by another user-requested package is requesting the same package, and upgrade it accordingly. (`#10613 `_) +- Prevent pip from installing yanked releases unless explicitly pinned via the ``==`` or ``===`` operators. (`#10617 `_) +- Stop backtracking on build failures, by instead surfacing them to the user and aborting immediately. This behaviour provides more immediate feedback when a package cannot be built due to missing build dependencies or platform incompatibility. (`#10655 `_) +- Silence ``Value for does not match`` warning caused by an erroneous patch in Slackware-distributed Python 3.9. (`#10668 `_) +- Fix an issue where pip did not consider dependencies with and without extras to be equal (`#9644 `_) + +Vendored Libraries +------------------ + +- Upgrade CacheControl to 0.12.10 +- Upgrade certifi to 2021.10.8 +- Upgrade distlib to 0.3.4 +- Upgrade idna to 3.3 +- Upgrade msgpack to 1.0.3 +- Upgrade packaging to 21.3 +- Upgrade platformdirs to 2.4.1 +- Add pygments 2.11.2 as a vendored dependency. +- Tree-trim unused portions of vendored pygments, to reduce the distribution size. +- Upgrade pyparsing to 3.0.7 +- Upgrade Requests to 2.27.1 +- Upgrade resolvelib to 0.8.1 +- Add rich 11.0.0 as a vendored dependency. +- Tree-trim unused portions of vendored rich, to reduce the distribution size. +- Add typing_extensions 4.0.1 as a vendored dependency. +- Upgrade urllib3 to 1.26.8 + + 21.3.1 (2021-10-22) =================== diff --git a/news/10291.feature.rst b/news/10291.feature.rst deleted file mode 100644 index 7291b629124..00000000000 --- a/news/10291.feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Changed ``PackageFinder`` to parse HTML documents using the stdlib -:class:`html.parser.HTMLParser` class instead of the ``html5lib`` package. For -now, the deprecated ``html5lib`` code remains and can be used with the -``--use-deprecated=html5lib`` command line option, but it will be removed in a -future pip release. diff --git a/news/10462.feature.rst b/news/10462.feature.rst deleted file mode 100644 index f3b20bf1f3a..00000000000 --- a/news/10462.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Utilise ``rich`` for presenting pip's default download progress bar. diff --git a/news/10462.removal.rst b/news/10462.removal.rst deleted file mode 100644 index 62dbea0c40f..00000000000 --- a/news/10462.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Deprecate alternative progress bar styles, leaving only ``on`` and ``off`` as available choices. diff --git a/news/10535.feature.rst b/news/10535.feature.rst deleted file mode 100644 index f843012592b..00000000000 --- a/news/10535.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Present a better error message when an invalid wheel file is encountered, providing more context where the invalid wheel file is. diff --git a/news/10557.bugfix.rst b/news/10557.bugfix.rst deleted file mode 100644 index 5a6a4ef26a9..00000000000 --- a/news/10557.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Optimize installation order calculation to improve performance when installing requirements that form a complex dependency graph with a large amount of edges. diff --git a/news/10588.feature.rst b/news/10588.feature.rst deleted file mode 100644 index c8985b7a05a..00000000000 --- a/news/10588.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Documents the ``--require-virtualenv`` flag for ``pip install``. diff --git a/news/10593.trivial.rst b/news/10593.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/10613.bugfix.rst b/news/10613.bugfix.rst deleted file mode 100644 index b849c4344a6..00000000000 --- a/news/10613.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -When a package is requested by the user for upgrade, correctly identify that -the extra-ed variant of that same package depended by another user-requested -package is requesting the same package, and upgrade it accordingly. diff --git a/news/10617.bugfix.rst b/news/10617.bugfix.rst deleted file mode 100755 index 8536d5e634e..00000000000 --- a/news/10617.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Prevent pip from installing yanked releases unless -explicitely pinned via the ``==`` or ``===`` operators. diff --git a/news/10627.trivial.rst b/news/10627.trivial.rst deleted file mode 100644 index 67cc69a3f33..00000000000 --- a/news/10627.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Docs reflect the new method of accessing VCS packages diff --git a/news/10641.removal.rst b/news/10641.removal.rst deleted file mode 100644 index 2c165214443..00000000000 --- a/news/10641.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Drop support for Python 3.6. diff --git a/news/10646.feature.rst b/news/10646.feature.rst deleted file mode 100644 index 645fdfb515c..00000000000 --- a/news/10646.feature.rst +++ /dev/null @@ -1 +0,0 @@ -``pip install `` autocompletes paths. diff --git a/news/10647.feature.rst b/news/10647.feature.rst deleted file mode 100644 index ad9d06fbb05..00000000000 --- a/news/10647.feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Allow Python distributors to opt-out from or opt-in to the ``sysconfig`` -installation scheme backend by setting ``sysconfig._PIP_USE_SYSCONFIG`` -to ``True`` or ``False``. diff --git a/news/10655.bugfix.rst b/news/10655.bugfix.rst deleted file mode 100644 index 5e867d8246a..00000000000 --- a/news/10655.bugfix.rst +++ /dev/null @@ -1,4 +0,0 @@ -Stop backtracking on build failures, by instead surfacing them to the -user and failing immediately. This behaviour is more forgiving when -a package cannot be built due to missing build dependencies or platform -incompatibility. diff --git a/news/10668.process.rst b/news/10668.process.rst deleted file mode 100644 index 0039ea64e81..00000000000 --- a/news/10668.process.rst +++ /dev/null @@ -1,2 +0,0 @@ -Silence a *Value for does not match* warning caused by an errornous -patch in Slackware-distributed Python 3.9. diff --git a/news/10686.feature.rst b/news/10686.feature.rst deleted file mode 100644 index 4ec6c6b3a6b..00000000000 --- a/news/10686.feature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Make it possible to deselect tests requiring cryptography package on systems -where it cannot be installed. diff --git a/news/10693.process.rst b/news/10693.process.rst deleted file mode 100644 index 5138d9d7117..00000000000 --- a/news/10693.process.rst +++ /dev/null @@ -1 +0,0 @@ -Replace all our tox operations with Nox. diff --git a/news/10703.feature.rst b/news/10703.feature.rst deleted file mode 100644 index 4094f41405c..00000000000 --- a/news/10703.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Start using Rich for presenting error messages in a consistent format. diff --git a/news/10705.feature.rst b/news/10705.feature.rst deleted file mode 100644 index 7ffdeb845ba..00000000000 --- a/news/10705.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Improve presentation of errors from subprocesses. diff --git a/news/10840.removal.rst b/news/10840.removal.rst deleted file mode 100644 index c5b319fa166..00000000000 --- a/news/10840.removal.rst +++ /dev/null @@ -1,3 +0,0 @@ -Disable location mismatch warnings on Python versions prior to 3.10 since we -have completed the transition and no longer need to rely on reports from older -Python versions. diff --git a/news/4A6F604D-DDAB-4F85-BA92-7C81C811D07A.trivial.rst b/news/4A6F604D-DDAB-4F85-BA92-7C81C811D07A.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/637C2644-8B0F-4383-ADF2-9B5F4CA0A8DB.trivial.rst b/news/637C2644-8B0F-4383-ADF2-9B5F4CA0A8DB.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/7E64556D-9BE9-4222-9D6F-54312B90F74E.trivial.rst b/news/7E64556D-9BE9-4222-9D6F-54312B90F74E.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/7cecf5ba-92a1-49a9-85f0-07a4dd8aca46.trivial.rst b/news/7cecf5ba-92a1-49a9-85f0-07a4dd8aca46.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/8819.feature.rst b/news/8819.feature.rst deleted file mode 100644 index d539730e32b..00000000000 --- a/news/8819.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Forward pip's verbosity configuration to VCS tools to control their output accordingly. diff --git a/news/9644.bugfix.rst b/news/9644.bugfix.rst deleted file mode 100644 index d423dc26bb8..00000000000 --- a/news/9644.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix an issue where pip did not consider dependencies with and without extras to be equal diff --git a/news/CacheControl.vendor.rst b/news/CacheControl.vendor.rst deleted file mode 100644 index a7952c52666..00000000000 --- a/news/CacheControl.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade CacheControl to 0.12.10 diff --git a/news/FD80732D-5DC1-4B68-BDB5-0283EF9EBC3A.trivial.rst b/news/FD80732D-5DC1-4B68-BDB5-0283EF9EBC3A.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/certifi.vendor.rst b/news/certifi.vendor.rst deleted file mode 100644 index eafa28d4f6a..00000000000 --- a/news/certifi.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade certifi to 2021.10.8 diff --git a/news/distlib.vendor.rst b/news/distlib.vendor.rst deleted file mode 100644 index 14f4ea9d4d1..00000000000 --- a/news/distlib.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade distlib to 0.3.4 diff --git a/news/eb0afbc2-59df-40a3-b7bd-325305c3e2e7.trivial.rst b/news/eb0afbc2-59df-40a3-b7bd-325305c3e2e7.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/idna.vendor.rst b/news/idna.vendor.rst deleted file mode 100644 index d9520f8b6a0..00000000000 --- a/news/idna.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade idna to 3.3 diff --git a/news/msgpack.vendor.rst b/news/msgpack.vendor.rst deleted file mode 100644 index 87a0ab94d56..00000000000 --- a/news/msgpack.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade msgpack to 1.0.3 diff --git a/news/packaging.vendor.rst b/news/packaging.vendor.rst deleted file mode 100644 index 62c75d73787..00000000000 --- a/news/packaging.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade packaging to 21.3 diff --git a/news/platformdirs.vendor.rst b/news/platformdirs.vendor.rst deleted file mode 100644 index b3b0c019d23..00000000000 --- a/news/platformdirs.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade platformdirs to 2.4.1 diff --git a/news/pygments-modifications.vendor.rst b/news/pygments-modifications.vendor.rst deleted file mode 100644 index 803f1a99f83..00000000000 --- a/news/pygments-modifications.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Tree-trim unused portions of vendored pygments, to reduce the distribution size. diff --git a/news/pygments.vendor.rst b/news/pygments.vendor.rst deleted file mode 100644 index 971d0f6c43a..00000000000 --- a/news/pygments.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Add pygments 2.11.2 as a vendored dependency. diff --git a/news/pyparsing.vendor.rst b/news/pyparsing.vendor.rst deleted file mode 100644 index 0318a0c1c2f..00000000000 --- a/news/pyparsing.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade pyparsing to 3.0.7 diff --git a/news/requests.vendor.rst b/news/requests.vendor.rst deleted file mode 100644 index 4e623aa3efe..00000000000 --- a/news/requests.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade Requests to 2.27.1 diff --git a/news/resolvelib.vendor.rst b/news/resolvelib.vendor.rst deleted file mode 100644 index 50f702cc923..00000000000 --- a/news/resolvelib.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade resolvelib to 0.8.1 diff --git a/news/rich-modifications.vendor.rst b/news/rich-modifications.vendor.rst deleted file mode 100644 index 219bf0b98e2..00000000000 --- a/news/rich-modifications.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Tree-trim unused portions of vendored rich, to reduce the distribution size. diff --git a/news/rich.vendor.rst b/news/rich.vendor.rst deleted file mode 100644 index a9809ed98db..00000000000 --- a/news/rich.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Add rich 11.0.0 as a vendored dependency. diff --git a/news/typing_extensions.vendor.rst b/news/typing_extensions.vendor.rst deleted file mode 100644 index 119273b6207..00000000000 --- a/news/typing_extensions.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Add typing_extensions 4.0.1 as a vendored dependency. diff --git a/news/urllib3.vendor.rst b/news/urllib3.vendor.rst deleted file mode 100644 index 9d5e1f169f3..00000000000 --- a/news/urllib3.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade urllib3 to 1.26.8 diff --git a/src/pip/__init__.py b/src/pip/__init__.py index 09e946fbe1f..519b304f090 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ from typing import List, Optional -__version__ = "22.0.dev0" +__version__ = "22.1.dev0" def main(args: Optional[List[str]] = None) -> int: diff --git a/src/pip/_internal/resolution/resolvelib/factory.py b/src/pip/_internal/resolution/resolvelib/factory.py index 5c4d3f7cd81..261d8d5605e 100644 --- a/src/pip/_internal/resolution/resolvelib/factory.py +++ b/src/pip/_internal/resolution/resolvelib/factory.py @@ -299,7 +299,7 @@ def iter_index_candidate_infos() -> Iterator[IndexCandidateInfo]: icans = list(result.iter_applicable()) # PEP 592: Yanked releases are ignored unless the specifier - # explicitely pins a version (via '==' or '===') that can be + # explicitly pins a version (via '==' or '===') that can be # solely satisfied by a yanked release. all_yanked = all(ican.link.is_yanked for ican in icans) diff --git a/tools/news/template.rst b/tools/news/template.rst index fcedf6677c9..8d0ceb89f3f 100644 --- a/tools/news/template.rst +++ b/tools/news/template.rst @@ -12,7 +12,6 @@ {#- Heading for individual version #} {{ versiondata.version }} ({{ versiondata.date }}) {{ top_underline * ((versiondata.version + versiondata.date)|length + 3) }} - {# The following loop will run exactly once, with ``section_name == ""``. @@ -30,7 +29,6 @@ {# Heading for individual types #} {{ definitions[type_]['name'] }} {{ underlines[0] * definitions[type_]['name']|length }} - {# This is the loop that generates individual entries #} {% for message, issue_reference in sections[section_name][type_]|dictsort(by='value') %}