Skip to content

Releases: Azure/bicep

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)

v0.4.613

10 Aug 23:01
d826ce8
Compare
Choose a tag to compare

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)

@miqm

  • Suppress function placement validation on a module that couldn't be read. (#3832)

Docs, examples, snippet updates

Bicep team:

  • fix property reference (#3835)
  • Use symbolicName.id instead of resourceId in snippets (#3745)

@buzzfrog

  • fixes a couple of bugs in aks samples (#3912)

@ljtill

  • Update homebrew to v0.4.451 (#3887)

@StefanIvemo

  • Updated link to Bicep PS module repo in README (#3892)

v0.4.451

22 Jul 02:05
e14a1f9
Compare
Choose a tag to compare

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)

@MCKLMT

  • Update homebrew to v0.4.412 (#3687)

v0.4.412

15 Jul 23:44
f1169d0
Compare
Choose a tag to compare

Highlights

Bicep team:

  • Add list method call on Azure resource references (#3430)
    • instead of listKeys(stg.id, stg.apiVersion), can now do stg.listKeys()
    • intellisense for these functions is not yet available, but will be addressed with #667 at a later date.
  • Add support for JSON literal string conversion (#3510)
    • provides type awareness/intellisense for json strings. Try json(loadTextContent('stuff.json')).
  • 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.

@miqm

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

@MCKLMT

  • Update homebrew to v0.4.63 (#3079)

@stan-sz

  • Use Multicore JIT (#3112)

Docs, examples, and snippet updates

Bicep team:

  • Update contribution guidelines for examples (#3123)

@emilguden

  • expressRouteCircuitSnippet (#3004)

@fberson

  • Applied name change, wvd became avd (#3198)

@hgoodrow

  • Fixed spelling errors for Issue 3369 (#3370)

@jesseloudon

  • New snippets for Azure Policy resources (#2942)

@nicktolhurst

  • Adds build errors and warning summary to Bicep CLI (#3195)
  • CLI Refactor (#3460)

@SMBrook

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

@SimonCropp

  • remove some redundant params (#3105)

@StefanIvemo

  • fix broken link in no-hardcoded-env-urls.md (#3056)

@chwunder

  • Update loops.md (#3141)

@srozemuller

  • created definition with parent because it depends (#3164)

@tw3lveparsecs

  • 301 auto account example (#3023)
  • 201-budget-subscription-with-notifications (#3085)
  • 301-management-groups-nested-with-subscriptions (#3054)

v0.4.63

05 Jun 01:30
7ebed03
Compare
Choose a tag to compare

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)

@ChristopherGLewis

  • Additional samples for the 000 level syntax examples (#2896)

@MCKLMT

  • Update homebrew to v0.4.1 (#2971)

@Strepto

  • Remove duplicate 'get' from keyvault snippet (v2) (#2967)

@slavizh

  • improves sql-database-with-management example (#2970)

@tw3lveparsecs

  • 301-log-analytics-with-datasources-solutions (#2932)

v0.4.1

01 Jun 18:31
e238759
Compare
Choose a tag to compare

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

@miqm

  • Fixed Key Vault Secret Reference usage with looped resource (#2872)

@slapointe

  • managementGroup in module scope now generate as unqualified instead of tenantResourceId (#2719)
  • Auto-close multi-line comments (#2843)

Docs, snippets, and examples

Bicep team:

  • Linter doc updates (#2842)
  • Small readme tweaks, removed a known limitation (#2778)

@emilguden

  • Api Management Instance Snippet (#2758)

@MCKLMT

  • Update Homebrew to v0.3.539 (#2836)

@akasnik

  • WVDcreate hostpool (#2770)