{"id":3463,"date":"2025-07-28T13:07:42","date_gmt":"2025-07-28T20:07:42","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=3463"},"modified":"2025-07-28T13:07:42","modified_gmt":"2025-07-28T20:07:42","slug":"azure-developer-cli-azd-july-2025","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-july-2025\/","title":{"rendered":"Azure Developer CLI (azd) &#8211; July 2025"},"content":{"rendered":"<p>This post shares the details of the latest changes to the Azure Developer CLI (<code>azd<\/code>) in release 1.17.1 and 1.18.0. We invite you to join <a href=\"https:\/\/github.com\/Azure\/azure-dev\/discussions\/5524\">our July release discussion on GitHub<\/a> with questions and comments.<\/p>\n<p>This month&#8217;s release focuses on enhancing developer experience with significant improvements to project validation, AI functionality integration, and authentication capabilities. The team made important reliability improvements and dependency updates to keep <code>azd<\/code> secure and performant.<\/p>\n<p>Let&#8217;s dive into what&#8217;s new with <code>azd<\/code> this month.<\/p>\n<h2>New features<\/h2>\n<h3>Enhanced Project Validation<\/h3>\n<p>We improved project name validation to prevent service packaging failures caused by invalid characters. This enhancement <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5380\">[5380]<\/a> helps developers catch potential issues early in the development process, reducing deployment errors and improving the overall developer experience.<\/p>\n<h3>Generic OIDC Authentication Support<\/h3>\n<p>We expanded authentication capabilities by adding support for generic OIDC authentication with any CI provider <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5397\">[5397]<\/a>. This enhancement provides greater flexibility for teams using various continuous integration platforms beyond the traditionally supported providers.<\/p>\n<h3>Improved User Experience<\/h3>\n<p>Improved user experience with a new confirmation prompt before setting a new environment as the default <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4832\">[4832]<\/a>. This change prevents accidental environment switches and gives users more control over their configuration.<\/p>\n<h3>Enhanced Metadata Support<\/h3>\n<p><code>azd<\/code> now supports boolean and integer default values in azd metadata fields <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5384\">[5384]<\/a>, providing more flexibility in project configuration and reducing the need for manual input during project setup.<\/p>\n<h3>Metadata Field Regression Fix<\/h3>\n<ul>\n<li><strong>Parameter Prompting<\/strong>: Fixed regression where prompting for boolean or integer fields without default values wasn&#8217;t working correctly <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5386\">[5386]<\/a><\/li>\n<\/ul>\n<h3>Deployment Packaging Improvements<\/h3>\n<p>Added new support for <code>.webappignore<\/code> and <code>.funcignore<\/code> files to zip deployment packaging <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5383\">[5383]<\/a>. This feature allows developers to exclude specific files and directories from deployments, reducing package sizes and improving deployment performance.<\/p>\n<h3>Interactive Hooks Enhancement<\/h3>\n<p>Updated the <code>azd hooks run<\/code> command to always run hooks in interactive mode with improved schema validation <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5430\">[5430]<\/a>, making it easier to debug and test custom hooks during development.<\/p>\n<h3>Static Web Apps CLI Update<\/h3>\n<p><code>azd<\/code> now ensures it always uses the latest static-web-apps CLI npm package <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5203\">[5203]<\/a>, keeping your deployments current with the newest SWA features and improvements.<\/p>\n<h3>Terraform OIDC Support<\/h3>\n<p>Added support for Terraform with OIDC authentication in pipeline configuration <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5270\">[5270]<\/a>, enabling secure infrastructure deployments without storing long-lived credentials.<\/p>\n<h3>Streamlined Project Initialization<\/h3>\n<p>The project initialization experience was improved by combining &#8220;Create a minimal project&#8221; with &#8220;Scan current directory&#8221; options, along with a new <code>--minimal<\/code> flag <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5280\">[5280]<\/a>, making it easier to get started with new projects.<\/p>\n<h3>Enhanced Environment Management<\/h3>\n<p>The <code>azd env set<\/code> command now accepts multiple key-value pairs <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4942\">[4942]<\/a>, allowing you to configure multiple environment variables in a single command for improved workflow efficiency.<\/p>\n<h3>Compose CI\/CD Improvements<\/h3>\n<p>Introduced <code>AZURE_PRINCIPAL_TYPE<\/code> environment variable to conditionally set user-only role assignments in compose scenarios <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5285\">[5285]<\/a>, providing better control over Azure permissions in CI\/CD pipelines.<\/p>\n<h3>Subscription Management Enhancement<\/h3>\n<p>Added case-insensitive sorting for subscriptions <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4969\">[4969]<\/a>, making it easier to find and select subscriptions regardless of naming conventions.<\/p>\n<h2>Bugs fixed<\/h2>\n<h3>Error Handling Improvements<\/h3>\n<p>Several error handling improvements shipped with this release:<\/p>\n<ul>\n<li><strong>Bicep Parameter Security<\/strong>: Fixed panic when encountering Bicep secure output parameters <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5478\">[5478]<\/a><\/li>\n<li><strong>PowerShell Integration<\/strong>: Fixed PowerShell 7 suggestion text not showing for service-level hooks <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5468\">[5468]<\/a><\/li>\n<li><strong>Deployment Stack Validation<\/strong>: Fixed preflight error handling for deployment stack validation <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5470\">[5470]<\/a><\/li>\n<\/ul>\n<h3>Environment and Authentication Fixes<\/h3>\n<ul>\n<li><strong>Parameter Evaluation<\/strong>: Fixed Bicep parameter evaluation to properly inject environment variables before deployment <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5446\">[5446]<\/a><\/li>\n<li><strong>Azure DevOps Authentication<\/strong>: Fixed nil pointer error when checking credentials for Azure DevOps authentication <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5459\">[5459]<\/a><\/li>\n<\/ul>\n<h3>.NET Aspire Improvements<\/h3>\n<ul>\n<li><strong>Manifest Processing<\/strong>: Improved handling of unrecognized expressions in Aspire manifest files <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5434\">[5434]<\/a><\/li>\n<\/ul>\n<h2>Other changes<\/h2>\n<h3>Development Workflow Improvements<\/h3>\n<ul>\n<li><strong>CI Optimization<\/strong>: CI workflow now cancels obsolete workflows when new commits are pushed in open PRs <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5471\">[5471]<\/a>. Thank you @kitsiosk for the contribution!<\/li>\n<li><strong>Help Documentation<\/strong>: Improved help description for <code>azd provision --no-state<\/code> <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5420\">[5420]<\/a><\/li>\n<li><strong>Tag Handling<\/strong>: Fixed null tags handling in deployment stack operations <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5372\">[5372]<\/a><\/li>\n<\/ul>\n<h3>Infrastructure and Tooling Updates<\/h3>\n<ul>\n<li><strong>Resource Output Enhancement<\/strong>: Added Microsoft.Automation\/automationAccounts to resources for output <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5378\">[5378]<\/a><\/li>\n<li><strong>GitHub CLI Update<\/strong>: Updated GitHub CLI version to 2.75.1 <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5461\">[5461]<\/a><\/li>\n<li><strong>Bicep CLI Update<\/strong>: Updated Bicep CLI version to 0.36.177 <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/5443\">[5443]<\/a><\/li>\n<\/ul>\n<h2>New docs<\/h2>\n<p>We published several new documentation articles on Microsoft Learn.<\/p>\n<h3>Azure Container Apps deployment strategies<\/h3>\n<p>Learn about different deployment workflows and strategies for Azure Container Apps using <code>azd<\/code>. This comprehensive guide covers blue\/green deployments, rolling updates, and other advanced deployment patterns.\n<a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/container-apps-workflows\">View Documentation<\/a><\/p>\n<h3>Remote build support<\/h3>\n<p>Discover how to use remote builds with Azure Container Registry to improve build performance and consistency across different development environments.\n<a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/remote-builds\">View Documentation<\/a><\/p>\n<h3>Docker support as a language<\/h3>\n<p>Understand how to use Docker as a language type in <code>azd<\/code> for containerized applications, especially useful for languages like Go that don&#8217;t have native support in azd.\n<a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/docker-language-support\">View Documentation<\/a><\/p>\n<h3>azd Extension Framework<\/h3>\n<p>Discover how to extend azd&#8217;s capabilities using the extension framework, enabling custom workflows and integrations to meet your specific development needs.\n<a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/azd-extension-framework\/\">Read Blog Post<\/a><\/p>\n<h3>Azure Developer CLI &#8220;Dev to Production&#8221; workflow<\/h3>\n<p>Learn how to streamline your development workflow with azd&#8217;s comprehensive deployment capabilities, covering the entire journey from local development to production deployment with a single command.\n<a href=\"https:\/\/devblogs.microsoft.com\/devops\/azure-developer-cli-from-dev-to-prod-with-one-click\/\">Read Blog Post<\/a><\/p>\n<h2>New templates<\/h2>\n<p>The Azure Developer CLI template gallery welcomes a new contribution from the community. Thank you! This month, there&#8217;s a new Azure Functions template that demonstrates modern event-driven architecture patterns.<\/p>\n<h3>Azure Functions with SQL Database<\/h3>\n<p>Thank you to <a href=\"https:\/\/github.com\/paulyuk\">Paul Yuknewicz<\/a> for contributing this <a href=\"https:\/\/github.com\/Azure-Samples\/functions-quickstart-dotnet-azd-sql\">Azure Functions quickstart template<\/a> with SQL Triggers and Bindings (.NET) demonstrating event-driven integration with Azure SQL Database. This template provides a foundation for developers building serverless applications that respond to database changes. It works especially well for building data integration solutions, audit trails, and real-time analytics workflows.<\/p>\n<h3>Template Gallery Milestone<\/h3>\n<p>The awesome-azd template gallery now has <strong>248+ templates<\/strong>, necessitating pagination support to handle the growing collection. <a href=\"https:\/\/github.com\/Azure\/awesome-azd\/pull\/631\">Coming soon!<\/a> This growth demonstrates the vibrant community adoption of <code>azd<\/code> and the wealth of architectural patterns now available to developers. Thank you to all of the contributors!<\/p>\n<h2>New to <code>azd<\/code>?<\/h2>\n<p>Welcome! You can use azd from:<\/p>\n<ul>\n<li>Your terminal of choice on Windows, Linux, or macOS.<\/li>\n<li>Visual Studio Code or GitHub Codespaces by <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.azure-dev\">downloading the extension<\/a> from the Marketplace, or installing it directly from the extension view (<code>Ctrl<\/code> + <code>Shift<\/code> + <code>X<\/code> for Windows or <code>Cmd<\/code> + <code>Shift<\/code> + <code>X<\/code> for macOS) in Visual Studio Code.<\/li>\n<li>Visual Studio by <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/introducing-the-azure-developer-cli-a-faster-way-to-build-apps-for-the-cloud\/#visual-studio\">enabling the preview feature flag<\/a>.<\/li>\n<\/ul>\n<p>Learn more about the Azure Developer CLI from our <a href=\"https:\/\/aka.ms\/azd\">official documentation<\/a>. If you run into any problems or have suggestions, file an issue or start a discussion in the <a href=\"https:\/\/github.com\/Azure\/azure-dev\">Azure Developer CLI repository<\/a>. You can also reference our <a href=\"https:\/\/aka.ms\/azd-troubleshoot\">troubleshooting documentation<\/a>.<\/p>\n<p>Thank you to the community contributors who helped make this release possible!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post announces the July release of the Azure Developer CLI (`azd`).<\/p>\n","protected":false},"author":107449,"featured_media":2111,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[701,864,878,939,160,159,861,162,733,895],"class_list":["post-3463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-net","tag-azure-developer-cli","tag-codespaces","tag-docker","tag-java","tag-javascript","tag-kubernetes","tag-python","tag-typescript","tag-vscode"],"acf":[],"blog_post_summary":"<p>This post announces the July release of the Azure Developer CLI (`azd`).<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/users\/107449"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=3463"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/2111"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=3463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=3463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=3463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}