Repository navigation
v2.9.0
Apache jclouds 2.9.0 Release Notes
Release Date: 2026-01-16
This release introduces comprehensive Azure ambient credentials support and a new Azure Databases provider, bringing Azure cloud services to feature parity with AWS in terms of modern authentication patterns.
✨ New Features
Azure Ambient Credentials Support
Native integration with Azure Identity default credential chain, enabling seamless authentication using Managed Identity, Azure CLI, and other ambient credential sources without hardcoded secrets.
Key capabilities:
- New
common/azuremodule withAzureCredentialsProviderfor centralized credential resolution SessionCredentialsdomain class for handling Azure access tokens with expiration tracking- Supports the full Azure Identity credential chain: environment variables, Managed Identity, Azure CLI, Azure PowerShell, IDE integrations (VS Code, IntelliJ)
- Debug logging via system property (
-Djclouds.azure.credentials.debug=true) - Fully backward compatible; Azure Identity dependency is optional (same pattern as AWS SDK)
Documentation: common/azure/README.md
Azure Databases Provider
New dedicated provider for Azure PostgreSQL and MySQL with support for both traditional password and passwordless Entra ID authentication.
Key capabilities:
- Dual authentication modes: static password and passwordless Entra ID (formerly Azure AD)
- Workload Identity support for Kubernetes deployments with Azure AD integration
- On-demand token generation using ambient Azure credentials
- Built on the DataSource abstraction introduced in v2.8.0
- Comprehensive integration tests for Azure database authentication
Documentation: providers/azuredatabases/README.md
Enhanced Azure Blob Provider
Updated to leverage the new common/azure module for ambient credential support with automatic Managed Identity integration on Azure VMs, App Service, and AKS.
DataSource Abstraction Enhancements
Extended the DataSource API with pluggable authentication token generation.
Key capabilities:
- New
DbAuthTokenGeneratorinterface for pluggable database authentication - Unified pattern for passwordless database authentication across cloud providers (AWS IAM, Azure Entra ID)
- Refactored AWS RDS provider to use the common interface for better code reuse
📚 Documentation
- Enhanced Contributor Guide: Comprehensive development workflow documentation in CONTRIBUTING.md
- Updated README: Azure ambient credentials section with usage examples
🔧 Build & CI Improvements
- Improved CI Logging: Clearer messaging in
publish-snapshotjob for release preparation commits - Release Guidance: Helpful instructions when snapshot deployment is skipped, guiding users to push a tag to complete the release
📦 Dependency Updates
New Optional Dependencies
- Azure Identity SDK (optional, runtime-detected):
com.azure:azure-identity- Azure credential resolution- Note: Optional dependencies are NOT transitively imposed—add to your application if using ambient credentials
- See common/azure/README.md for usage details
🔄 Breaking Changes
None
This release maintains full backward compatibility with 2.8.x. All new features are opt-in:
- Azure Identity integration only activates when dependencies are present
- Azure Databases provider is a new module, doesn't affect existing code
- DataSource enhancements are backward compatible
📋 Migration Guide
Upgrading from 2.8.x
Update your dependency version to 2.9.0:
<dependency>
<groupId>org.apache.jclouds.provider</groupId>
<artifactId>azureblob</artifactId>
<version>2.9.0</version>
</dependency>Optional features:
- Azure Ambient Credentials: See common/azure/README.md for Azure Identity SDK dependency setup and usage.
- Azure Databases Provider: See providers/azuredatabases/README.md for passwordless database authentication
🔗 Links
- Repository: github.com/stephaneberle9/jclouds
- Artifacts: artifacts.itemis.cloud
- Documentation: See module READMEs and CLAUDE.md
- Upstream: Apache jclouds jclouds.apache.org
Full Changelog: v2.8.0...v2.9.0
👏 Contributors
This release includes contributions from:
- Patrick Chudalla (@PatrickChudalla)
- Stephan Eberle (@stephaneberle9)
Special thanks to the Apache jclouds community for the foundational work this fork builds upon.
📄 License
Copyright (C) 2009-2025 The Apache Software Foundation and itemis
Licensed under the Apache License, Version 2.0