From 87828dc11b18b657d95fed4dc4ed996ba032e4f8 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 24 Oct 2025 09:22:39 -0400 Subject: [PATCH 1/5] Update AUTHORS.txt --- AUTHORS.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index c8a7c68fa7a..b2bf6827959 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,8 @@ mayeut mbaluna Md Sujauddin Sekh mdebi +meet-vasita +Meet_Vasita memoselyk meowmeowcat Michael @@ -714,6 +723,7 @@ Shivansh-007 Shixian Sheng Shlomi Fish Shovan Maity +Shubham Nagure Simeon Visser Simon Cross Simon Pichugin @@ -785,6 +795,7 @@ toxinu Travis Swicegood Tushar Sadhwani Tzu-ping Chung +user Valentin Haenel Victor Stinner victorvpaulo From fc9ffc26a68470c1aad4f52c978423ef4779b386 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 24 Oct 2025 09:42:36 -0400 Subject: [PATCH 2/5] Bump for release --- NEWS.rst | 69 ++++++++++++++++++++++++++++++++++++ news/11457.removal.rst | 2 -- news/11859.removal.rst | 2 -- news/12603.feature.rst | 1 - news/13443.bugfix.rst | 2 -- news/13495.feature.rst | 1 - news/13523.bugfix.rst | 1 - news/13528.bugfix.rst | 1 - news/13534.feature.rst | 3 -- news/13534.removal.rst | 8 ----- news/13540.bugfix.rst | 5 --- news/13545.bugfix.rst | 1 - news/13548.bugfix.rst | 2 -- news/13550.bugfix.rst | 2 -- news/13561.doc.rst | 1 - news/13581.removal.rst | 1 - news/13588.feature.rst | 1 - news/13743.feature.rst | 2 -- news/6334.removal.rst | 2 -- news/8794.bugfix.rst | 1 - news/FURB100.trivial.rst | 0 news/certifi.vendor.rst | 1 - news/msgpack.vendor.rst | 1 - news/platformdirs.vendor.rst | 1 - news/requests.vendor.rst | 1 - news/resolvelib.vendor.rst | 1 - news/rich.vendor.rst | 1 - news/tomli.vendor.rst | 1 - news/truststore.vendor.rst | 1 - src/pip/__init__.py | 2 +- 30 files changed, 70 insertions(+), 48 deletions(-) delete mode 100644 news/11457.removal.rst delete mode 100644 news/11859.removal.rst delete mode 100644 news/12603.feature.rst delete mode 100644 news/13443.bugfix.rst delete mode 100644 news/13495.feature.rst delete mode 100644 news/13523.bugfix.rst delete mode 100644 news/13528.bugfix.rst delete mode 100644 news/13534.feature.rst delete mode 100644 news/13534.removal.rst delete mode 100644 news/13540.bugfix.rst delete mode 100644 news/13545.bugfix.rst delete mode 100644 news/13548.bugfix.rst delete mode 100644 news/13550.bugfix.rst delete mode 100644 news/13561.doc.rst delete mode 100644 news/13581.removal.rst delete mode 100644 news/13588.feature.rst delete mode 100644 news/13743.feature.rst delete mode 100644 news/6334.removal.rst delete mode 100644 news/8794.bugfix.rst delete mode 100644 news/FURB100.trivial.rst delete mode 100644 news/certifi.vendor.rst delete mode 100644 news/msgpack.vendor.rst delete mode 100644 news/platformdirs.vendor.rst delete mode 100644 news/requests.vendor.rst delete mode 100644 news/resolvelib.vendor.rst delete mode 100644 news/rich.vendor.rst delete mode 100644 news/tomli.vendor.rst delete mode 100644 news/truststore.vendor.rst diff --git a/NEWS.rst b/NEWS.rst index e5058353c98..99aed60e4f9 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -9,6 +9,75 @@ .. 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 + +Improved Documentation +---------------------- + +- Clarified dependency resolution docs: added note on hypothetical packages, fixed version mismatch, and added introduction line. (`#13561 `_) + 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..d0e2bf37c91 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "25.3.dev0" +__version__ = "25.3" def main(args: list[str] | None = None) -> int: From 6bd493ea8a2173df01b4e9da3af955926b250279 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 24 Oct 2025 09:42:36 -0400 Subject: [PATCH 3/5] Bump for development --- src/pip/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pip/__init__.py b/src/pip/__init__.py index d0e2bf37c91..c7780d4d077 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "25.3" +__version__ = "26.0.dev0" def main(args: list[str] | None = None) -> int: From d645c9f0cbd1f832373322d3082ea572c763ba0e Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 24 Oct 2025 17:52:41 -0400 Subject: [PATCH 4/5] Fix up authors by adding entry to `.mailmap` --- .mailmap | 3 +++ AUTHORS.txt | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) 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 b2bf6827959..6ce9e40c956 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -532,8 +532,7 @@ mayeut mbaluna Md Sujauddin Sekh mdebi -meet-vasita -Meet_Vasita +Meet Vasita memoselyk meowmeowcat Michael @@ -795,7 +794,6 @@ toxinu Travis Swicegood Tushar Sadhwani Tzu-ping Chung -user Valentin Haenel Victor Stinner victorvpaulo From cbd34a7915607aa7632f14e3003b29f88e2c9874 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 24 Oct 2025 17:53:56 -0400 Subject: [PATCH 5/5] Remove unneeded news entry --- NEWS.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/NEWS.rst b/NEWS.rst index 99aed60e4f9..a0227bb18cd 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -73,11 +73,6 @@ Vendored Libraries - Upgrade tomli to 2.3.0 - Upgrade truststore to 0.10.4 -Improved Documentation ----------------------- - -- Clarified dependency resolution docs: added note on hypothetical packages, fixed version mismatch, and added introduction line. (`#13561 `_) - 25.2 (2025-07-30) =================