All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.7.0 - 2026-01-11
- Support any kind of function via a fallback mechanism
- Support any kind of decorator via a fallback mechanism
- Support
rangefunction - Support multiple NOT
!operators in a single expression - Support
@exportdecorator - Support
@sealeddecorator - Support custom functions
- Simplified function parsing, which reduced the startup time by multiple seconds
- Simplified decorator parsing, which reduced the overall parsing time by ~10%
- loop type
rangeis now either of typearrayorarray_indexand thearray_namestores therangefunction - Improved support of lambda expressions
- Improved
property_accessorandindex_accessorparsing
- Drop support of Python 3.9
0.6.1 - 2025-11-23
- Support Python 3.14 officially
- Support
extensionelement - Support typed variables
- Support nullable types
- Support
importelement - Support loop and conditional blocks in child resources
- Migrated the project to
uv
- Drop support of Python 3.8
0.5.1 - 2024-11-03
- Support Python 3.13 officially
- Support
loadYamlContentfunction - Support
flattenfunction - Initial support of custom data types
- Support safe-dereference operator
- Fixed multiline issue with union function
- Fixed multiple newline issues
- Drop support of Python 3.7
0.4.2 - 2023-11-05
- Support Python 3.12 officially
- Support all accessor operators
- Support
joinfunction - Support
metadataelement - Support more resource for
list*function
- Fixed a regression to support quoted keys with dots in an object
- Fixed typo in
joinparameter name
0.4.1 - 2023-06-18
- Support more list* accessor operators
- Support newlines between function parameters
- Fixed an issue with function
resourceIdnot allowing more than 5 parameters - Fixed an issue with a final newline in the
@metadatadecorator
0.4.0 - 2023-04-29
- Support dot notation in private module registry names
- Support
sysnamespace notation for decorators - Support
!non-null operator - Support
filterfunction - Support multi line strings in description decorator
- Fixed an issue with comments between decorator and element
0.3.9 - 2022-08-30
- Fixed an issue with unclosed multi line strings
0.3.8 - 2022-08-01
- Support
loadJsonContentfunction
- Support shadowing of a couple of built-in functions
- Support single line array and object declarations
0.3.7 - 2022-06-04
- Support index accessor for
jsonfunction - Support
managementGroupResourceIdfunction - Support
dateTimeFromEpochfunction - Support
dateTimeToEpochfunction
0.3.6 - 2022-05-21
- Support property accessor for
jsonfunction - Support Python 3.11 officially
0.3.5 - 2022-05-15
- Support
@descriptiondecorator for var elements - Leverage
typing.NotRequiredfrom Python 3.11 to improve type hints
0.3.4 - 2022-04-10
- Support
@descriptiondecorator for output elements - Support public module registry references
- Support module alias references
0.3.3 - 2022-03-21
- Adjust the name of child resources to add the parent name as prefix to prevent overlap
- Moved
depends_onto theconfigblock
0.3.2 - 2022-03-14
- Add contribution guidelines
CONTRIBUTING.md - Support
LoadTextContentfunction - Support
loadFileAsBase64function
- Support negative values in
@minValuedecorator
0.3.1 - 2022-03-05
- Remove usuage of
typing_extensions.NotRequired - Refactor
BicepParserclass to leverage lazy loading of the compiled grammar
0.3.0 - 2022-03-03
- First release to be able to parse all the official examples of Bicep 201 and 301.
- Enable caching of compiled parser
- Ignore shell styled comments
- Support
maxfunction - Support
minfunction - Support
intfunction - Support
skipfunction - Support
managementGroupfunction - Support
tenantfunction - Support
startsWithfunction - Support
endsWithfunction - Support
trimfunction - Support
padLeftfunction - Support
dataUrifunction - Support
dataUriToStringfunction
0.2.0 - 2022-02-13
- Possibility to pass Bicep template via
strorPath - Add
BicepElementtojsonoutput to differentiate between strings and element references - Support
firstfunction - Support
lastfunction - Support
boolfunction - Support
newGuidfunction - Support
urifunction - Support
uriComponentfunction - Support
uriComponentToStringfunction - Support
divideoperator - Support
modulooperator - Support
multiplyoperator - Support
pickZonesfunction
- Rename
loop_indextoloop_rangeand adjust the behaviour to allow iterating over item + index - Prioritize
substractoverminusoperator - Prioritize
_RESOURCE_IDand_RESOURCE_GROUPoverSTRINGterminal
0.1.0 - 2022-02-06
- First release to be able to parse all the official examples of Bicep 101.