Skip to content

Tags: auth0/auth0-python

Tags

5.0.0b0

Toggle 5.0.0b0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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
```

---

v5.0.0b0

Toggle v5.0.0b0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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
```

---

4.13.0

Toggle 4.13.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 4.13.0 (#745)

**Added**
- fix(backchannel): expose headers on `slow_down` errors (HTTP 429s)
[\#744](#744)
([pmalouin](https://github.com/pmalouin))

4.12.0

Toggle 4.12.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 4.12.0 (#733)

**Added**
- Updates for CIBA with email
[\#720](#720)
([adamjmcgrath](https://github.com/adamjmcgrath))

4.11.0

Toggle 4.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: add missing indentation for Python configuration step (#726)

### Changes

- Fix the `RL-Scanner `Workflow

4.10.0

Toggle 4.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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))

4.9.0

Toggle 4.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 4.9.0 (#683)

**Added**
- feat: Federated Connections Support
[\#682](#682)
([kishore7snehil](https://github.com/kishore7snehil))
- Adding Support For CIBA with RAR
[\#679](#679)
([kishore7snehil](https://github.com/kishore7snehil))

4.8.1

Toggle 4.8.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 4.8.1 (#676)

**Fixed**
- Fix: Unauthorized Access Error For PAR
[\#671](#671)
([kishore7snehil](https://github.com/kishore7snehil))

4.8.0

Toggle 4.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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))

4.7.2

Toggle 4.7.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 4.7.2 (#632)

**Security**
- Update cryptography requirements.txt
[\#630](#630)
([duedares-rvj](https://github.com/duedares-rvj))