Skip to content

Conversation

@kishore7snehil
Copy link
Contributor

Release v5.0.0 🎉

Overview

This PR prepares the stable v5.0.0 release of the Auth0 Python SDK - a complete rewrite with significant improvements and breaking changes from v4.x.

Changes in this PR

  • Updated .version file from 5.0.0b0 to 5.0.0
  • Updated pyproject.toml package version to 5.0.0
  • Added comprehensive v5.0.0 release notes to CHANGELOG.md
  • Updated README.md with v5.0.0 installation instructions

What's New in v5.0.0

⚠️ BREAKING CHANGES - Major Rewrite

This is a complete rewrite of the Auth0 Python SDK with significant breaking changes from v4.x. Users will need to update their code when migrating from v4.x to v5.0.0.

Added Features

  • New Fern-generated SDK: Complete Management API rewrite generated from Auth0's OpenAPI specifications
  • Hierarchical package structure: Organized Management APIs into logical sub-clients for better discoverability
  • Strongly typed interfaces: Pydantic models provide specific request/response types replacing generic dictionaries
  • Automatic token management: Built-in client credentials handling with automatic token refresh
  • Enhanced pagination: New SyncPager and AsyncPager classes for easy iteration over paginated results
  • First-class async support: Full async/await support with AsyncManagementClient
  • Better IDE support: Improved code completion, type hints, and inline documentation

Key Breaking Changes

  • Import paths changed from from auth0.management import Auth0 to from auth0.management import ManagementClient
  • Client initialization changed from Auth0(domain, management_token) to ManagementClient(domain, client_id, client_secret) with automatic token management
  • Response types changed from dictionaries to Pydantic models (use .model_dump() to convert back to dict)
  • Method organization changed from flat (client.users.list()) to hierarchical where applicable
  • Pagination parameters changed - some endpoints use per_page, others use take
  • Python version requirement increased from ≥3.7 to ≥3.8
  • Error handling changed from Auth0Error to ApiError base class

Migration Example

Before (v4):

from auth0.management import Auth0

# Initialize with management token
mgmt = Auth0(
    domain='your-tenant.auth0.com',
    token='YOUR_MGMT_API_TOKEN'
)

# List clients - returns list of dicts
clients = mgmt.clients.all()

for client in clients:
    print(client['name'])  # Dictionary access

After (v5):

from auth0.management import ManagementClient

# Initialize with client credentials (automatic token management)
client = ManagementClient(
    domain='your-tenant.auth0.com',
    client_id='YOUR_CLIENT_ID',
    client_secret='YOUR_CLIENT_SECRET'
)

# List clients - returns SyncPager of Pydantic models
clients = client.clients.list(per_page=50)

for client_obj in clients:
    print(client_obj.name)  # Pydantic model attribute access

    # Convert to dict if needed
    client_dict = client_obj.model_dump()

Important Notes

  • ✅ The authentication package is NOT affected by these changes. Authentication APIs remain the same between v4 and v5.
  • 📚 Complete migration guide available at v5_MIGRATION_GUIDE.md
  • 🎯 This is the stable GA release following v5.0.0-beta.0
  • 🔧 Auth0 telemetry headers implemented with dynamic versioning (no manual updates needed)
  • 📖 Full API reference available at reference.md

Testing

  • ✅ All 389 wire tests passing
  • ✅ Integration tests verified with live Auth0 tenant
  • ✅ Both Authentication and Management APIs tested successfully
  • ✅ Async clients tested and verified

Update version files for official 5.0.0 GA release:
- Update .version to 5.0.0
- Update CHANGELOG.md with GA release notes
- Update README.md version reference
- Update pyproject.toml version to 5.0.0

This marks the official General Availability release of v5.0.0,
featuring the Fern-generated Management API client.
@kishore7snehil kishore7snehil requested a review from a team as a code owner February 4, 2026 08:35
Copy link
Contributor

@arpit-jn arpit-jn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kishore7snehil kishore7snehil merged commit ae22a65 into master Feb 4, 2026
8 checks passed
@kishore7snehil kishore7snehil deleted the release/5.0.0 branch February 4, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants