Skip to content

Releases: google/go-jsonnet

v0.22.0

24 Mar 16:16

Choose a tag to compare

The Python module can be found at https://pypi.org/project/gojsonnet/0.22.0/

What's Changed (since v0.21.0)

  • Updates since Release Candidate 1

    • Apply nesting depth limit when manifesting objects to TOML, YAML, or JSON (#866)
    • Publish pre-built Python wheels (binary packages) for Linux aarch64 (ARM) (#865)
  • Possibly breaking changes

    • Required Go version is increased to 1.24 (https://go.dev/doc/devel/release#go1.24.0) (#850)
    • When evaluating in --multi --string mode, output files now have an extra (trailing) newline added. If you do not want this, you can use --no-trailing-newline. (#819, #843)
    • Output files in --multi mode are restricted to the specified output directory (and subdirectories)
    • Pre-built binary archive names have changed (#848, #814)
  • Language changes, new features, etc

    • Numbers in Jsonnet code can now be written with underscore used to separate groups of digits (e.g., 1_500_000) (#760)
    • New function std.isNull (#806)
    • Bitwise operation arguments are now limited to the "safe-integer" range (#859)
    • jsonnet CLI: New flag --no-trailing-newline - this disables the final newline that is normally included in the output of any Jsonnet evaluation. This option is also added to the API (#819, #843)
    • jsonnetfmt CLI: Names of unclean files are printed to stdout when using --test or --in-place mode (#863)
    • API: FindDependencies can now optionally follow symlinks (#730)
    • Restrict file writes to the specified output directory for --multi (#850)
  • Bug fixes

    • The index expression of a super[e] access (#849)
    • Function std.objectRemoveKey has been re-implemented to fix several bugs and unexpected behaviours (#837)
    • Missing trailing newline when using both --multi and --string options (#819)
    • Fix implicit-to-explicit-plus conversion in jsonnetfmt (#853)
    • Improve handling of YAML document streams in std.parseYaml (#862)
    • Unchecked error in std.manifestYamlDoc(). (#800)
    • Cache the error too in importAST(). (#823)
    • Do not mutate std.removeAt parameters (#812)
    • Handle negative range by returning an empty array (#839)
    • Return null if parseYaml does not yield any result (#841)
    • Linter: Support std.clamp function (#840)
    • Linter: add optional parameters to std.manifestJsonEx in (#842)
    • Linter: Optimize runtime complexity when passing in multiple snippets (#725)
  • Build systems, testing, CI, internal

    • chore: fix bazel example by @y1hao in #820
    • Make CI build the bazel example with multiple Bazel versions (#832)
    • Remove Go Releaser archive naming overrides (#848)

Full commit history: v0.21.0...v0.22.0

New Contributors

v0.22.0-rc1

12 Mar 13:48

Choose a tag to compare

v0.22.0-rc1 Pre-release
Pre-release

What's Changed

  • Possibly breaking changes

    • Required Go version is increased to 1.24 (https://go.dev/doc/devel/release#go1.24.0) (#850)
    • When evaluating in --multi --string mode, output files now have an extra (trailing) newline added. If you do not want this, you can use --no-trailing-newline. (#819, #843)
    • Output files in --multi mode are restricted to the specified output directory (and subdirectories)
    • Pre-built binary archive names have changed (#848, #814)
  • Language changes, new features, etc

    • Numbers in Jsonnet code can now be written with underscore used to separate groups of digits (e.g., 1_500_000) (#760)
    • New function std.isNull (#806)
    • Bitwise operation arguments are now limited to the "safe-integer" range (#859)
    • jsonnet CLI: New flag --no-trailing-newline - this disables the final newline that is normally included in the output of any Jsonnet evaluation. This option is also added to the API (#819, #843)
    • jsonnetfmt CLI: Names of unclean files are printed to stdout when using --test or --in-place mode (#863)
    • API: FindDependencies can now optionally follow symlinks (#730)
    • Restrict file writes to the specified output directory for --multi (#850)
  • Bug fixes

    • The index expression of a super[e] access (#849)
    • Function std.objectRemoveKey has been re-implemented to fix several bugs and unexpected behaviours (#837)
    • Missing trailing newline when using both --multi and --string options (#819)
    • Fix implicit-to-explicit-plus conversion in jsonnetfmt (#853)
    • Improve handling of YAML document streams in std.parseYaml (#862)
    • Unchecked error in std.manifestYamlDoc(). (#800)
    • Cache the error too in importAST(). (#823)
    • Do not mutate std.removeAt parameters (#812)
    • Handle negative range by returning an empty array (#839)
    • Return null if parseYaml does not yield any result (#841)
    • Linter: Support std.clamp function (#840)
    • Linter: add optional parameters to std.manifestJsonEx in (#842)
    • Linter: Optimize runtime complexity when passing in multiple snippets (#725)
  • Build systems, testing, CI, internal

    • chore: fix bazel example by @y1hao in #820
    • Make CI build the bazel example with multiple Bazel versions (#832)
    • Remove Go Releaser archive naming overrides (#848)

Full commit history: v0.21.0...v0.22.0-rc1

New Contributors


The Python module is published at https://pypi.org/project/gojsonnet/0.22.0rc1/

v0.21.0

07 May 15:27

Choose a tag to compare

After (slightly over) a year, we have a new release. Please also see the changelog for the corresponding C++ jsonnet release, which includes some shared items: https://github.com/google/jsonnet/releases/tag/v0.21.0

A Python package is available at https://pypi.org/project/gojsonnet/0.21.0/

Building this release requires Go 1.23. Trying to build with versions of Go older than 1.21 will fail with a misleading error message due to a change to the way go release versioning worked in Go 1.21 (see #803)

What's Changed since v0.20.0

New Contributors

Full Changelog: v0.20.0...v0.21.0

v0.21.0-rc2

13 Mar 00:49

Choose a tag to compare

v0.21.0-rc2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.21.0-rc1...v0.21.0-rc2

v0.21.0-rc1

22 Feb 23:32

Choose a tag to compare

v0.21.0-rc1 Pre-release
Pre-release

Please also see the changelog for the corresponding C++ jsonnet release, which includes some shared items: https://github.com/google/jsonnet/releases/tag/v0.21.0-rc1

What's Changed

New Contributors

Full Changelog: v0.20.0...v0.21.0-rc1

v0.20.0

17 Apr 19:45
7903819

Choose a tag to compare

v0.19.2-pre2

02 Feb 19:30
b38dfbb

Choose a tag to compare

This is a special pre-release intended to test new build settings.

v0.19.2-pre1

16 Jan 23:47
1233966

Choose a tag to compare

This is a special pre-release intended to test new build settings.

v0.19.1

27 Oct 19:59

Choose a tag to compare

v0.19.0

26 Oct 20:08

Choose a tag to compare