New in jq 1.5 RC 1 (May 6, 2015)
- Salient new features since 1.4:
- regexp support (using Oniguruma)
- an online streaming parser
- try/catch, for catching and handling errors (this makes for a dynamic non-local exit system)
- a lexical non-local exit system
- 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))
- an enhanced form of reduce: foreach exp as $name (init_exp; update_exp; extract_exp)
- a proper module system
- the ability to read module data files
- --argjson var ''
- --in-place / -i for in-place editing of files
- support for application/json-seq.
- a variety of new utility functions, many being community contributions
- a variety of performance enhancements (e.g., constant folding)
- def($a): ...; is now allowed as an equivalent of def(a): a as $a | ...;