Recent Releases

1.7.114 Dec 2023 06:25 minor feature: DecNumberToString calls for a buffer that can hold a string of digits+14 Characters, not a buffer of size digits+14. We need to allocate an extra byte for the NUL byte. -10E-1000010001, for example, will be stringified as -1.0E-1000010000. And decNumberToString will currently write an extra NUL byte after the. Allocated buffer in the heap. Originally reported by @SEU-SSL on GitHub. Ref: https://.chromium.org/p/oss-fuzz//detail?id=64574. GHSA-686w-5m7m-54vc.
1.520 Aug 2015 18:05 major feature: Regexp support (using Oniguruma)! A proper module system. Destructuring syntax ( . as first, second, foo, bar ... ). Math functions. An online streaming parser. Minimal I/O builtions (inputs, debug). Try/catch for catching and handling errors. Tail call optimization (TCO), which allows efficient recursion in jq. A variety of new control structure builtins (e.g., while(cond; exp), repeat(exp), until(cond; next)), many of which internally use TCO. An enhanced form of reduce : foreach exp as name (init_exp; update_exp; extract_exp) . The ability to read module data files. Aupport for application/json-seq (RFC7464). A large variety of new utility functions, many being community contributions (e.g., bsearch , for binary searching arrays). Datetime functions. A variety of performance enhancements. Def( a): ...; is now allowed as an equivalent of def(a): a as a ...; test and build improvements, including gcov support.