summaryrefslogtreecommitdiffstats
path: root/NEWS
blob: c969facfb561fce377073d24dd565e14ed562199 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Release history

 * jq version 1.6 was released on Fri Nov 2 2018
 * jq version 1.5 was released on Sat Aug 15 2015
 * jq version 1.4 was released on Mon Jun 9 2014
 * jq version 1.3 was released on Sun May 19 2013
 * jq version 1.2 was released on Thu Dec 20 2012
 * jq version 1.1 was released on Sun Oct 21 2012
 * jq version 1.0 was released on Sun Oct 21 2012

New features in 1.6 since 1.5:

 - Destructuring Alternation

 - New Builtins:
   - builtins/0
   - stderr/0
   - halt/0, halt_error/1
   - isempty/1
   - walk/1
   - utf8bytelength/1
   - localtime/0, strflocaltime/1
   - SQL-style builtins
   - and more!

 - Add support for ASAN and UBSAN

 - Make it easier to use jq with shebangs (8f6f28c)

 - Add $ENV builtin variable to access environment

 - Add JQ_COLORS env var for configuring the output colors

New features in 1.5 since 1.4:

 - regular expressions (with Oniguruma)

 - a library/module system

 - many new builtins

    - datetime builtins
    - math builtins
    - regexp-related builtins
    - stream-related builtins (e.g., all/1, any/1)
    - minimal I/O builtins (`inputs`, `debug`)

 - new syntactic features, including:

    - destructuring (`. as [$first, $second] | ...`)
    - try/catch, generalized `?` operator, and label/break
    - `foreach`
    - multiple definitions of a function with different numbers of
      arguments

 - command-line arguments

    - --join-lines / -j for raw output
    - --argjson and --slurpfile
    - --tab and --indent
    - --stream (streaming JSON parser)
    - --seq (RFC7464 JSON text sequence)
    - --run-tests improvements

 - optimizations:

    - tail-call optimization
    - reduce and foreach no longer leak a reference to .

New features in 1.4 since 1.3:

 - command-line arguments

    - jq --arg-file variable file
    - jq --unbuffered
    - jq -e / --exit-status (set exit status based on outputs)
    - jq -S / --sort-keys (now jq no longer sorts object keys by
      default

 - syntax

    - .. -> like // in XPath (recursive traversal)
    - question mark (e.g., .a?) to suppress errors
    - ."foo" syntax (equivalent to .["foo"])
    - better error handling for .foo
    - added % operator (modulo)
    - allow negation without requiring extra parenthesis
    - more function arguments (up to six)

 - filters:

    - any, all
    - iterables, arrays, objects, scalars, nulls, booleans, numbers,
      strings, values

 - string built-ins:

    - split
    - join (join an array of strings with a given separator string)
    - ltrimstr, rtrimstr
    - startswith, endswith
    - explode, implode
    - fromjson, tojson
    - index, rindex, indices

 - math functions

    - floor, sqrt, cbrt, etetera (depends on what's available from libm)

 - libjq -- a C API interface to jq's JSON representation and for
   running jq programs from C applications