Sourced from pip's changelog.
\n\n\n26.0 (2026-01-30)
\nDeprecations and Removals
\n\n
\n- Remove support for non-bare project names in egg fragments. Affected users should use\nthe
\nDirect URL requirement syntax <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references>. ([#13157](https://github.com/pypa/pip/issues/13157) <https://github.com/pypa/pip/issues/13157>)Features
\n\n
\n- \n
\nDisplay pip's command-line help in colour, if possible. (
\n[#12134](https://github.com/pypa/pip/issues/12134) <https://github.com/pypa/pip/issues/12134>_)- \n
\nSupport installing dependencies declared with inline script metadata\n(:pep:
\n723) with--requirements-from-script. ([#12891](https://github.com/pypa/pip/issues/12891) <https://github.com/pypa/pip/issues/12891>_)- \n
\nAdd
\n--all-releasesand--only-finaloptions to control pre-release\nand final release selection during package installation. ([#13221](https://github.com/pypa/pip/issues/13221) <https://github.com/pypa/pip/issues/13221>_)- \n
\nAdd
\n--uploaded-prior-tooption to only consider packages uploaded prior to\na given datetime when theupload-timefield is available from a remote index. ([#13625](https://github.com/pypa/pip/issues/13625) <https://github.com/pypa/pip/issues/13625>_)- \n
\nAdd
\n--use-feature inprocess-build-depsto request that build dependencies are installed\nwithin the same pip install process. This new mechanism is faster, supports--no-clean\nand--no-cache-dirreliably, and supports prompting for authentication.Enabling this feature will also enable
\n--use-feature build-constraints. This feature will\nbecome the default in a future pip version. ([#9081](https://github.com/pypa/pip/issues/9081) <https://github.com/pypa/pip/issues/9081>_)- \n
\n\n
pip cache purgeandpip cache removenow clean up empty directories\nand legacy files left by older pip versions. ([#9058](https://github.com/pypa/pip/issues/9058) <https://github.com/pypa/pip/issues/9058>_)Bug Fixes
\n\n
\n- Fix selecting pre-release versions when only pre-releases match.\nFor example,
\npackage>1.0with versions1.0, 2.0rc1now installs\n2.0rc1instead of failing. ([#13746](https://github.com/pypa/pip/issues/13746) <https://github.com/pypa/pip/issues/13746>_)- Revisions in version control URLs now must be percent-encoded.\nFor example, use
\ngit+https://example.com/repo.git@issue%231to specify the branchissue#1.\nIf you previously used a branch name containing a%character in a version control URL, you now need to replace it with%25to ensure correct percent-encoding. ([#13407](https://github.com/pypa/pip/issues/13407) <https://github.com/pypa/pip/issues/13407>_)- Preserve original casing when a path is displayed. (
\n[#6823](https://github.com/pypa/pip/issues/6823) <https://github.com/pypa/pip/issues/6823>_)- Fix bash completion when the
\n$IFSvariable has been modified from its default. ([#13555](https://github.com/pypa/pip/issues/13555) <https://github.com/pypa/pip/issues/13555>_)- Precompute Python requirements on each candidate, reducing time of long resolutions. (
\n[#13656](https://github.com/pypa/pip/issues/13656) <https://github.com/pypa/pip/issues/13656>_)- Skip redundant work converting version objects to strings when using the\n
\nimportlib.metadatabackend. ([#13660](https://github.com/pypa/pip/issues/13660) <https://github.com/pypa/pip/issues/13660>_)- Fix
\npip index versionsto honor only-binary/no-binary options. ([#13682](https://github.com/pypa/pip/issues/13682) <https://github.com/pypa/pip/issues/13682>_)- Fix fallthrough logic for options, allowing overriding global options with\ndefaults from user config. (
\n[#13703](https://github.com/pypa/pip/issues/13703) <https://github.com/pypa/pip/issues/13703>_)- Use a path-segment prefix comparison, not char-by-char. (
\n[#13777](https://github.com/pypa/pip/issues/13777) <https://github.com/pypa/pip/issues/13777>_)Vendored Libraries
\n\n
... (truncated)
\n2f4d4a8 Merge pull request #13779 from notatallshaw/fix-26.0-news04307a4 fix 26.0 news6ec7b0a Merge pull request #13775 from notatallshaw/release/26.04104356 Bump for release58be883 Update AUTHORS.txt66f2dec Merge pull request #13778 from ichard26/docs/groups0214103 doc: Re-expose package selection group optionsfdbe762 Install pip within docs Nox sessions8e227a9 Merge pull request #13777 from sethmlarson/commonpathf5315ad Merge pull request #13776 from ichard26/docs/versionaddedSourced from pip's changelog.
\n\n\n26.0 (2026-01-30)
\nDeprecations and Removals
\n\n
\n- Remove support for non-bare project names in egg fragments. Affected users should use\nthe
\nDirect URL requirement syntax <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references>. ([#13157](https://github.com/pypa/pip/issues/13157) <https://github.com/pypa/pip/issues/13157>)Features
\n\n
\n- \n
\nDisplay pip's command-line help in colour, if possible. (
\n[#12134](https://github.com/pypa/pip/issues/12134) <https://github.com/pypa/pip/issues/12134>_)- \n
\nSupport installing dependencies declared with inline script metadata\n(:pep:
\n723) with--requirements-from-script. ([#12891](https://github.com/pypa/pip/issues/12891) <https://github.com/pypa/pip/issues/12891>_)- \n
\nAdd
\n--all-releasesand--only-finaloptions to control pre-release\nand final release selection during package installation. ([#13221](https://github.com/pypa/pip/issues/13221) <https://github.com/pypa/pip/issues/13221>_)- \n
\nAdd
\n--uploaded-prior-tooption to only consider packages uploaded prior to\na given datetime when theupload-timefield is available from a remote index. ([#13625](https://github.com/pypa/pip/issues/13625) <https://github.com/pypa/pip/issues/13625>_)- \n
\nAdd
\n--use-feature inprocess-build-depsto request that build dependencies are installed\nwithin the same pip install process. This new mechanism is faster, supports--no-clean\nand--no-cache-dirreliably, and supports prompting for authentication.Enabling this feature will also enable
\n--use-feature build-constraints. This feature will\nbecome the default in a future pip version. ([#9081](https://github.com/pypa/pip/issues/9081) <https://github.com/pypa/pip/issues/9081>_)- \n
\n\n
pip cache purgeandpip cache removenow clean up empty directories\nand legacy files left by older pip versions. ([#9058](https://github.com/pypa/pip/issues/9058) <https://github.com/pypa/pip/issues/9058>_)Bug Fixes
\n\n
\n- Fix selecting pre-release versions when only pre-releases match.\nFor example,
\npackage>1.0with versions1.0, 2.0rc1now installs\n2.0rc1instead of failing. ([#13746](https://github.com/pypa/pip/issues/13746) <https://github.com/pypa/pip/issues/13746>_)- Revisions in version control URLs now must be percent-encoded.\nFor example, use
\ngit+https://example.com/repo.git@issue%231to specify the branchissue#1.\nIf you previously used a branch name containing a%character in a version control URL, you now need to replace it with%25to ensure correct percent-encoding. ([#13407](https://github.com/pypa/pip/issues/13407) <https://github.com/pypa/pip/issues/13407>_)- Preserve original casing when a path is displayed. (
\n[#6823](https://github.com/pypa/pip/issues/6823) <https://github.com/pypa/pip/issues/6823>_)- Fix bash completion when the
\n$IFSvariable has been modified from its default. ([#13555](https://github.com/pypa/pip/issues/13555) <https://github.com/pypa/pip/issues/13555>_)- Precompute Python requirements on each candidate, reducing time of long resolutions. (
\n[#13656](https://github.com/pypa/pip/issues/13656) <https://github.com/pypa/pip/issues/13656>_)- Skip redundant work converting version objects to strings when using the\n
\nimportlib.metadatabackend. ([#13660](https://github.com/pypa/pip/issues/13660) <https://github.com/pypa/pip/issues/13660>_)- Fix
\npip index versionsto honor only-binary/no-binary options. ([#13682](https://github.com/pypa/pip/issues/13682) <https://github.com/pypa/pip/issues/13682>_)- Fix fallthrough logic for options, allowing overriding global options with\ndefaults from user config. (
\n[#13703](https://github.com/pypa/pip/issues/13703) <https://github.com/pypa/pip/issues/13703>_)- Use a path-segment prefix comparison, not char-by-char. (
\n[#13777](https://github.com/pypa/pip/issues/13777) <https://github.com/pypa/pip/issues/13777>_)Vendored Libraries
\n\n
... (truncated)
\n2f4d4a8 Merge pull request #13779 from notatallshaw/fix-26.0-news04307a4 fix 26.0 news6ec7b0a Merge pull request #13775 from notatallshaw/release/26.04104356 Bump for release58be883 Update AUTHORS.txt66f2dec Merge pull request #13778 from ichard26/docs/groups0214103 doc: Re-expose package selection group optionsfdbe762 Install pip within docs Nox sessions8e227a9 Merge pull request #13777 from sethmlarson/commonpathf5315ad Merge pull request #13776 from ichard26/docs/versionadded