pypi jsonnet 0.10.0
v0.10.0

latest releases: 0.20.0, 0.20.0rc1, 0.19.1...
6 years ago

Major changes

The formatter (jsonnet fmt) is now more opinionated, in that more features are enabled by default. This means if you habitually use it to format your Jsonnet code, it may change them significantly after this release (hence the major version bump). We recommend reformatting your code to match these new defaults, but the old behavior is still available via:

jsonnet fmt -n 0 --string-style l --comment-style l --no-sort-imports

Native Go port

After a quiet ramp up, we're announcing the Go port. It is a complete re-implementation in Go, therefore it is more suitable for running untrusted Jsonnet code server-side. It is feature complete and will generate the same JSON and the only differences you might see are with some of the error messages and trace backs. We think it is ready for general use, and many projects are already using it.

You should stop using the cgo wrapper now!

Eventually, we would like to deprecate the C++ version, since the Go version has simpler source code (benefiting from go routines and the native garbage collector). However the formatter is still only available in C++ Jsonnet.

https://github.com/google/go-jsonnet

Minor additions:

  • jsonnet -y and -m now respect -o
  • JSONNET_PATH environment variable
  • { [null]: true for x in [3] } now respects the null instead of being an error
  • The parser takes much less stack space
  • std.strReplace(str, from, to)
  • std.isArray(v), std.isBoolean(v), std.isFunction(v), std.isNumber(v), std.isObject(v), std.isString(v)
  • std.sign(n)
  • std.asciiUpper(x), std.asciiLower(x)
  • std.manifestYamlDoc(value), std.manifestYamlStream(value)
  • std.manifestXmlJsonml(value) (see jsonml.org)

...and minor bug fixes & performance improvements.

Don't miss a new jsonnet release

NewReleases is sending notifications on new releases.