-
Notifications
You must be signed in to change notification settings - Fork 186
Comparing changes
Open a pull request
base repository: auth0/auth0-python
base: 5.1.0
head repository: auth0/auth0-python
compare: master
- 18 commits
- 1,174 files changed
- 7 contributors
Commits on Mar 17, 2026
-
feat+fix: Pagination fix, SDK logging, OAuth1/DPoP types (#785)
## Summary This Fern regeneration includes several significant changes across 61 files: ### Bug Fix: Pagination (Fixes #783) - Fixed incorrect page advancement in **64 paginated endpoints** across all `raw_client.py` files - **Before (broken):** `page = page + len(_items or [])` — skipped pages when `per_page > 1` - **After (fixed):** `page = page + 1` - correctly advances one page at a time ### New Feature: SDK Logging Infrastructure - Added configurable logging via new `logging` parameter on the `Auth0` client - New `core/logging.py` module with `ConsoleLogger`, `Logger`, `LogConfig`, and `ILogger` protocol - Supports log levels: `debug`, `info`, `warn`, `error` with a `silent` mode (default) - HTTP request/response logging at debug level with method, URL, status code - Sensitive header redaction (`Authorization`, `Cookie`, `X-Api-Key`, etc.) in log output - Custom logger support via `ILogger` protocol ### New Types: OAuth1 & DPoP Connection Support - 10 new connection type files for OAuth1 connections (`connection_access_token_url_oauth1`, `connection_client_id_oauth1`, `connection_scripts_oauth1`, etc.) - DPoP signing algorithm types (`connection_dpop_signing_alg_enum`, `connection_dpop_signing_alg_values_supported`) - OIDC metadata types (`connection_options_oidc_metadata`, `connection_options_common_oidc`) - New `client_token_exchange_type_enum` and `resource_server_proof_of_possession_required_for_enum` ### Other Changes - Self-service profiles: updated response types (`create`, `get`, `update`) and `self_service_profile` model - Removed `core/custom_pagination.py` (replaced by standard pagination) - Updated `reference.md` and test configuration (`conftest.py`) ### Manual Fixes (on top of Fern regeneration) - Fixed `client_wrapper.py` to accept and forward the `logging` parameter to `HttpClient`/`AsyncHttpClient` (was missing, causing `TypeError` at runtime) - Added `ManagementClient` and `AsyncManagementClient` to `TYPE_CHECKING` and `__all__` exports in `__init__.py` (Fixes #793) ## Breaking Changes - `custom_pagination.py` has been removed — any code importing from it will need to update ## Test Plan - [x] Pagination: Created 5 roles, paginated with `per_page=2`, verified 3 pages returned with all 5 roles - [x] Logging: Verified debug logging captures HTTP method/URL/status, header redaction works, level filtering suppresses lower levels, silent mode produces zero output - [x] Existing tests (auth, management, Issue #778) continue to pass --------- Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com> Co-authored-by: Snehil Kishore <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e506d73 - Browse repository at this point
Copy the full SHA e506d73View commit details
Commits on Mar 30, 2026
-
feat: Add client_info support for custom telemetry in Authentication …
…and Management clients (#802) ### Changes - Add optional `client_info` dict param to `RestClientOptions` to override the default telemetry payload - Use provided `client_info` as the `Auth0-Client` header value in `RestClient` when telemetry is enabled - Thread `client_info` param through `AuthenticationBase` constructor to `RestClientOptions` - Add `client_info` param to `ManagementClient` - encodes and merges into headers dict - Add `client_info` param to `AsyncManagementClient` with identical behavior - `telemetry=False` still takes precedence and suppresses all telemetry headers - `User-Agent` header remains `Python/{version}` regardless of `client_info` - No changes to any Fern-generated files (`client.py`, `client_wrapper.py`, `http_client.py`) ### Usage ```python # Authentication from auth0.authentication import GetToken client = GetToken( "tenant.auth0.com", client_id="YOUR_CLIENT_ID", client_info={"name": "auth0-ai-langchain", "version": "1.0.0", "env": {"python": "3.11.0"}}, ) # Management from auth0.management import ManagementClient client = ManagementClient( domain="tenant.auth0.com", token="YOUR_TOKEN", client_info={"name": "auth0-ai-langchain", "version": "1.0.0", "env": {"python": "3.11.0"}}, ) ```
Configuration menu - View commit details
-
Copy full SHA for 10c6a76 - Browse repository at this point
Copy the full SHA 10c6a76View commit details -
feat: Add default domain endpoints, connection key provisioning, tena…
…nt SCIM listing; remove MiiCard/Renren providers (#801) ### Changes #### New API Endpoints - Add `custom_domains.get_default()`- retrieve the tenant's default domain (`GET /custom-domains/default`) - Add `custom_domains.set_default(domain)` - set the default custom domain for the tenant (`PATCH /custom-domains/default`) - Add `connections.keys.create(id, request)` - provision initial connection keys for Okta/OIDC strategies enabling zero-downtime Private Key JWT transitions (`POST /connections/{id}/keys`) - Add `connections.scim_configuration.list(from_, take)` - retrieve paginated list of all SCIM configurations at the tenant level (`GET /connections-scim-configurations`) #### Updated Endpoints **Client Grants** - `client_grants.create()` -`client_id` is now optional; `audience` is the first required parameter (signature reorder) **LinkedIn Connections** - Restructure `ConnectionOptionsLinkedin`- base class changed from `ConnectionOptionsOAuth2Common` to `ConnectionOptionsCommon` - Add new LinkedIn-specific types: `ConnectionClientIdLinkedin`, `ConnectionClientSecretLinkedin`, `ConnectionFreeformScopesLinkedin`, `ConnectionScopeLinkedin` - Add `full_profile`, `network`, `openid` boolean fields to LinkedIn options **Documentation Improvements** - Update Lucene query syntax links from HTTP to HTTPS across Users and Custom Domains endpoints - Add parameter descriptions for `oidc_backchannel_logout`, `jwt_configuration`, `encryption_key`, `mobile` on Clients endpoints - Improve `user_metadata` / `app_metadata` descriptions on Users endpoints #### Removed Types (Legacy Providers) - Remove MiiCard connection support - `ConnectionOptionsMiicard`, `ConnectionResponseContentMiicard`, `CreateConnectionRequestContentMiicard` and related types - Remove Renren connection support - `ConnectionOptionsRenren`, `ConnectionResponseContentRenren`, `CreateConnectionRequestContentRenren` and related types - Remove `ConnectionDpopSigningAlgEnum` (deprecated) #### New Types - Add default domain response types: `GetDefaultCanonicalDomainResponseContent`, `GetDefaultCustomDomainResponseContent`, `GetDefaultDomainResponseContent`, `UpdateDefaultDomainResponseContent` - Add connection keys types: `PostConnectionKeysAlgEnum`, `PostConnectionKeysRequestContent`, `PostConnectionsKeysResponseContent`, `PostConnectionsKeysResponseContentItem` - Add `ListScimConfigurationsResponseContent`, `ScimConfiguration` for tenant-level SCIM listing - Add `SynchronizeGroupsEnum`, `SynchronizeGroupsEaEnum` for group synchronization - Add `ConnectionApiEnableGroups`, `ConnectionApiEnableGroupsGoogleApps` for group enablement ### Testing - 559 tests pass (1 skipped), 0 failures across the full test suite - 4 new wire tests added: `test_customDomains_get_default`, `test_customDomains_set_default`, `test_connections_keys_create`, `test_connections_scimConfiguration_list_` Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com> Co-authored-by: Snehil Kishore <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a89b4ee - Browse repository at this point
Copy the full SHA a89b4eeView commit details -
chore: Update ruff, aiohttp, cryptography, urllib3, codecov-action; d…
…rop Python 3.8; replace Snyk with SCA scan (#808) ## Changes ### Python 3.8 Support Dropped Python 3.8 reached end-of-life in October 2024. Several security-patched dependency versions (`aiohttp`, `cryptography`, `urllib3`) require Python >=3.9, making it impossible to keep 3.8 support while applying security fixes. The previous minimum (`>=3.8`) allowed installation on Python versions that can only resolve to **vulnerable** dependency versions. - Changed `python` from `^3.8` to `>=3.9.2,<4.0` (3.9.0 and 3.9.1 are excluded by `cryptography` due to known bugs in those patch releases) - Removed `Programming Language :: Python :: 3.8` classifier from `pyproject.toml` - Updated `README.md`, `v5_MIGRATION_GUIDE.md`, and `github_discussion_v5_announcement.md` to reflect Python >=3.9 ### Dependency Updates #### Python Dependencies - From Dependabot PRs - Bump `ruff` from `0.11.5` to `0.15.8` ([#806](#806)) - Bump `responses` upper bound from `<0.26.0` to `<0.28.0` ([#786](#786)) #### Python Dependencies - From Security Review - Update `aiohttp` from `>=3.10.11` to `>=3.11.18` - fixes multiple CVEs; previous minimum resolved to versions with known vulnerabilities on Python 3.8 - Update `cryptography` from `>=43.0.1` to `>=44.0.0` - fixes known vulnerabilities in older versions - Update `urllib3` from `>=2.2.3` to `>=2.3.0` - fixes known vulnerabilities; requires Python >=3.9 #### GitHub Actions - Bump `codecov/codecov-action` from `5.5.1` to `6.0.0` (SHA pin updated) ([#805](#805)) #### CI Workflow Changes - Added `sca_scan.yml` - new SCA scan using `auth0/devsecops-tooling` reusable workflow with `requirements.txt` - Removed `snyk.yml` - replaced by the new `sca_scan.yml` reusable workflow - Removed `docs.yml` - documentation build workflow removed - Added `.claude/` to `.gitignore`
Configuration menu - View commit details
-
Copy full SHA for 7a2b8a2 - Browse repository at this point
Copy the full SHA 7a2b8a2View commit details -
**
⚠️ Breaking: Python 3.8 support dropped** - Python 3.8 reached end-of-life in October 2024. This release requires **Python >=3.9.2**. Users on Python 3.8 should remain on v5.1.0 until they upgrade their Python version. [\#808](#808) **Added** - feat: Add default domain endpoints, connection key provisioning, tenant SCIM listing; remove MiiCard/Renren providers [\#801](#801) ([fern-api[bot]](https://github.com/apps/fern-api)) - feat: Add client_info support for custom telemetry in Authentication and Management clients [\#802](#802) ([kishore7snehil](https://github.com/kishore7snehil)) - feat: Add SDK logging infrastructure with configurable log levels and header redaction [\#785](#785) ([fern-api[bot]](https://github.com/apps/fern-api)) **Fixed** - fix: Pagination page advancement incorrectly skipping pages [\#785](#785) ([fern-api[bot]](https://github.com/apps/fern-api)) **Changed** - chore: Update ruff, aiohttp, cryptography, urllib3, codecov-action; replace Snyk with SCA scan [\#808](#808) ([kishore7snehil](https://github.com/kishore7snehil))Configuration menu - View commit details
-
Copy full SHA for 05ae030 - Browse repository at this point
Copy the full SHA 05ae030View commit details
Commits on Apr 9, 2026
-
feat:Add
Auth0-Custom-Domainheader support for Multiple Custom Dom……ains (MCD) (#799) Added support for the `Auth0-Custom-Domain` header to enable Multiple Custom Domains (MCD). ### Changes - Added `custom_domain` parameter to `ManagementClient` and `AsyncManagementClient` for setting the `Auth0-Custom-Domain` header globally - Added `CustomDomainHeader` helper for per-request header override via `request_options` - Implemented whitelist enforcement via httpx event hooks , header is only sent on 8 whitelisted endpoints, stripped on all others | Path | Description | |------|-------------| | `/api/v2/jobs/verification-email` | Verification email jobs | | `/api/v2/tickets/email-verification` | Email verification tickets | | `/api/v2/tickets/password-change` | Password change tickets | | `/api/v2/organizations/{id}/invitations` | Organization invitations | | `/api/v2/users` | Users (list/create) | | `/api/v2/users/{id}` | Users (get/update/delete) | | `/api/v2/guardian/enrollments/ticket` | Guardian enrollment tickets | | `/api/v2/self-service-profiles/{id}/sso-ticket` | SSO tickets | Enforcement is implemented via httpx request event hooks that strip the header on non-whitelisted paths before the request is sent. - Per-request `CustomDomainHeader` takes precedence over the global `custom_domain` when both are provided - Added 22 unit tests covering initialization, header merging, whitelist enforcement, and async support - Updated `README.md` with Custom Domains documentation ### Usage ```python from auth0.management import ManagementClient, CustomDomainHeader # Global — header sent on all whitelisted endpoints client = ManagementClient( domain="your-tenant.auth0.com", token="YOUR_TOKEN", custom_domain="login.mycompany.com", ) # Per-request override client.users.create( connection="Username-Password-Authentication", email="[email protected]", password="SecurePass123!", request_options=CustomDomainHeader("other.mycompany.com"), ) ``` ### References - Closes [#794](#794) ### Checklist - [x] All new/changed/fixed functionality is covered by tests - [x] I have added documentation for all new/changed functionality - [x] No Fern-generated files modified (all changes in `.fernignore`-listed files)
Configuration menu - View commit details
-
Copy full SHA for a10c4c6 - Browse repository at this point
Copy the full SHA a10c4c6View commit details -
feat: Add CIMD support, organization connections, group deletion, ref…
…resh token listing; remove AOL/Flickr/Yammer providers (#816) ## Summary Fern SDK regeneration with the following changes: ### New Endpoints & Clients - **Organizations Connections**- new sub-client with full CRUD (`list`, `create`, `get`, `update`, `delete`) for managing connections at the organization level - **Clients**- `preview_cimd_metadata()` and `register_cimd_client()` for Client ID Metadata Document (CIMD) support; `external_client_id` filter on `list()` - **Groups**- `delete(id)` endpoint - **Refresh Tokens** -`list(user_id, ...)` with checkpoint pagination support - **Resource Servers**- `allow_online_access` parameter on `create()` and `update()` ### Type Changes - **32 new types** added (CIMD validation, password policy options, organization connections, webhook auth headers, network ACL CIDR types) - **18 types removed**- legacy provider cleanup (AOL, Flickr, Yammer) - **72 types modified**- connection options, resource server fields, client metadata, enum updates ### Other Changes - **Network ACLs**: `priority` parameter changed from required to optional in `create()` / `update()` - **Connection Strategy Enum**: removed `aol`, `flickr`, `yammer` (along with `miicard`, `renren`, `thecity`, `thecity-sandbox`) Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ae22120 - Browse repository at this point
Copy the full SHA ae22120View commit details -
**Added** - feat: Add CIMD support, organization connections, group deletion, refresh token listing; remove AOL/Flickr/Yammer providers [\#816](#816) ([fern-api[bot]](https://github.com/apps/fern-api)) - feat:Add `Auth0-Custom-Domain` header support for Multiple Custom Domains (MCD) [\#799](#799) ([kishore7snehil](https://github.com/kishore7snehil))
Configuration menu - View commit details
-
Copy full SHA for de316f0 - Browse repository at this point
Copy the full SHA de316f0View commit details
Commits on Apr 29, 2026
-
[fern-replay] Initialize Replay for SDK customizations (#833)
## Replay Initialization This PR initializes [Fern Replay](https://buildwithfern.com) for this SDK repository. Replay automatically preserves your customizations across SDK regenerations. **Base generation commit:** `ae22120` Clean start — no historical patches imported. Future customizations will be tracked automatically. --- Once merged, your customizations will be automatically preserved on future `fern generate` runs. Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ffe61f6 - Browse repository at this point
Copy the full SHA ffe61f6View commit details
Commits on Apr 30, 2026
-
chore: Remove management/__init__.py from .fernignore (#834)
## Summary - Removes `src/auth0/management/__init__.py` from `.fernignore` so the Fern generator (5.8.4) can manage it directly - Generator version 5.8.4 includes the Replay fix for `__init__.py` handling ## Next steps After regeneration, a follow-up commit will restore custom wiring in `management/__init__.py`: - `TYPE_CHECKING` imports for `ManagementClient`, `AsyncManagementClient`, `CustomDomainHeader`, `TokenProvider`, `AsyncTokenProvider` - 5 `_dynamic_imports` entries for those classes - 3 `__all__` entries (`ManagementClient`, `AsyncManagementClient`, `CustomDomainHeader`) Replay will preserve these additions in future regenerations.
Configuration menu - View commit details
-
Copy full SHA for e8d99e5 - Browse repository at this point
Copy the full SHA e8d99e5View commit details
Commits on May 4, 2026
-
chore: Add events module, async token support, and connection retry r…
…esilience (#835) ### Changes This update adds new management API capabilities, improves HTTP client resilience, and enhances async client flexibility. 976 files changed across the management SDK, types, and wire tests. **New events management module** - Added `events` client with sync and async support (`src/auth0/management/events/`) - New wire tests for the events endpoint **HTTP client retry improvements** - Added `_retry_timeout_from_retries()` for connection-level retry backoff when no response is available - HTTP client now retries on `ConnectError` and `RemoteProtocolError` with exponential backoff - Configurable `base_max_retries` parameter on both sync and async HTTP clients - Fixed missing `data` and `force_multipart` parameters being forwarded on retry **Async client enhancements** - New `async_token` parameter on `AsyncAuth0` for async bearer token acquisition (e.g., refreshing tokens via an async HTTP client) - New `_make_default_async_client` helper for automatic aiohttp detection - Added `_default_clients.py` with `DefaultAioHttpClient` and `DefaultAsyncHttpxClient` classes **Type model updates** - 361 new type files for branding, clients, connections, and other management resources - 607 existing files modified across management clients, types, and core modules **Custom wiring** - Restored custom wiring in `management/__init__.py` for `ManagementClient`, `AsyncManagementClient`, `CustomDomainHeader`, `TokenProvider`, and `AsyncTokenProvider` ### References - Fern generator: `fernapi/fern-python-sdk: 5.8.4` ### Testing - [x] This change adds unit test coverage - [ ] This change adds integration test coverage - [x] This change has been tested on the latest version of the platform/language or why not Wire tests updated across 108 existing test files, and 2 new test files added (events module + aiohttp autodetect). ### Checklist - [x] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [x] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) - [x] All existing and new tests complete without errors --------- Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com> Co-authored-by: Kunal Dawar <[email protected]> Co-authored-by: Snehil Kishore <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dccf7ae - Browse repository at this point
Copy the full SHA dccf7aeView commit details -
chore: migrate RL scanner to shared devsecops-tooling action (#837)
Migrates the RL scanner from the repo-local workflow + composite action to the shared `auth0/devsecops-tooling/.github/actions/rl-scan@main` action. **Changes:** - Replace the old `rl-scanner.yml` reusable workflow and `.github/actions/rl-scanner` composite action with a single inline job using the shared action - Wire `publish-pypi` to depend on `rl-scanner` via `needs:` Related: auth0/auth0-api-python#89
Configuration menu - View commit details
-
Copy full SHA for 360322a - Browse repository at this point
Copy the full SHA 360322aView commit details -
fix: Add top-level
py.typedmarker to resolve IDE import errors (#829)## Changes - Adds a `py.typed` marker at the root package level (`src/auth0/py.typed`). The marker previously only existed under `src/auth0/management/`, causing IDEs like PyCharm to fall back to outdated [typeshed stubs](python/typeshed#14697) and report unresolved imports for `ManagementClient`, `ApiError`, and other classes. A root-level marker signals IDEs to use the package's own inline types instead. Closes #824 Related: #804, #793
Configuration menu - View commit details
-
Copy full SHA for f182694 - Browse repository at this point
Copy the full SHA f182694View commit details -
**Added** - chore: Add events module, async token support, and connection retry resilience [\#835](#835) ([fern-api[bot]](https://github.com/apps/fern-api)) **Changed** - [fern-replay] Initialize Replay for SDK customizations [\#833](#833) ([fern-api[bot]](https://github.com/apps/fern-api), [developerkunal](https://github.com/developerkunal)) **Fixed** - fix: Add top-level `py.typed` marker to resolve IDE import errors [\#829](#829) ([kishore7snehil](https://github.com/kishore7snehil))
Configuration menu - View commit details
-
Copy full SHA for 1026b4d - Browse repository at this point
Copy the full SHA 1026b4dView commit details
Commits on May 18, 2026
-
fix(.fern/replay.lock): re-anchor on reachable [fern-replay] init com…
…mit (#840) ## Why this PR exists `.fern/replay.lock` on master references the commit SHA `b61c6fa84f61d6c77d9f4ab0fa6c2bf512c8680d` in three fields: `current_generation`, the second entry in `generations[]`, and `patch-4894603d.base_generation`. That SHA exists on the abandoned bot branch `fern-bot/2026-05-01_07-46-04_377` but is **unreachable from `master`'s first-parent history**, because PR #836 ("SDK regeneration", merged 2026-05-01) was squash-merged — squash created a new merge commit `9398d1da…` on master and discarded the original bot-branch SHAs. The result is that every subsequent `fern generate` loads this lockfile, can't resolve `b61c6fa` from a master-only clone, falls into the deepest detection fallback path, and (until the engine fix linked below also lands) captures up to 200 pre-Fern commits as orphan patches — overflowing GitHub's 65,536-character PR body limit and failing PR creation outright. ## What this PR changes Three references on `.fern/replay.lock`, no other lines touched: \`\`\`diff - - commit_sha: b61c6fa - tree_hash: 063654d - timestamp: 2026-05-01T07:46:03.366Z - cli_version: unknown - generator_versions: - fernapi/fern-python-sdk: 5.9.1 - base_branch_head: 6e9c9a6 -current_generation: b61c6fa + - commit_sha: ffe61f6 + tree_hash: d03a986 + timestamp: 2026-04-29T20:01:22+05:30 + cli_version: unknown + generator_versions: {} + base_branch_head: de316f0 +current_generation: ffe61f6 \`\`\` \`\`\`diff - base_generation: b61c6fa + base_generation: ffe61f6 \`\`\` `ffe61f6a098cb25a875019a37f2615045b97344e` is the merge commit on master for PR #833 ("[fern-replay] Initialize Replay for SDK customizations"), authored by `fern-api[bot]`. Unlike `b61c6fa…`, it sits on master's first-parent history and is reachable from any clone of master. `patch_content` and the ~8,200-line `theirs_snapshot` (which contains the full intended content of `src/auth0/management/__init__.py`) are untouched — they're the safety net that lets the replay applicator reconstruct the customer-intended file content on the next regeneration even if the line-anchored diff's context has drifted against the new anchor's tree. ## Effect after merge - Next `fern generate` loads the lockfile, finds `current_generation: ffe61f6…` reachable from master - Replay uses its linear detection path (not the broken fallback) - The 5 customer commits since PR #833 get tracked normally with valid `base_generation` anchors - `patch-4894603d` reapplies, preserving the custom wiring in `src/auth0/management/__init__.py` - PR body well under GitHub's 65KB limit Co-authored-by: Tanmay Singh <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3b19ca9 - Browse repository at this point
Copy the full SHA 3b19ca9View commit details
Commits on May 19, 2026
-
chore: drop Python 3.9 support, add Python 3.13 (#843)
### Changes - Drop Python 3.9 from supported versions (EOL since October 2025) - Add Python 3.13 to the test matrix and classifiers - Bump minimum Python version to `>=3.10` in `pyproject.toml` - Update publish workflow to build on Python 3.10 - Unpin Poetry version constraint (Poetry 2.x requires Python 3.10+, which is now our minimum) This also fixes CI failures on PR #841 where `pipx install poetry` was pulling Poetry 2.x which crashes on Python 3.9 with `TypeError: dataclass() got an unexpected keyword argument 'slots'`. ### References - [Poetry 2.0 changelog](https://python-poetry.org/blog/announcing-poetry-2.0.0/) (requires Python 3.10+) - [Python 3.9 EOL](https://devguide.python.org/versions/) (end-of-life October 2025) ### Testing - CI matrix now runs on Python 3.10, 3.11, 3.12, 3.13 - No code changes to the library itself, only build/CI configuration - [ ] This change adds unit test coverage - [x] This change has been tested on the latest version of the platform/language or why not ### Checklist - [x] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [x] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) - [x] All existing and new tests complete without errors
Configuration menu - View commit details
-
Copy full SHA for 18f283e - Browse repository at this point
Copy the full SHA 18f283eView commit details
Commits on May 20, 2026
-
feat: add retry support, FedCM login types, and error schemas (#841)
### Changes - Added configurable `max_retries` parameter to `Auth0` and `AsyncAuth0` clients (defaults to 2 with exponential backoff) - New error types: `BadRequestSchema`, `ForbiddenSchema`, `UnauthorizedSchema`, `TooManyRequestsSchema` - New types: `FedCmLogin`, `FedCmLoginGoogle`, `CredentialDeviceTypeEnum` - Extended `user_authentication_method` and `resource_server` response types with additional fields - Updated connection types with additional validation fields - Expanded `clients`, `refresh_tokens`, `resource_servers`, `tickets`, and `users/authentication_methods` endpoint parameters ### Testing - Wire tests cover new and updated endpoints - CI matrix runs on Python 3.10, 3.11, 3.12, 3.13 - [ ] This change adds unit test coverage - [x] This change has been tested on the latest version of the platform/language or why not ### Checklist - [x] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [x] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) - [x] All existing and new tests complete without errors --------- Co-authored-by: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Co-authored-by: Fern Support <[email protected]> Co-authored-by: Tanmay Singh <[email protected]> Co-authored-by: Kunal Dawar <[email protected]> Co-authored-by: Kunal Dawar <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b05b561 - Browse repository at this point
Copy the full SHA b05b561View commit details -
**
⚠️ Breaking: Python 3.9 support dropped** - Python 3.9 reached end-of-life in October 2025. This release requires **Python >=3.10**. Users on Python 3.9 should remain on v5.4.0 until they upgrade their Python version. [\#843](#843) ([developerkunal](https://github.com/developerkunal)) **Added** - feat: configurable max_retries parameter to Auth0 and AsyncAuth0 clients (defaults to 2 with exponential backoff) [\#841](#841) ([fern-api[bot]](https://github.com/apps/fern-api)) - feat: New error types: BadRequestSchema, ForbiddenSchema, UnauthorizedSchema, TooManyRequestsSchema [\#841](#841) ([fern-api[bot]](https://github.com/apps/fern-api)) - feat: New types: FedCmLogin, FedCmLoginGoogle, CredentialDeviceTypeEnum [\#841](#841) ([fern-api[bot]](https://github.com/apps/fern-api)) - Extended user_authentication_method and resource_server response types with additional fields [\#841](#841) ([fern-api[bot]](https://github.com/apps/fern-api)) - Expanded clients, refresh_tokens, resource_servers, tickets, and users/authentication_methods endpoint parameters **Changed** - Updated connection types with additional validation fields [\#841](#841) ([fern-api[bot]](https://github.com/apps/fern-api))Configuration menu - View commit details
-
Copy full SHA for 5e2d073 - Browse repository at this point
Copy the full SHA 5e2d073View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 5.1.0...master