Releases: Azure/bicep
v0.5.6
Highlights
- Bicep Public Registry
- Central repository of supported modules that are easy to use in your bicep projects
- By default, you have access to a module alias
public
which points to MCR and the repo of bicep content- This lets you access modules like so:
module foo 'br/public:<module-group>/<module-name>:<version>' = { ... }
- To view an index of available modules, check out the bicep-registry-modules repo
- This lets you access modules like so:
- We are JUST GETTTING STARTED. Expect us to continually add new modules, as well as make adjustments to requirements for new module contributions. This is new territory for us, so we have a lot to learn about "what makes a good public module?"
- Add a walkthrough to help new Bicep users get started (#6282)
- Add support to deploy a bicep file from VSCode (#6129)
- This is considered experimental in this initial release, so you must enable this in extension settings.
Features and bug fixes
Bicep team:
- Update types (#6447)
- added epoch functions (#6388)
- Stop adding transitive edges in the visualizer (#6310)
- fixed codegen for nested resource loops with complex parent index expressions (#6374)
- Property value flag should flow through ternary and parenthesized expressions (#6231)
- Lightbulb for editing config file, cmd to create config file (#6187)
- Commands should always be enabled in cmd palette (#6296)
- Fix null 'name' property for resource to cause an error. (#6348)
- Apply SimplifyInterpolationRule to all expressions (#6152)
- Remove unused CLI help for --no-summary option (#5980)
- Anonymous module artifact fetch when encountering status 403 (#6284)
- Support array in (last)indexOf function (#5627)
Docs and snippets
- add mg snippet (#6345)
- Updated IOT, general and management visualizer icons (#5380)
v0.4.1318
Mostly some bug fixes we were eager to get out, but this release also introduces support for pulling from ACR instances that have anonymous access enabled
Highlights
Bug fixes and other features
Bicep team:
- Emit API version for conditional module output references (#6009)
- Missing resources' top-level properties generates Warning instead Error diagnostics (#6089)
- Fix parameter passing for resource->object params (#6090)
- Properly report warnings to MSBuild (#6004)
v0.4.1272
Highlights
- Location-related linter rules (#5609)
- Updated types to 0.1.400 (#5942)
- Includes types for Azure Container Apps (
microsoft.web/containerApps
µsoft.web/kubeEnvironments
)
- Includes types for Azure Container Apps (
- [BREAKING CHANGE] Renamed linter rule error code for
commandToExecute
(#5591)use-protectedsettings-for-commandtoexecute-secrets
has been renamed toprotect-commandtoexecute-secrets
- If you have chosen to disable the rule in
bicepconfig.json
or via the#disable-next-line
directive, you will need to use the new error code. Apologies for not making this known further in advance.
Other features and bug fixes
Bicep team:
- Fixes for various minor decompiler issues (#5887)
- Support .list() on a variable reference to a resource (#5869)
- Suppress 'Report an issue' on .NET acquisition failure (#5871)
- Use named pipes for LSP communication (#5859)
- Support pipe & socket flags for language server startup (#5852)
- Use default built-in codespace image (#5746)
- Add nuget packages for Bicep.Core & Bicep.Decompiler (#5826)
- Avoid parsing snippets with placeholders (#5858)
- Reword scope errors to clarify behavior (#5860)
- Add support for publishing ARM template files (#5794)
- Improve bicepconfig contents default (#5444)
- Linter perf improvement - cache LinterAnalyzer in BicepCompilationManager (#5578)
- Adding fix to process 64 bit integers correctly. (#5791)
- Set assigning an expression to a read-only property diagnostic to always be a warning (#5509)
- [EXPERIMENTAL ONLY] Add resource types in outputs and parameters (#4971)
- Add basic limits for # of params, outputs, vars and resources (#5638)
- Added deployment().properties.template.contentVersion property (#5727)
- Add items well-known function to Bicep.Decompiler (#5409)
Docs and snippets
v0.4.1124
Highlights
Bicep team:
-
"Insert Resource" command implementation (#4945)
-
Implement type completions & validation for resource
list*()
functions (#5145). You will now get completions for cases like:resource stg 'Microsoft.Storage/storageAccounts@2019-04-01' = { ... } var keys = stg.
-
Updated to .net 6 (#4936)
-
Add ability to suppress next line diagnostics inline (#5107). For example:
#disable-next-line BCP081 resource stg 'Microsoft.Storage/storageAccounts@2024-01-01' existing = { name: 'foo' }
-
Visualizer improvements (#5158)
-
New linter rules
-
Added descriptions for function completions. (#5398)
-
removing docs from github repo (#4978)
- All docs now available at https://aka.ms/bicep
Bug fixes and features
Bicep team:
- Update error message for
if()
& addif-else
snippet (#5302) - Improve parser handling of single-line array/object (#4956)
- Migrate brew to https://github.com/Azure/homebrew-bicep (#5039)
- Fix highlight.js finding keywords in strings (#5128)
- Add other useful CLI utils to devcontainer (#5137)
- Remove "preview" flag from VSCode extension (#5140)
- Flow declared type information to function arguments (#5188)
- Speed up playground (#5300)
- bicep restore now logs restore failure diagnostics (#4985)
- support digests in
br
module references (#5024) - Updated to c# 10 (#5198)
- added win-arm64, linux-arm64, and osx-arm64 targets (#5346)
- Fix an issue where module references are not refreshed when cloud config changes (#4916)
- Allow publishing modules with aliases (#4926)
- Implement go2def for module references with aliases (#4934)
- Add telemetry for all registered commands (#5218)
- RG().location/et al => location param in snippets (#5226)
- Added support for description upon completions (#4999)
- Improve
string
+string
error message (#5075) - Cleaned up description decorator logic to allow loops (#5160)
- Improve test execution time (#4889)
- Remove light bulb that allows disabling linter rules in the bicep.config (#5314)
- Update disable next line string in light bulb (#5332)
- Add telemetry for linter rule changes in bicepconfig.json (#5312)
- Log telemetry about linter state on bicep file open (#5352)
- Updated linter related telemetry event names (#5369)
- Log telemetry on bicep file open (#5373)
- adding devcontainer support (#4974)
- Increase exposure of 'Open Visualizer' command in context menus (#4977)
- updated Networking visualizer icons (#5130)
- Updated Compute and Web visualizer icons (#5168)
- database, security, storage visualizer icons (#5203)
- updated ai, analytics, containers, devops and identity Visualizer icons (#5240)
- Allow using parameter as value for a discriminator property (#4887)
- Update required SDK (#5274)
- Update the PackageProjectUrl (#5235)
- Bicep nuget packages fixes (#5254)
- Fix access to the same test file (#5329)
Docs and snippet updates
- Update Cosmos DB snippets (#5038)
- fix: correct "as" typo to "at" (#5182)
- Added --no-restore to CLI help (#5385)
v0.4.1008
UPDATE (10/15/21 2:31PM PT):
We forgot to account for Az CLI and Azure PowerShell updates that need to be made in order to expose the new publish
and restore
commands. As a workaround, you will need to run these commands directly with the bicep CLI. If you are installing the bicep CLI automatically via Az CLI, then the binary is most likely located at either %USERPROFILE%\.azure\bin
on windows or $HOME/.azure/bin
on macOS or Linux. You can then add this directory to your PATH and run bicep publish file.bicep --target 'br:foo.azurecr.io/myModule:v1.0'
. Apologies for this oversight.
Highlights
Bicep team:
- Private Module registry support
- Documentation:
- Note: This does not include support for a planned public registry which will be released with Bicep v0.5 (ETA early November)
- Implement TemplateSpec module references (#4269)
- Template specs can be used as a source for modules (documentation available soon)
- Overview of template spec references from our recent community call
- Example:
module tsDeploy ts:<<SUB-GUID>>/<<RG-NAME>>/<<TEMPLATE-SPEC-NAME:<<VERSION>> = {...}
- Example with alias:
module tsDeploy ts/myAlias:<<TEMPLATE-SPEC-NAME>>:<<VERSION>> = {...}
- Add
items()
function to Bicep in order to convert a dictionary to an array (#4456)- Documentation available soon
- Community call walkthrough
- Add support for
tenant()
&managementGroup()
functions for retrieving scope metadata (#4478)- Documentation available soon
- Community call walkthrough
- Expanded hover support
- Can now add
@description
decorators to variables, resources, modules, outputs which will be displayed on hover (#4091)
- Can now add
- Add lightbulb option to disable linter rule (#4493)
- Add "build" command to tab context menu (#4155)
- rule: adminUsername-should-not-be-literal (#4702)
- Support symbolic management group references to be used as scopes (#4476)
- If you have a symbolic reference to a management group, you can now pass that as a scope for an management group scoped module
Bug fixes and features
Bicep team:
- removed warning about allowed scopes for scope functions (#4784)
- Fix for exception compiling
listKeys()
on resource array access (#4282) - Add errors for 2 unsupported decompiler features (#4375)
- Fix integer-key property access expression generation (#4385)
- Add decompilation support for null(), true() & false() (#4273)
- Allow use of
existing
parent resource scope if it is a valid deployment scope (#4394) - Fix cycle detection with resource access syntax (#4684)
- Display function overload description on hover (#4669)
- Avoid optimizing empty string interpolation expression (#4683)
- Fix unhandled exception and stack overflow for resource parent property assignments (#4384)
- Change array merging behavior to "replace" for Bicep configs (#4767)
- module path completions do not show up url encoded (#4708)
- Ensure snippets and other completions use \n (#4180)
- Watch for creation/deletion/modification of local bicepconfig.json file (#4038)
- Fix exception thrown in CLI when bicepconfig.json is invalid (#4348)
@CoachAlexis
- Add icons (#4344)
- Simplification of expressions on decompile (#4482)
- In-lining Resources and Modules when assigned to a variable (#4069)
- Fix using existing resource of a discriminated type based on a property other than name (#4407)
- Fixed generating scope for looped modules and nested resources (#4639)
- Sort required properties first in completion (#4562)
- Add = to completion (#4599)
- Add a codefix for BCP035 (#4570)
Docs, examples, snippet updates
Bicep team:
- Bump Homebrew to the current release (#4560)
- Snippet res-rg - removed single quotes (#4275)
- guest config snippets (#4243)
- better version example; only reinforce identity for extension (#4309)
- Readme - Build badge should link to build results (#4431)
- Logic App Workflow and Integration Account Snippet (#3919)
v0.4.613
Highlights
Bicep team:
- Implement goto for resource and variable property accesses, module paths, params and outputs (#3690)
- UX improvements for Bicep visualizer: added icons, themes, etc. (#3736)
- Ability to build a bicep file from VSCode file context menu (#3708)
- Fixed some significant perf issues for bicep projects with many modules
Bug fixes and features
Bicep team:
- Improve performance of
no-hardcoded-env-urls
linter rule (#3833) - Various perf fixes to minimize linter CPU impact (#3852)
- No more warnings when assigning value of "any" type to a discriminator property (#3805)
- Block property loops inside operators or function calls (#3799)
- Remove empty line in required-properties snippet insertion (#3721)
- Suppress function placement validation on a module that couldn't be read. (#3832)
Docs, examples, snippet updates
Bicep team:
- fixes a couple of bugs in aks samples (#3912)
- Update homebrew to v0.4.451 (#3887)
- Updated link to Bicep PS module repo in README (#3892)
v0.4.451
Highlights
Hotfix to remove the build summary that was added in v0.4.412 (#3686). We emitted this to the stderr stream which was causing CI/CD scenarios to stop working.
Docs, Examples, and Snippets
Bicep team:
- Update docs for list* functions (#3641)
@emilguden
- Created resourceGroup-snippet (#3637)
- Update homebrew to v0.4.412 (#3687)
v0.4.412
Highlights
Bicep team:
- Add list method call on Azure resource references (#3430)
- instead of
listKeys(stg.id, stg.apiVersion)
, can now dostg.listKeys()
- intellisense for these functions is not yet available, but will be addressed with #667 at a later date.
- instead of
- Add support for JSON literal string conversion (#3510)
- provides type awareness/intellisense for json strings. Try
json(loadTextContent('stuff.json'))
.
- provides type awareness/intellisense for json strings. Try
- More complete & accurate Azure resource types (#3591)
- should no longer see cryptic type names. May notice more type warnings that were not caught earlier.
- Add support for using local json templates as modules (#3367)
- Add support for object body completion snippets (#3254)
- the
required-properties
completion shows up in more places.
- the
- Functions to include file's content as string or entire file as base64 (#2501)
- Known top-level properties does not block compilation if not defined in the resource schema (#3519)
Bug fixes and features
Bicep team:
- Expand validation for extra '/' characters in resource names (#3025)
- Fix for decompiler module handling overwriting contents (#3268)
- Decompiler should place param description first (#3143)
- Support snippet tab stop syntax (#3534)
- Update homebrew to v0.4.63 (#3079)
- Use Multicore JIT (#3112)
Docs, examples, and snippet updates
Bicep team:
- Update contribution guidelines for examples (#3123)
@emilguden
- expressRouteCircuitSnippet (#3004)
- Applied name change, wvd became avd (#3198)
- Fixed spelling errors for Issue 3369 (#3370)
- New snippets for Azure Policy resources (#2942)
- Suggesting addition of Shared Image Gallery and Azure Image Builder modules for WVD Backplane Example (#3002)
- Multiple Bug fixes + rename of WVD Backplane Example 201 to new AVD convention (#3286)
- remove some redundant params (#3105)
- fix broken link in no-hardcoded-env-urls.md (#3056)
- Update loops.md (#3141)
- created definition with parent because it depends (#3164)
v0.4.63
Highlights
- Fixed a critical perf issue on macOS (#3044)
Bug fixes and features
Bicep team:
- Fix Bicep playground (#2991)
- Fix span calculation in ValidateSnippetCompletionAfterPlaceholderReplacements (#3021)
- Put param/var names in linter messages where "Unused" (#2899)
- Make DTC error messages more informative (#2941)
- Block completions at positions where nodes should not be inserted (Part II) (#2995)
- Port arm tools snippets - part 6 (#2782)
Docs, examples, and snippet updates
Bicep team:
- edits for ttk use (#2989)
- Additional samples for the 000 level syntax examples (#2896)
- Update homebrew to v0.4.1 (#2971)
- Remove duplicate 'get' from keyvault snippet (v2) (#2967)
- improves sql-database-with-management example (#2970)
- 301-log-analytics-with-datasources-solutions (#2932)
v0.4.1
Highlights
Bicep team:
- Linter MVP (#2341)
- Strip out deprecated parameter modifier syntax (#2870)
- this removes support for the already deprecated
param foo string { minLength: 3 }
modifier syntax - new syntax (i.e.
@minLength(3)
) is documented here
- this removes support for the already deprecated
- More snippets
- More bug fixes
Other features and bug fixes
Bicep team:
- Bump types nuget -> 0.1.157 (#2898)
- Improved handling of array access base expression union types (#2696)
- Removed static analysis false positive (#2867)
- Blocked non-object assignment to module
params
(#2875) - improved union type normalization (#2886)
- Fix a regression in nested resource completion (#2727)
- Handle more (if not all) corner cases in DTC validation (#2769)
- Intellisense for bicepconfig.json within vscode (#2874)
- Initial changes to add telemetry (#2774)
- Fixed Key Vault Secret Reference usage with looped resource (#2872)
- managementGroup in module scope now generate as unqualified instead of tenantResourceId (#2719)
- Auto-close multi-line comments (#2843)
Docs, snippets, and examples
Bicep team:
@emilguden
- Api Management Instance Snippet (#2758)
- Update Homebrew to v0.3.539 (#2836)
- WVDcreate hostpool (#2770)