Skip to content

Commit ee2a215

Browse files
authored
Backfill with references in NEWS.md (jqlang#2788)
Backfill with references to PRs & issues in NEWS.md
1 parent 70bbd10 commit ee2a215

File tree

1 file changed

+102
-79
lines changed

1 file changed

+102
-79
lines changed

Diff for: NEWS.md

+102-79
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,39 @@ After a five year hiatus we're back with a GitHub organization, with new admins
44

55
Since the last stable release many things have happened:
66

7-
- jq now lives at https://github.com/jqlang
7+
- jq now lives at <https://github.com/jqlang>
88
- New maintainers, admins, and owners have been recruited.
9-
- CI, scan builds, release builds etc now use GitHub actions.
9+
- A list of [current maintainers](https://github.com/jqlang/jq/blob/70bbd10b0b58e797d03963264fc934879bb44454/AUTHORS#L4-L13)
10+
- CI, scan builds, release builds etc now use GitHub actions. @owenthereal #2596 #2620
1011
- Lots of documentation improvements and fixes.
1112
- Web site updated with new auto complete, better section ids for linking, dark mode, etc. @itchyny #2628
1213
- Release builds for:
1314
- Linux `amd64`, `arm64`, `armel`, `armhf`, `i386`, `mips`, `mips64`, `mips64el`, `mips64r6`, `mips64r6el`, `mipsel`, `mipsr6`, `mipsr6el`, `powerpc`, `ppc64el`, `riscv64` and `s390x`
1415
- macOS `amd64` and `arm64`
1516
- Windows `i386` and `amd64`
1617
- Docker `linux/386`, `linux/amd64`, `linux/arm64`, `linux/mips64le`, `linux/ppc64le`, `linux/riscv64` and `linux/s390x`
17-
- Docker images are now available from `ghcr.io/jqlang/jq` instead of docker hub.
18-
- OSS-fuzz.
18+
- More details see @owenthereal #2665
19+
- Docker images are now available from `ghcr.io/jqlang/jq` instead of docker hub. @itchyny #2652
20+
- OSS-fuzz. @DavidKorczynski #2760 #2762
1921

20-
Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq-1.7 but here are some highlights:
22+
Full commit log can be found at <https://github.com/jqlang/jq/compare/jq-1.6...jq-1.7> but here are some highlights:
2123

2224
## CLI changes
2325

2426
- Make object key color configurable using `JQ_COLORS` environment variable. @itchyny @haguenau @ericpruitt #2703
27+
2528
```sh
2629
# this would make "field" yellow (33, the last value)
2730
$ JQ_COLORS="1;30:0;37:0;37:0;37:0;32:1;37:1;37:1;33" ./jq -n '{field: 123}'
2831
{
2932
"field": 123
3033
}
3134
```
32-
- Respect `NO_COLOR` environment variable to disable color output. See https://no-color.org for details. @itchyny #2728
35+
36+
- Respect `NO_COLOR` environment variable to disable color output. See <https://no-color.org> for details. @itchyny #2728
3337
- Improved `--help` output. Now mentions all options and nicer order. @itchyny #2747 #2766
3438
- Last output value can now control exit code using `--exit-code`/`-e`. @ryo1kato #1697
39+
3540
```sh
3641
# true-ish last output value exits with zero
3742
$ jq -ne true ; echo $?
@@ -45,8 +50,10 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
4550
$ jq -ne empty ; echo $?
4651
4
4752
```
53+
4854
- Add `--binary`/`-b` on Windows for binary output. To get `\n` instead of `\r\n` line endings. 0dab2b1 @nicowilliams
4955
- Add `--raw-output0` for NUL (zero byte) separated output. @asottile @pabs3 @itchyny #1990 #2235 #2684
56+
5057
```sh
5158
# will output a zero byte after each output
5259
$ jq -n --raw-output0 '1,2,3' | xxd
@@ -69,12 +76,14 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
6976
$ jq -n --raw-output0 '"\u0000"'
7077
jq: error (at <unknown>): Cannot dump a string containing NUL with --raw-output0 option
7178
```
79+
7280
- Fix assert crash and validate JSON for `--jsonarg`. @wader #2658
7381
- Remove deprecated `--argfile` option. @itchyny #2768
7482

7583
## Language changes
7684

7785
- Use decimal number literals to preserve precision. Comparison operations respects precision but arithmetic operations might truncate. @leonid-s-usov #1752
86+
7887
```sh
7988
# precision is preserved
8089
$ jq -n '100000000000000000'
@@ -86,7 +95,9 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
8695
$ jq -n '100000000000000000+10'
8796
100000000000000020
8897
```
98+
8999
- Adds new builtin `pick(stream)` to emit a projection of the input object or array. @pkoppstein #2656
100+
90101
```sh
91102
$ jq -n '{"a": 1, "b": {"c": 2, "d": 3}, "e": 4} | pick(.a, .b.c, .x)'
92103
{
@@ -97,7 +108,9 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
97108
"x": null
98109
}
99110
```
111+
100112
- Adds new builtin `debug(msgs)` that works like `debug` but applies a filter on the input before writing to stderr. @pkoppstein #2710
113+
101114
```sh
102115
$ jq -n '1 as $x | 2 | debug("Entering function foo with $x == \($x)", .) | (.+1)'
103116
["DEBUG:","Entering function foo with $x == 1"]
@@ -111,15 +124,19 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
111124
"c": 3
112125
}
113126
```
127+
114128
- Adds new builtin `scan($re; $flags)`. Was documented but not implemented. @itchyny #1961
129+
115130
```sh
116131
# look for pattern "ab" in "abAB" ignoring casing
117132
$ jq -n '"abAB" | scan("ab"; "i")'
118133
"ab"
119134
"AB"
120135
```
136+
121137
- Adds new builtin `abs` to get absolute value. This potentially allows the literal value of numbers to be preserved as `length` and `fabs` convert to float. @pkoppstein #2767
122138
- Allow `if` without `else`-branch. When skipped the `else`-branch will be `.` (identity). @chancez @wader #1825 #2481
139+
123140
```sh
124141
# convert 1 to "one" otherwise keep as is
125142
$ jq -n '1,2 | if . == 1 then "one" end'
@@ -135,7 +152,9 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
135152
"two"
136153
3
137154
```
155+
138156
- Allow use of `$binding` as key in object literals. 8ea4a55 @nicowilliams
157+
139158
```sh
140159
$ jq -n '"a" as $key | {$key: 123}'
141160
{
@@ -147,26 +166,31 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
147166
"a": 123
148167
}
149168
```
169+
150170
- Allow dot between chained indexes when using `.["index"]` @nicowilliams #1168
171+
151172
```sh
152173
$ jq -n '{"a": {"b": 123}} | .a["b"]'
153174
123
154175
# now this works also
155176
$ jq -n '{"a": {"b": 123}} | .a.["b"]'
156177
123
157178
```
179+
158180
- Fix try/catch catches more than it should. @nicowilliams #2750
159181
- Speed up and refactor some builtins, also remove `scalars_or_empty/0`. @muhmuhten #1845
160182
- Now `halt` and `halt_error` exit immediately instead of continuing to the next input. @emanuele6 #2667
161183
- Fix issue converting string to number after previous convert error. @thalman #2400
162184
- Make 0 divided by 0 result in NaN consistently. @itchyny #2253
163185
- Fix issue representing large numbers on some platforms causing invalid JSON output. @itchyny #2661
164186
- Fix deletion using assigning empty against arrays. @itchyny #2133
187+
165188
```sh
166189
# now this works as expected, filter out all values over 2 by assigning empty
167190
$ jq -c '(.[] | select(. >= 2)) |= empty' <<< '[1,5,3,0,7]'
168191
[1,0]
169192
```
193+
170194
- Fix `stderr/0` to output raw text without any decoration. @itchyny #2751
171195
- Fix `nth/2` to emit empty on index out of range. @itchyny #2674
172196
- Fix `implode` to not assert and instead replace invalid unicode codepoints. @wader #2646
@@ -181,113 +205,112 @@ Full commit log can be found at https://github.com/jqlang/jq/compare/jq-1.6...jq
181205
182206
Release history
183207
184-
* jq version 1.6 was released on Fri Nov 2 2018
185-
* jq version 1.5 was released on Sat Aug 15 2015
186-
* jq version 1.4 was released on Mon Jun 9 2014
187-
* jq version 1.3 was released on Sun May 19 2013
188-
* jq version 1.2 was released on Thu Dec 20 2012
189-
* jq version 1.1 was released on Sun Oct 21 2012
190-
* jq version 1.0 was released on Sun Oct 21 2012
208+
- jq version 1.6 was released on Fri Nov 2 2018
209+
- jq version 1.5 was released on Sat Aug 15 2015
210+
- jq version 1.4 was released on Mon Jun 9 2014
211+
- jq version 1.3 was released on Sun May 19 2013
212+
- jq version 1.2 was released on Thu Dec 20 2012
213+
- jq version 1.1 was released on Sun Oct 21 2012
214+
- jq version 1.0 was released on Sun Oct 21 2012
191215
192216
New features in 1.6 since 1.5:
193217
194-
- Destructuring Alternation
218+
- Destructuring Alternation
195219
196-
- New Builtins:
197-
- builtins/0
198-
- stderr/0
199-
- halt/0, halt_error/1
200-
- isempty/1
201-
- walk/1
202-
- utf8bytelength/1
203-
- localtime/0, strflocaltime/1
204-
- SQL-style builtins
205-
- and more!
220+
- New Builtins:
221+
- builtins/0
222+
- stderr/0
223+
- halt/0, halt_error/1
224+
- isempty/1
225+
- walk/1
226+
- utf8bytelength/1
227+
- localtime/0, strflocaltime/1
228+
- SQL-style builtins
229+
- and more!
206230
207-
- Add support for ASAN and UBSAN
231+
- Add support for ASAN and UBSAN
208232
209-
- Make it easier to use jq with shebangs (8f6f28c)
233+
- Make it easier to use jq with shebangs (8f6f28c)
210234
211-
- Add $ENV builtin variable to access environment
235+
- Add $ENV builtin variable to access environment
212236
213-
- Add JQ_COLORS env var for configuring the output colors
237+
- Add JQ_COLORS env var for configuring the output colors
214238
215239
New features in 1.5 since 1.4:
216240
217-
- regular expressions (with Oniguruma)
241+
- regular expressions (with Oniguruma)
218242
219-
- a library/module system
243+
- a library/module system
220244
221-
- many new builtins
245+
- many new builtins
222246
223-
- datetime builtins
224-
- math builtins
225-
- regexp-related builtins
226-
- stream-related builtins (e.g., all/1, any/1)
227-
- minimal I/O builtins (`inputs`, `debug`)
247+
- datetime builtins
248+
- math builtins
249+
- regexp-related builtins
250+
- stream-related builtins (e.g., all/1, any/1)
251+
- minimal I/O builtins (`inputs`, `debug`)
228252
229-
- new syntactic features, including:
253+
- new syntactic features, including:
230254
231-
- destructuring (`. as [$first, $second] | ...`)
232-
- try/catch, generalized `?` operator, and label/break
233-
- `foreach`
234-
- multiple definitions of a function with different numbers of
255+
- destructuring (`. as [$first, $second] | ...`)
256+
- try/catch, generalized `?` operator, and label/break
257+
- `foreach`
258+
- multiple definitions of a function with different numbers of
235259
arguments
236260
237-
- command-line arguments
261+
- command-line arguments
238262
239-
- --join-lines / -j for raw output
240-
- --argjson and --slurpfile
241-
- --tab and --indent
242-
- --stream (streaming JSON parser)
243-
- --seq (RFC7464 JSON text sequence)
244-
- --run-tests improvements
263+
- --join-lines / -j for raw output
264+
- --argjson and --slurpfile
265+
- --tab and --indent
266+
- --stream (streaming JSON parser)
267+
- --seq (RFC7464 JSON text sequence)
268+
- --run-tests improvements
245269
246-
- optimizations:
270+
- optimizations:
247271
248-
- tail-call optimization
249-
- reduce and foreach no longer leak a reference to .
272+
- tail-call optimization
273+
- reduce and foreach no longer leak a reference to .
250274
251275
New features in 1.4 since 1.3:
252276
253-
- command-line arguments
277+
- command-line arguments
254278
255-
- jq --arg-file variable file
256-
- jq --unbuffered
257-
- jq -e / --exit-status (set exit status based on outputs)
258-
- jq -S / --sort-keys (now jq no longer sorts object keys by
279+
- jq --arg-file variable file
280+
- jq --unbuffered
281+
- jq -e / --exit-status (set exit status based on outputs)
282+
- jq -S / --sort-keys (now jq no longer sorts object keys by
259283
default
260284
261-
- syntax
285+
- syntax
262286
263-
- .. -> like // in XPath (recursive traversal)
264-
- question mark (e.g., .a?) to suppress errors
265-
- ."foo" syntax (equivalent to .["foo"])
266-
- better error handling for .foo
267-
- added % operator (modulo)
268-
- allow negation without requiring extra parenthesis
269-
- more function arguments (up to six)
287+
- .. -> like // in XPath (recursive traversal)
288+
- question mark (e.g., .a?) to suppress errors
289+
- ."foo" syntax (equivalent to .["foo"])
290+
- better error handling for .foo
291+
- added % operator (modulo)
292+
- allow negation without requiring extra parenthesis
293+
- more function arguments (up to six)
270294
271-
- filters:
295+
- filters:
272296
273-
- any, all
274-
- iterables, arrays, objects, scalars, nulls, booleans, numbers,
297+
- any, all
298+
- iterables, arrays, objects, scalars, nulls, booleans, numbers,
275299
strings, values
276300
277-
- string built-ins:
301+
- string built-ins:
278302
279-
- split
280-
- join (join an array of strings with a given separator string)
281-
- ltrimstr, rtrimstr
282-
- startswith, endswith
283-
- explode, implode
284-
- fromjson, tojson
285-
- index, rindex, indices
303+
- split
304+
- join (join an array of strings with a given separator string)
305+
- ltrimstr, rtrimstr
306+
- startswith, endswith
307+
- explode, implode
308+
- fromjson, tojson
309+
- index, rindex, indices
286310
287-
- math functions
311+
- math functions
288312
289-
- floor, sqrt, cbrt, etcetera (depends on what's available from libm)
313+
- floor, sqrt, cbrt, etcetera (depends on what's available from libm)
290314

291-
- libjq -- a C API interface to jq's JSON representation and for
315+
- libjq -- a C API interface to jq's JSON representation and for
292316
running jq programs from C applications
293-

0 commit comments

Comments
 (0)