Thanks to the 20+ developers who have sent us PRs since 1.4, and the many contributors to issues and the wiki.

The manual for jq 1.5 can be found at

Salient new features since 1.4:

  • regexp support (using Oniguruma)!

  • a proper module system

    import "foo/bar" as bar; # import foo/bar.jq's defs into a bar::* namespace


    include "foo/bar"; # import foo/bar.jq's defs into the top-level

  • destructuring syntax (. as [$first, $second, {$foo, $bar}] | ...)

  • math functions

  • an online streaming parser

  • minimal I/O builtions (inputs, debug)

    One can now write:

    jq -n 'reduce inputs as $i ( ... )'

    to reduce inputs in an online way without having to slurp them first! This works with streaming too.

  • try/catch, for catching and handling errors (this makes for a dynamic non-local exit system)

  • a lexical non-local exit system

    One can now say

    label $foo | ..... | break $foo

    where the break causes control to return to the label $foo, which then produces empty (backtracks). There's named and anonymous labels.

  • 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

    import "foo/bar" as $bar; # read foo/bar.json, bind to $bar::bar

  • --argjson var '<JSON text>'

    Using --arg var bit me too many times :)

  • --slurpfile var "filename"

    Replaces the --argfile form (which is now deprecated but remains for backward compatibility).

  • support 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

Lastly, don't forget the wiki! The wiki has a lot of new content since 1.4, much of it contributed by the community.


🚀 Github 镜像仓库 🚀


发行版本 9

jq 1.6


贡献者 142



  • C 93.0 %
  • M4 2.4 %
  • Yacc 1.3 %
  • Shell 1.0 %
  • JSONiq 0.9 %