Skip to content

1.3

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Jan 16:41
· 117 commits to main since this release

This release makes jaq a lot lazier. In particular, several core filters, such as debug, are now evaluated as late as possible #131, and filters passed to path expressions are now also executed lazily #150. That means that many filters which did not terminate before now terminate!

Backwards-compatible additions

Thanks go especially to @kklingenberg for implementing several new functionalities!

  • Support for recursive object merging via a * b by @kklingenberg #130
  • Add env filter and $ENV variables by @kklingenberg #128
  • Extend path syntax to support paths like .a.[] #145
  • group_by terminates as soon as there is an error #129

Breaking Changes

  • The last(f) filter now returns no output instead of null when f yields no output. This is to make it consistent with first(f), which has the same behaviour. 51d3f51
  • Rename --compact to --compact-output to match jq #148
  • to_entries and paths now return objects without sorting keys, like jq 484dd27

Eliminated bugs

  • Calling jaq without a filter now correctly executes the identity filter #147
  • Calling jaq with an empty filter ('') now yields an error message instead of crashing, thanks to a new ariadne release --- thanks to @zesterer!
  • Processing long sequences with foreach used to crash with a stack overflow at the end, for example when executing foreach limit(1000000; repeat(1)) as $x (0; .+$x). This is now not longer the case. 854d22c

Full Changelog: v1.2.0...v1.3.0