Releases: mandelsoft/spiff
v1.3 beta release 2
Fix for beta1: fix endless loop for nested lambda evaluation problems
This release opens a new dimension for generating deployment manifests by supporting access to status information of deployments. This can be used to influence the generation of multiple inter-dependent deployments described in a single yaml template.
Here is the list of new features:
- marshal and unmarshal yaml and json strings from/as parts of the yaml document (
parse
,asjson
andasyaml
) - stream content from the yaml document into a command processing and catch its result (
pipe
) catch
offers a possibility to handle evaluation errorssync
supports the synchronization of the template processing with external contentbcrypt
andbcrypt_check
can be used to generate and validate bcrypt based password hasheswrite
content to fileskeys
function to determine a sorted list of map keys.- option
--path
can be used to specify a sub path of the document for the output - option
--split
can be used to split a list output into a multi document stream - extend the reference lookup for nested merge function with access to outer bindings
- enrich the
__ctx
field to offer access to all levels of outer documents in merge functions. - filtering of maps and lists via
select[...]
statement - more maping flavors to procude maps instead of lists (
map{...}
andselect{...}
) - importing of multi documents (as list of nodes) with
read
modeimportmulti
- access to defining scope in lambda functions using
_
- scoped expressions with
( "alice"=25 ) expr
- improved error reporting with call stack of lambda function and location of parsing errors in dynaml
expressions.
v1.3 beta release 1
This release opens a new dimension for generating deployment manifests by supporting access to status information of deployments. This can be used to influence the generation of multiple inter-dependent deployments described in a single yaml template.
Here is the list of new features:
- marshal and unmarshal yaml and json strings from/as parts of the yaml document (
parse
,asjson
andasyaml
) - stream content from the yaml document into a command processing and catch its result (
pipe
) catch
offers a possibility to handle evaluation errorssync
supports the synchronization of the template processing with external contentbcrypt
andbcrypt_check
can be used to generate and validate bcrypt based password hasheswrite
content to fileskeys
function to determine a sorted list of map keys.- option
--path
can be used to specify a sub path of the document for the output - option
--split
can be used to split a list output into a multi document stream - extend the reference lookup for nested merge function with access to outer bindings
- enrich the
__ctx
field to offer access to all levels of outer documents in merge functions. - filtering of maps and lists via
select[...]
statement - more maping flavors to procude maps instead of lists (
map{...}
andselect{...}
) - importing of multi documents (as list of nodes) with
read
modeimportmulti
- access to defining scope in lambda functions using
_
- scoped expressions with
( "alice"=25 ) expr
- improved error reporting with call stack of lambda function and location of parsing errors in dynaml
expressions.
v1.3 alpha release 3
This is a preview release for v1.3. It already contains some experimental features (see README).
v1.3 alpha release 2
This is a preview release for v1.3. It already contains some experimental features (see README).
v1.3 alpha release
This is a preview release for v1.3. It already contains some experimental features (see README).
Some fixes
This patch release
- fixes undesired certificate usages always added by certificate generation
- fixes error location in reference evaluation
New Year's Eve 2018
Some new features for the year 2019 release.
- Support of http and https for file access on command line and the
read
function - X509 support to generate keys and locally signed certificates
- Multiple document stream support for template file and
diff
sub command - Projections using sub paths
(( list.[*].name ))
or(( list.[1..2].name ))
- New functions
base64
/md5
/substr
First Milestone for new spiff++ Release v1.1.0
This release contains several fixes:
- reparsing of template marker expressions
- index evaluation now correctly supports incremental evaluation
- fix concatenation handling and errors
Additionaly the new function type
is provided to get the actual type of a dynaml expression.
Templates can now be passed to the merge
function to enable dynaml expression handling in merging.
Final Fork Release
This release prepares the upcoming independent spiff++ release in a new repository, because there will be now way back to the origin spiff development repository. We will try to keep in sync with changes in spiff, but especially the latest change introducing the !
operator to dynaml expressions to be ignored (for new bosh templating) conflicts with the use of this operator as not operator in dynaml expressions. To allow a compaible way in spiff++ the indicator ((!
... ))
will be supported to ignore the dynaml expression. If the not operator should be used at the beginning of a dynaml expression, please use an additional space for the exclamation mark or a bracketed expression.
Additionally new arithmetic operator usage is added for CIDRs to partition and shift network ranges.
Upgrade to Go Version 1.7
So far spiff used a very old Go version. On MacOS version Sierra the Go runtime does not work correctly anymore. This problem is solved with the latest Go version 1.7. Therefore spiff has been upgraded to this Go version.
Additionally a new function merge(map1,map2)
has been added. This function allows merging in-document map nodes with the same semantics so far only available for the multi-document merging feature of spiff.