- [#2743] Support deploying Container App Jobs (
Microsoft.App/jobs) viahost: containerapp. The Bicep template determines whether the target is a Container App or Container App Job. - Add
ConfigHelperfor typed, ergonomic access to azd user and environment configuration through gRPC services, with validation support, shallow/deep merge, and structured error types (ConfigError). - Add
Pager[T]generic pagination helper with SSRF-safe nextLink validation,CollectwithMaxPages/MaxItemsbounds, andTruncated()detection for callers. - Add
ResilientClienthardening: exponential backoff with jitter, upfront body seekability validation, andRetry-Afterheader cap at 120 s. - Add
SSRFGuardstandalone SSRF protection with metadata endpoint blocking, private network blocking, HTTPS enforcement, DNS fail-closed, IPv6 embedding extraction, and allowlist bypass. - Add atomic file operations (
WriteFileAtomic,CopyFileAtomic,BackupFile,EnsureDir) with crash-safe write-temp-rename pattern. - Add runtime process utilities for cross-platform process management, tool discovery, and shell execution helpers.
- Add Extension SDK Reference documentation covering
NewExtensionRootCommand,MCPServerBuilder,ToolArgs,MCPSecurityPolicy,BaseServiceTargetProvider, and all SDK helpers introduced in #6856. See Extension SDK Reference. - Add Extension Migration Guide with before/after examples for migrating from legacy patterns to SDK helpers. See Extension Migration Guide.
- Add Extension End-to-End Walkthrough demonstrating root command setup, MCP server construction, lifecycle event handlers, and security policy usage. See Extension End-to-End Walkthrough.
- [#7001] Add support for deploying Container App Jobs (
Microsoft.App/jobs) viahost: containerapp. The Bicep template determines whether the target is a Container App or Container App Job. Thanks @jongio for the contribution! - [#6968] Add
Microsoft.App/agents(SRE Agent) resource type recognition so provisioning progress output correctly displays SRE Agent resources. Thanks @dm-chelupati for the contribution! - [#7016] Add sensible defaults for
azd env newandazd initin--no-promptmode: auto-generate environment name from the working directory, auto-select subscription when only one is available, and remove the hard--environmentrequirement. Thanks @spboyer for the contribution! - [#6962] Improve
--no-prompterror guidance forazd initandazd provisionto report all missing inputs at once with actionable resolution commands and environment variable mappings.
- [#6790] Fix the azd user-agent string not flowing to authentication HTTP calls (Azure Identity SDK and MSAL), making azd-originated auth traffic identifiable in Azure telemetry. Thanks @spboyer for the contribution!
- [#6920] Fix
Retry-Afterheader not being applied correctly in Azure Functions flex consumption deployment polling, and improve cancellation responsiveness in Static Web Apps deployment verification. Thanks @spboyer for the contribution! - [#6922] Fix Ctrl+C cancellation not being respected during remote ACR build source upload and log streaming. Thanks @spboyer for the contribution!
- [#6914] Fix
azd extension install,show, andupgradepotentially selecting the wrong version when the registry returns versions in descending order.
- [#7019] Improve provisioning progress polling with concurrent nested deployment traversal and a terminal-operation cache to reduce redundant ARM API calls and decrease spinner flicker.
- [#7017] Update azd core to Go 1.26.
- [#7004] Improve provisioning completion responsiveness by replacing channel-based cancellation with context cancellation in the progress display goroutine.
- [#6977] Improve AI-assisted error troubleshooting by categorizing errors (Azure, machine, or user context) and tailoring automated fix suggestions to appropriate error types.
- [#6978] Improve auth error classification in the extension gRPC server so extensions receive
Unauthenticatedstatus codes instead ofUnknownfor login-required errors. - [#6963] Improve provisioning performance by caching resource type display name lookups to reduce redundant API calls during progress polling.
- [#6954] Add extension SDK primitives for token provider, scope detection, resilient HTTP client, and pagination to simplify azd extension authoring. Thanks @jongio for the contribution!
- [#6953] Update Bicep minimum required version to 0.41.2.
- [#6941] Simplify AI-assisted error troubleshooting to a two-step flow: explain the error, then optionally generate step-by-step fix guidance.
- [#6912] Improve storage blob client performance by verifying container existence only once per session instead of on every operation. Thanks @spboyer for the contribution!
- [#6826] Add local filesystem directory support for
azd init --templateto enable iterating on templates without pushing to a remote repository. Thanks @jongio for the contribution! - [#6827] Add YAML-driven error handling pipeline that matches Azure deployment errors against known patterns and surfaces actionable messages, suggestions, and reference links.
- [#6848] Add
pyproject.tomldetection andpip install .support for Python projects using modern project packaging. Thanks @spboyer for the contribution! - [#6852] Add
provision.preflightconfig option to skip ARM preflight validation (azd config set provision.preflight off) and show a spinner during preflight runs. - [#6856] Add Extension SDK helpers for command scaffolding, MCP server utilities, typed argument parsing, and SSRF security policy to simplify azd extension authoring. Thanks @jongio for the contribution!
- [#6894] Add automatic detection of pnpm and yarn package managers for JavaScript/TypeScript services, with explicit override support via
config.packageManagerinazure.yaml. Thanks @jongio for the contribution! - [#6904] Add
websitefield to extension registry schema and display it inazd extension showoutput. Thanks @jongio for the contribution! - [#6905] Add azd environment variables to all framework service build subprocesses (Node.js, .NET, Java, Python, SWA) to support build-time environment variable injection. Thanks @jongio for the contribution!
- [#6906] Add
azd extension source validatecommand to validate extension registry sources against required fields, version format, capabilities, and checksum rules. Thanks @jongio for the contribution!
- [#6847] Fix
azd env get-valuesto reject unexpected positional arguments instead of silently succeeding. Thanks @spboyer for the contribution! - [#6857] Fix duplicated
Suggestion:prefix appearing in error output when the suggestion text already included the prefix. - [#6862] Fix preflight validation errors for standard deployments being misclassified in telemetry and displayed with degraded formatting.
- [#6907] Fix missing IPv6 CIDR blocks (
fc00::/7,0.0.0.0/8,::/128) in MCP extension security policy that could allow SSRF bypasses. Thanks @jongio for the contribution!
- [#6768] Normalize user-facing CLI output to consistent lowercase
azdbranding. - [#6835] Improve extension error telemetry and support rich error rendering with suggestions.
- [#6845] Add Container App-specific error guidance for secret, image pull, and template parameter failures. Thanks @spboyer for the contribution!
- [#6846] Add RBAC and authorization error guidance for permission, policy, and role assignment failures. Thanks @spboyer for the contribution!
- [#6888] Improve Container Apps deployment performance by reducing ARM API round-trips, saving up to 3 calls per deployment. Thanks @spboyer for the contribution!
- [#6902] Improve AI-assisted troubleshooting with scope selection options (explain, guide, summarize) and persistent user preferences.
- [#6777] Add
--subscriptionand--locationflags toazd provisionandazd upcommands. Thanks @spboyer for the contribution!
- [#6766] Fix remote build 404 error when Azure Container Registry is in a different resource group than the service.
- [#6770] Fix subscription cache overwrite issue to preserve tenant-to-subscription mappings when tenants are temporarily inaccessible.
- [#6779] Fix
azd initto fail fast when--environmentis missing in non-interactive mode with--template. Thanks @spboyer for the contribution! - [#6789] Fix
azd env config setto support non-string types (booleans, numbers, arrays, objects). Thanks @spboyer for the contribution!
- [#6771] Improve provisioning error messages with Region SKU Capacity Unavailable error guidance and consent message clarity.
- [#6803] Improve error classification for context cancellation, timeouts, and network errors. Thanks @spboyer for the contribution!
- [#6808] Improve delegated auth experience with mode-aware authentication messaging and guidance. Thanks @scottaddie for the contribution!
- [#6810] Add soft-delete conflict detection hints for deployment errors with guidance to run
azd down --purge. Thanks @spboyer for the contribution!
- [#6747] Add
requiredAzdVersionfield for extensions to declare core version dependencies. - [#6748] Add
remoteBuildoption for Azure Functions flex consumption apps.
- [#6739] Fix arrow keys displaying as escape sequences in Ghostty terminal.
- [#6735] Extend JMESPath query support to Message methods. Thanks @scottaddie for the contribution!
- [#6664] Add JMESPath query support for JSON output in CLI commands using
--queryflag. - [#6627] Add App Service deployment slot routing based on deployment history.
- [#6674] Fix duplicate
azd-service-nametag error message to identify which resources conflict and filter validation to host resources only. - [#6671] Fix extension namespace handling to prevent conflicts and enable auto-install for sibling namespaces.
- [#6694] Fix environment variable substitution for array and object Bicep parameters.
- [#6698] Fix telemetry bundling issues.
- [#6690] Improve provisioning error messages with targeted troubleshooting steps for common issues.
- [#6649] Refactor container helper to accept environment explicitly, preventing environment confusion bugs.
- [#6633] Add automatic detection of AI coding agents to enable no-prompt mode for seamless automation.
- [#6619] Fix missing configuration keys in
azd config optionsoutput.
- [#6610] Fix Bicep CLI uninitialized path causing container app deployments to fail.
- [#6604] Fix extension commands failing after update notification is displayed.
- [#6604] Fix extension update notification cooldown being recorded even when warning is not shown.
- [#6604] Improve
azd ext listoutput to better indicate when extension updates are available.
- [#6511] Add
azd env removecommand for deleting local environment configuration files. - [#6499] Improve discoverability of alpha
azd initfeature by adding hints in error messages and command output.
- [#6527] Fix Azure DocumentDB (mongoClusters) resources not being displayed in provisioning output.
- [#6517] Fix panic on middleware construction failure when loading invalid configuration files.
- [#6536] Fix context cancellation issue causing subsequent operations to fail after command steps complete.
- [#6588] Improve extension error messages by including error suggestion text.
- [#6579] Update GitHub CLI tool version to 2.86.0.
- [#6390] Add
azd config optionscommand to list all available configuration settings with descriptions. - [#6348] Add
azd env configcommands for environment-specific configuration management. - [#6441] Add support for cross-tenant authentication when using remote environment state in Azure Blob Storage.
- [#6436] Add Podman support as fallback container runtime when Docker is unavailable.
- [#6418] Add file-based caching to
azd showfor approximately 60x performance improvement. - [#6461] Add auto-detection of infrastructure provider (Bicep/Terraform) from infra directory files when not explicitly specified.
- [#6377] Add
azd auth statuscommand to display current authentication status. - [#6262] Add property-level change details in
azd provision --previewoutput for Bicep deployments. - [#5536] Add support for non-Aspire projects in Visual Studio connected services.
- [#6395] Remove deprecated
azd loginandazd logoutcommands in favor ofazd auth loginandazd auth logout. - [#6369] Remove Azure Spring Apps support.
- [#6481] Fix extension configuration properties support by adding AdditionalProperties fields to project and service configurations.
- [#6478] Fix GitHub URL parsing to check authentication before branch resolution.
- [#5954] Improve authentication handling when not using built-in auth methods.
- [#6452] Fix
azd downto dynamically resolve resource display names. - [#6446] Fix context cancelled errors in workflow steps.
- [#6444] Fix AKS deployment schema to allow Helm deployments without project field.
- [#6267] Fix
azd downto handle deployment state correctly when resources are manually deleted. - [#6435] Fix
azd ext install --forceto properly reinstall extensions when version matches.
- [#6398] Fix
azd provision --previewincorrectly prompting to install extensions for custom service targets when the extension is already installed. - [#6408] Fix panic during provisioning by reverting custom configuration properties feature introduced in v1.22.4.
- [#6196] Add support for custom configuration properties in project and service configuration for extensions.
- [#6367] Add interactive mode support for extensions to enable TUI applications.
- [#6356] Fix resource discovery logic to correctly identify resources associated with deployments during deletion.
- [#6385] Fix display names for Foundry and Foundry project resources in output.
- [#6389] Improve error telemetry with specific error type classification.
- [#6347] Add interactive environment selector to
azd env selectwhen no environment is specified.
- [#6373] Fix error handling to display proper error messages when loading invalid
azure.yamlfiles instead of panicking.
- [#6321] Add distributed tracing and structured error handling for extensions.
- [#6360] Fix Container App deployment to correctly resolve infrastructure path from defaults when using layered provisioning with service module settings.
- [#6351] Fix GitHub URL parsing to support branch names containing slashes.
- [#6357] Add usage tracking telemetry for layered provisioning and revision-based ACA deployments.
- [#6285] Support
azure.ymlas an alternative toazure.yamlfor project configuration files. - [#6266] Prompt to create directory when using
-C/--cwdwith non-existent path. - [#6300] Add template gallery links in
azd initandazd template listcommands. - [#6313] Improve error handling flow with three-solution prompt and upgraded langchain dependency.
- [#6353] Fix unclear error message when deploying to improperly-tagged Container App in non-revision mode.
- [#6346] Fix Container App revision deployment to respect service
modulesetting inazure.yaml. - [#6345] Improve
azd downdeletion behavior for resource-group-scoped deployments. - [#6341] Fix Static Web App deployment by ensuring framework service requires restore and produces correct artifacts.
- [#5568] Fix JSON-escaped environment variables being lost when syncing to remote CI/CD pipelines. Thanks @Menghua1 for the contribution!
- [#6256] Reduce provisioning progress display polling interval from 10s to 3s for more responsive status updates.
- [#6232] Add language-specific
.gitignoretemplates to extension scaffolding forazd x init.
- [#6277] Fix hooks not running in CI/CD scenarios when
.azuredirectory does not exist. - [#6282] Fix panic in
azd provision --previewwhen ARM returns nil After field during resource deletion. - [#6281] Fix
azd provisionskipping deployment when resource groups were deleted outside of azd. - [#6180] Relax Aspire binding validation for non-HTTP protocols as simple TCP.
- [#6255] Fix Container Apps deployment error when using revision-based deployments.
- [#6190] Fix default infrastructure settings being incorrectly written to
azure.yamlfiles.
- [#6169] Promote layered provisioning to beta.
- [#6154] Add
envproperty to service configuration for runtime environment variable management in Container Apps.
- [#6133] Add .Net10 to azd auto-gen templates for pipeline config.
- [#6013] Adds support for custom ServiceConfig settings for extensions.
- [#6074] Update azd show to show endpoints from custom service targets.
- [#6073] Enhance no-prompt support in extensions & prompt service.
- [#6083] Moving hooks warning from console to logs.
- [#6093] Support for Aspire 13.
- [#6015] Fix hyperlink ANSI escape codes appearing in non-terminal output.
- [#6032] Fix flickering progress bar during agent deployment.
- [#6028] Fixes lifetime issues with container helper from extension container service.
- [#6063] Reload env before loading parameters in bicep provider.
- [#6098] Fixes issues with remote build on agent extension.
- [#5995] Add AccountService gRPC API and server implementation.
- [#6002] Exposes ServiceContext in Service lifecycle events.
- [#5985] Fix potential concurrent map write panics in FrameworkService.
- [#6001] fix: prevent index out of range panic in progressLog.Write().
- [#6012] Fixes issue with duplicate event registration in workflow commands.
- [#5964] Fixes issue where project level events not invoked from extensions.
- [#5693] Add GitHub Copilot LLM backend integration for AI-assisted development workflows.
- [#5847] Add support for language frameworks from extensions.
- [#5881] Display Aspire dashboard URL for App Service deployments.
- [#5841] Add
prepublishandpostpublishhooks to v1.0 azure.yaml schema.
- [#5939] Fix Container App resource existence check returning incorrect results.
- [#5930] Improve diagnostic message clarity for missing --environment flag.
- [#5856] Add service dependencies support with
usesproperty for automatic deployment ordering. - [#5663] Add
azd publishcommand to separate publishing to container registries from deployment. - [#5815] Add custom service target support in extension framework.
- [#5753] Implement auto-installation workflow for extensions.
- [#5723] Add Container App Jobs support to azd Aspire deployments.
- [#5694] Support Bicep Container App revisions.
- [#5858] Promote extensions from alpha to beta.
- [#5807] Enable MCP Server capability in extension framework.
- [#5798] Add elicitation support for azd agent.
- [#5771] Add custom language support.
- [#5874] Update
azd ext showcommand UX with improved extension source display. - [#5809] Make hook
shellattribute optional with OS-based defaults.
- [#5736] Fix
azd x publishto automatically set up local extension registry. - [#5812] Use the name of the compute env from Aspire Manifest when Aspire owns the env instead of the hardcoded string "resources".
- [#5827] Bypass agentic error handling flow in non-interactive scenarios.
- [#5808], [#5877] Improve UX for agentic azd init.
- [#5870] Update preflight error handling for standard deployment.
- [#5869] Update Bicep from 0.38.3 to 0.38.33.
- [#5867] Make language optional in the schema.
- [#5770] Update gh CLI to latest 2.80.
- [#5823] Differentiate Azure Managed Redis from Redis Enterprise in provisioning progress.
- [#5492] Add support for provisioning layers with
infra.layersconfiguration. - [#5641] Improve extension management with better ordering, version display, and source disambiguation.
- [#5587] Add claims support for device-code authentication flow.
- [#5598] Prompt for App Service Management Reference during service principal creation when required by tenant.
- [#5586] Improve readability of failed deployment logs with additional line spacing. Thanks @Saipriya-1144 for the contribution!
- [#5588] Fix CloudShell telemetry not being emitted after the first run.
- [#5590] Improve warning message formatting with all-caps prefix and better hook suggestion display.
- [#5592] Update to Go 1.25.0.
- [#5559] Update Aspire sample to version 9.4.
- [#5603] Update
microsoft.azd.extensionsin registry to 0.5.0.
- [5445] Prevent package deletion when using
--from-packageflag withazd deploy. - [5531] Fix extension installation failures on Linux.
- [5570], [5585] Update hooks engine to warn and fall back to Windows PowerShell 5.1 when PowerShell 7 is not available on the system.
- [5582] Display warning message for legacy and limited Aspire projects.
- [5385] Add error suggestion message when
packagefails due to containerd.
- [5501] infra gen when dotnet project is present.
- [5567] [VSServer] Ignoring projects.v1.
- [5518] Add suggestion text for resource group and Container App unmarshal errors during
azd deploy. - [5528] Fix login guard to skip interactive prompts in CI/CD environments.
- [5563] Fix invalid branch name characters when generating federated credential names.
- [5380] Improve project name validation to prevent service packaging failures with invalid characters.
- [5411] Add LLM package for AI functionality with auto-detection of LLM configuration.
- [5397] Add support for generic OIDC authentication with any CI provider.
- [4832] Improve user experience by prompting for confirmation before setting a new environment as the default.
- [5384] Add support for boolean and integer default values in azd metadata fields.
- [5383] Add support for
.webappignoreand.funcignorefiles in zip deployment packaging. - [5430] Update
azd hooks runto always run hooks in interactive mode and improve schema validation.
- [5478] Fix panic when encountering Bicep secure output parameters.
- [5468] Fix PowerShell 7 suggestion text not showing for service-level hooks.
- [5470] Fix preflight error handling for deployment stack validation.
- [5446] Fix Bicep parameter evaluation to properly inject environment variables before deployment.
- [5459] Fix nil pointer error when checking credentials for Azure DevOps authentication.
- [5434] Improve handling of unrecognized expressions in Aspire manifest files.
- [5372] Fix null tags handling in deployment stack operations.
- [5471] Cancel CI workflow that becomes obsolete after a new commit is pushed in an open PR. Thanks @kitsiosk for the contribution!
- [5420] Improve help description for
azd provision --no-state. - [5378] Add Microsoft.Automation/automationAccounts to resources for output.
- [5461] Update GitHub CLI version to 2.75.1.
- [5443] Update Bicep CLI version to 0.36.177.
- [5391] Fix getting principal type when using legacy auth (az auth).
- [5203] Make sure to always use latest static-web-apps CLI npm package.
- [5270] Add support for Terraform+OIDC in pipeline config.
- [5280] Combine "Create a minimal project" with "Scan current directory" option and add --minimal flag.
- [5285] [compose + CI/CD] - Introduce AZURE_PRINCIPAL_TYPE to conditionally set user-only role assignments
- [4942] Update env set to accept multiple key-value pairs.
- [4969] Case-insensitive sorting for subscriptions.
- [5386] Fix regression, prompting for bool or int without default.
- [5249] Add support for deploying a single service in .NET Aspire projects via vs-server.
- [5157] Update
azd addintegration with AI Foundry to use simplified 1RP setup with all models under a single AI Services account. - [5214] Add Linux to Homebrew formulae. Thanks @heaths for the contribution!
- [5204] Add login guard middleware to auto-prompt for user login in key commands if unauthenticated.
- [5248]
azd pipeline configsupport for configuring CI/CD using Managed Identities. - [5200] Update Bicep param prompting to support a default selected option, allowing azd to auto-select it with
--no-prompt. - [5242] Promote
azd addand composability features to Beta.- Remove
alpha.composealpha feature. - Use
azd addto add Azure components to your project.azd adddoes not currently support Aspire projects or most azd templates. - Use
azd show <resource name>orazd show <Azure resource ID>to view details about a specific resource.
- Remove
- [5260] Rename
azd infra synthtoazd infra generate(azd infra genfor short) and promote to Beta.- Remove
alpha.infraSynthalpha feature. azd infra synthwill continue to work as an alias ofazd infra generate, but users are encouraged to use the new command names asazd infra synthmay be removed in a future release.
- Remove
- [5242], [5260] When initializing from app code or minimal project, the
infra/folder is no longer generated. azd now manages infrastructure in-memory by default, but you can still generate IaC to disk to manually manage your infrastructure usingazd infra generate(orazd infra genfor short). - [5242] When initializing from app code or minimal project, environment initialization is now deferred to provision time (e.g.
azd up), unless the--environment <env name>flag is passed to theazd initcommand or theAZURE_ENV_NAMEenvironment variable is set. - [5157] AI Services models added through
azd addrequire an updated version of the Azure AI Foundry SDK client library that supports project endpoints (AZURE_AI_PROJECT_ENDPOINT=https://<account-name>.services.ai.azure.com/api/projects/<project-name>) instead of project connection strings (AZURE_AI_PROJECT_CONNECTION_STRING=eastus.api.azureml.ms;<subscription id>;<resource group>;<project name>).
- [5187] Improve UX of
azd initby displaying neutral message when user declines initializing in a non-empty directory. - [5255] Fix vs-server crash when telemetry is disabled.
- [5199] Avoid unnecessary ACR login for Aspire projects using only public images.
- [5246] Remove explicit ACA Environment Contributor role assignment for Aspire projects. Thanks @eerhardt for the contribution!
- [5261] Update dependencies to mitigate CVE-2025-30204.
- [5245] Update Bicep CLI to v0.36.1.
- [5212] Update changelog casing in developer extension release pipelines.
- [5209] Deprecate internal registry extension in favor of azd developer extension.
- [5198] Fixes error messages surfaced to users that contain internal implementation details.
- [5173]
azd showsupport for Azure App Service. - [5158] Configure Azure AI Foundry hub to use identity-based storage access for compose.
- [5143], [5183], [5185] Update
azd pipeline configto auto-detect required variables and secrets from infra provider parameters. - [5190] Add interactive controls for managing existing GitHub Actions variables and secrets during
azd pipeline config. - [5155] Adds support for nested extension namespaces
- [5176] Prevent same resource being added under 'uses' multiple times with
azd add. - [5176] Fix
azd addpreview for MySQL and Postgres and other UX improvements. - [5192] Fix Bicep generation for compose projects with implicit Key Vault dependency.
- [5194] Reorganize
azdhelp text with updated command sections (Getting started, Azure resources, Settings, Beta, Alpha, Extensions). - [5189] Clarify in environment prompt that the name must be unique.
- [5187] Improve confirmation UX when declining to initialize template in non-empty directory.
- [5159] Update Aspire detection message to not specifically mention ACA.
- [5138] Update Bicep CLI to v0.35.1.
- [5151] Fix bicep provisioning failure with array parameters in
main.parameters.json. Thanks @Mstiekema for the contribution!
- [5073] Support generate CI definition for alpha feature composability mode.
- [5077]
azd addsupport for Azure App Service (Node and Python).
- [5061] Fix location no longer prompted error for targetScope resource group.
- [5117] Fix template list filter empty result due to
awesome-azdsource breaking change. - [5102] Fix AKS cluster deployment with Microsoft Entra ID authentication and Azure RBAC enabled. Thanks @pauldotyu for the contribution!
- [4885] Pack build to support multi-module projects. Thanks @haoozhang for the contribution!
- [5081] Bump up dependency to fix component governance alert.
- [4939] Automatically load environment values from root .env on
azd init. - [4939] Introduce
AZD_ALLOW_NON_EMPTY_FOLDERvariable that bypasses warning about initializing template in non-empty directory. - [4977], [4995] New
azd init --upflag that runsazd upafter initializing from a template. Thanks @LianwMS for the contribution! - [4943]
azd addsupport for existing resources (AI models, AI Search, Key Vault, Event Hubs, Service Bus, Storage). - [4931]
azd addsupport for Azure AI Search. - [4914]
azd showsupport for all resources supported byazd add. - [4874] Provide shortcuts for
azd env set-secretsto directly use Key Vault created withazd add. - [4957], [4959], [4979], [4999], [5008] Support .NET Aspire 9.1.
- [4953] Support array of model usage names for quota validation.
- [5010] Support model usage name metadata for main
locationBicep parameter.
- [4966] Fix
AZURE_OPENAI_ENDPOINTnot showing inazd addpreview. - [4561] Fix
azd up -e <env>so it uses the specified environment. - [4960] Fix simplified init failing to provision with detected databases and
alpha.composeoff. - [4929], [5010] Improve location and quota validation for Azure AI Services resources.
- [4794] Upgrade to Go 1.24.
- [4960] Use Standard SKU for Azure Service Bus.
- [4960] Remove passing host settings through
main.parameters.json. - [4972] Remove unused core Bicep modules.
- [4937] Security fix (GHSA-qxp5-gwg8-xv66). golang.org/x/net.
- [4886] Improve database dependency detection for Maven projects. Thanks @rujche for the contribution!
- [4917] Allow Linux App Service deployments to resume on 500 deployment status response.
- [4924] Fix cast error when parsing usage name Bicep param metadata.
- [4841]
azd addsupport for Azure AI Services models and Azure AI Foundry resources. Also add intelligent filtering support for location Bicep parameter based on AI model quota and usage info. - [4780]
azd addsupport for Azure Cosmos DB. Thanks @saragluna for the contribution! - [4783]
azd addsupport for Azure Database for MySQL. Thanks @saragluna for the contribution! - [4842]
azd addsupport for Azure Key Vault. - [4743]
azd addsupport for Azure Service Bus and Azure Event Hubs. - [4765]
azd addsupport for Azure Storage (blob service). - [4859] Add
dockerlanguage type to support containerized applications written in languages like Go without native support in azd. - [4770] Add support for environment secrets in pipeline configuration.
- [4547] Add warning to
azd env setwhen setting a key that already exists in a different casing. - [4872] Improve error message when running
pwshhooks without PowerShell 7 installed.
- [4806] Fix error retrieving effective POM for multi-module Maven projects. Thanks @rujche for the contribution!
- [4773] Fix error packaging app code with directory symlinks.
- [4807] Fix YAML parsing to better handle nested structures.
- [4847] Improve color consistency to align with design guidelines.
- [4801], [4782] Fix Aspire bind mounts on Windows paths outside of C: drive and add support for single file binding.
- [4789] Fix container entrypoints not being respected for Aspire.
- [4849] Restrict password generation character set to be compatible with Aspire.
- [4850] Support
azd init --from-code --no-promptin CI to initialize and deploy Aspire apps without prompting.
- [3976] Convert azd templates to use AVM instead of infra/core.
- [4797] Add GitHub Copilot for Azure telemetry user agent type.
- [4784] Correct links in
CONTRIBUTING.md. Thanks @Lunatico9 for the contribution!
- [4729] Improve Maven project detection using effective POM. Thanks @rujche for the contribution!
- [4517] New
azd env set-secretcommand and hooks support for using Azure Key Vault secrets in an azd environment. Learn more. - [2856] Show identity info after successful
azd auth loginand newazd auth login --check-statusstandalone command. Thanks @john0isaac for the contribution! - [4595] Support custom
pwsharguments in hook definitions. Thanks @Yionse for the contribution!
- [4692] Fix
azd adddatabase failing in projects without a host. - [4684] Support Bicep
@sealed()decorator on user defined types.- Fix
azd provisionfailing to deploy Bicep containingsealed()decorators on user defined types.
- Fix
- [4722] Support nullable Bicep params.
- Fix
azd provisionprompting for nullable Bicep params.
- Fix
- [4744] Support Key Vault references in parameter files.
- Fix
azd provisionprompting for params with Key Vault references defined.
- Fix
- [4752] Support overriding default location in Bicep using
@allowedand@metadatadecorators.- Fix location picker ignoring
@allowedlist if@metadatais also present.
- Fix location picker ignoring
- [4741] Update Bicep CLI to v0.33.93.
- [4719] Update Redis AVM to use native secrets export.
- [4690] Use .NET SDK without Aspire workload in auto-generated pipeline definitions.
- [4703] Use install scripts in "Install azd" Azure DevOps extension.
- [4750] Support bicep.v1 resource for .NET Aspire.
- [4244] Support azd hooks out of azure.yaml.
- [4573] Support dotnet publish to produce container image.
- [4599] Add documentation for azd infra synth.
- [4556] Fix error about passing by value in for range.
- [4585] Show full Entra error description on auth failure.
- [4666] Security fix (GHSA-w32m-9786-jp63). golang.org/x/net.
- [4625] Security fix (GHSA-v778-237x-gjrc). golang.org/x/crypto.
- [4527] Add new
alphacommandazd add.
- [4524] Fix using parameters for .NET Aspire deployment.
- [4039] Use DOTNET_CONTAINER.
- [4426] Show inner error description for stack deployments.
- [4472] Fix projects with empty spaces.
- [4458] Fix panic on empty hooks.
- [4484] Fix missing quotes in Aspire projects.
- [4515] Use DOTNET_NOLOGO for Aspire projects.
- [4450] fix
persistSettingsalpha feature.
- [4272] Supports configurable
api-versionfor container app deployments. - [4286] Adds
alphafeaturealpha.aspire.useBicepForContainerAppsto use bicep for container app deployment. - [4371] Adds support for
default.valueforparameter.v0.
- [4375] Enables remote build support for AKS.
- [4363] Fix environment variables to be evaluated too early for
main.parameters.json.
- [4336] Adds spinner to
azd down. - [4357] Updates
azure.yaml.jsonforremoteBuild. - [4369] Updates docker
buildargsto expandable strings. - [4331] Exposes configurable settings for
actionOnUnmanageanddenySettingsfor Azure Deployment Stacks (alpha).
- [4299] Fixes issue in vs-server for Aspire projects.
- [4294] Fixes azd pipeline config on Codespaces.
- [4295] Fixes azd pipeline config for Terraform.
- [4165] Add support for
alphafeature Azure Deployment stacks. - [4236] Support
argsoncontainer.{v0,v1}. - [4257] Add support for multiple hooks per event.
- [4190] Add support for
.azuredevopsfolder. - [4161] Add remote builds support with Azure Container Registry.
- [4254] Add support for environment variable substitution for source container image.
- [4203] Add GitHub as template source configuration option.
- [4208] Add support for Java Azure Functions.
- [4237] Fix pipeline config failing bug.
- [4263] Fix
azd infra synthignored byazd deployin azdo CI/CD pipeline bug. - [4281] Fix failed provision with the STG location.
- [4243] Add AI services model deployments to provisioning display.
- [4115] Adding
alphafeaturealpha.aca.persistIngressSessionAffinity.
- [4111] Container Apps: Fail when explicit Dockerfile path not found.
- [4149] Remove Admin Access as default for all .Net Aspire services.
- [4104] Remove Azure Dev Ops git remote constraint for dev.azure.com only.
- [4160] Fix automatic generation of CI/CD files for .Net Aspire projects.
- [4182] Allow
.yamland.ymlextension for azure-dev pipeline files. - [4187] Fix panic during deployment progress rendering.
- [4080] Add
azd env get-value.
- [4065] Fix panic when a project has no endpoints.
- [4074] Fix error in retrieving cross-rg service plan.
- [4073] Fix bug where windows logic app passed isLinuxWebApp.
- [3924] Updating azd pipeline config to support Federated Credential for Azure DevOps.
- [3553] Support swa-cli.config.json for Azure Static Web Apps.
- [3955] Adding
alphafeaturealpha.aca.persistDomains. - [3723] Add --managed-identity to azd auth login.
- [3965] Add deployment status tracking for linux web apps.
- [4003] Add support for deploying flex-consumption function apps.
- [4008] Add support for container.v1 [Aspire].
- [4030] Prompt to add pipeline definition file during azd pipeline config.
- [3790] Adding
alphafeatureazd.operationsto support .Net Aspire bind mounts. - [4049] Adding pipeline config
--applicationServiceManagementReference.
- [3941] Fix exposed ports for Aspire projects.
- [3948] Adds missing namespace property to Helm configuration schema.
- [3942] Fixes issue selected environment with different environment type.
- [3985] Reset the read cursor in zip deployments to fix bugs in retry.
- [4043] wait for Ai-studio deployments before polling.
- [3925] Graduates alpha feature:
Aspire Dashboard - [3929] Graduates alpha feature:
Aspire Auto Configure Data Protection
- [3915] Revert - Add deployment status tracking for linux web apps.
- [3876] Take infra section of azure.yaml into account.
- [3881] Make azd to wait until the expected state can be seen from the online endpoint.
- [3763] Add deployment status tracking for linux web apps.
- [3897] Update ResolvedRaw() to remove reference to the vault.
- [3898] Easy Init: Improve handling for empty state.
- [3903] Fix type issues in PromptDialog with external prompting.
- [3718] Deploy AI/ML studio online endpoints with host
ml.endpoint. Starter templatesazd-ai-starterandazd-aistudio-starterare available to get started with ease. - [3840] Filter templates when running
azd initorazd template listwith--filter - .NET Aspire:
- [3822] Fix Aspire KeyVault references in manifest files
- [3858] Allow overriding location for Aspire bicep modules
- [3821] Support running
azd initin Aspire app host directory - [3848] Add "Demo Mode" which hides subscription IDs
- [3828] Update Bicep CLI to version 0.26.170.
- [3800] Write ACA Container Manifests in the
infradirectory under the AppHost duringinfra synth.
Note: If you had previously used infra synth, you will need to move the container app manifests from their old location to the new one for azd to use them. If you do not do so, azd will generate the default IaC based on your current app host. To do this, move the containerApp.tmpl.yaml file in the manifests folder under each individual project into an infra folder next to the .csproj file for your project's Aspire App Host and rename it from containerApp.tmpl.yaml to <name-passed-to-AddProject>.tmpl.yaml (e.g. apiserver.tmpl.yaml, if you write builder.AddProject<...>("apiserver")).
- [3804] Add user vault storage for development secrets
- [3755] Store
secure()Bicep parameters outside source tree
- [3788] Avoid panic in prompting with option details
- [3796] Fix
env refreshfailing when no bicep files are present - [3801] Fix
azd provisionfailing for.bicepparamfiles
- [3798] Update provider.tf files with skip_provider_registration = "true"
- [3731] Support Data Protection Runtime feature for .NET Aspire in ACA under feature flag
azd config set alpha.aspire.autoConfigureDataProtection on - [3715] Improved security to prevent committing an environment to the repository
- [3748] Fix cross-build configuration
- [3569] Adds
--from-codeflag to initialize from existing code when runningazd init - Dotnet Aspire:
- [3589] Secrets are now marked as secure() in
container-app.bicepandcontainer-app-upsert.bicep. Thanks @pamelafox for the contribution - [3594] Updates Node.js version to 20 for templates and pipelines
- [3578] Updates Node.js version to 20 for installing
azdGitHub Action
- [3651] Fixes trailing comma for
todo-nodejs-mongo-akstemplate's invalid url in GitHub Action - [3638] Fixes
InvalidAuthenticationTokenTenanterror - Dotnet Aspire:
- [3522] Fixes typo in
next-steps.md. Thanks @mikekistler for the contribution - [3495] Updates
infra/coreto adapt more azdevify templates - [3171] Updates web project
react-fluentuito usevite
- [3450] Adds support for pushing container images to external container registries
- [3452] Adds support for other clouds
- Dotnet Aspire:
- [3381] Removes session
containerandmanifestcaching - [3407] Fixes docker build/package for Aspire projects
- [3418] Fixes issues where deploying to AKS fails when service does not build any container
- [3445] Fixes concurrent map issues in dev center client
- [3390] Fixes issues where the ADE configuration was not being refreshed during
azd initorazd provisionin dev center - [3382] Cleans empty secrets and variables before setting them again
- [3448] Fixes issues where
azd infra synthdoesn't generate autogenerate inputs - [3506] Fixes service config handlers referencing stale components
- [3513] Fixes rules for setting secret environment variables in Aspire
- [3516] Fixes issues where output bicep is invalid when using dash in resource names
- [3357] Allows selection on existing environments when default environment isn't set
- [3282] Updates
azure-dev.yamlforazd-starter-bicep. Thanks @IEvangelist for the contribution - [3334] Adds MySQL to bicep core. Thanks @john0isaac for the contribution
- [3413] Adds Azure App Configuration store to bicep core. Thanks @RichardChen820 for the contribution
- [3442] Updates AKS template tests without playwright validation
- [3478] Updates
azdto use default http client
- [3375] Fixes issues deploying to AKS service targets
- [3373] Fixes resolution of AZD compatible templates within azure dev center catalogs
- [3372] Removes requirement for dev center projects to include an
infrafolder
- [3269] Adds support for external/prebuilt container image references
- [3251] Adds additional configuration resolving container registry names
- [3249] Adds additional configuration resolving AKS cluster names
- [3223] Updates AKS core modules for
azdto easily enable RBAC clusters - [3211] Adds support for RBAC enabled AKS clusters using
kubelogin - [3196] Adds support for Helm and Kustomize for AKS service targets
- [3173] Adds support for defining customizable
azd upworkflows - Dotnet Aspire additions:
- [3155] Adds support to define secrets and variables for
azd pipeline config.
- [3097] For Dotnet Aspire projects, do not fail if folder
infrais empty.
- [2998] Adds support for Azure Storage Tables and Queues on Aspire projects.
- [3052] Adds
targetargument support for docker build. - [2488] Adds support to override behavior of the KUBECONFIG environment variable on AKS.
- [3075] Adds support for
dockerfile.v0on Aspire projects. - [2992] Adds support for
dapron Aspire projects.
- [2969] Relax container names truncation logic for Aspire
redis.v0andpostgres.database.v0. Truncation now happens above 30 characters instead of 12 characters. - [3035] .NET Aspire issues after
azd pipeline config. - [3038] Fix init to not consider parent directories.
- [3045] Handle interrupt to unhide cursor.
- [3069] .NET Aspire, enable
admin userfor ACR. - [3049] Persist location from provisioning manager.
- [3056] Fix
azd pipeline configfor resource group deployment. - [3106] Fix
azd restoreon .NET projects. - [3041] Ensure azd environment name is synchronized to .env file.
- [3044] Sets allowInsecure to true for internal services on Aspire projects.
- [2767] Adds support for Azure Deployments Environments.
- [2893] Added command
azd show. - [2925] Promote simplified
azd initand Cloud Native buildpacks features to beta
- [2787] Added
azd config showand deprecatedazd config list.
- [2887] Update the subscription and location information during
azd provision.
- [2845] Feature Clickable Template Links in Terminal (azd template list). Thanks @john0isaac for the contribution
- [2829] Feature Display the Subscription Name and ID (azd provision). Thanks @john0isaac for the contribution
- [2858] Fixes issue with running VS Code Tasks that rely on environment configuration path.
- [2837]
azd downdoes not clear provision state.
- [2725] Adds support for provision state to the bicep provider.
- [2765] Support for remote environments.
- [1642] A new
azd hooks runcommand for running and testing your hooks.
- [2793] Support user defined types for the bicep provider.
- [2543]
azd packagenow allows users to specify--output-pathparameter to control the output location of file-based packages. - [2302]
azd config --helpdoesn't show help forAZD_CONFIG_DIR. - [2050]
azd initnow supports--subscription. - [2695]
azdnow honors@allowedlocations in Bicep to filter the list of possible deploy locations. - [2599] ARM64 support is now generally available.
- [2683] Bicep installer prefers MUSL variant over glibc.
- [2794] When running
azd init, the Starter - Bicep template is unavailable.
- [#2796] Update
terraformprovider from alpha to beta.
- [2737] Update bicep to 0.21.1
- [2696] Support filtering for azd location in bicep
- [2721]
azd packagesupport for user specified output paths - [2756] Minor enhancements to simplified init
- [2719] Fix mistypes in soft delete warning message
- [2722] Prefer glibc based Bicep when both musl and glibc are installed
- [2726] Mention
AZD_CONFIG_DIRinazd config --helphelp text
- [2573] Adds support for custom template sources.
- [2637] Awesome azd templates are now shown by default in
azd inittemplate listing. - [2628] Support for
.bicepparam. - [2700] New simplified
azd initto initialize your existing application for Azure (alpha feature) - [2678] Support for Cloud Native Buildpacks (alpha feature)
- [2624] Fix provisioning deployment display not showing progress when certain errors occur.
- [2676] Fix
buildArgssupport for docker build. - [2698] Fix
azd auth logindefault browser prompt in Codespaces environments. - [2664] Fix
azd auth loginlogin loop after upgrading to 1.2.0. - [2630] Fix coloring for ignored operations in
azd provision --preview
- [2660] Starter templates now include
corelibraries by default.
- [2550] Add
--previewtoazd provisionto get the changes. - [2521] Support
--principal-idparam for azd pipeline config to reuse existing service principal. - [2455] Adds optional support for text templates in AKS k8s manifests.
- [2569] Fix
azd downso it works after a failedazd provision. - [2367] Don't fail AKS deployment for failed environment substitution.
- [2576] Fix
azd auth loginunable to launch browser on WSL.
- [2572] Decrease expiration time of service principal secret from default (24 months) to 180 days.
- [2500] Promoted Azure Spring Apps from
alphatobeta.
- [2364] Display docker output during
packageanddeploy. - [2463] Support
--docsflag for all azd commands to show official documentation website.
- [2390] Fixes unmarshalling of k8s ingress resources with TLS hosts
- [2402] Support for workload profiles in Azure Container Apps
- [2428, 2040] Include current git branch in GitHub federated credentials
- [1118] Add
azdas a devcontainer feature. Thanks aaronpowell for their contributions to this feature and for updating our templates to use this new feature!
- [2266] Support for buildArgs on Docker builds.
- [2322] Support Azure Spring Apps consumption dedicated plan.
- [2348] Support purging Managed HSMs.
- [2362] Prevent more errors from interrupting console progress.
- [2366] Fixes issue where hooks inline script slashes are replaced.
- [2375] Store numeric values with leading zeros in .env correctly.
- [2401] Fix the application url fetched from ASA consumption plan.
- [2426] Fix saving of subscription and location defaults.
- [2337] Update device-code auth flow.
- [2300] Fix
azd auth loginfailing with error "reauthentication required: runazd auth loginto log in" due to stale cache data.
- [2279] Fetch k8s GPG key from alternate location.
- [2278] Remove infrastructure outputs from .env on azd down.
- [2274] Change AKS service spec 'targetPort' from int to string.
- [2245] Add support to login to Azure Container Registry with current identity.
- [2228] Add error classification and reporting for external errors to
azd. - [2219] Support environment name as explicit argument for
azd env refresh. - [2164] Add timing information on
up,package,build,provision,deploy,downandrestorecommands.
- [2157] Add
Daprand container configuration properties to Azure Container Apps modules.
- [2257] Add purge option of cognitive accounts for
azd down. - [2243] Return error when login fails.
- [2251] Create an
alphaversion of azure.yaml schema withterraform. - [2028] Add check on required role assignments for
azd pipeline config.
- [2218] Update
azd pipeline configdefault roles to includeUser Access Administrator. - [2185] Improve error messages on
authcommand.
- [2177] Use information in
.installed-by.txtto advise the user on how to upgrade azd. - [2183] Statically link CRT in MSI custom action.
- [1808] Support for Azure Spring Apps(alpha feature).
- [2083] Allow resource group scope deployments(alpha feature).
- [2066]
azdno longer assumesdotnetby default whenservices.languageis not set, or empty inazure.yaml. If you receive an error message 'language property must not be empty', specifylanguage: dotnetexplicitly inazure.yaml. - [2100] As a follow up from the change for azd up ordering, automatic
.envfile injection when buildingstaticwebappservices have been removed. For more details, read more about Static Web App Dynamic Configuration below. - [2126] During
azd pipeline configcommandsazdwill no longer store non-secret configuration values in GitHub secrets and instead will be stored in GitHub variables. Non-secret variables should be referenced using thevarscontext instead of thesecretscontext within your GitHub actions. - [1989] Refactor Container App service target. Deploy will fail if you are using Azure Container Apps that are not deploying the Azure Container Apps resources as part of the initial
provisionstep.
- [2071] Fix
azd config resetcausing a logout to occur. - [2048] Fix
azd downdeletion on an empty resource group environment. - [2088] Fix error when running
azd pipeline config --provider azdoon Codespaces. - [2094] Add error check for pipeline yml file and ssh interaction when running
azd pipeline config.
- [2013] Fix
load template missingerror inazd env list. - [2001] Fix Azure Container Apps CORS strategy for Java, NodeJs and Python.
- [2026] Improve provisioning performance for
dotnetservices by batchingdotnet user-secretupdates. - [2004] Improve error message when no subscriptions are found.
- [1792] Add
java postgresql terraformtemplate. - [2055] Add new starter templates for bicep and terraform.
- [2090] Update todo templates names and descriptions.
This change affects staticwebapp services that are currently relying on azd provided .env file variables during azd deploy. If you have an application initialized from an older azd provided Static Web App template (before April 10, 2023), we recommend adopting the latest changes if you're relying on .env variables being present. A way to check whether this affects you is by looking at contents in azure.yaml:
Old, uptake needed:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: <your project>
metadata:
template: todo-nodejs-mongo-swa-func@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: staticwebapp
api:
project: ./src/api
language: js
host: functionNew, no changes necessary:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: <your project>
metadata:
template: todo-python-mongo-swa-func@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: staticwebapp
hooks:
predeploy:
posix:
shell: sh
run: node entrypoint.js -o ./build/env-config.js
continueOnError: false
interactive: false
windows:
shell: pwsh
run: node entrypoint.js -o ./build/env-config.js
continueOnError: false
interactive: false
api:
project: ./src/api
language: py
host: functionFrom the example above, dynamic configuration can still be generated from azd .env files by creating a predeploy hook that embeds the configuration into web assets. See an example change here.
- [#1931] Support *.war and *.ear java archive files, and specify a specific archive file if multiple archives are present.
- [#1704] Add
requiredVersionstoazure.yaml. - [#1924] Improve UX on
azd down. - [#1807] Retrieves credentials using the token endpoint on
CloudShell.
- [#1923] Fix
Python CLI not installederror when Python is installed. - [#1963] Update GitHub federated auth token provider to allow for fetching of tokens when tokens expire.
- [#1967] Display provisioning resources in
Failedstate. - [#1940] Detect and update environment changes before and after hook executions.
- [#1970] Fix
pipeline configissues on Codespaces forGitHub cliandgit cliauth. - [#1982] Ensure directory has user "execute" permissions.
- [#1715] Adding feature alpha toggle:
- Moving terraform provider as alpha feature. Use
azd config set alpha.terraform onto have it enabled.
- Moving terraform provider as alpha feature. Use
- [#1833] Deploy from existing package using
--from-packageflag.
- [#1715] Using
terraformas provisioning provider will fail and require user to enable terraform runningazd config set alpha.terraform on. - [#1801] Restructuring specific command flags.
azd upno longer runsazd init. As a result, the following flags have been removed fromazd up:--template/-t--location/-l--branch/-b--subscription
- Use of
--serviceand--no-progressinazd upis being deprecated. azd deploynow accepts a positional argument. Useazd deploy <web>instead ofazd deploy --service <web>- Deprecate
--no-progressflag as it currently does nothing. A warning message is shown when used. - Hide
--outputflag in the usage printout to correctly reflect the current it's current alpha-preview status. The output contract for structured schema such as JSON has yet been finalized.
- [#1804] Adjust command aliases.
azd loginandazd logoutare now available asazd auth loginandazd auth logoutrespectively.azd loginandazd logoutare still available for use, but will be removed in a future release.azd infra createandazd infra delete, which have always been aliases forazd provisionandazd down, are now deprecated. The commands are still available for use, but will be removed in a future release.
- [#1824] Add working directory sensitivity for
restoreanddeploy.azd deploywill now deploy the current service, when the current working directory is set to a service directory.azd deploywill deploy all services, when the current working directory is set to the project directory containingazure.yaml- In other directories,
azd deploywill not attempt a deployment and instead error out with suggestions.azd deploy --allcan be used to deploy all services, orazd deploy <service>to deploy a given service always.
- [#1752] Ask fewer questions during
init.azd initwill now only prompt for the environment name. Azure subscription and location values are prompted only when infrastructure provisioning is needed, when runningazd provision, and consequently when runningazd up.
- [#1734] Fix setting
AZURE_PRINCIPAL_IDon multi-tenant directory. - [#1738] Fix generating auth token on multi-tenant directory.
- [#1762] Allow local files to be kept when running
init. - [#1764] Enhance zip-deploy during build for:
- Python: Do not include virtual environments for python.
- Node: Update node modules detection to exclude it from build.
- [#1857] Adds
packagecommand hooks to azd schema. - [#1878] Ensure default generated docker repo/tags are all lowercase.
- [#1875] Fixes panic for
postpackagehook errors.
The behavior of azd up -t <template> can be reproduced with:
cd <empty dir>
azd init -t <template>
azd upThe new behavior is as follows:
azd deploywill now deploy the current service, when the current working directory is set to a service directory.azd deploywill deploy all services, when the current working directory is set to the project directory containingazure.yaml.- In other directories,
azd deploywill not attempt a deployment and error out with suggestions.azd deploy --allcan be used to deploy all services, orazd deploy <service>to deploy a given service always.
azd up now packages artifacts prior to running azd provision and azd deploy. This should not affect most users, with the exception of users that may be taking advantage of azd's environment values in packaging staticwebapp services. If azd up no longer works as expected, and you are currently taking advantage of azd's provided environment values to package your application, a predeploy hook may be used to generate configuration files from azd environment values. See the working example in our ToDo templates that leverage staticwebapp, example here. Note that script hooks automatically have azd environment values loaded in the shell environment.
- [#1515] Remove gh-cli as external dependency for
azd pipeline config. - [#1558] Upgrade bicep version to 0.14.46 and fetch ARM specific version on ARM platforms.
- [#1611] Updated formatting for displaying command's help.
- [#1629] Add support for Azure Kubernetes Service (AKS) target.
- [#1631] Fail fast during
azd initwhengitis not installed. - [#1559] No feedback output during provisioning some templates.
- [#1683] Fix
azd pipeline configto honor provider fromazure.yaml. - [#1578] Fix crash while running
azd login, due to a tenantDisplayNamebeing nil.
Thanks to community members: @pamelafox, @tonybaloney, @cobey for their contributions in this release.
- [#1527] Fix running specific commands with
--output jsoncausing stack overflow errors to occur. - [#1534] Fix running commands with
-e <environment name>flag or withAZURE_ENV_NAMEset not being respected. When running in CI environments, this caused prompting to occur, and failing if--no-promptis specified.
-
[#1236] Support for command and service hooks
-
[#1414] Support for installation via Homebrew. Windows Package Manager, and Chocolatey are also now supported.
-
[#1407] Improve UX styling for
azd pipeline config. -
[#1478] Support for multiple Azure tenants.
-
[#1345] Core bicep module
appservice.bicepnow supportsftpsStateas a parameter to configure FTPS upload behavior. -
[#1497] Core bicep module
appservice.bicepnow supportshealthCheckPathas a parameter to configure the health-check endpoint. -
[#1403] Core bicep module
apim-api.bicepnow links Web App or Function App instances. This allows users on the Azure Portal to navigate to the API management resource directly from the Web App or Function App.
- [#1406] On Windows, fix MSI installation not updating
azdin some cases (reported by @lechnerc77, fixed by @heaths) - [#1418] Display
provisionprogress for PostgreSQL server resources. - [#1483] For Python projects, skip packaging of virtual environment (
.venvfolders) - [#1495]
initnow restores file executable permissions and initializes agitrepository automatically. - [#1470] Improve performance of
azd --helpon Windows for domain-joined users. - [#1503] Fix display for Function App types in
provisionprogress
Thanks to community members: @pamelafox, @lechnerc77 for their contributions in this release.
- [#1394] Bug when running azd up with a template.
- [#1366] Login not possible with personal account after upgrade to 0.5.0.
- [#1311] Add support to install script with MSI on Windows.
- [#1312] Allow users to configure service endpoints using
SERVICE_<service>_ENDPOINTS. - [#1323] Add API Management Service support for all templates.
- [#1326] Add purge support for API Management Service.
- [#1076] Refactor the Bicep tool in azd to use the standalone API vs az command wrapper.
- [#1087] Add NodeJs and Terraform devcontainer.
- [#965] Add UX style for
azd init. - [#1100] Add Shell completion.
- [#1086] Add FederatedIdentityCredentials (FICS).
- [#1177] Add command
azd auth token. - [#1210] Have azd acquire Bicep.
- [#1133] Add UX style for
azd provision. - [#1248] Support
redirect portforazd login. - [#1269] Add UX style for
azd deploy.
- [#1129] Remove all dependencies on az cli.
- [#1105]
azd env newnow accepts the name of the environment as the first argument, i.e.azd env new <environment>. Previously, this behavior was accomplished via the global environment flag-e, i.e.azd env new -e <environment>. - [#1022]
azdno longer uses theazCLI to authenticate with Azure by default. You will need to runazd loginafter upgrading. You may runazd config set auth.useAzCliAuth trueto restore the old behavior of usingazfor authentication.
- [#1107] Fix Bicep path not found.
- [#1096] Fix Java version check for major-only release.
- [#1105] Fix
env newto use positional argument. - [#1168] Fix purge option for command
azd down --force --purgeto purge key vaults and app configurations resources.
If you have existing pipelines that use azd, you will need to update your pipelines to use the new azd login methods when authenticating against Azure.
GitHub Actions pipelines:
Update your azure-dev.yml to stop using the azure/login@v1 action, and instead log in using azd directly. To do so, replace:
- name: Log in with Azure
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}with
- name: Log in with Azure
run: |
$info = $Env:AZURE_CREDENTIALS | ConvertFrom-Json -AsHashtable;
Write-Host "::add-mask::$($info.clientSecret)"
azd login `
--client-id "$($info.clientId)" `
--client-secret "$($info.clientSecret)" `
--tenant-id "$($info.tenantId)"
shell: pwsh
env:
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}Azure DevOps pipelines:
Update your azure-dev.yml file to force azd to use az for authentication. To do so, add a new step before any other steps which use azd:
- pwsh: |
azd config set auth.useAzCliAuth "true"
displayName: Configure azd to Use az CLI Authentication.We plan to improve this behavior with [#1126].
- [#773] Add support for Java with Maven.
- [#1026], [#1021] New official templates: ToDo with Java on App Service, ToDo with Java on Azure Container Apps, ToDo with C# on Azure Functions
- [#967] New
azd configcommand for managing default subscription and location selections. - [#1035] Add terraform support for Azure Pipelines created using
azd pipeline config.
- [#1060] Fix color rendering on Windows.
- [#1011] Improve error printout for deployment failures.
- [#991] Fix
devcontainers.jsonto use non-deprecated syntax. - [#996] ToDo templates:
- Fix cases where provisioning of app settings would succeed, but app settings configuration would not take place.
- Move resource naming to
main.bicepand removeresources.bicepfrom templates.
- [#979] Fix provisioning template with non string outputs.
- [#979] Fix provisioning template with non string outputs.
- [#878]
azd downsupports purge of app configuration stores.
- [#925] Fix issues where running
azd infra createwith--output==jsonwould emit invalid JSON. As part of this change, we now no longer emit multiple objects tostdoutas part of an operation. Instead, progress messages are streamed in a structured way tostderr.
- [#691] Rearrange Terraform templates by extracting common resources and using these common modules.
- [#892] Simplify template bicep modules.
- [#795] Fix cases where clicking the Azure deployment progress link provided in
azd provisionmight result in a 404 NotFound error page due to timing. - [#755] Fix cases where
azd pipeline configmight fail in pushing the repository due to cached credentials.
- [#743] Azure DevOps support for pipeline config command.
- [#730] Fix hierarchical configuration keys for dotnet to show up correctly when stored as dotnet user-secrets. Thanks community member @sebastianmattar for providing the initial fix!
- [#761] Fix error in
azd deploywhen multiple resource groups are defined in bicep
- [#724] Fix version check for supporting Docker CE / Moby schemes.
- [#548] Refactor template bicep into modules.
- [#172] Implement Infrastructure Provision Provider Model.
- [#573] Add support for Terraform for infrastructure as code (IaC).
- [#532] Add Terraform support for Python template.
- [#646] Add Terraform support for Node.js template.
- [#550] Add C# + Azure SQL template.
- [#588] Update default view from
azd monitorto overview dashboard.
- [#461] Fix for using a command output other than JSON.
- [#480] Fix deploy error when using an environment name with capital letters.
- [#140] Add consistent resource abbreviations.
- [#245] Fix Windows installer script modifying
PATHenvironment variable toREG_SZ(reported by @alexandair)
- [#100] Add support for an optional
dockersection in service configuration to control advanced docker options. - [#152] While provisioning in interactive mode (default), Azure resources are now logged to console as they are created.
- [#117] When specifying a custom module within a service the configuration key has been changed from
moduleNametomoduleand accepts a relative path to the infra module.
- [#77] Use the correct command to log into the GitHub CLI in error messages. Thanks to community member @TheEskhaton for the fix!
- [#115] Fix deploy error when using a resource name with capital letters.
- [#188] Update the minimum Bicep version to
v0.8.9.
- Fixed an issue where passing
--helptoazdwould result in an error message being printed to standard error before the help was printed. - [#71] Fixed detection for disabled GitHub actions on new created repos.
- [#70] Ensure SWA app is in READY state after deployment completes
- [#53] SWA app is deployed to incorrect environment
Initial public release of the Azure Developer CLI.