All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
AuthenticationContextbase protocol now includes optionalnonce,max_age,audience, andresourceproperties, available across all authentication flows.StandardAuthenticationContextconcrete implementation for non-redirect flows (ResourceOwnerFlow,JWTBearerFlow,RefreshTokenFlow).AuthorizationCodeContextgainsaudience(str | None) andresource(str | Sequence[str] | None) fields, contributed to the token request per RFC 8707.TokenExchangeContextgainsnonce,max_age,audience, andresourcefields from the base context.CrossAppAccessFlow.start()now accepts an optionalresourceparameter (RFC 8707), forwarded to the token exchange alongsideaudienceandscope.
IDTokenValidatorContextis deprecated;AuthenticationContextnow subsumes its role for ID token validation.OAuth2Errornow exposes anadditional_fieldsmapping containing any non-standard keys returned in the error response body, so server-specific remediation hints are no longer discarded.OAuth2Error.from_response()classmethod builds an error from a parsed OAuth2 error response body, mapping standard RFC 6749 fields to their attributes and collecting the rest intoadditional_fields.
- Class-level
default_networkonOAuth2Client(get_default_network/set_default_network) to set a global defaultNetworkInterfacefor all new client instances, with thread-safe access. DefaultNetworkInterfacenow accepts an optionalproxyparameter to route outgoing requests through an HTTP/HTTPS proxy.
- Initial SDK release with core networking, OAuth 2.0 / OpenID Connect support.
- Authentication flows: Resource Owner, Authorization Code (with PKCE & PAR), JWT Bearer, Token Exchange, Device Authorization, Refresh Token.
- Cross-App Authorization flow for AI agent use cases.
- Browser-based sign-in integration via
browser_signinmodule. - Token lifecycle management with credential storage.
- JWT creation, parsing, and validation (JWK / JWKS).
- OpenID Connect discovery and configuration caching.
- Listener-based extensibility for API clients, OAuth2 clients, and authentication flows.
pyproject.toml-based packaging with PEP 561py.typedmarker.