Requests is a simple, elegant Python HTTP library for sending HTTP/1.1 requests easily. It helps with common client features like query handling, form and JSON support, cookie persistence via sessions, authentication, timeouts, streaming downloads, and connection pooling.
Project status
- Requests (psf/requests) appears actively maintained, with recent GitHub activity (last upstream push on 2026-07-09) and multiple tagged updates in May 2026 (v2.34.0 to v2.34.2).
- Apparent update cadence is relatively tight in the short term, with v2.34.0 (2026-05-11), v2.34.1 (2026-05-13), and v2.34.2 (2026-05-14), followed by a longer lull before the 2026-07-09 upstream push.
AI summary generated
Recent updates
v2.34.2
Release v2.34.2 updates Requests typing around the Request.headers field. The change moves the relevant `headers` type back to `Mapping` to avoid invariance issues with `MutableMapping` and inferred dict types.
v2.34.1
requests v2.34.1 contains a set of typing-focused changes (json, headers, and Response.reason) and one functional bugfix related to detecting iterable request bodies behind custom attribute proxies. The code changes largely match the documented release notes, with one subtle discrepancy around Response.reason initialization.
Breakingv2.34.0
Requests v2.34.0 focuses on typing improvements, including inline types to replace those previously supplied by typeshed. The release notes also describe a small set of behavioral bug fixes around Digest Auth security labeling, proxy bypassing, and URL/path normalization, plus expanded Python version support.
SecurityFeaturesv2.33.1
Release v2.33.1 includes targeted bugfixes around header handling and test hygiene. The main code changes tighten Content-Type header parsing and adjust internal header validation regexes to behave more consistently for malformed inputs.
v2.33.0
Requests v2.33.0 focuses on build-system modernization (PEP 517 via setuptools), plus a security fix to harden requests.utils.extract_zipped_paths against malicious file replacement. It also includes a targeted netrc authentication bugfix and drops Python 3.9 support.
BreakingSecurityFeaturesv2.32.5
Requests v2.32.5 primarily reverts the SSLContext caching behavior added in v2.32.0 after it caused widespread issues. It also updates Python support to add Python 3.14 and drop Python 3.8.
BreakingFeaturesv2.32.4
requests v2.32.4 primarily fixes a security issue (CVE-2024-47081) related to netrc credential lookup using a maliciously crafted URL and trusted environment. The code changes focus on netrc hostname resolution and include additional behavioral adjustments around request body length calculation depending on urllib3 major version. Release notes also mention documentation improvements and CI/runtime support changes for PyPy 3.11.
SecurityFeaturesv2.32.3
v2.32.3 is a bugfix release focused on TLS handling in Requests. The code changes prevent failures on Python builds without the ssl module and adjust how default SSLContext is applied so HTTPAdapter subclasses can supply custom SSLContexts.
v2.32.2
Requests v2.32.2 focuses on a deprecation and migration path for custom HTTPAdapter subclasses related to prior TLS/CVE work. The main code change renames the internal connection hook used for TLS-aware urllib3 pool creation and updates the adapter sending path to use the new API.
v2.32.1
Release v2.32.1 is a small packaging-focused bugfix release. It updates the source distribution (sdist) contents so that test certificate files under tests/certs are included when publishing to PyPI.