NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3741 most downloaded on PyPI
An OAuth2.x client based on `requests`.
Last release 9 months ago
22 Dec 2025
Release timing varies
gaps range from 1 weeks to 11 months
Some releases are documented
notes for 10 of 31 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
32 releases · first in 2020
One column per quarter.
Refactor and enhance Serializers by @guillp in https://github.com/guillp/requests_oauth2client/pull/196
client_id body param in Pushed Authorization Requests by @haakontk in https://github.com/guillp/requests_oauth2client/pull/220Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.7.0...v1.8.0
Support for DPoP by @guillp in https://github.com/guillp/requests_oauth2client/pull/75
testing=True, as discussed in #55 by @guillp in https://github.com/guillp/requests_oauth2client/pull/74cookies and headers parameters to ApiClient.__init__() by @guillp in https://github.com/guillp/requests_oauth2client/pull/110Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.6.0...v1.7.0
This release mostly focuses on polishing and does not introduce any major feature. It comes with quite a few potentially breaking changes. Next step w…
This release mostly focuses on polishing and does not introduce any major feature. It comes with quite a few potentially breaking changes. Next step will be to add support for DPoP.
BearerAuth class. You can use a BearerToken directly as replacement.bearer_token_class to OAuth2Client is renamed to token_class, if a custom token class is used.url in ApiClient methods is now renamed to `path, since it only accepts a relative path. It was not meant to be used as kwargs anyway and is the 1st positional parameter, so chances are that it will not require any code change.TokenEndpointPoolingJob has been renamed to BaseTokenEndpointPoolingJob.ClientAssertionAuthenticationMethod has been renamed to BaseClientAssertionAuthenticationMethod.MismatchingAcr to MismatchingIdTokenAcrMismatchingAudience to MismatchingIdTokenAudienceMismatchingAzp to MismatchingIdTokenAzpMismatchingIssuer to MismatchingIdTokenIssuerMismatchingNonce to MismatchingIdTokenNonceattrs.frozen classes. This should not change their behaviors, but their attributes cannot be modified after creation anymore (which was unsupported anyway).GrantType enum to GrantTypesPkceUtils.code_verifier_re to code_verifier_patternexpires_at is now rounded down to the exact second (with 0 microseconds)expires_in is now rounded up to the next secondBearerToken, for #70Endpoints, ResponseTypes and CodeChallengeMethods enumsBearerToken.validate_id_token() now accepts a leeway for the expiration date and the auth_time validationFull Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.5.3...v1.6.0
fix for #57 by @guillp in https://github.com/guillp/requests_oauth2client/pull/58
Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.5.2...v1.5.3
deps update by @guillp in https://github.com/guillp/requests_oauth2client/pull/53
Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.5.1...v1.5.2
add missing attrs dep, fixing #50 by @guillp in https://github.com/guillp/requests_oauth2client/pull/51
attrs dep, fixing #50 by @guillp in https://github.com/guillp/requests_oauth2client/pull/51Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.5.0...v1.5.1
a lot of code refactoring, using attrs.frozen classes @guillp in https://github.com/guillp/requests_oauth2client/pull/41
attrs.frozen classes @guillp in https://github.com/guillp/requests_oauth2client/pull/41expires_in field as str, update tests (fixes #26) by @gerarar in https://github.com/guillp/requests_oauth2client/pull/27Accept: application/json header on all backend requests (#28) by @guillp in https://github.com/guillp/requests_oauth2client/pull/30jwks_uri validation in OAuth2 client (Fixes #34) by @mtr in https://github.com/guillp/requests_oauth2client/pull/35ApiClient.auth to access the currently configured Auth Scheme for or an ApiClient by @guillp in https://github.com/guillp/requests_oauth2client/pull/38testing=True to disable those checks (might be useful for debugging an AS).ApiClient now requires a root url and will never send requests outside of this root urlFull Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.3.0...v1.5.0
Fix token expiration leeway which was reversed (fixes #22) by @amacleay-cohere in https://github.com/guillp/requests_oauth2client/pull/23
pytest-freezer by @guillp in https://github.com/guillp/requests_oauth2client/pull/21OAuth2ResourceOwnerPasswordAuth for #19 by @guillp in https://github.com/guillp/requests_oauth2client/pull/24pyupgrade and various housekeeping changes by @guillp in https://github.com/guillp/requests_oauth2client/pull/25Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.2.0...v1.3.0
Improved support for the Authorization Code flow and OIDC ID Token validation
Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.1.0...v1.2.0
V1.1 by @guillp in https://github.com/guillp/requests_oauth2client/pull/7
Full Changelog: https://github.com/guillp/requests_oauth2client/compare/v1.0.1...v1.1.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →