Thanks to @captainhook for contributing the output-sensitivity corrections carried in #371 and the certificate serverFarmId normalization contributed through #386 and landed on main in #392.
Warning
v0.23.0 contains breaking changes. This module is still pre-1.0, so AVM publishes breaking changes in a minor release. Review the upgrade guidance below before applying.
Breaking changes and upgrade guidance
- Logic App Node.js default: Logic Apps that do not set
WEBSITE_NODE_DEFAULT_VERSIONmove from Node.js~18to~22. Validate workflows before applying, or setlogic_app_node_version = "~18"to retain the old runtime. (#344) - Logic App worker runtime: The module now sends Microsoft's documented
FUNCTIONS_WORKER_RUNTIME = "dotnet"instead of"node". Microsoft says this should not affect workflow execution. To retain the old value, setapp_settings = { FUNCTIONS_WORKER_RUNTIME = "node" }using that casing. (#379) - Removed outputs: Unused whole-resource outputs were removed from the certificate and configuration submodules. The root
deployment_slot_locks,resource_lock, andresource_private_endpointsoutputs were removed, anddeployment_slotsnow exposes only each slot'snameandresource_id. The rootresourceandprivate_endpointscompatibility outputs remain. Replace references with the available discrete outputs. (#369) - Output sensitivity:
custom_domain_verification_idis now sensitive. Mark downstream outputs as sensitive, or usenonsensitive()when publishing it to the publicasuid.<hostname>DNS TXT record. Resource and managed-identity IDs are no longer marked sensitive; existing downstreamsensitive = truedeclarations remain valid. (#371) - Explicit null collection inputs:
always_ready,backup,connection_strings,site_config,slots_storage_shares_to_mount_sensitive_values,sticky_settings, andstorage_shares_to_mountnow treat explicit null as absent and use their declared defaults. Remove explicitnullassignments when upgrading.retry = nullremains supported and continues to disable retries. (#374) - Flex Consumption app settings: New FC1 deployments no longer receive module-supplied
FUNCTIONS_EXTENSION_VERSIONorWEBSITE_CONTENTSHARE. Existing apps may retain previously written values because the underlying update resource merges settings; FC1 ignores them. Explicit caller-supplied app settings still pass through. (#380)
What's Changed
Features
- fix: validate conditionally required variables with clear messages by @andyleejordan in #349
- feat: let consumers keep an empty App Service Plan on delete by @andyleejordan in #350
Bug Fixes
- fix: normalize serverFarmId casing to stop a perpetual plan diff by @andyleejordan in #348
- fix: remove unsupported example retry limits by @andyleejordan in #361
- fix: stop certificate and hostname binding submodules proposing null removals by @andyleejordan in #343
- fix: correct Java linuxFxVersion strings for Linux sites by @andyleejordan in #347
- fix: let consumers set the Logic App Node.js version, default to ~22 by @andyleejordan in #344
- fix!: reject explicit null on collection variables with non-null defaults by @andyleejordan in #374
- fix: omit siteConfig properties Flex Consumption rejects by @andyleejordan in #345
- fix: honour resource_group_name on private endpoints by @andyleejordan in #346
- fix: omit null nested objects from config request bodies by @andyleejordan in #377
- fix: revert #377's unsafe null omissions by @andyleejordan in #384
- fix: complete the identity-based AzureWebJobsStorage connection by @andyleejordan in #376
- fix!: use the documented
dotnetworker runtime for Logic Apps by @andyleejordan in #379 - fix!: omit app settings Flex Consumption deprecates by @andyleejordan in #380
- docs: deprecate the identity_principal_id output alias by @andyleejordan in #381
CI and Hygiene
- fix: declare and wire the TFFR6/7/8 AzAPI variables in every module by @andyleejordan in #356
- fix: use the documented casing in the always_ready example by @andyleejordan in #355
- fix: clear the pinned AVM lint baseline by @andyleejordan in #363
- fix!: remove unused whole-resource outputs by @andyleejordan in #369
Other Changes
- fix!: correct sensitivity markers on site outputs by @andyleejordan in #371
- fix: track the AVM ruleset's renamed lint rules by @andyleejordan in #385
- fix: remove the unused helper provider requirement by @andyleejordan in #391
- fix: extend serverFarmId casing normalisation to the certificate submodule by @andyleejordan in #392
Full Changelog: v0.22.0...v0.23.0
Drafted by Copilot with GPT-5.6 Sol.