diff --git a/.mailmap b/.mailmap index 875dba24ed3..aad601b416b 100644 --- a/.mailmap +++ b/.mailmap @@ -50,3 +50,6 @@ Stephan Erb Yoval P Zhiping Deng +dkjsone <221672629+dkjsone@users.noreply.github.com> user +Meet Vasita meet-vasita +Meet Vasita Meet_Vasita <84974738+meet-vasita@users.noreply.github.com> diff --git a/AUTHORS.txt b/AUTHORS.txt index c8a7c68fa7a..6ce9e40c956 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -24,6 +24,7 @@ albertg Alberto Sottile Aleks Bunin Ales Erjavec +Alessandro Molina Alethea Flowers Alex Gaynor Alex Grönholm @@ -37,6 +38,7 @@ Alexandre Conrad Alexey Popravka Aleš Erjavec Alli +Aman Ami Fischman Ananya Maiti Anatoly Techtonik @@ -56,6 +58,7 @@ Aniruddha Basak Anish Tambe Anrs Hu Anthony Sottile +Antoine Lambert Antoine Musso Anton Ovchinnikov Anton Patrushev @@ -236,6 +239,7 @@ Dimitri Merejkowsky Dimitri Papadopoulos Dimitri Papadopoulos Orfanos Dirk Stolle +dkjsone Dmitry Gladkov Dmitry Volodin Domen Kožar @@ -347,6 +351,7 @@ Igor Sobreira Ikko Ashimine Ilan Schnell Illia Volochii +Ilya Abdolmanafi Ilya Baryshev Inada Naoki Ionel Cristian Mărieș @@ -482,6 +487,7 @@ luojiebin luz.paz László Kiss Kollár M00nL1ght +MajorTanya Malcolm Smith Marc Abramowitz Marc Tamlyn @@ -498,6 +504,7 @@ Martin Pavlasek Masaki Masklinn Matej Stuchlik +Mateusz Sokół Mathew Jennings Mathieu Bridon Mathieu Kniewallner @@ -525,6 +532,7 @@ mayeut mbaluna Md Sujauddin Sekh mdebi +Meet Vasita memoselyk meowmeowcat Michael @@ -714,6 +722,7 @@ Shivansh-007 Shixian Sheng Shlomi Fish Shovan Maity +Shubham Nagure Simeon Visser Simon Cross Simon Pichugin diff --git a/NEWS.rst b/NEWS.rst index e5058353c98..a0227bb18cd 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -9,6 +9,70 @@ .. towncrier release notes start +25.3 (2025-10-24) +================= + +Deprecations and Removals +------------------------- + +- Remove support for the legacy ``setup.py develop`` editable method in setuptools + editable installs; setuptools >= 64 is now required. (`#11457 `_) +- Remove the deprecated ``--global-option`` and ``--build-option``. + ``--config-setting`` is now the only way to pass options to the build backend. (`#11859 `_) +- Deprecate the ``PIP_CONSTRAINT`` environment variable for specifying build + constraints. + + Use the ``--build-constraint`` option or the ``PIP_BUILD_CONSTRAINT`` environment variable + instead. When build constraints are used, ``PIP_CONSTRAINT`` no longer affects isolated build + environments. To enable this behavior without specifying any build constraints, use + ``--use-feature=build-constraint``. (`#13534 `_) +- Remove support for non-standard legacy wheel filenames. (`#13581 `_) +- Remove support for the deprecated ``setup.py bdist_wheel`` mechanism. Consequently, + ``--use-pep517`` is now always on, and ``--no-use-pep517`` has been removed. (`#6334 `_) + +Features +-------- + +- When :pep:`658` metadata is available, full distribution files are no longer downloaded when using ``pip lock`` or ``pip install --dry-run``. (`#12603 `_) +- Add support for installing an editable requirement written as a Direct URL (``PackageName @ URL``). (`#13495 `_) +- Add support for build constraints via the ``--build-constraint`` option. This + allows constraining the versions of packages used during the build process + (e.g., setuptools) without affecting the final installation. (`#13534 `_) +- On ``ResolutionImpossible`` errors, include a note about causes with no candidates. (`#13588 `_) +- Building pip itself from source now uses flit-core instead of setuptools. + This does not affect how pip installs or builds packages you use. (`#13743 `_) + +Bug Fixes +--------- + +- Handle malformed ``Version`` metadata entries and + show a sensible error message instead of crashing. (`#13443 `_) +- Permit spaces between a filepath and extras in an install requirement. (`#13523 `_) +- Ensure the self-check files in the cache have the same permissions as the rest of the cache. (`#13528 `_) +- Avoid concurrency issues and improve performance when caching locally built wheels, + especially when the temporary build directory is on a different filesystem than the cache. + The wheel directory passed to the build backend is now a temporary subdirectory inside + the cache directory. (`#13540 `_) +- Include relevant user-supplied constraints in logs when reporting dependency conflicts. (`#13545 `_) +- Fix a regression in configuration parsing that was turning a single value + into a list and thus leading to a validation error. (`#13548 `_) +- For Python versions that do not support :pep:`706`, pip will now raise an installation error for a + source distribution when it includes a symlink that points outside the source distribution archive. (`#13550 `_) +- Prevent ``--user`` installs if ``site.ENABLE_USER_SITE`` is set to ``False``. (`#8794 `_) + + +Vendored Libraries +------------------ + +- Upgrade certifi to 2025.10.5 +- Upgrade msgpack to 1.1.2 +- Upgrade platformdirs to 4.5.0 +- Upgrade requests to 2.32.5 +- Upgrade resolvelib to 1.2.1 +- Upgrade rich to 14.2.0 +- Upgrade tomli to 2.3.0 +- Upgrade truststore to 0.10.4 + 25.2 (2025-07-30) ================= diff --git a/news/11457.removal.rst b/news/11457.removal.rst deleted file mode 100644 index eb579147eeb..00000000000 --- a/news/11457.removal.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove support for the legacy setup.py develop editable method in setuptools -editable installs; setuptools >= 64 is now required. diff --git a/news/11859.removal.rst b/news/11859.removal.rst deleted file mode 100644 index fa56c8d05f6..00000000000 --- a/news/11859.removal.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove the deprecated ``--global-option`` and ``--build-option``. -``--config-setting`` is now the only way to pass options to the build backend. diff --git a/news/12603.feature.rst b/news/12603.feature.rst deleted file mode 100644 index cab327a85d2..00000000000 --- a/news/12603.feature.rst +++ /dev/null @@ -1 +0,0 @@ -When PEP-658 metadata is available, full distribution files are no longer downloaded when using ``pip lock`` or ``pip install --dry-run``. diff --git a/news/13443.bugfix.rst b/news/13443.bugfix.rst deleted file mode 100644 index 68e716392e3..00000000000 --- a/news/13443.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Handle malformed ``Version`` metadata entries and -show a sensible error message instead of crashing. diff --git a/news/13495.feature.rst b/news/13495.feature.rst deleted file mode 100644 index c3536da0312..00000000000 --- a/news/13495.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Add support installing an editable requirement written as a Direct URL (``PackageName @ URL``). diff --git a/news/13523.bugfix.rst b/news/13523.bugfix.rst deleted file mode 100644 index c128a49fc2a..00000000000 --- a/news/13523.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Permit spaces between a filepath and extras in an install requirement. diff --git a/news/13528.bugfix.rst b/news/13528.bugfix.rst deleted file mode 100644 index bd2ee8c6897..00000000000 --- a/news/13528.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure the self-check files in the cache has same permissions as the rest of the cache. diff --git a/news/13534.feature.rst b/news/13534.feature.rst deleted file mode 100644 index 541fd852d14..00000000000 --- a/news/13534.feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add support for build constraints via the ``--build-constraint`` option. This -allows constraining the versions of packages used during the build process -(e.g., setuptools) without affecting the final installation. diff --git a/news/13534.removal.rst b/news/13534.removal.rst deleted file mode 100644 index c8212bb15b2..00000000000 --- a/news/13534.removal.rst +++ /dev/null @@ -1,8 +0,0 @@ -Deprecate the ``PIP_CONSTRAINT`` environment variable for specifying build -constraints. - -Build constraints should now be specified using the ``--build-constraint`` -option or the ``PIP_BUILD_CONSTRAINT`` environment variable. When using build -constraints, ``PIP_CONSTRAINT`` no longer affects isolated build environments. -To opt in to this behavior without specifying any build constraints, use -``--use-feature=build-constraint``. diff --git a/news/13540.bugfix.rst b/news/13540.bugfix.rst deleted file mode 100644 index 047302d4d4d..00000000000 --- a/news/13540.bugfix.rst +++ /dev/null @@ -1,5 +0,0 @@ -Avoid concurrency issues and improve performance when storing wheels into the -cache of locally built wheels, when the temporary build directory is on a -different filesystem than the cache directory. To this end, the wheel directory -passed to the build backend is now a temporary subdirectory inside the cache -directory. diff --git a/news/13545.bugfix.rst b/news/13545.bugfix.rst deleted file mode 100644 index f3133ce9fc7..00000000000 --- a/news/13545.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Include relevant user-supplied constraints in logs when reporting dependency conflicts. diff --git a/news/13548.bugfix.rst b/news/13548.bugfix.rst deleted file mode 100644 index 1dff4989a5a..00000000000 --- a/news/13548.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix regression in configuration parsing that was turning a single value -into a list and thus leading to a validation error. diff --git a/news/13550.bugfix.rst b/news/13550.bugfix.rst deleted file mode 100644 index e7de219a568..00000000000 --- a/news/13550.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -For Python versions that do not support PEP 706, pip will now raise an installation error for a -source distribution when it includes a symlink that points outside the source distribution archive. diff --git a/news/13561.doc.rst b/news/13561.doc.rst deleted file mode 100644 index 57bc88563d3..00000000000 --- a/news/13561.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Clarified dependency resolution docs: added note on hypothetical packages, fixed version mismatch, and added introduction line. diff --git a/news/13581.removal.rst b/news/13581.removal.rst deleted file mode 100644 index 91c64fb50a1..00000000000 --- a/news/13581.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Remove support for non-standard legacy wheel filenames. diff --git a/news/13588.feature.rst b/news/13588.feature.rst deleted file mode 100644 index 87c56881bae..00000000000 --- a/news/13588.feature.rst +++ /dev/null @@ -1 +0,0 @@ -On ``ResolutionImpossible`` errors, include a note about causes with no candidates. diff --git a/news/13743.feature.rst b/news/13743.feature.rst deleted file mode 100644 index 37f7db147f8..00000000000 --- a/news/13743.feature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Building pip itself from source now uses flit-core instead of setuptools. -This does not affect how pip installs or builds packages you use. diff --git a/news/6334.removal.rst b/news/6334.removal.rst deleted file mode 100644 index 791846540b2..00000000000 --- a/news/6334.removal.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove support for the deprecated ``setup.py bdist_wheel`` mechanism. Consequently, -``--use-pep517`` is now always on, and ``--no-use-pep517`` has been removed. diff --git a/news/8794.bugfix.rst b/news/8794.bugfix.rst deleted file mode 100644 index 0eadcd9face..00000000000 --- a/news/8794.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Prevent --user installs if site.ENABLE_USER_SITE is set to False. diff --git a/news/FURB100.trivial.rst b/news/FURB100.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 49f9fb979e1..00000000000 --- a/news/certifi.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade certifi to 2025.10.5 diff --git a/news/msgpack.vendor.rst b/news/msgpack.vendor.rst deleted file mode 100644 index 3fd3e196fcf..00000000000 --- a/news/msgpack.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade msgpack to 1.1.2 diff --git a/news/platformdirs.vendor.rst b/news/platformdirs.vendor.rst deleted file mode 100644 index 9fb7ae55254..00000000000 --- a/news/platformdirs.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade platformdirs to 4.5.0 diff --git a/news/requests.vendor.rst b/news/requests.vendor.rst deleted file mode 100644 index 4b3832d1d5d..00000000000 --- a/news/requests.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade requests to 2.32.5 diff --git a/news/resolvelib.vendor.rst b/news/resolvelib.vendor.rst deleted file mode 100644 index 0ef7ce5d8a9..00000000000 --- a/news/resolvelib.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade resolvelib to 1.2.1 diff --git a/news/rich.vendor.rst b/news/rich.vendor.rst deleted file mode 100644 index 71a65712d4c..00000000000 --- a/news/rich.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade rich to 14.2.0 diff --git a/news/tomli.vendor.rst b/news/tomli.vendor.rst deleted file mode 100644 index d72fb402ac3..00000000000 --- a/news/tomli.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade tomli to 2.3.0 diff --git a/news/truststore.vendor.rst b/news/truststore.vendor.rst deleted file mode 100644 index 707de48f533..00000000000 --- a/news/truststore.vendor.rst +++ /dev/null @@ -1 +0,0 @@ -Upgrade truststore to 0.10.4 diff --git a/src/pip/__init__.py b/src/pip/__init__.py index 31fe44974cc..c7780d4d077 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "25.3.dev0" +__version__ = "26.0.dev0" def main(args: list[str] | None = None) -> int: