Skip to content

2.0 beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 11 Oct 09:56
· 132 commits to main since this release

The highlight of this release likely is the comeback of foreach/3 840aa77. I removed this in jaq 0.9.0 because I was not able to implement foreach/2 and foreach/3 without duplicating lots of code. In the meantime, however, I found a nice way to implement all of foreach/3, foreach/2, and reduce/2 using the same code.

As a consequence, this release removes for/2 f44a224. The addition of foreach/3 would have made it logical to also add for/3, but unfortunately, for/3 can only be implemented in a quite awkward way. Because for/2 was a jaq-only experiment anyway, it felt better to remove it. This change also increases compatibility with jq, because it allows using for as function name in both jq and jaq.

This release now short-circuits on errors in try ... catch ... c83749a. Previously, try f catch g would run g for all errors produced by f, whereas now, it stops after the first error.
As a result of this, jaq now terminates for all examples in the jq manual, meaning that jaq --run-tests man.test runs the whole test suite generated from the manual without "getting stuck". (jaq passes 187 out of 227 tests in the current man.test.)

New functions

Smaller changes

  • Expand ~ and $ORIGIN at the start of search paths c3f9259
  • Correct printing of UTF-8 encoded characters in strings #209
  • More consistent date formatting #214
  • Omit clones in .[f] |= g for higher performance 0eaa0f0
  • Custom value types now must implement Default ad74938
  • Change name format of released binaries #211

New Contributors

Full Changelog: v2.0.0-alpha.1...v2.0.0-beta