Highlights
-
onlyIfNotExists GA! (#17996)
@onlyIfNotExists() resource onlyDeployIfNotExists 'Microsoft...' = { name: 'example' location: 'eastus' properties: { ... } }
-
[Experimental] Interactive
bicep console
command for REPL functionaltiy (#18152)console.mov
See Using the Console Command for additional information.
-
[Experimental] Interactive
bicep deploy
,bicep what-if
andbicep teardown
commands (#18041, #18052, #18053, #18096, #18104)deploy.mov
See Using the Deploy Commands for additional information and code samples.
-
[Experimental] Add
@validate()
decorator for custom validation (#17804) - requires theuserDefinedConstraints
feature flag@validate(x => startsWith(x, 'foo')) // <-- Accepts 'food' or 'fool' but causes the deployment to fail if 'booed' was supplied param p string
-
Add loadDirectoryFileInfo function (#17241) - thanks @GABRIELNGBTUC !
This function returns an array of objects for each file in the directory for you to use in your Bicep template.var directoryInfo = loadDirectoryFileInfo('./directory') var directoryInfoWildcard = loadDirectoryFileInfo('./directory', '*.txt')
-
Add an explicit
any
type (#17848)
Adds a new type symbol (any
). Anywhere type syntax is expected, users can now supplyany
:param foo any output bar any = foo func cowSay(toSay any) string => 'The cow says, "${toSay}"'
-
Remove
moduleIdentity
experimental feature (#17909)module mod './module.bicep' = { identity: { type: 'UserAssigned' userAssignedIdentities: { '${mid.id}': {} } } }
Bug Fixes and Features
- Bicep MCP server
- Bicepparam
- Fix a bug where source files with extensions cannot be published (#17808)
- Check for Windows Style Absolute Paths (#17995)
- Add
experimentalFeaturesWarning
(#17910) - Add "Creating a Local Extension with .NET" quickstart guide (#17726)
- Graph extension update dynamic types link (#17851)
- Automatically enable symbolic name compilation for resource/module collection access (#17861)
- [docs] Add information about trace verbosity (#18093)
- Do not require properties marked as readonly+required (#17913)
- Add & handle
readableScopes
+writableScopes
properties (#17849) - Inline existing resources with runtime names (#17904)
- Bug fixes for moduleExtensionConfigs experimental feature. (#17860)
- Fix quickstart instructions (#17759)
- Fix broken local-deploy links (#17846)
- Increase local deploy job timeout (#18040)
- Avoid returning internal information for extensible resource snapshot (#18119)
Community Contributions
- feat: BRM Tool - Removed deprecated
pathFilter
property from BRM version schema (#17720) - thanks @AlexanderSehr ! - Add fix to decompile desiredStateConfiguration resources (#17764) - thanks @Gijsreyn !
- Fix bicep decompile-params if file is different name (#17795) - thanks @Gijsreyn !
- Linter rule should exclude all metadata (#17667) - thanks @guimatheus92 !