winget install --id Microsoft.Bicep
About Bicep CLI
Bicep is a Domain Specific Language (DSL) for deploying Azure resources declaratively. It aims to drastically simplify the authoring experience with a cleaner syntax, improved type safety, and better support for modularity and code re-use. Bicep is a transparent abstraction over ARM and ARM templates, which means anything that can be done in an ARM Template can be done in Bicep (outside of temporary known limitations). All resource types, apiVersions, and properties that are valid in an ARM template are equally val...
What's new in 0.43.8
Features and Bug Fixes - Reverted the retryOn decorator to an experimental feature flag (#19604) - The retryOn experimental flag was removed in the previous release, but the feature is not yet enabled in template language version 2.0. This could cause validation errors during deployment for users relying on retryOn. This release restores the feature flag as a temporary workaround while backend support for template language version 2.0 is being rolled out. - Added build_bicep and build_bicepparam tools to the MCP server (#19602)
Version history
| Version | Updated | Notes |
|---|---|---|
| 0.43.8 | Unknown | Features and Bug Fixes - Reverted the retryOn decorator to an experimental feature flag (#19604) - The retryOn experimental flag was removed in the previous release, but the feature is not yet enabled in template languag... |
| 0.43.1 | Unknown | Highlights - @retryOn decorator is now GA! (#19454) Use the @retryOn decorator to retry a resource deployment if the deployment hits a specific error code. You can also specify how many times this retry should happen. Ex... |
| 0.42.1 | Unknown | Highlights - Bicep console GA! (#19261) - Bicep Role Definitions Function (#18457) properties: { roleDefinitionId: roleDefinitions('Data Factory Contributor').id principalId: scriptIdentity.principalId } Features and Bug... |
| 0.41.2 | Unknown | Highlights - Snapshot command is GA (#19084) Example usage: # capture a snapshot bicep snapshot main.bicepparam # validate a snapshot bicep snapshot main.bicepparam --mode validate # capture a snapshot with Azure context... |
| 0.40.2 | Unknown | Highlights - Multi-line interpolated strings GA! (#18666) Basic example: var s = $''' this is ${interpolated}''' With multiple $ characters: var s = $$''' this is $${interpolated} this is not ${interpolated}''' - [Experi... |
| 0.39.26 | Unknown | Highlights - [Experimental] Enhancements to bicep console command: - Support load* functions (#18413) - Support types & functions (#18261) - Improve line break handling (#18320) - [Requires the multilineStringInterpolati... |
| 0.38.33 | Unknown | Bug Fixes - Fix for incorrect error diagnostic on policyDefinitions existing resource usage (#18169) - Fix regression on secure inline object types and resource-derived string and object types (#18170) - Bicep.RpcClient... |
| 0.38.5 | Unknown | Bug Fixes and Features - Fix for incorrect error diagnostic on MSGraph existing resource usage (#18160) - Add library for interacting with Bicep CLI via JSONRPC (#18151) |
| 0.38.3 | Unknown | Highlights - onlyIfNotExists GA! (#17996) @onlyIfNotExists() resource onlyDeployIfNotExists 'Microsoft...' = { name: 'example' location: 'eastus' properties: { ... } } - [Experimental] Interactive bicep console command f... |
| 0.37.4 | Unknown | Highlights - [Experimental] Bicep MCP server (#17519, #17572, #17607, #17712). See Using Bicep MCP Server in VS Code (Preview!) for usage information. - [Experimental] Simplified C# authoring experience for Local Deploy... |
| 0.36.177 | Unknown | Highlights - Add Identity Snippets for Resources (#17335) - Update Bicep linter diagnostics to point to https://aka.ms/bicep/linter-diagnostics (#17390) - Mark conditional resources as nullable for the purposes of proper... |
| 0.36.1 | Unknown | Highlights - GA release for optional types in variables (#17055) // current variable syntax var foo = 'hello' // new variable syntax with optional type var foo string = 'hello' - Add userPrincipalName to deployer() funct... |
| 0.35.1 | Unknown | Highlights - GA release for the @secure() decorator on module outputs! You can now output secure values from a child module and read them in a parent module. (#16796) - Visual Studio Bicep extension support for .biceppar... |
| 0.34.44 | Unknown | Features and Bug Fixes - Use languageVersion 2.0 when an existing resource has an explicit dependency (#16670) - Validate regex patterns against non-backtracking engine (#16687) - Generate deterministic dependsOn (#16668... |
| 0.33.93 | Unknown | Highlights: - Address v0.33.13 language server crash/stack overflow (#16235) - Address v0.33.13 deployment failures when depending on looped resources in non-symbolic name templates (#16236) - Release Deployment Pane as... |
| 0.33.13 | Unknown | Highlights: - Paste as BicepParams (#15897) - Add resourceInput<> and resourceOutput<> utility types (#15825) We've added two new utility types (resourceInput<> and resourceOutput<>), which deprecates the existing resour... |
| 0.32.4 | Unknown | Highlights: - New deployer() function to retrieve ObjectId of the principal that is deploying the Bicep file (#15340) - Support partial public registry completions (#15646). Previously, if typing the entire module refere... |
| 0.31.92 | Unknown | Features and bug fixes - Revert "Only add an explicit dependency on an existing resource when the deployments engine will use the GET response" (#15524) - Don't collapse scope references or namespaces into objects (#1557... |
| 0.31.34 | Unknown | Highlights: - Improve ternary type inference (#15399) - Allow dependsOn for existing resources (#15459) - Tree-shake existing resources where possible (#15447) - Sort public registry module version completion items (#154... |
| 0.30.23 | Unknown | What's Changed - Support named pipe fallback for IPC in local mode on unsupported platforms (#15046) |