v0.4.1008
anthony-c-martin
released this
15 Oct 20:17
·
5843 commits
to main
since this release
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)