Skip to content

Releases: Azure/bicep

v0.8.2

01 Jul 20:54
78a65ae
Compare
Choose a tag to compare

Highlights

  • Add support for join() function (#7327)
  • Add deprecation notice for providers() function (#7365)
  • Add support for readonly resource types (i.e. built-in policy definitions) (#7397)
  • Remove setting for bicep deploy and make it available by default (#7349)
  • Updated types for 0.8 release (#7431)

Features and bug fixes

Bicep team:

  • Generate params: ensure parameters file is replaced in full (#7240)
  • Update LangServer CodeAction test to account for spans that have multiple proposed code fixes (#7369)
  • Add a linter rule to suggest using identifier tokens and property access for object properties when the property name permits it. (#6584)
  • Fixed type checking exception with overloaded binary operators and operands of any type (#7337)
  • Fixed dependency generation with existing resources (#7433)
  • Improve scaffolding experience with new config file (#7250)
  • Added default type definitions. (#7174)
  • Add validation for parent property (#7254)

@miqm

  • LoadJsonContent fix selecting multiple tokens and handling copy object property (#7293)
  • Load Functions' path argument completions and navigation (#7237)

@nonik0

  • Bicep Source Mapping (map ARM JSON lines back to Bicep source lines) (#6852)

@stan-sz

Docs and snippets

Bicep team:

  • Remove limitation from README (#7299)
  • Update contribution guide to mention that we are no longer taking example contributions (#7230)

@johnlokerse

  • Add Bicep snippets: res-lock and res-scoped-lock (#7085)

@mgreenegit

v0.7.4

13 Jun 18:19
5afc312
Compare
Choose a tag to compare

Highlights

Bicep team:

  • Allow single-line array and object declarations, and multi-line function declarations (#5830)
  • Various improvements to "Bicep Deploy" command in VS Code
    • Bicep deploy - additional params support (#7030)
    • Bicep deploy - update settings and walkthrough (#7143)
    • Fix duplicate recently used items issue in parameters file selection list (#7121)

@polatengin

  • Added Generate parameters file command which can be used in VS Code or via Bicep CLI (#6601)

@miqm

  • Added loadJsonContent function (#6563)
    • Will more efficiently generate final ARM Template, resulting in smaller files
    • Allows for JSONPath queries to load only part of the requested JSON file

Bug fixes and features

Bicep team:

  • Support name polymorphic discriminator on for-loop resources (#7158)
  • Insert Resource: Attempt API-version based lookup with generic fallback (#7163)
  • Preserve literal elements in string union types (#6933)
  • Update Bicep registry module tool to generate a description section in README (#7039)
  • Update types (#7157)
  • Create nuget package for bicep language server (#6803)
  • Fixed logic when parsing jToken values to handle negative integers. (#6900)
  • Improved error message for iterator loop warning. (#7122)

@nilshedstrom

  • Provide remove unused parameter/variable as quickfix. Fixes #5613 (#5804)

@stan-sz

  • Enforce no unused using with build break (#6978)

Docs and snippets

@johnlokerse

  • Added Bicep snippet for role assignment (#7026)

@metaxasa

  • Update README.md (#6647)

v0.6.18

13 May 16:44
46dd19e
Compare
Choose a tag to compare

Unfortunately, we had one more regression, so this release is primarily to fix #6823.

Bug fixes and features

Bicep team:

  • Avoid serializing and deserializing template specs (#6833)
  • Proper capitalization of commands (#6813)
  • Added changes to allow non-DTC values for name in existing resources. (#6778)

v0.6.11

11 May 16:36
cecfb5c
Compare
Choose a tag to compare

This release is primarily a hotfix for issue #6762.

Features and bug fixes

Bicep team

  • Return a transformed string literal from ARM transformation functions invoked with arguments that are all string literals (#6765)
  • Always show active editor first in quickpick (#6759)
  • Bicep deploy - put a clickable link to the deployment in the output after it starts (#6654)
  • Fix issue while inserting resource (#6808)

@vlahane

  • added --allowoverwrite flag to decompile (#6029)

v0.6.1

03 May 17:18
73193aa
Compare
Choose a tag to compare

Highlights

Bicep team:

  • Adding managementGroupResourceId function to Bicep (#6625)
  • Update types to 0.1.486 (#6729)

@miqm

  • File content is loaded into special variables (#6275)
    • will keep ARM Template file size smaller through more efficient code-generation when accessing properties of json(loadTextContent('myStuff.json'))

@slapointe

  • Add force modules restore support in CLI and VS Code (#6382)
    • will clear the local module cache and re-pull module registry references for cases where the registry content is different than the locally cached content.
    • In VS Code, search for the command Bicep: Restore Bicep FIle (force)
    • In CLI, run command bicep restore main.bicep --force
      • We do not yet support the --force flag in Az CLI or Azure PowerShell

Features and bug fixes

Bicep team:

  • Use function argument declared types (or function declared type signature when available) instead of resolved types (#6592)
  • Enforce .bicep extension on Bicep build command (#6609)
  • Convert createArray and createObject function calls to array and object literals, respectively. (#6645)
  • User-specified paths involving files named con on windows 10 no longer freeze the language server (#6636)
  • Fix 6437 Edit config with rule but no 'level' (#6440)
  • Add Insert Resource to context menus (#6695)
  • Add Scaffold Bicep Config snippet (#6600)

v0.5.6

08 Apr 21:04
5f2f88f
Compare
Choose a tag to compare

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
    • 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)

@jeskew

  • Apply SimplifyInterpolationRule to all expressions (#6152)

@matsest

  • Remove unused CLI help for --no-summary option (#5980)

@slapointe

  • Anonymous module artifact fetch when encountering status 403 (#6284)

@stan-sz

  • Support array in (last)indexOf function (#5627)

Docs and snippets

@egullbrandsson

@wedoazure

  • Updated IOT, general and management visualizer icons (#5380)

@StefanIvemo

  • Updated snippet descriptions to fix declarations.json "typos" (#6213)
  • Updated res-firewall snippet name (#6088)
  • Added Azure Firewall Policy Snippet (#6198)

v0.4.1318

12 Mar 01:10
ee0d808
Compare
Choose a tag to compare

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

  • Add support for public ACRs (#5990)
  • Update types to version 0.1.410 (#6184)

Bug fixes and other features

Bicep team:

  • Emit API version for conditional module output references (#6009)

@miqm

  • Missing resources' top-level properties generates Warning instead Error diagnostics (#6089)

@rynowak

  • Fix parameter passing for resource->object params (#6090)

@stan-sz

  • Properly report warnings to MSBuild (#6004)

v0.4.1272

12 Feb 00:59
a69022d
Compare
Choose a tag to compare

Highlights

  • Location-related linter rules (#5609)
  • Updated types to 0.1.400 (#5942)
    • Includes types for Azure Container Apps (microsoft.web/containerApps & microsoft.web/kubeEnvironments)
  • [BREAKING CHANGE] Renamed linter rule error code for commandToExecute (#5591)
    • use-protectedsettings-for-commandtoexecute-secrets has been renamed to protect-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)

@miqm

  • Set assigning an expression to a read-only property diagnostic to always be a warning (#5509)

@nilshedstrom

  • Provide adding decorators as quickfix. Fixes #1406 (#5544)

@rynowak

  • [EXPERIMENTAL ONLY] Add resource types in outputs and parameters (#4971)

@sammeel

  • Add basic limits for # of params, outputs, vars and resources (#5638)

@slapointe

  • Added deployment().properties.template.contentVersion property (#5727)

@stan-sz

  • Add items well-known function to Bicep.Decompiler (#5409)

Docs and snippets

v0.4.1124

15 Dec 20:05
66c84c8
Compare
Choose a tag to compare

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

    • no-unnecessary-dependson (#4838)
    • linter: use-protectedsettings-for-commandtoexecute-secrets (#4925)
    • linter rule: outputs-should-not-contain-secrets (#4716)
    • Linter rule to use stable VM image (#4883)
  • Added descriptions for function completions. (#5398)

  • removing docs from github repo (#4978)

Bug fixes and features

Bicep team:

  • Update error message for if() & add if-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)

@polatengin

  • adding devcontainer support (#4974)

@GKotfis

  • Increase exposure of 'Open Visualizer' command in context menus (#4977)

@wedoazure

  • 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)

@miqm

  • Allow using parameter as value for a discriminator property (#4887)

@stan-sz

  • 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

@johndowns

  • Update Cosmos DB snippets (#5038)

@johnnyreilly

  • fix: correct "as" typo to "at" (#5182)

@StefanIvemo

  • Added --no-restore to CLI help (#5385)

v0.4.1008

15 Oct 20:17
223b8d2
Compare
Choose a tag to compare

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
  • 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)
  • Add support for tenant() & managementGroup() functions for retrieving scope metadata (#4478)
  • Expanded hover support
    • Can now add @description decorators to variables, resources, modules, outputs which will be displayed on hover (#4091)
  • 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

@JimPaine

  • Simplification of expressions on decompile (#4482)

@miqm

  • 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)

@pakrym

  • Sort required properties first in completion (#4562)
  • Add = to completion (#4599)
  • Add a codefix for BCP035 (#4570)

Docs, examples, snippet updates

Bicep team:

@DamianFlynn

  • Bump Homebrew to the current release (#4560)

@egullbrandsson

  • Snippet res-rg - removed single quotes (#4275)

@mgreenegit

  • guest config snippets (#4243)
  • better version example; only reinforce identity for extension (#4309)
  • Readme - Build badge should link to build results (#4431)

@rajyraman

  • Logic App Workflow and Integration Account Snippet (#3919)

@StefanIvemo

  • Updated readme with links to learn path and docs.microsoft.com (#4036)
  • [Snippet] Added ExpressRoute Gateway snippet (#3920)
  • [Snippet] Added Route Server snippet (#3976)
  • Fixed bug in res-container-registry snippet (#4597)