Releases: Azure/bicep
Releases · Azure/bicep
v0.25.3
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:
- 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
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
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
andimport
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)
- Allow declaring decorators on nested child resources (#12209)
v0.22.6
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
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:
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)
- Bicep lint command (#10819)
- Fixed typos in class names in BannedSymbols.txt (#11473)
- Update
grammar.md
: double-colon is used for nested resource access (#11468)
v0.20.4
v0.19.5
Highlights
Bicep Team:
- Formatter v2 including:
- 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
~
inRootConfiguration.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
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)
- support for expressions using any functions in the
- 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)
- Fixes to BRM README Generation (#10471)
v0.17.1
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)
- Add new Bicep File Function: loadYamlContent (#10415)
- 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:
See #10657 for more detail.
var foo = [for resourceGroup in []: { bar: resourceGroup('test') }]
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)
- Resource Type parameters should generate BCP120 (#10401)
- Fix for decompiler to support templatespec (#10329)