HTTP Core is a minimal low-level HTTP client for Python, focused on sending HTTP requests. It avoids higher-level features like redirects, authentication header building, caching, URL parsing, and content decoding, and instead provides thread-safe or task-safe connection pooling, HTTP(S) and SOCKS proxy support, and both sync and async interfaces (including HTTP/1.1 and HTTP/2).
Project status
- The project (encode/httpcore) appears actively maintained, with a recent upstream push on 2026-01-08 and continuing version updates through 1.0.9 in 2025. It also explicitly follows SEMVER behavior (since 1.0.0), which supports safer update expectations.
- The update cadence is irregular but fairly steady during 2024-2025, with multiple minor releases (1.0.4 to 1.0.7 across Feb to Nov 2024) and two close updates in April 2025 (1.0.8 on 2025-04-11, 1.0.9 on 2025-04-24). After 1.0.9, no further version updates are shown in the provided history.
AI summary generated 2 weeks ago
Recent updates
1.0.9
4/24/2025Release 1.0.9 updates the project to address a known security advisory (GHSA-vqfr-h8mv-ghfj) by bumping the `h11` dependency. The code changes in this release are minimal, consisting mainly of version metadata and the dependency constraint update.
Security1.0.8
4/11/2025Version 1.0.8 is described as a Python 3.14 import fix (AttributeError) and otherwise appears to be a small internal patch release. The code diff also includes several internal HTTP/2 handling changes and toolchain dependency bumps that are not mentioned in the release notes.
1.0.7
11/15/2024Version 1.0.7 primarily adds support for configuring proxies via a new `proxy` argument on `ConnectionPool()`. The code changes also introduce a new `httpcore.Proxy` API and update connection pool routing logic based on the proxy scheme.
Features1.0.6
10/1/2024Version 1.0.6 relaxes the upper bound on the optional trio extra, and adds improved exception handling around trio and TLS errors. It also updates some internal behavior related to how connection pool requests are assigned, plus several repository/development dependency changes.
1.0.5
3/27/2024Version 1.0.5 primarily updates httpcore to better handle `anyio.EndOfStream` and relaxes the allowed Trio version range to include `0.25.*`. The release notes only mention these two items, but the diff also includes contributor tooling and dependency updates.
1.0.4
2/21/2024Version 1.0.4 introduces support for a new `target` request extension and fixes handling of CONNECT and Upgrade requests when extra data is already buffered by the underlying HTTP/1.1 state machine. The code changes focus on correctly exposing that buffered trailing data through the `network_stream` extension.
Features1.0.3
2/14/2024httpcore 1.0.3 primarily fixes three networking edge cases: async cancellation handling, trace behavior when used through a SOCKS proxy, and SSL context selection for wss connections. The code diff shows these fixes alongside a much larger internal refactor of connection pooling and locking.
1.0.2
11/10/2023Release 1.0.2 is a small patch release focused on correcting timeout handling in the synchronization layer. The documented fix targets how `Event.wait` treats `timeout=float('inf')` to avoid unintended timeout behavior.
1.0.1
11/3/2023Version 1.0.1 updates httpcore with a corrected connection pool timeout calculation, improved runtime errors when required async extras are missing, and expanded TLS support for synchronous TLS-in-TLS streams. The code changes touch both sync and async connection pool logic, plus the async synchronization dependency detection.
Features1.0.0
10/6/2023Version 1.0.0 makes async support optional by moving async-related dependencies into extras, and adds Python 3.12 support. Documentation was updated to explain installing async and HTTP/2/SOCKS capabilities via optional extras, and the project now explicitly follows SEMVER.
Features