Skip to content

v2.9.0

Choose a tag to compare

@stephaneberle9 stephaneberle9 released this 16 Jan 18:30
· 11 commits to main since this release
ee7009c

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/azure module with AzureCredentialsProvider for centralized credential resolution
  • SessionCredentials domain 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 DbAuthTokenGenerator interface 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-snapshot job 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

Full Changelog: v2.8.0...v2.9.0


👏 Contributors

This release includes contributions from:

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