Skip to content

Releases: Azure/bicep

v0.25.3

07 Feb 01:08
8627085
Compare
Choose a tag to compare

Highlights

Bicep Team:

  • Compile-time imports is now GA! (#13150)
  • [EXPERIMENTAL] JSONRPC
    • Add new methods "version", "getMetadata", "getDeploymentGraph" and .NET test class (#12975)
    • Add type information to bicep/getMetadata parameters & outputs (#13051)
    • Add new method bicep/getFileReferences to obtain a list of files that are referenced by a given file (#13051)
    • Set up tracing so that BICEP_TRACING_ENABLED configures verbose JSONRPC logging (#13051)
  • [EXPERIMENTAL] Use resource types for parameter validation:
    • Add a resource<'type@version'> utility type (#12591)
    • Allow use of type properties as type expressions (#13047)
  • Allow usage of imports which reference user defined functions in .bicepparam files (#12900)
  • Support load*Content() functions in UDFs (#12915)

Features and Bug Fixes

Bicep Team:

  • use-resource-symbol-reference linter rule: detect .name access as well as .id (#12917)
  • Permit newline in lambda arguments and function definition arguments (#13043)
  • include required mark for parameters that doesn't have a default value (#12749)
  • Bug Fix: Failure when functions are imported via wildcard (#12898)
  • Narrow object types when assigned value is not an object literal or variable reference (#12798)
  • Bug Fix: Failure when when any compile-time imports are present with UDFs (#12902)
  • Disallow secure decorator on statements using imported types (#12909)
  • Bug Fix: Variable export bug when looping in variable (#13098)
  • Ensure safe access of output guards against missing value property (#13162)
  • Code lenses to switch between bicep and JSON module source (#12762)
  • Don't compile external module sources (#12765)
  • Fix 12020 (better error for expr when expecting object) (#13102)

v0.24.24

14 Dec 19:29
5646341
Compare
Choose a tag to compare

Highlights

  • User Defined Types are no longer experimental! (#12577)
  • [EXPERIMENTAL] Optional module names (#12600)
  • [EXPERIMENTAL] Add bicep jsonrpc command to CLI for programmatic consumption (#12397)
  • Implement pretty-printing for union types (#12584)

Features and Bug Fixes

  • Fix for ParameterAssignmentSymbol not present in the dictionary (#12420)
  • Fix: Avoid emitting parameters if there are parse errors (#12641)
  • Implement consistent markdown handling for hovers & completions (#12654)
  • Support overriding of default values when building .bicepparam files (#12648)
  • Write lint sarif output to stdout instead of stderr (#12703)
  • Fix dynamic loading feature to load providers from custom bicepconfig.json aliases (#12267)
  • Prompt warning when an unidentified flag is detected (#12480)
  • Update Microsoft Graph Bicep Types (#12578)
  • Use a symbolic name target if any functions are imported (#12408)
  • Use discriminator constraint to declare tagged union types when loading ARM JSON models (#12388)
  • Update UseResourceIdFunctionsRule to account for nullable and aggregate types (#12421)
  • Centralize imported symbol to ARM expression conversion (#12405)
  • Add support for importing variables that enclose synthesized variables (#12473)
  • Handle nested UDF calls during import migration (#12575)
  • Fixed exception during decompilation of object properties (#12410)
  • Deprecate Bicep CLI parameters using camel case (#12469)
  • Change format of requests to show module sources (#12351)

v0.23.1

02 Nov 13:20
b02de2d
Compare
Choose a tag to compare

Highlights

Bicep Team

  • [Experimental] Compile-time function imports (#12221)
  • [Experimental] Allow user-defined functions to call each other (#12145)
  • MSBuild support for .bicepparam (#12272)
  • [BREAKING CHANGE] Changes to our Module Manifests (#12057)
  • Add user-assigned identity credential options to Bicep configuration (#12265)

Features and Bug Fixes

Bicep Team

  • Publish semantic tokens for object type keys (#12199)
  • Add bicepparam support to lint command (#12280)
  • Add sarif support to build-params command (#12283)
  • [Experimental] Switch experimental deploy pane from opt-in to opt-out model (#12215)
  • [Experimental] Implement provider declaration aliasing (#12127)
  • Update ExpressionRewriteVisitor to rewrite param and output type clauses (#12055)
  • Update CyclicCheckVisitor to prohibit self references within an access expression in type syntax (#12072)
  • Correct terminating token for tuple parsing recovery (#12140)
  • Collapse unions of objects with an inferable discriminator into tagged unions (#12129)
  • Don't report exported variables as unused (#12275)
  • Allow both provider and import keywords for extensibility statements (#12281)
  • Load documentationUri from Bicep registry module index data (#12207)
  • Block direct resource access in top level properties (#12291)
  • [Experimental] --with-source argument for publish command (#12128)
  • Fix 11467 by disabling virtual workspaces (#12259)

@miqm

  • Allow declaring decorators on nested child resources (#12209)

v0.22.6

04 Oct 23:30
d62b94d
Compare
Choose a tag to compare

Highlights

Bicep Team:

  • [Bicep CLI ONLY] Enable supplemental params validation with build-params command (#11975)
    • Use cases for supplemental params can be found here.
    • Bicep CLI support only, Az CLI/Powershell support is coming soon.
  • Deprecating validate-params command PR (#11974)
    • We will now be validating inline params through the build-params command
  • Compile-time variable imports (#11657)
  • Allow bicepparam files to reference Registry Modules (including BR, TS & JSON paths) (#11703)
  • [EXPERIMENTAL] F12 Bicep Publish with Sources Part 1 (#11896)
    • Must use temporary feature flag: "publishSource"

Features and Bug Fixes

Bicep Team:

  • Deploy Pane: Support tenant & management group scope deployments (#11917)
  • Add linter rule to recommend using modules instead of 'Microsoft.Resources/deployments' resources (#11848)
  • Reword experimental feature usage error message (#11961)
  • Decompile Bicepparams: Use consistent URI -> FS conversion (#11834)
  • Use languageVersion 2.0 if any types are imported (#11886)
  • Add implicit nullability to optional module params (#11887)
  • Block calls to scope functions in .bicepparam files (#11903)
  • Block nested deployment resources with inner scoped evaluation and symbolic references to outer scope (#11884)
  • Support variable imports in .bicepparam files (#11879)
  • Fix nested type property decorator completions (#11972)
  • Perform deep validation on assigned parameter values in .bicepparam files (#11985)
  • Added Bicep AvailableItemName to MSBuild props (#11915)
  • Added support for skipping bicep build in MSBuild targets (#11916)
  • Fix compiled representation of wildcard variable property references (#12048)
  • Provide a declared type for imported variable accesses to enable completions (#12050)

v0.21.1

08 Sep 22:40
d4acbd2
Compare
Choose a tag to compare

Highlights

Bicep Team:

  • User-Defined Types are no longer experimental!
    • Usage documentation is available here.
  • Add support for defining and emitting user defined discriminated object union types. (#11222)
  • Support variables in .bicepparam files (#11438)
  • Added validate-params command to .bicepparams (#11476)
  • [EXPERIMENTAL] Compile-time type imports (#11298)
  • [EXPERIMENTAL] Test Framework:
    • Evaluate Assertions And Display Test Results On CLI (#11370)
    • Added Type Validation and Autocomplete Snippets (#11477)

Features and Bug Fixes

Bicep Team:

  • Support for user-defined types and inline type declarations in user defined functions (#11571)
  • Fix bicepparam decompiler date handling (#11675)
  • Symbolic names: Generate dependsOn for "existing" resources (#11478)
  • Fix 10427 trigger next module completions (#11573)
  • Fix pretty-printing for safe dereference operators (#11575)
  • Allow param assignments to use null values (#11532)
  • Catch case-insensitive clashes of type property names (#11457)

@johan-lindqvist

@pragone

  • Fixed typos in class names in BannedSymbols.txt (#11473)

@petertrr

  • Update grammar.md: double-colon is used for nested resource access (#11468)

v0.20.4

02 Aug 18:57
c9422e0
Compare
Choose a tag to compare

Highlights

Bicep Team:

  • New Deployment Pane UI (Experimental). Documentation here.
  • adding az.getSecret() support to bicepparam files (#11236)
    • example: param mySecret = az.getSecret('e93d3ee6-fac1-412f-92d6-bfb379e81af2', 'my-rg', 'mykeyvault', 'mySecret')

Bug Fixes and Features

Bicep Team:

  • Make decorators order independent (#11380)
  • Fixes "Paste removes comments inside multi-line array" (#11297)
  • Fix hover with escaped chars in published doclink (#11365)

v0.19.5

13 Jul 17:51
87ca110
Compare
Choose a tag to compare

Highlights

Bicep Team:

  • Formatter v2 including:
    • Implement pretty-printing algorithm
    • Add formatting configurations (#10889)
    • Less newline sensitivity for if-expression and for-expression (#10984)
    • Make ternary operators and lambdas less newline sensitive (#11052)
  • User defined types property completions for bicepparam files (#11032)

Bug Fixes and Features

Bicep Team:

  • Fix deploy bicep file vs code action bug (#11099)
  • Surface diagnostics from union type narrowing (#10938)
  • Handle duplicate properties in object type definition with a diagnostics, not an exception (#10983)
  • Collapse target union types before narrowing (#10987)
  • Support instance functions on resource-typed params (#11031)
  • Expand leading ~ in RootConfiguration.CacheRootDirectory (#11047)
  • Add description/documentation to public module completions (#10997)
  • Obsolete metadata.json, convert on generate (#11087)
  • Fix intellisense for maxAgeInDays (11040) (#11093)
  • Ignore property storageAccountSubscriptionId for use-resource-id-func… (#11094)

v0.18.4

12 Jun 19:58
1620479
Compare
Choose a tag to compare

Highlights

Bicep team:

  • Support for .bicepparam parameters files (bicep-style parameters file). This includes support for:
    • support for expressions using any functions in the sys namespace (i.e. uniqueString())
    • supported natively by Az CLI and Azure PowerShell (i.e. az deployment group create -f ./main.bicep -p params.bicepparam ...)
    • CLI command to generate bicepparam file from given Bicep file (#10595)
    • Buildparams command vscode extension (#10738)
    • LoadEnvironmentVariable to enable using env variables in .bicepparam files (#10726)
    • Support bicepparam files for VS Code deploy bicep file action (#10593)
    • Bicepparam decompiler (#10785)
    • Bicep param decompile vscode action (#10921)
  • Provide help text when consuming modules from ACR (#10747)
  • Bicep build command linter provides a structured output (#10672)

Bug fixes and features

Bicep team:

  • Mark overload matches as PotentialMatches if any argument is of type 'any' (#10659)
  • Provide completions for unknown keys on dictionaries (#10927)
  • Fix CLI restore --force (9580) (#10817 and #10829)
  • Remove metadata from symbol resolution logic (#10626)
  • Derive operation return type from operands (#10545)
  • [Bicep Public Registry] Allow specifying metadata in bicep in addition to metadata.json (#10860)
  • Add intellisense support for param and output values (#10680)
  • MAINT: Run tests in parallel to speed up CI by 0.5x (#10716)
  • Mark overload matches as PotentialMatches if any argument is of type 'any' (#10659)
  • Provide completions for unknown keys on dictionaries (#10927)
  • Fix CLI restore --force (9580) (#10817)

@dciborow

  • Fixes to BRM README Generation (#10471)

v0.17.1

05 May 01:26
d423d61
Compare
Choose a tag to compare

Highlights

Bicep team:

  • Experimental support for user defined functions (#10465). (Requires the experimental feature flag "userDefinedFunctions" to enable).
  • Added new CIDR network calculation functions (#10125). (We are working on official docs. For now, here's a link to function signatures and a sample: https://gist.github.com/majastrz/bdd776addfa72c0719334996c0aa78f5)
  • Add support for Custom Kubernetes Resources (#10598)
  • Add MaxAgeInDays config to use-recent-api-versions rule (#10344)
  • Bump az types version (#10603)
  • remove "experimental" from bicep.containerRegistryCompletions.useAllAccessible setting (#10457)

@dciborow

  • Add new Bicep File Function: loadYamlContent (#10415)

@PalmEmanuel

  • New parameter --force on Publish command (#9745)

Breaking changes

  • Name resolution & scoping behavior for variables declared in lambdas & for loops is now consistent with variables declared at the global scope. This means that previously, the following would have been permitted, whereas now it is blocked:
    var foo = [for resourceGroup in []: {
      bar: resourceGroup('test')
    }]
    See #10657 for more detail.

Features and bug fixes

Bicep team:

  • Attempt to fix e2e test failing. (#10389)
  • Improve compiler detection of invalid runtime value usages. (#10250)
  • Semantic highlighting for comma was missing within a string (#10472)

@jabbera

  • Resource Type parameters should generate BCP120 (#10401)

@mishrapratikshya

  • Fix for decompiler to support templatespec (#10329)

v0.16.2

11 Apr 19:26
de7fdd2
Compare
Choose a tag to compare

Bug fixes and features

Bicep team:

  • Use the correct bitwise operator for combining flags in JSON model loader (#10325)