Tags: auth0/auth0-python
Tags
Release 5.0.0b0 (#766) # Auth0 Python SDK v5.0.0b0⚠️ **BREAKING CHANGES - Major Rewrite** This is a beta release of the upcoming major version. It introduces breaking changes, particularly in the Management API client. Please refer to the [v5 Migration Guide](https://github.com/auth0/auth0-python/blob/v5/v5_MIGRATION_GUIDE.md) for detailed upgrade instructions. --- ## ✍️ What's New - ✨ **OpenAPI-Generated**: Complete rewrite generated from Auth0's OpenAPI specifications using [Fern](https://buildwithfern.com) - 📦 **Better Organization**: Hierarchical package structure with logical sub-clients for improved discoverability - 🔒 **Type Safety**: Strongly typed request/response objects using Pydantic replace generic dictionaries - ✨ **Enhanced Developer Experience**: Better IntelliSense, code completion, and documentation - 🚀 **Future-Proof**: Easier maintenance and updates as Auth0's API evolves - ⚡ **Async Support**: First-class async client with `AsyncAuth0` and `AsyncManagementClient` - 📄 **Automatic Pagination**: Built-in pagination support with `include_totals=True` by default --- ## 💥 Breaking Changes ### Python Version Support - The SDK now requires **Python ≥3.8** - Support for Python 3.7 has been dropped ### Management API Client Redesign - The Management API client has been **fully restructured** using Fern for code generation - Methods are now organized into **modular sub-clients**, improving structure and maintainability - **Method names and signatures have changed**, adopting consistent and predictable naming conventions - **Pagination defaults changed**: `include_totals=True` is now the default for list operations - These changes are **not backward compatible** with the v4.x client ### Import Changes | Change | v4.x | v5.0.0 | |--------|------|--------| | **Management Client** | `from auth0.management import Auth0` | `from auth0.management import Auth0` or `ManagementClient` | | **Async Client** | Not available | `from auth0.management import AsyncAuth0` or `AsyncManagementClient` | | **Error Handling** | `from auth0.exceptions import Auth0Error` | `from auth0.management.core.api_error import ApiError` | | **Authentication** | `from auth0.authentication import GetToken` | `from auth0.authentication import GetToken` (unchanged) | --- ## 📝 Quick Migration Example ### Before (v4.x): ```python from auth0.management import Auth0 # Initialize with full base URL mgmt_api = Auth0( domain='YOUR_DOMAIN.auth0.com', token='YOUR_TOKEN' ) # List users with explicit pagination users = mgmt_api.users.list( page=0, per_page=50, include_totals=True # Must specify explicitly ) # Generic dictionary responses for user in users['users']: print(user['email']) ``` ### After (v5.0.0): ```python from auth0.management import ManagementClient # Simpler initialization - just domain client = ManagementClient( domain='YOUR_DOMAIN.auth0.com', token='YOUR_TOKEN' ) # Or with automatic token management client = ManagementClient( domain='YOUR_DOMAIN.auth0.com', client_id='YOUR_CLIENT_ID', client_secret='YOUR_CLIENT_SECRET' ) # Pagination with include_totals=True by default response = client.users.list( page=0, per_page=50 ) # Strongly-typed Pydantic models for user in response.users: print(user.email) # Type-safe attribute access ``` --- ## 🔧 Migration Steps 1. **Update imports**: Change import paths as shown in the table above 2. **Client initialization**: Use `ManagementClient` with just `domain` instead of full `base_url` 3. **Update method calls**: Review method signatures - many have changed for consistency 4. **Handle responses**: Access response data as attributes (Pydantic models) instead of dictionary keys 5. **Error handling**: Catch `ApiError` instead of `Auth0Error` for Management API errors 6. **Pagination**: `include_totals` now defaults to `True` - adjust if you relied on `False` 7. **Async support**: Use `AsyncManagementClient` or `AsyncAuth0` for async operations --- ## ✅ What's NOT Affected **The `authentication` package remains fully compatible!** All authentication APIs work the same way between v4.x and v5.0.0: - ✅ `GetToken` - Client credentials, authorization code flows - ✅ `Database` - User signup and authentication - ✅ `Passwordless` - Passwordless authentication - ✅ `Users` - User authentication operations - ✅ Token verification and validation --- ## 📚 Resources - **[Migration Guide](https://github.com/auth0/auth0-python/blob/v5/v5_MIGRATION_GUIDE.md)**: Detailed migration instructions - **[API Reference](https://github.com/auth0/auth0-python/blob/v5/reference.md)**: Complete API documentation - **[README](https://github.com/auth0/auth0-python/blob/v5/README.md)**: Updated examples and usage guide --- ##⚠️ Beta Release This is a beta release. While core functionality is stable, minor API adjustments may occur before the final v5.0.0 release. Please test thoroughly and provide feedback! --- ## 📦 Installation ```bash pip install auth0-python==5.0.0b0 ``` Or add to your [requirements.txt](cci:7://file:///Users/snehil.kishore/Desktop/Python/auth0-python/requirements.txt:0:0-0:0): ``` auth0-python>=5.0.0b0,<6.0.0 ``` ---
Release 5.0.0b0 (#766) # Auth0 Python SDK v5.0.0b0⚠️ **BREAKING CHANGES - Major Rewrite** This is a beta release of the upcoming major version. It introduces breaking changes, particularly in the Management API client. Please refer to the [v5 Migration Guide](https://github.com/auth0/auth0-python/blob/v5/v5_MIGRATION_GUIDE.md) for detailed upgrade instructions. --- ## ✍️ What's New - ✨ **OpenAPI-Generated**: Complete rewrite generated from Auth0's OpenAPI specifications using [Fern](https://buildwithfern.com) - 📦 **Better Organization**: Hierarchical package structure with logical sub-clients for improved discoverability - 🔒 **Type Safety**: Strongly typed request/response objects using Pydantic replace generic dictionaries - ✨ **Enhanced Developer Experience**: Better IntelliSense, code completion, and documentation - 🚀 **Future-Proof**: Easier maintenance and updates as Auth0's API evolves - ⚡ **Async Support**: First-class async client with `AsyncAuth0` and `AsyncManagementClient` - 📄 **Automatic Pagination**: Built-in pagination support with `include_totals=True` by default --- ## 💥 Breaking Changes ### Python Version Support - The SDK now requires **Python ≥3.8** - Support for Python 3.7 has been dropped ### Management API Client Redesign - The Management API client has been **fully restructured** using Fern for code generation - Methods are now organized into **modular sub-clients**, improving structure and maintainability - **Method names and signatures have changed**, adopting consistent and predictable naming conventions - **Pagination defaults changed**: `include_totals=True` is now the default for list operations - These changes are **not backward compatible** with the v4.x client ### Import Changes | Change | v4.x | v5.0.0 | |--------|------|--------| | **Management Client** | `from auth0.management import Auth0` | `from auth0.management import Auth0` or `ManagementClient` | | **Async Client** | Not available | `from auth0.management import AsyncAuth0` or `AsyncManagementClient` | | **Error Handling** | `from auth0.exceptions import Auth0Error` | `from auth0.management.core.api_error import ApiError` | | **Authentication** | `from auth0.authentication import GetToken` | `from auth0.authentication import GetToken` (unchanged) | --- ## 📝 Quick Migration Example ### Before (v4.x): ```python from auth0.management import Auth0 # Initialize with full base URL mgmt_api = Auth0( domain='YOUR_DOMAIN.auth0.com', token='YOUR_TOKEN' ) # List users with explicit pagination users = mgmt_api.users.list( page=0, per_page=50, include_totals=True # Must specify explicitly ) # Generic dictionary responses for user in users['users']: print(user['email']) ``` ### After (v5.0.0): ```python from auth0.management import ManagementClient # Simpler initialization - just domain client = ManagementClient( domain='YOUR_DOMAIN.auth0.com', token='YOUR_TOKEN' ) # Or with automatic token management client = ManagementClient( domain='YOUR_DOMAIN.auth0.com', client_id='YOUR_CLIENT_ID', client_secret='YOUR_CLIENT_SECRET' ) # Pagination with include_totals=True by default response = client.users.list( page=0, per_page=50 ) # Strongly-typed Pydantic models for user in response.users: print(user.email) # Type-safe attribute access ``` --- ## 🔧 Migration Steps 1. **Update imports**: Change import paths as shown in the table above 2. **Client initialization**: Use `ManagementClient` with just `domain` instead of full `base_url` 3. **Update method calls**: Review method signatures - many have changed for consistency 4. **Handle responses**: Access response data as attributes (Pydantic models) instead of dictionary keys 5. **Error handling**: Catch `ApiError` instead of `Auth0Error` for Management API errors 6. **Pagination**: `include_totals` now defaults to `True` - adjust if you relied on `False` 7. **Async support**: Use `AsyncManagementClient` or `AsyncAuth0` for async operations --- ## ✅ What's NOT Affected **The `authentication` package remains fully compatible!** All authentication APIs work the same way between v4.x and v5.0.0: - ✅ `GetToken` - Client credentials, authorization code flows - ✅ `Database` - User signup and authentication - ✅ `Passwordless` - Passwordless authentication - ✅ `Users` - User authentication operations - ✅ Token verification and validation --- ## 📚 Resources - **[Migration Guide](https://github.com/auth0/auth0-python/blob/v5/v5_MIGRATION_GUIDE.md)**: Detailed migration instructions - **[API Reference](https://github.com/auth0/auth0-python/blob/v5/reference.md)**: Complete API documentation - **[README](https://github.com/auth0/auth0-python/blob/v5/README.md)**: Updated examples and usage guide --- ##⚠️ Beta Release This is a beta release. While core functionality is stable, minor API adjustments may occur before the final v5.0.0 release. Please test thoroughly and provide feedback! --- ## 📦 Installation ```bash pip install auth0-python==5.0.0b0 ``` Or add to your [requirements.txt](cci:7://file:///Users/snehil.kishore/Desktop/Python/auth0-python/requirements.txt:0:0-0:0): ``` auth0-python>=5.0.0b0,<6.0.0 ``` ---
Release 4.10.0 (#702) **Added** - chore: merge community PRs – bugfixes, features, and dependency upgrades [\#696](#696) ([kishore7snehil](https://github.com/kishore7snehil)) **Fixed** - fix: handle `authorization_details` in back_channel_login [\#695](#695) ([kishore7snehil](https://github.com/kishore7snehil))
Release 4.8.0 (#661) **Added** - Adding Support For RAR and JAR Requests [\#659](#659) ([kishore7snehil](https://github.com/kishore7snehil)) - Adding Support For Back Channel Login [\#643](#643) ([kishore7snehil](https://github.com/kishore7snehil)) **Fixed** - Consolidated Community PRs and Dependency Upgrades [\#660](#660) ([kishore7snehil](https://github.com/kishore7snehil)) - Updating Dependancies And Workflow Action Versions [\#653](#653) ([kishore7snehil](https://github.com/kishore7snehil)) - Fixing the Github Workflow Issues [\#644](#644) ([kishore7snehil](https://github.com/kishore7snehil))
PreviousNext