Skip to content

Release v6.0.0 - #782

Merged
kishore7snehil merged 3 commits into
masterfrom
release/v6.0.0
Aug 13, 2026
Merged

Release v6.0.0#782
kishore7snehil merged 3 commits into
masterfrom
release/v6.0.0

Conversation

@kishore7snehil

Copy link
Copy Markdown
Contributor

This is the first stable release of the v6 line. It introduces breaking changes to the Management API. Please consult the v6 Migration Guide for detailed upgrade instructions.

🚀 What's New

This release marks a major milestone for the Auth0 Ruby SDK. The Management API client has been completely rewritten using the Fern code generation tool, built directly from the Auth0 OpenAPI specification. This delivers complete, always-up-to-date API coverage with full type safety. The Authentication API is ported from v5 and maintains full feature parity.

✨ Highlights

  • 🏗️ Auto-generated Management API - Rebuilt from the Auth0 OpenAPI spec using Fern, ensuring complete endpoint coverage and consistency with the API
  • 🔒 Strongly-typed responses - No more raw hashes. Every response is a typed object with attribute readers
  • 📄 Built-in pagination - List methods return iterators that automatically fetch pages as you iterate with each
  • 🔑 Automatic token management - The unified Auth0::Client handles the OAuth 2.0 client credentials grant, token caching, and a new token_provider option for supplying tokens from an external source
  • Built-in retry - Automatic retries with exponential backoff for transient failures (408, 429, 5xx)
  • 🛡️ Exception-driven error handling - Non-2xx responses raise typed exceptions (Auth0::Errors::NotFoundError, etc.) instead of returning error hashes
  • 📦 Leaner gem - The published gem now ships only runtime files (bin/, test/, spec/, features/ are excluded), reducing package size and scanner false positives

🔄 What's Changed

The Management API has breaking changes:

Area v5 v6
Client Auth0Client.new(...) Auth0::Client.new(...) (alias Auth0Client retained)
Sub-client access client.users(per_page: 10) client.users.list(per_page: 10)
Get one client.user('auth0|123') client.users.get(id: 'auth0|123')
Sub-resources client.get_user_roles(user_id) client.users.roles.list(id:)
Params Positional args + option hashes Keyword arguments
Responses Raw hashes Typed objects (user.email)
Pagination Arrays `client.users.list.each {
Error handling Error hashes rescue Auth0::Errors::NotFoundError
API version api_version: 2 Removed (v2 only)
HTTP layer rest-client net/http (built-in)
Minimum Ruby >= 2.5 >= 3.3

The Authentication API is unchanged - code written against it in v5 works in v6 with no changes.

📦 Installation

gem install auth0

🔧 Quick Start

require 'auth0'

client = Auth0::Client.new(
  client_id: ENV['AUTH0_CLIENT_ID'],
  client_secret: ENV['AUTH0_CLIENT_SECRET'],
  domain: ENV['AUTH0_DOMAIN']
)

# List users with automatic pagination
client.users.list(per_page: 50).each do |user|
  puts user.email
end

# Create a role
role = client.roles.create(name: 'admin', description: 'Administrator role')

📚 Resources

@kishore7snehil
kishore7snehil requested a review from a team as a code owner August 13, 2026 07:43
@kishore7snehil kishore7snehil changed the title Release 6.0.0 Release v6.0.0 Aug 13, 2026
@kishore7snehil
kishore7snehil merged commit 39be3cf into master Aug 13, 2026
8 checks passed
@kishore7snehil
kishore7snehil deleted the release/v6.0.0 branch August 13, 2026 10:03
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