Sourced from pip's changelog.
26.0 (2026-01-30)
Deprecations and Removals
- Remove support for non-bare project names in egg fragments. Affected users should use the
Direct 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
Display pip's command-line help in colour, if possible. (
[#12134](https://github.com/pypa/pip/issues/12134) <https://github.com/pypa/pip/issues/12134>_)Support installing dependencies declared with inline script metadata (:pep:
723) with--requirements-from-script. ([#12891](https://github.com/pypa/pip/issues/12891) <https://github.com/pypa/pip/issues/12891>_)Add
--all-releasesand--only-finaloptions to control pre-release and final release selection during package installation. ([#13221](https://github.com/pypa/pip/issues/13221) <https://github.com/pypa/pip/issues/13221>_)Add
--uploaded-prior-tooption to only consider packages uploaded prior to a 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>_)Add
--use-feature inprocess-build-depsto request that build dependencies are installed within the same pip install process. This new mechanism is faster, supports--no-cleanand--no-cache-dirreliably, and supports prompting for authentication.Enabling this feature will also enable
--use-feature build-constraints. This feature will become the default in a future pip version. ([#9081](https://github.com/pypa/pip/issues/9081) <https://github.com/pypa/pip/issues/9081>_)
pip cache purgeandpip cache removenow clean up empty directories and legacy files left by older pip versions. ([#9058](https://github.com/pypa/pip/issues/9058) <https://github.com/pypa/pip/issues/9058>_)Bug Fixes
- Fix selecting pre-release versions when only pre-releases match. For example,
package>1.0with versions1.0, 2.0rc1now installs2.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. For example, use
git+https://example.com/repo.git@issue%231to specify the branchissue#1. If 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. (
[#6823](https://github.com/pypa/pip/issues/6823) <https://github.com/pypa/pip/issues/6823>_)- Fix bash completion when the
$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. (
[#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
importlib.metadatabackend. ([#13660](https://github.com/pypa/pip/issues/13660) <https://github.com/pypa/pip/issues/13660>_)- Fix
pip 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 defaults from user config. (
[#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. (
[#13777](https://github.com/pypa/pip/issues/13777) <https://github.com/pypa/pip/issues/13777>_)Vendored Libraries
... (truncated)
2f4d4a8
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 gunicorn's releases.
Gunicorn 25.0.0
New Features
Dirty Arbiters: Separate process pool for executing long-running, blocking operations (AI model loading, heavy computation) without blocking HTTP workers ([PR #3460](benoitc/gunicorn#3460))
- Inspired by Erlang's dirty schedulers
- Asyncio-based with Unix socket IPC
- Stateful workers that persist loaded resources
- New settings:
--dirty-app,--dirty-workers,--dirty-timeout,--dirty-threads,--dirty-graceful-timeout- Lifecycle hooks:
on_dirty_starting,dirty_post_fork,dirty_worker_init,dirty_worker_exitPer-App Worker Allocation for Dirty Arbiters: Control how many dirty workers load each app for memory optimization with heavy models ([PR #3473](benoitc/gunicorn#3473))
- Set
workersclass attribute on DirtyApp (e.g.,workers = 2)- Or use config format
module:class:N(e.g.,myapp:HeavyModel:2)- Requests automatically routed to workers with the target app
- New exception
DirtyNoWorkersAvailableErrorfor graceful error handling- Example: 8 workers × 10GB model = 80GB → with
workers=2: 20GB (75% savings)HTTP/2 Support (Beta): Native HTTP/2 (RFC 7540) support for improved performance with modern clients ([PR #3468](benoitc/gunicorn#3468))
- Multiplexed streams over a single connection
- Header compression (HPACK)
- Flow control and stream prioritization
- Works with gthread, gevent, and ASGI workers
- New settings:
--http-protocols,--http2-max-concurrent-streams,--http2-initial-window-size,--http2-max-frame-size,--http2-max-header-list-size- Requires SSL/TLS and h2 library:
pip install gunicorn[http2]- New example:
examples/http2_gevent/with Docker and testsHTTP 103 Early Hints: Support for RFC 8297 Early Hints to enable browsers to preload resources before the final response ([PR #3468](benoitc/gunicorn#3468))
- WSGI:
environ['wsgi.early_hints'](https://github.com/benoitc/gunicorn/blob/HEAD/headers)callback- ASGI:
http.response.informationalmessage type- Works with both HTTP/1.1 and HTTP/2
uWSGI Protocol for ASGI Worker: The ASGI worker now supports receiving requests via the uWSGI binary protocol from nginx ([PR #3467](benoitc/gunicorn#3467))
Bug Fixes
- Fix HTTP/2 ALPN negotiation for gevent and eventlet workers when
do_handshake_on_connectis False (the default). The TLS handshake is now explicitly performed before checkingselected_alpn_protocol().
... (truncated)
617a85e
docs: update 25.0.0 release date to 2026-02-01ee933f2
fix(asgi): quick shutdown on SIGINT/SIGQUIT, graceful on SIGTERM98ef198
docs: update security policy for maintained versions 24.1.1 and
25.0.0911e333
chore: replace RST with markdown, remove docs-lint and readthedocs
config7ff671b
chore: replace README.rst with README.md, remove
modernization-plan.mdd5ab5dc
Merge pull request #3473
from benoitc/feature/per-app-worker-allocationd563a7e
chore: bump version to 25.0.086264ef
docs: add per-app worker allocation to 25.0.0 changelogc4fe116
docs: add per-app worker allocation documentation1af5997
docs: regenerate settings.mdSourced from rich's releases.
The ZWJy release
A fix for
cell_lenedge cases[14.3.2] - 2026-02-01
Fixed
- Fixed solo ZWJ crash Textualize/rich#3953
- Fixed control codes reporting width of 1 Textualize/rich#3953
Sourced from rich's changelog.
[14.3.2] - 2026-02-01
Fixed
- Fixed solo ZWJ crash Textualize/rich#3953
- Fixed control codes reporting width of 1 Textualize/rich#3953
Sourced from tomli's changelog.
2.4.0
- Added
- TOML v1.1.0 compatibility
- Binary wheels for Windows arm64
a678e6f
Bump version: 2.3.0 → 2.4.0b8a1358
Tests: remove now needless "TOML
compliance"->"burntsushi" format conversion4979375
Update GitHub actionsf890dd1
Update pre-commit hooksd9c65c3
Add 2.4.0 change log0efe49d
Update README for v2.4.09eb2125
TOML 1.1: Make seconds optional in Date-Time and Time (#203)12314bd
TOML 1.1: Add \xHH Unicode escape code to basic strings (#202)2a2aa62
TOML 1.1: Allow newlines and trailing comma in inline tables (#200)38297f8
Xfail on tests for TOML 1.1 features not yet supported