diff --git a/NEWS.rst b/NEWS.rst index ce6d8e6dd3d..eea12074d65 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -9,6 +9,86 @@ .. towncrier release notes start +24.1b1 (2024-05-06) +=================== + +Deprecations and Removals +------------------------- + +- Drop support for EOL Python 3.7. (`#11934 `_) +- Remove support for legacy versions and dependency specifiers. + + Packages with non standard-compliant versions or dependency specifiers are now ignored by the resolver. + Already installed packages with non standard-compliant versions or dependency specifiers + must be uninstalled before upgrading them. (`#12063 `_) + +Features +-------- + +- Improve performance of resolution of large dependency trees, with more caching. (`#12453 `_) +- Further improve resolution performance of large dependency trees, by caching hash calculations. (`#12657 `_) +- Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. (`#4768 `_) +- Reword and improve presentation of uninstallation errors. (`#10421 `_) +- Add a 'raw' progress_bar type for simple and parsable download progress reports (`#11508 `_) +- ``pip list`` no longer performs the pip version check unless ``--outdated`` or ``--uptodate`` is given. (`#11677 `_) +- Use the ``data_filter`` when extracting tarballs, if it's available. (`#12111 `_) +- Display the Project-URL value under key "Home-page" in ``pip show`` when the Home-Page metadata field is not set. + + The Project-URL key detection is case-insensitive, and ignores any dashes and underscores. (`#11221 `_) + +Bug Fixes +--------- + +- Ensure ``-vv`` gets passed to any ``pip install`` build environment subprocesses. (`#12577 `_) +- Deduplicate entries in the ``Requires`` field of ``pip show``. (`#12165 `_) +- Fix error on checkout for subversion and bazaar with verbose mode on. (`#11050 `_) +- Fix exception with completions when COMP_CWORD is not set (`#12401 `_) +- Fix intermittent "cannot locate t64.exe" errors when upgrading pip. (`#12666 `_) +- Remove duplication in invalid wheel error message (`#12579 `_) +- Remove the incorrect pip3.x console entrypoint from the pip wheel. This console + script continues to be generated by pip when it installs itself. (`#12536 `_) +- Gracefully skip VCS detection in pip freeze when PATH points to a non-directory path. (`#12567 `_) +- Make the ``--proxy`` parameter take precedence over environment variables. (`#10685 `_) + +Vendored Libraries +------------------ + +- Add charset-normalizer 3.3.2 +- Remove chardet +- Remove pyparsing +- Upgrade CacheControl to 0.14.0 +- Upgrade certifi to 2024.2.2 +- Upgrade distro to 1.9.0 +- Upgrade idna to 3.7 +- Upgrade msgpack to 1.0.8 +- Upgrade packaging to 24.0 +- Upgrade platformdirs to 4.2.1 +- Upgrade pygments to 2.17.2 +- Upgrade rich to 13.7.1 +- Upgrade setuptools to 69.5.1 +- Upgrade tenacity to 8.2.3 +- Upgrade typing_extensions to 4.11.0 +- Upgrade urllib3 to 1.26.18 + +Improved Documentation +---------------------- + +- Document UX research done on pip. (`#10745 `_) +- Fix the direct usage of zipapp showing up as ``python -m pip.pyz`` rather than ``./pip.pyz`` / ``.\pip.pyz`` (`#12043 `_) +- Add a warning explaining that the snippet in "Fallback behavior" is not a valid + ``pyproject.toml`` snippet for projects, and link to setuptools documentation + instead. (`#12122 `_) +- The Python Support Policy has been updated. (`#12529 `_) +- Document the environment variables that correspond with CLI options. (`#12576 `_) +- Update architecture documentation for command line interface. (`#6831 `_) + +Process +------- + +- Remove ``setup.py`` since all the pip project metadata is now declared in + ``pyproject.toml``. +- Move remaining pip development tools configurations to ``pyproject.toml``. + 24.0 (2024-02-03) ================= diff --git a/news/10421.feature.rst b/news/10421.feature.rst deleted file mode 100644 index 49bb72bc0d8..00000000000 --- a/news/10421.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Reword and improve presentation of uninstallation errors. diff --git a/news/10685.bugfix.rst b/news/10685.bugfix.rst deleted file mode 100644 index a0bc7ed5285..00000000000 --- a/news/10685.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Make the ``--proxy`` parameter take precedence over environment variables. diff --git a/news/10745.doc.rst b/news/10745.doc.rst deleted file mode 100644 index 4094f41405c..00000000000 --- a/news/10745.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Start using Rich for presenting error messages in a consistent format. diff --git a/news/10751.trivial.rst b/news/10751.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/11050.bugfix.rst b/news/11050.bugfix.rst deleted file mode 100644 index 01aa5ea7b1d..00000000000 --- a/news/11050.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix error on checkout for subversion and bazaar with verbose mode on. diff --git a/news/11221.feature.rst b/news/11221.feature.rst deleted file mode 100644 index 319cc02c4a5..00000000000 --- a/news/11221.feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Display the Project-URL value under key "Home-page" in ``pip show`` when the Home-Page metadata field is not set. - -The Project-URL key detection is case-insensitive, and ignores any dashes and underscores. diff --git a/news/11508.feature.rst b/news/11508.feature.rst deleted file mode 100644 index 2f0d7e2d04d..00000000000 --- a/news/11508.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add a 'raw' progress_bar type for simple and parsable download progress reports diff --git a/news/11677.feature.rst b/news/11677.feature.rst deleted file mode 100644 index b68a0db876b..00000000000 --- a/news/11677.feature.rst +++ /dev/null @@ -1 +0,0 @@ -``pip list`` no longer performs the pip version check unless ``--outdated`` or ``--uptodate`` is given. diff --git a/news/11934.removal.rst b/news/11934.removal.rst deleted file mode 100644 index bf146d23baa..00000000000 --- a/news/11934.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Drop support for EOL Python 3.7. diff --git a/news/12043.doc.rst b/news/12043.doc.rst deleted file mode 100644 index 2c77f9b59dc..00000000000 --- a/news/12043.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Fix the direct usage of zipapp showing up as ``python -m pip.pyz`` rather than ``./pip.pyz`` / ``.\pip.pyz`` diff --git a/news/12063.removal.rst b/news/12063.removal.rst deleted file mode 100644 index 03d785d69c5..00000000000 --- a/news/12063.removal.rst +++ /dev/null @@ -1,4 +0,0 @@ -Remove support for legacy versions and dependency specifiers. Packages with non -standard-compliant versions or dependency specifiers are now ignored by the resolver. -Already installed packages with non standard-compliant versions or dependency specifiers -must be uninstalled before upgrading them. diff --git a/news/12111.feature.rst b/news/12111.feature.rst deleted file mode 100644 index eb03b76d826..00000000000 --- a/news/12111.feature.rst +++ /dev/null @@ -1 +0,0 @@ -PEP 721: Use the ``data_filter`` when extracting tarballs, if it's available. diff --git a/news/12122.doc.rst b/news/12122.doc.rst deleted file mode 100644 index dbc0ebb53fd..00000000000 --- a/news/12122.doc.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add a warning explaining that the snippet in "Fallback behavior" is not a valid -``pyproject.toml`` snippet for projects, and link to setuptools documentation -instead. diff --git a/news/12165.bugfix.rst b/news/12165.bugfix.rst deleted file mode 100644 index dd09baf60dc..00000000000 --- a/news/12165.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -This change will deduplicate entries in the ``Requires`` field of ``pip show``. diff --git a/news/12401.bugfix.rst b/news/12401.bugfix.rst deleted file mode 100644 index 371f80011b3..00000000000 --- a/news/12401.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix exception with completions when COMP_CWORD is not set diff --git a/news/12453.feature.rst b/news/12453.feature.rst deleted file mode 100644 index 704cd012a90..00000000000 --- a/news/12453.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Improve performance of resolution of large dependency trees, with more caching. diff --git a/news/12510.trivial.rst b/news/12510.trivial.rst deleted file mode 100644 index d41d5425b56..00000000000 --- a/news/12510.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Update ruff to 0.2.0 and update ruff config to reflect diff --git a/news/12529.doc.rst b/news/12529.doc.rst deleted file mode 100644 index 20f049ac384..00000000000 --- a/news/12529.doc.rst +++ /dev/null @@ -1 +0,0 @@ -The Python Support Policy has been updated. diff --git a/news/12533.trivial.rst b/news/12533.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/12536.bugfix.rst b/news/12536.bugfix.rst deleted file mode 100644 index 248d93bdba5..00000000000 --- a/news/12536.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove the incorrect pip3.x console entrypoint from the pip wheel. This console -script continues to be generated by pip when it installs itself. diff --git a/news/12537.process.rst b/news/12537.process.rst deleted file mode 100644 index 5fd08a84867..00000000000 --- a/news/12537.process.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove ``setup.py`` since all the pip project metadata is now declared in -``pyproject.toml``. diff --git a/news/12538.process.rst b/news/12538.process.rst deleted file mode 100644 index 53d4496972b..00000000000 --- a/news/12538.process.rst +++ /dev/null @@ -1 +0,0 @@ -Move remaining pip development tools configurations to ``pyproject.toml``. diff --git a/news/12545.trivial.rst b/news/12545.trivial.rst deleted file mode 100644 index f373e869cfd..00000000000 --- a/news/12545.trivial.rst +++ /dev/null @@ -1,4 +0,0 @@ -This change will use ``build`` to create the ``pip`` sdist for testing. - -It will also remove a direct ``setup.py`` invocation to install ``pip`` in -editable mode to run from tests. diff --git a/news/12559.trivial.rst b/news/12559.trivial.rst deleted file mode 100644 index 80b07d0d00d..00000000000 --- a/news/12559.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Fix Ubuntu CI Tests diff --git a/news/12561.trivial.rst b/news/12561.trivial.rst deleted file mode 100644 index ecc9e4a9afa..00000000000 --- a/news/12561.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Remove virtualenv and setuptools installs from zipapp CI tests diff --git a/news/12562.trivial.rst b/news/12562.trivial.rst deleted file mode 100644 index ab88c4077bd..00000000000 --- a/news/12562.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Update CI tests for Windows to run on Python 3.12 diff --git a/news/12567.bugfix.rst b/news/12567.bugfix.rst deleted file mode 100644 index 55c6a93d6b9..00000000000 --- a/news/12567.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Gracefully skip VCS detection in pip freeze when PATH points to a non-directory path. diff --git a/news/12576.doc.rst b/news/12576.doc.rst deleted file mode 100644 index b82dd3d583f..00000000000 --- a/news/12576.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Document the environment variables that correspond with CLI options. diff --git a/news/12577.bugfix.rst b/news/12577.bugfix.rst deleted file mode 100644 index b408be6a8c9..00000000000 --- a/news/12577.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure ``-vv`` gets passed to any ``pip install`` build environment subprocesses. diff --git a/news/12579.bugfix.rst b/news/12579.bugfix.rst deleted file mode 100644 index df189e8fbff..00000000000 --- a/news/12579.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Remove duplication in invalid wheel error message diff --git a/news/12594.trivial.rst b/news/12594.trivial.rst deleted file mode 100644 index 3d4a67b887d..00000000000 --- a/news/12594.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Update Black pre-commit to 24.4.0 diff --git a/news/12595.trivial.rst b/news/12595.trivial.rst deleted file mode 100644 index 3aad5da6745..00000000000 --- a/news/12595.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Update ruff pre-commit to v0.3.6 diff --git a/news/12615.trivial.rst b/news/12615.trivial.rst deleted file mode 100644 index ace9836ed43..00000000000 --- a/news/12615.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -uses RST substitution to put badges in 1 line. diff --git a/news/12620.trivial.rst b/news/12620.trivial.rst deleted file mode 100644 index 52fa571ed17..00000000000 --- a/news/12620.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Enable Python 3.13 CI tests diff --git a/news/12630.trivial.rst b/news/12630.trivial.rst deleted file mode 100644 index 8beb79ec366..00000000000 --- a/news/12630.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``render: shell`` to the bug report template to format output as code diff --git a/news/12657.feature.rst b/news/12657.feature.rst deleted file mode 100644 index 27e4966b9a3..00000000000 --- a/news/12657.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Further improve resolution performance of large dependency trees, by caching hash calculations. diff --git a/news/12666.bugfix.rst b/news/12666.bugfix.rst deleted file mode 100644 index 72a4a65155e..00000000000 --- a/news/12666.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix intermittent "cannot locate t64.exe" errors when upgrading pip. diff --git a/news/23f96da0-5535-40c4-ad79-3feb7f694ec2.trivial.rst b/news/23f96da0-5535-40c4-ad79-3feb7f694ec2.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/24ca5f01-e27e-41b1-9a9c-7e3a828e22d9.trivial.rst b/news/24ca5f01-e27e-41b1-9a9c-7e3a828e22d9.trivial.rst deleted file mode 100644 index 1be25395635..00000000000 --- a/news/24ca5f01-e27e-41b1-9a9c-7e3a828e22d9.trivial.rst +++ /dev/null @@ -1,10 +0,0 @@ -pip uninstall and list currently depend on req_install.py which always imports -the expensive network and index machinery. However, it's only in rare situations -that these commands actually hit the network: - -- ``pip list --outdated`` -- ``pip list --uptodate`` -- ``pip uninstall --requirement `` - -This patch refactors req_install.py so these commands can avoid the expensive -imports unless truly necessary. diff --git a/news/287f037c-108f-48dd-80a0-489921a6b2f3.trivial.rst b/news/287f037c-108f-48dd-80a0-489921a6b2f3.trivial.rst deleted file mode 100644 index 446d4f9fe9a..00000000000 --- a/news/287f037c-108f-48dd-80a0-489921a6b2f3.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Add codespell pre-commit hook to catch common misspellings. diff --git a/news/4768.feature.rst b/news/4768.feature.rst deleted file mode 100644 index df69a245a65..00000000000 --- a/news/4768.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Reduce startup time of commands (e.g. show, freeze) that do not access the network by 15-30%. diff --git a/news/4CCE4788-B8B3-402E-9A88-2981AD074999.trivial.rst b/news/4CCE4788-B8B3-402E-9A88-2981AD074999.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/514f0c13-84ee-4d81-8465-bae74e370d0b.trivial.rst b/news/514f0c13-84ee-4d81-8465-bae74e370d0b.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/5a771372-fb26-11ee-8cc4-f72623cb6607.trivial.rst b/news/5a771372-fb26-11ee-8cc4-f72623cb6607.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/6831.doc.rst b/news/6831.doc.rst deleted file mode 100644 index 994fc763d6e..00000000000 --- a/news/6831.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Update architecture documentation for command line interface. diff --git a/news/7ae28a10-04c4-4a1f-a276-4c9e04f2e0c1.trivial.rst b/news/7ae28a10-04c4-4a1f-a276-4c9e04f2e0c1.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/7f9639a2-df21-4e0c-9023-80f00fd71d20.trivial.rst b/news/7f9639a2-df21-4e0c-9023-80f00fd71d20.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/91d23d4d-a9cc-442f-a569-c46e0bdc3e64.trivial.rst b/news/91d23d4d-a9cc-442f-a569-c46e0bdc3e64.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/CacheControl.vendor.rst b/news/CacheControl.vendor.rst deleted file mode 100644 index f6132b8332e..00000000000 --- a/news/CacheControl.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade CacheControl to 0.14.0 diff --git a/news/a870a527-a6ea-46fd-b4aa-c0b0d9b669b0.trivial.rst b/news/a870a527-a6ea-46fd-b4aa-c0b0d9b669b0.trivial.rst deleted file mode 100644 index d9cbf94d387..00000000000 --- a/news/a870a527-a6ea-46fd-b4aa-c0b0d9b669b0.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Bump pre-commit hooks. diff --git a/news/b2631650-69cc-4747-8a50-24e574a0ae57.trivial.rst b/news/b2631650-69cc-4747-8a50-24e574a0ae57.trivial.rst deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/news/c678d9e3-4844-4298-a46c-80768b38f652.trivial.rst b/news/c678d9e3-4844-4298-a46c-80768b38f652.trivial.rst deleted file mode 100644 index 8837b629849..00000000000 --- a/news/c678d9e3-4844-4298-a46c-80768b38f652.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Replace ``captured_output()`` and ``get_url_scheme()`` with stdlib alternatives. diff --git a/news/certifi.vendor.rst b/news/certifi.vendor.rst deleted file mode 100644 index d307502900d..00000000000 --- a/news/certifi.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade certifi to 2024.2.2 diff --git a/news/chardet.vendor.rst b/news/chardet.vendor.rst deleted file mode 100644 index 2e1f3489425..00000000000 --- a/news/chardet.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -The ``chardet`` vendoring is removed (replaced by ``charset-normalizer``). diff --git a/news/charset_normalizer.vendor.rst b/news/charset_normalizer.vendor.rst deleted file mode 100644 index 30f1a8a6ed7..00000000000 --- a/news/charset_normalizer.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Added at version 3.3.2. diff --git a/news/distro.vendor.rst b/news/distro.vendor.rst deleted file mode 100644 index 9929155edbe..00000000000 --- a/news/distro.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade distro to 1.9.0 diff --git a/news/f14947e7-deea-4e17-bdc2-dd8dab2a1fa5.trivial.rst b/news/f14947e7-deea-4e17-bdc2-dd8dab2a1fa5.trivial.rst deleted file mode 100644 index 001cec34342..00000000000 --- a/news/f14947e7-deea-4e17-bdc2-dd8dab2a1fa5.trivial.rst +++ /dev/null @@ -1,5 +0,0 @@ -Convert numerous internal classes to dataclasses for readability and stricter -enforcement of immutability across the codebase. A conservative approach was -taken in selecting which classes to convert. Classes which did not convert -cleanly into a dataclass or were "too complex" (e.g. maintains interconnected -state) were left alone. diff --git a/news/idna.vendor.rst b/news/idna.vendor.rst deleted file mode 100644 index 1b8f7430aa6..00000000000 --- a/news/idna.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade idna to 3.7 diff --git a/news/msgpack.vendor.rst b/news/msgpack.vendor.rst deleted file mode 100644 index cc45383eaa4..00000000000 --- a/news/msgpack.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade msgpack to 1.0.8 diff --git a/news/packaging.vendor.rst b/news/packaging.vendor.rst deleted file mode 100644 index 08f099e1cb3..00000000000 --- a/news/packaging.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade packaging to 24.0 diff --git a/news/platformdirs.vendor.rst b/news/platformdirs.vendor.rst deleted file mode 100644 index 4c1af68710e..00000000000 --- a/news/platformdirs.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade platformdirs to 4.2.1 diff --git a/news/pygments.vendor.rst b/news/pygments.vendor.rst deleted file mode 100644 index f3e9a6f67df..00000000000 --- a/news/pygments.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade pygments to 2.17.2 diff --git a/news/pyparsing.vendor.rst b/news/pyparsing.vendor.rst deleted file mode 100644 index 37a586a5651..00000000000 --- a/news/pyparsing.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Remove pyparsing diff --git a/news/rich.vendor.rst b/news/rich.vendor.rst deleted file mode 100644 index b3c8f257742..00000000000 --- a/news/rich.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade rich to 13.7.1 diff --git a/news/setuptools.vendor.rst b/news/setuptools.vendor.rst deleted file mode 100644 index 70703ddc15e..00000000000 --- a/news/setuptools.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade setuptools to 69.5.1 diff --git a/news/tenacity.vendor.rst b/news/tenacity.vendor.rst deleted file mode 100644 index 5f37bc3f116..00000000000 --- a/news/tenacity.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade tenacity to 8.2.3 diff --git a/news/typing_extensions.vendor.rst b/news/typing_extensions.vendor.rst deleted file mode 100644 index c605c366678..00000000000 --- a/news/typing_extensions.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade typing_extensions to 4.11.0 diff --git a/news/urllib3.vendor.rst b/news/urllib3.vendor.rst deleted file mode 100644 index 87c7ccfa0b5..00000000000 --- a/news/urllib3.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade urllib3 to 1.26.18 diff --git a/src/pip/__init__.py b/src/pip/__init__.py index 13523d261f0..ea72e825432 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ from typing import List, Optional -__version__ = "24.1.dev0" +__version__ = "24.1b1" def main(args: Optional[List[str]] = None) -> int: