December 19th, 2025
compellingcelebrate2 reactions

Azure Developer CLI (azd) Dec 2025 – Extensions Enhancements, Foundry Rebranding, and Azure Pipelines Improvements

Welcome to the December 2025 edition of the Azure Developer CLI (azd) release blog—our final release of the year! This post covers releases 1.22.0 through 1.22.5, wrapping up 2025. To share your feedback and questions, join the December release discussion on GitHub.

Highlights:

  • Enhanced extension capabilities with custom configuration and interactive mode support
  • Improved provisioning progress display and error handling
  • Multiple bug fixes for Container Apps, Azure Pipelines, and deployment workflows
  • Better support for Terraform and Static Web Apps

New features

🔌 Extension Framework Enhancements

If you’re new to azd extensions, they’re modular additions that extend azd functionality beyond built-in commands. Extensions are plugins that introduce new CLI commands, allowing you to tailor azd to specific needs and scenarios. With extensions, you can add new capabilities, automate repetitive tasks, and integrate Azure services or third-party tools directly from the CLI. For more details, check out our introduction to the azd extension framework.

  • Custom configuration properties: Extensions can now define custom configuration properties at both project and service levels, enabling more flexible and powerful extension behaviors. This change allows extension authors to add specialized configurations without modifying core azd schemas. [#6196]
  • Interactive mode support: Extensions now support interactive mode, enabling TUI (Text User Interface) applications to provide richer user experiences. This change allows extensions to prompt users for input and display interactive interfaces when needed. [#6367]
  • Distributed tracing and structured error handling: Extensions benefit from improved observability with distributed tracing support and structured error handling, making it easier to diagnose issues and track execution flows. [#6321]

✨ User Experience Improvements

  • Interactive environment selector: The azd env select command now provides an interactive selector when no environment is specified, making it easier to switch between environments without remembering exact names. [#6347]
  • Improved provisioning progress display: Provisioning progress polling interval reduced from 10 seconds to 3 seconds, providing more responsive status updates during infrastructure deployment. [#6256]
  • Enhanced error handling: Better error messages are now displayed when loading invalid azure.yaml files, replacing panics with clear, actionable error descriptions. [#6373]
  • Improved error handling flow: Three-solution prompt added with upgraded langchain dependency for better error resolution guidance. [#6313]

⚙️ Azure Configuration

  • azure.yml file support: azd now supports azure.yml as an alternative to azure.yaml for project configuration files, providing more flexibility in naming conventions. [#6285]
  • Template gallery integration: Template gallery links are now integrated into azd init and azd template list commands, making it easier to discover and start from templates. [#6300]
  • Directory creation prompt: Using -C/--cwd with a nonexistent path, azd now prompts to create the directory automatically. [#6266]

🎁 Other Enhancements

  • Language-specific .gitignore templates: Extension scaffolding with azd x init now includes language-specific .gitignore templates for cleaner repositories. [#6232]
  • Microsoft Foundry name: Updated naming from Azure AI Foundry to Microsoft Foundry throughout the codebase and documentation. [#6270]

🪲 Bugs fixed

Extension and Deployment Fixes

  • Extension installation fix: Fixed panic during provisioning caused by custom configuration properties feature introduced in v1.22.4, is temporarily reverted. [#6408]
  • Extension installation prompts: Fixed azd provision --preview incorrectly prompting to install extensions for custom service targets when the extension is already installed. [#6398]
  • Resource discovery: Improved resource discovery logic to correctly identify resources associated with deployments during deletion operations. [#6356]
  • Display names: Fixed display names for Foundry and Foundry project resources in output. [#6385]

Container Apps Improvements

  • Container App deployment: Fixed Container App deployment to correctly resolve infrastructure path from defaults when using layered provisioning with service module settings. [#6360]
  • Container App revision deployment: Fixed Container App revision deployment to respect service module setting in azure.yaml. [#6346]
  • Revision mode error messages: Fixed unclear error message when deploying to improperly tagged Container App in nonrevision mode. [#6353]

Azure Pipelines and Deployment

  • GitHub URL parsing: Fixed GitHub URL parsing to support branch names containing slashes. [#6351]
  • Static Web App deployment: Fixed Static Web App deployment by ensuring framework service requires restore and produces correct artifacts. [#6341]
  • azd down deletion: Improved azd down deletion behavior for resource-group-scoped deployments. [#6345]
  • Hooks in CI/CD: Fixed hooks not running in CI/CD scenarios when .azure directory doesn’t exist. [#6277]
  • ARM nil field handling: Fixed panic in azd provision --preview when ARM returns nil After field during resource deletion. [#6282]
  • Deployment skipping: Fixed azd provision skipping deployment when resource groups were deleted outside of azd. [#6281]

Environment Variables

  • JSON-escaped variables: Fixed JSON-escaped environment variables being lost when syncing to remote CI/CD pipelines. Thanks @Menghua1 for the contribution! [#5568]

Aspire Improvements

  • Non-HTTP protocols: Relaxed Aspire binding validation for non-HTTP protocols as simple TCP. [#6180]
  • Revision-based deployments: Fixed Container Apps deployment error when using revision-based deployments. [#6255]

Other changes

  • Bicep CLI update: Updated Bicep CLI to v0.39.26. [#6247]
  • Error telemetry: Improved error logging telemetry with specific error type classification for better diagnostics. [#6389]
  • Usage tracking: Added usage tracking telemetry for layered provisioning and revision-based ACA deployments. [#6357]

End of year thanks!

As we wrap up another year of azd development, we want to thank all of the contributors, template authors, and community members who made this journey possible. Your code contributions, templates, feedback, and real-world insights drive azd‘s evolution and help developers build with Azure and Foundry with confidence.

Looking ahead to 2026, we plan to grow the extension ecosystem. You’ve already seen extensions like the azd AI agent extension for Microsoft Foundry and the GitHub Copilot coding agent configuration extension, and we have more in the pipeline to streamline your workflows and make it easier to build applications in agentic developer flows.

Want to build your own extension? The azd extension framework makes it easy to create custom commands tailored to your team’s specific needs—whether that’s integrating with third-party services, automating deployment workflows, or adding domain-specific tooling. We can’t wait to see what you build!

Here’s to continued collaboration and innovation in 2026!

🙋‍♀️ New to azd?

If you’re new to the Azure Developer CLI, azd is an open-source command-line tool that accelerates the time it takes to get your application from local development environment to Azure. azd provides best practice, developer-friendly commands that map to key stages in your workflow, whether you’re working in the terminal, your editor or CI/CD.

Get started with azd:

0 comments