Note: there is a regression with the std.manifestJson[Ex]
function in this release. Please use v0.14.1 instead.
Update: added a new incompatibility discovered after release
-
qbec now allows data to be imported from external data sources. The current implementation allows you to run
a command whose standard output may be included in your jsonnet component code.
The reference page has more details.
At this point, theexpandHelmTemplate
native function should be considered deprecated and will be removed
in a future release. There is nothing that this function could do that cannot be accomplished using an
external data source. -
A new command
qbec eval
can now evaluate a single jsonnet file similar tojsonnet eval
. This can also
be run in the context of a qbec environment to be able to access environment specific properties.
Seeqbec eval --help
for more details. This deprecates thejsonnet-qbec
executable that is packaged in the
release. This executable may no longer be packaged in a future release. -
qbec now allows computed variables to be defined in qbec.yaml. This works especially well with external
data sources and also allow you to cache complex calculations.
The reference page for qbec.yaml has more details. -
Environment files for a qbec environment may now be specified as a glob pattern. qbec will load all matching
files in sorted alphabetical order. -
Miscellaneous improvements and optimizations for jsonnet evaluation. Most users, unless they are generating
hundreds of objects or using complex jsonnet libraries will not see any significant performance improvements.
Incompatibilities
-
Preprocessors introduced in
v0.13.4
have now been removed. These had awkward semantics and were honestly
not ready for prime-time. No one was probably using this. The replacement functionality is more general
and allows you to define computed vaiables in qbec.yaml. -
Qbec no longer sets the
qbec.io/component
variable when evaluating components. This was also introduced in
v0.13.4
and had dodgy semantics. There is no replacement for this functionality. If you started using this
and are now stuck, please raise an issue where we can discuss this. -
VM arguments are now processed before qbec changes the working directory to the qbec root. This means that any filename references in
--vm:ext-str-list
will be evaluated with respect to the directory from which the qbec command was executed and not the qbec root. This is consistent with the way environment files specified on the command line were already being processed.