Update NEWS.md and AUTHORS for 1.8.0 (#3330)

This commit is contained in:
itchyny authored and GitHub committed 2025-06-01 14:51:21 +09:00
1 parent d3cf5caf72
commit d23a7b9db9
2 files changed
+294 -1

No files matched your search

+52 -1
View File
@@ -26,9 +26,11 @@ Alex Ozdemir <aozdemir@hmc.edu>
Alex Wilson <gpg@probablyfine.co.uk> Alex Wilson <gpg@probablyfine.co.uk>
Alexandre Jasmin <ajasmin@transtex-llc.com> Alexandre Jasmin <ajasmin@transtex-llc.com>
Allan Clark <allanc@chickenandporn.com> Allan Clark <allanc@chickenandporn.com>
Andreas Heiduk <asheiduk@users.noreply.github.com>
Andrew O'Brien <obrien.andrew@gmail.com> Andrew O'Brien <obrien.andrew@gmail.com>
Andrew Rodland <andrew@cleverdomain.org> Andrew Rodland <andrew@cleverdomain.org>
Andrew Speed <andrew.cspeed@gmail.com> Andrew Speed <andrew.cspeed@gmail.com>
Andy Lester <andy@petdance.com>
Ankur <ankz.kothari@gmail.com> Ankur <ankz.kothari@gmail.com>
Anthony Shortland <anthony@dtosolutions.com> Anthony Shortland <anthony@dtosolutions.com>
Anthony Sottile <asottile@umich.edu> Anthony Sottile <asottile@umich.edu>
@@ -37,16 +39,22 @@ Attila Fülöp <attila@fueloep.org>
Benjamin Wuethrich <benjamin@koho.ca> Benjamin Wuethrich <benjamin@koho.ca>
Benoit de Chezelles <bew@users.noreply.github.com> Benoit de Chezelles <bew@users.noreply.github.com>
Bernard Niset <bernard.niset@gmail.com> Bernard Niset <bernard.niset@gmail.com>
Bhargava Mummadireddy <kishoreinvits@gmail.com>
Bradley Skaggs <bskaggs@acm.org> Bradley Skaggs <bskaggs@acm.org>
Brahm Lower <bplower@gmail.com>
Brendan Macmillan <melbourne.research@gmail.com> Brendan Macmillan <melbourne.research@gmail.com>
Cameron Sparr <cameronsparr@gmail.com> Cameron Sparr <cameronsparr@gmail.com>
Chance Zibolski <czibolsk@redhat.com> Chance Zibolski <czibolsk@redhat.com>
Charles Merriam <charles.merriam@gmail.com> Charles Merriam <charles.merriam@gmail.com>
Chris LaRose <cjlarose@gmail.com>
Chris Moore <dooglus@gmail.com> Chris Moore <dooglus@gmail.com>
Christoph Anton Mitterer <calestyo@scientia.org>
Christopher Degawa <ccom@randomderp.com> Christopher Degawa <ccom@randomderp.com>
Ciaran McNamara <1372986+ciaranmcnamara@users.noreply.github.com> Ciaran McNamara <1372986+ciaranmcnamara@users.noreply.github.com>
Clément MATHIEU <clement@unportant.info> Clément MATHIEU <clement@unportant.info>
Colin Leroy-Mira <colin@colino.net>
Colin von Heuring <colin@janrain.com> Colin von Heuring <colin@janrain.com>
Dag-Erling Smørgrav <des@des.no>
Damian Gryski <damian@gryski.com> Damian Gryski <damian@gryski.com>
Dan Church <h3xx@users.noreply.github.com> Dan Church <h3xx@users.noreply.github.com>
Daniel Lange <DLange@git.local> Daniel Lange <DLange@git.local>
@@ -55,24 +63,31 @@ David Fetter <david@fetter.org>
David Haguenauer <ml@kurokatta.org> David Haguenauer <ml@kurokatta.org>
David Korczynski <david@adalogics.com> David Korczynski <david@adalogics.com>
David R. MacIver <david@drmaciver.com> David R. MacIver <david@drmaciver.com>
DavidKorczynski <david@adalogics.com>
Dawid Ferenczy Rogožan <ferenczy@users.noreply.github.com> Dawid Ferenczy Rogožan <ferenczy@users.noreply.github.com>
Derrick Pallas <derrick@pallas.us> Derrick Pallas <derrick@pallas.us>
Doug Luce <doug@github.con.com> Doug Luce <doug@github.con.com>
Eiichi Sato <sato.eiichi@gmail.com> Eiichi Sato <sato.eiichi@gmail.com>
Eli Schwartz <eschwartz@archlinux.org> Eli Schwartz <eschwartz@archlinux.org>
Eloy Coto <eloy.coto@gmail.com>
Eric Bréchemier <eric@egull.co> Eric Bréchemier <eric@egull.co>
Erik Brinkman <erik.brinkman@gmail.com> Erik Brinkman <erik.brinkman@gmail.com>
Eugen <EugenGez@gmail.com> Eugen <EugenGez@gmail.com>
Evan Zacks <zackse@gmail.com> Evan Zacks <zackse@gmail.com>
Fabian Dellwing <fabian.dellwing@mbconnectline.de>
Felix Wolfsteller <felix.wolfsteller@gmail.com> Felix Wolfsteller <felix.wolfsteller@gmail.com>
Filippo Giunchedi <fgiunchedi@gmail.com> Filippo Giunchedi <fgiunchedi@gmail.com>
Filippo Valsorda <filippo.valsorda@gmail.com> Filippo Valsorda <filippo.valsorda@gmail.com>
Florian Weimer <fweimer@redhat.com> Florian Weimer <fweimer@redhat.com>
Frederic Cambus <fcambus@users.sourceforge.net> Frederic Cambus <fcambus@users.sourceforge.net>
Gabriel Marin <gbrlmarn@gmail.com>
Gaelan Steele <gbs@canishe.com>
George Hopkins <george-hopkins@null.net>
Gert Van Gool <gertvangool@gmail.com> Gert Van Gool <gertvangool@gmail.com>
Gijs Kunze <gwkunze@gmail.com> Gijs Kunze <gwkunze@gmail.com>
Gustav <gustav@invoke.se> Gustav <gustav@invoke.se>
HE, Tao <sighingnow@gmail.com> HE, Tao <sighingnow@gmail.com>
Han Jiang <jhcarl0814@gmail.com>
Hanfei Shen <qqshfox@gmail.com> Hanfei Shen <qqshfox@gmail.com>
Hanson Char <hanson.char@gmail.com> Hanson Char <hanson.char@gmail.com>
Haochen Xie <haochenx@acm.org> Haochen Xie <haochenx@acm.org>
@@ -81,6 +96,7 @@ Henré Botha <henrebotha@gmail.com>
Ian Miell <ian.miell@gmail.com> Ian Miell <ian.miell@gmail.com>
Ikko Ashimine <eltociear@gmail.com> Ikko Ashimine <eltociear@gmail.com>
J Phani Mahesh <github@phanimahesh.me> J Phani Mahesh <github@phanimahesh.me>
J. B. Rainsberger <me@jbrains.ca>
Jack Pearkes <jackpearkes@gmail.com> Jack Pearkes <jackpearkes@gmail.com>
Jakub Jirutka <jakub@jirutka.cz> Jakub Jirutka <jakub@jirutka.cz>
Jakub Wilk <jwilk@jwilk.net> Jakub Wilk <jwilk@jwilk.net>
@@ -90,16 +106,21 @@ Jan Schulz <jasc@gmx.net>
Janne Cederberg <janne.cederberg@gmail.com> Janne Cederberg <janne.cederberg@gmail.com>
Jason Hood <jadoxa@yahoo.com.au> Jason Hood <jadoxa@yahoo.com.au>
Jay Satiro <raysatiro@yahoo.com> Jay Satiro <raysatiro@yahoo.com>
Jesper Rønn-Jensen <jesperrr@gmail.com>
Jingwen Owen Ou <jingweno@gmail.com> Jingwen Owen Ou <jingweno@gmail.com>
Joe Littlejohn <joe.littlejohn@nokia.com> Joe Littlejohn <joe.littlejohn@nokia.com>
Joel Nothman <joel.nothman@gmail.com> Joel Nothman <joel.nothman@gmail.com>
Joel Purra <code+github@joelpurra.com> Joel Purra <code+github@joelpurra.com>
Jonathan Chan Kwan Yin <sofe2038@gmail.com>
Jonathan Word <argoday@argoday.com> Jonathan Word <argoday@argoday.com>
Josh Soref <2119212+jsoref@users.noreply.github.com> Josh Soref <2119212+jsoref@users.noreply.github.com>
Juan Guerrero <juan.guerrero.lozano@gmail.com> Juan Guerrero <juan.guerrero.lozano@gmail.com>
Kamontat Chantrachirathumrong <14089557+kamontat@users.noreply.github.com>
Kenny Shen <kenny.shen@zalora.com> Kenny Shen <kenny.shen@zalora.com>
Kim De Mey <kim.demey@gmail.com> Kim De Mey <kim.demey@gmail.com>
Kim Toms <kim.toms@bplglobal.net> Kim Toms <kim.toms@bplglobal.net>
Kirk McKelvey <kirkoman@gmail.com>
Klemens Nanni <kn@openbsd.org>
LCD 47 <lcd047@gmail.com> LCD 47 <lcd047@gmail.com>
Larry Aasen <larryaasen@gmail.com> Larry Aasen <larryaasen@gmail.com>
Lee Thompson <stagr.lee@gmail.com> Lee Thompson <stagr.lee@gmail.com>
@@ -110,25 +131,29 @@ MCApollo <34170230+MCApollo@users.noreply.github.com>
Marc Abramowitz <marc@marc-abramowitz.com> Marc Abramowitz <marc@marc-abramowitz.com>
Marc Bruggmann <marcbr@spotify.com> Marc Bruggmann <marcbr@spotify.com>
Marcin Kłopotek <marcin.klopotek@gmail.com> Marcin Kłopotek <marcin.klopotek@gmail.com>
Marcin Serwin <marcin@serwin.dev>
Mark Feit <mfeit@internet2.edu> Mark Feit <mfeit@internet2.edu>
Mark McKinstry <mmckinst@umich.edu> Mark McKinstry <mmckinst@umich.edu>
Markus Lanthaler <mark_lanthaler@gmx.net> Markus Lanthaler <mark_lanthaler@gmx.net>
Matt Clegg <m@cle.gg> Matt Clegg <m@cle.gg>
Matt Meyers <matt@mattmeyers.dev>
Matti Åstrand <mattiastr@gmail.com> Matti Åstrand <mattiastr@gmail.com>
Mattias Hansson <hansson.mattias@gmail.com> Mattias Hansson <hansson.mattias@gmail.com>
Maxime Biais <maxime.biais@gmail.com> Maxime Biais <maxime.biais@gmail.com>
Maximilian Roos <5635139+max-sixty@users.noreply.github.com> Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Michael Daines <michael@mdaines.com> Michael Daines <michael@mdaines.com>
Michael Färber <01mf02@gmail.com>
Mike Daines <mdaines@users.noreply.github.com> Mike Daines <mdaines@users.noreply.github.com>
Mike Fletcher <john.m.fletcher@bankofamerica.com> Mike Fletcher <john.m.fletcher@bankofamerica.com>
Mike McCabe <mccabe@archive.org> Mike McCabe <mccabe@archive.org>
Nathan Baulch <nathan.baulch@gmail.com>
Naïm Favier <n@monade.li> Naïm Favier <n@monade.li>
Nicolas Pouillard <nicolas.pouillard@gmail.com> Nicolas Pouillard <nicolas.pouillard@gmail.com>
Nicole Wren <nicole@wren.systems>
Paul Chvostek <paul+gitkraken@it.ca> Paul Chvostek <paul+gitkraken@it.ca>
Paul Wise <pabs3@bonedaddy.net> Paul Wise <pabs3@bonedaddy.net>
Peter van Dijk <peter@7bits.nl> Peter van Dijk <peter@7bits.nl>
Philipp Hagemeister <phihag@phihag.de> Philipp Hagemeister <phihag@phihag.de>
Rémy Léone <remy.leone@gmail.com>
Ricardo Constantino <wiiaboo@gmail.com> Ricardo Constantino <wiiaboo@gmail.com>
Richard Groves <richard@noodlfroot.com> Richard Groves <richard@noodlfroot.com>
Richard H Lee <richard@webdezign.co.uk> Richard H Lee <richard@webdezign.co.uk>
@@ -139,6 +164,9 @@ Roland C. Dowdeswell <roland.dowdeswell@twosigma.com>
Roman Inflianskas <rominf@users.noreply.github.com> Roman Inflianskas <rominf@users.noreply.github.com>
Romero Malaquias <romero.malaquias@gmail.com> Romero Malaquias <romero.malaquias@gmail.com>
Ryoichi KATO <ryo1kato@gmail.com> Ryoichi KATO <ryo1kato@gmail.com>
Rémy Léone <remy.leone@gmail.com>
SArpnt <sarpnt@ficial.net>
Samar Sunkaria <sameesunkaria@me.com>
Santiago Lapresta <santiago.lapresta@gmail.com> Santiago Lapresta <santiago.lapresta@gmail.com>
Sean Wei <me@sean.taipei> Sean Wei <me@sean.taipei>
Sebastian Freundt <freundt@ga-group.nl> Sebastian Freundt <freundt@ga-group.nl>
@@ -149,17 +177,24 @@ Stefan <stefan.haubenthal@gmail.com>
Stefan Seemayer <stefan@seemayer.de> Stefan Seemayer <stefan@seemayer.de>
Stephen Roantree <stroantree@gmail.com> Stephen Roantree <stroantree@gmail.com>
Stephen Shaw <stesh@netsoc.tcd.ie> Stephen Shaw <stesh@netsoc.tcd.ie>
Steven Ihde <sihde@hamachi.us>
Steven Maude <StevenMaude@users.noreply.github.com> Steven Maude <StevenMaude@users.noreply.github.com>
Steven Penny <svnpenn@gmail.com> Steven Penny <svnpenn@gmail.com>
Thalia Archibald <thalia@archibald.dev>
Thomas Bozeman th026106 <thomas.bozeman@digitalglobe.com>
Thomas R. Hall <trhall@trhall.org> Thomas R. Hall <trhall@trhall.org>
Thomas Sibley <tom@zulutango.org>
Tim McCormack <cortex@brainonfire.net> Tim McCormack <cortex@brainonfire.net>
Timothy John Perisho Eccleston <combinatorist@users.noreply.github.com> Timothy John Perisho Eccleston <combinatorist@users.noreply.github.com>
Tom Wolf <github@incognitox.org> Tom Wolf <github@incognitox.org>
Tomas Halman <thalman@redhat.com> Tomas Halman <thalman@redhat.com>
Travis Gockel <travis@gockelhut.com> Travis Gockel <travis@gockelhut.com>
Tyler Rockwood <rockwotj@users.noreply.github.com>
Ulrich Eckhardt <ulrich.eckhardt@base-42.de>
W-Mark Kubacki <wmark@hurrikane.de> W-Mark Kubacki <wmark@hurrikane.de>
William Chargin <wchargin@gmail.com> William Chargin <wchargin@gmail.com>
Yasuhiro Matsumoto <mattn.jp@gmail.com> Yasuhiro Matsumoto <mattn.jp@gmail.com>
Yeikel <email@yeikel.com>
Yoichi Nakayama <yoichi.nakayama@gmail.com> Yoichi Nakayama <yoichi.nakayama@gmail.com>
Zhaohui Mei <mzh.whut@gmail.com> Zhaohui Mei <mzh.whut@gmail.com>
Zhiming Wang <zmwangx@gmail.com> Zhiming Wang <zmwangx@gmail.com>
@@ -167,14 +202,30 @@ calpeconsulting <61429736+calpeconsulting@users.noreply.github.com>
cdnbacon <mike@busbud.com> cdnbacon <mike@busbud.com>
dak180 <dak180@users.sf.net> dak180 <dak180@users.sf.net>
davkor <david@adalogics.com> davkor <david@adalogics.com>
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
eitsupi <50911393+eitsupi@users.noreply.github.com> eitsupi <50911393+eitsupi@users.noreply.github.com>
fletcher gornick <fletcher@gornick.dev>
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
goodactive <167312449+goodactive@users.noreply.github.com>
i <isomorphisms@sdf.org> i <isomorphisms@sdf.org>
jkleint <jkleint@gmail.com> jkleint <jkleint@gmail.com>
lectrical <14344693+lectrical@users.noreply.github.com>
liviubobocu <liviu.bobocu@uipath.com>
maflcko <6399679+maflcko@users.noreply.github.com>
mail6543210 <mail6543210@yahoo.com.tw> mail6543210 <mail6543210@yahoo.com.tw>
mjarosie <mjarosie@users.noreply.github.com> mjarosie <mjarosie@users.noreply.github.com>
myaaaaaaaaa <103326468+myaaaaaaaaa@users.noreply.github.com>
nmulcahey <nmulcahey@gmail.com> nmulcahey <nmulcahey@gmail.com>
orbea <orbea@riseup.net>
polyester <paul@cleanclothes.org> polyester <paul@cleanclothes.org>
rain1 <rain1@airmail.cc> rain1 <rain1@airmail.cc>
riastradh <campbell+github@mumble.net>
sachint <32639496+sachintu47@users.noreply.github.com>
sheepster <omer531998@gmail.com>
tal@whatexit.org <tal@whatexit.org> tal@whatexit.org <tal@whatexit.org>
taoky <taoky99@outlook.com>
trantor <trantorvega@gmail.com> trantor <trantorvega@gmail.com>
wellweek <148746285+wellweek@users.noreply.github.com>
wllm-rbnt <william.robinet@conostix.com>
zstadler <zeev.stadler@gmail.com> zstadler <zeev.stadler@gmail.com>
наб <nabijaczleweli@nabijaczleweli.xyz>
+242
View File
@@ -1,3 +1,245 @@
# 1.8.0
We are pleased to announce the release of version 1.8.0.
This release includes a number of improvements since the last version.
Note that some changes may introduce breaking changes to existing scripts,
so be sure to read the following information carefully.
Full commit log can be found at <https://github.com/jqlang/jq/compare/jq-1.7.1...jq-1.8.0>.
## Releasing
- Change the version number pattern to `1.X.Y` (`1.8.0` instead of `1.8`). @itchyny #2999
- Generate provenance attestations for release artifacts and docker image. @lectrical #3225
```sh
gh attestation verify --repo jqlang/jq jq-linux-amd64
gh attestation verify --repo jqlang/jq oci://ghcr.io/jqlang/jq:1.8.0
```
## Security fixes
- CVE-2024-23337: Fix signed integer overflow in `jvp_array_write` and `jvp_object_rehash`.
@itchyny de21386681c0df0104a99d9d09db23a9b2a78b1e
- The fix for this issue now limits the maximum size of arrays and objects to 536870912 (`2^29`) elements.
- CVE-2024-53427: Reject NaN with payload while parsing JSON.
@itchyny a09a4dfd55e6c24d04b35062ccfe4509748b1dd3
- The fix for this issue now drops support for NaN with payload in JSON (like `NaN123`).
Other JSON extensions like `NaN` and `Infinity` are still supported.
- CVE-2025-48060: Fix heap buffer overflow in `jv_string_vfmt`.
@itchyny c6e041699d8cd31b97375a2596217aff2cfca85b
- Fix use of uninitialized value in `check_literal`. @itchyny #3324
- Fix segmentation fault on `strftime/1`, `strflocaltime/1`. @itchyny #3271
- Fix unhandled overflow in `@base64d`. @emanuele6 #3080
## CLI changes
- Fix `--indent 0` implicitly enabling `--compact-output`. @amarshall @gbrlmarn @itchyny #3232
```sh
$ jq --indent 0 . <<< '{ "foo": ["hello", "world"] }'
{
"foo": [
"hello",
"world"
]
}
# Previously, this implied --compact-output, but now outputs with new lines.
```
- Improve error messages to show problematic position in the filter. @itchyny #3292
```sh
$ jq -n '1 + $foo + 2'
jq: error: $foo is not defined at <top-level>, line 1, column 5:
1 + $foo + 2
^^^^
jq: 1 compile error
```
- Include column number in parser and compiler error messages. @liviubobocu #3257
- Fix error message for string literal beginning with single quote. @mattmeyers #2964
```sh
$ jq .foo <<< "{'foo':'bar'}"
jq: parse error: Invalid string literal; expected ", but got ' at line 1, column 7
# Previously, the error message was Invalid numeric literal at line 1, column 7.
```
- Improve `JQ_COLORS` environment variable to support larger escapes like truecolor. @SArpnt #3282
```sh
JQ_COLORS="38;2;255;173;173:38;2;255;214;165:38;2;253;255;182:38;2;202;255;191:38;2;155;246;255:38;2;160;196;255:38;2;189;178;255:38;2;255;198;255" jq -nc '[null,false,true,42,{"a":"bc"}]'
```
- Add `--library-path` long option for `-L`. @thaliaarchi #3194
- Fix `--slurp --stream` when input has no trailing newline character. @itchyny #3279
- Fix `--indent` option to error for malformed values. @thaliaarchi #3195
- Fix option parsing of `--binary` on non-Windows platforms. @calestyo #3131
- Fix issue with `~/.jq` on Windows where `$HOME` is not set. @kirkoman #3114
- Fix broken non-Latin output in the command help on Windows. @itchyny #3299
- Increase the maximum parsing depth for JSON to 10000. @itchyny #3328
- Parse short options in order given. @thaliaarchi #3194
- Consistently reset color formatting. @thaliaarchi #3034
## New functions
- Add `trim/0`, `ltrim/0` and `rtrim/0` to trim leading and trailing white spaces. @wader #3056
```sh
$ jq -n '" hello " | trim, ltrim, rtrim'
"hello"
"hello "
" hello"
```
- Add `trimstr/1` to trim string from both ends. @gbrlmarn #3319
```sh
$ jq -n '"foobarfoo" | trimstr("foo")'
"bar"
```
- Add `add/1`. Generator variant of `add/0`. @myaaaaaaaaa #3144
```sh
$ jq -c '.sum = add(.xs[])' <<< '{"xs":[1,2,3]}'
{"xs":[1,2,3],"sum":6}
```
- Add `skip/2` as the counterpart to `limit/2`. @itchyny #3181
```sh
$ jq -nc '[1,2,3,4,5] | [skip(2; .[])]'
[3,4,5]
```
- Add `toboolean/0` to convert strings to booleans. @brahmlower @itchyny #2098
```sh
$ jq -n '"true", "false" | toboolean'
true
false
```
- Add `@urid` format. Reverse of `@uri`. @fmgornick #3161
```sh
$ jq -Rr '@urid' <<< '%6a%71'
jq
```
## Changes to existing functions
- Use code point index for `indices/1`, `index/1` and `rindex/1`. @wader #3065
- This is a breaking change. Use `utf8bytelength/0` to get byte index.
- Improve `tonumber/0` performance and rejects numbers with leading or trailing
white spaces. @itchyny @thaliaarchi #3055 #3195
- This is a breaking change. Use `trim/0` to remove leading and trailing white spaces.
- Populate timezone data when formatting time. This fixes timezone name in
`strftime/1`, `strflocaltime/1` for DST. @marcin-serwin @sihde #3203 #3264 #3323
- Preserve numerical precision on unary negation, `abs/0`, `length/0`. @itchyny #3242 #3275
- Make `last(empty)` yield no output values like `first(empty)`. @itchyny #3179
- Make `ltrimstr/1` and `rtrimstr/1` error for non-string inputs. @emanuele6 #2969
- Make `limit/2` error for negative count. @itchyny #3181
- Fix `mktime/0` overflow and allow fewer elements in date-time representation array. @emanuele6 #3070 #3162
- Fix non-matched optional capture group. @wader #3238
- Provide `strptime/1` on all systems. @george-hopkins @fdellwing #3008 #3094
- Fix `_WIN32` port of `strptime`. @emanuele6 #3071
- Improve `bsearch/1` performance by implementing in C. @eloycoto #2945
- Improve `unique/0` and `unique_by/1` performance. @itchyny @emanuele6 #3254 #3304
- Fix error messages including long string literal not to break Unicode characters. @itchyny #3249
- Remove `pow10/0` as it has been deprecated in glibc 2.27. Use `exp10/0` instead. @itchyny #3059
- Remove private (and undocumented) `_nwise` filter. @itchyny #3260
## Language changes
- Fix precedence of binding syntax against unary and binary operators.
Also, allow some expressions as object values. @itchyny #3053 #3326
- This is a breaking change that may change the output of filters with binding syntax as follows.
```sh
$ jq -nc '[-1 as $x | 1,$x]'
[1,-1] # previously, [-1,-1]
$ jq -nc '1 | . + 2 as $x | -$x'
-3 # previously, -1
$ jq -nc '{x: 1 + 2, y: false or true, z: null // 3}'
{"x":3,"y":true,"z":3} # previously, syntax error
```
- Support Tcl-style multiline comments. @emanuele6 #2989
```sh
#!/bin/sh --
# Can be use to do shebang scripts.
# Next line will be seen as a comment be of the trailing backslash. \
exec jq ...
# this jq expression will result in [1]
[
1,
# \
2
]
```
- Fix `foreach` not to break init backtracking with `DUPN`. @kanwren #3266
```sh
$ jq -n '[1, 2] | foreach .[] as $x (0, 1; . + $x)'
1
3
2
4
```
- Fix `reduce`/`foreach` state variable should not be reset each iteration. @itchyny #3205
```sh
$ jq -n 'reduce range(5) as $x (0; .+$x | select($x!=2))'
8
$ jq -nc '[foreach range(5) as $x (0; .+$x | select($x!=2); [$x,.])]'
[[0,0],[1,1],[3,4],[4,8]]
```
- Support CRLF line breaks in filters. @itchyny #3274
- Improve performance of repeating strings. @itchyny #3272
## Documentation changes
- Switch the homepage to custom domain [jqlang.org](https://jqlang.org). @itchyny @owenthereal #3243
- Make latest release instead of development version the default manual. @wader #3130
- Add opengraph meta tags. @wader #3247
- Replace jqplay.org with play.jqlang.org @owenthereal #3265
- Add missing line from decNumber's licence to `COPYING`. @emanuele6 #3106
- Various document improvements. @tsibley #3322, @itchyny #3240, @jhcarl0814 #3239,
@01mf02 #3184, @thaliaarchi #3199, @NathanBaulch #3173, @cjlarose #3164,
@sheepster1 #3105, #3103, @kishoreinvits #3042, @jbrains #3035, @thalman #3033,
@SOF3 #3017, @wader #3015, @wllm-rbnt #3002
## Build improvements
- Fix build with GCC 15 (C23). @emanuele6 #3209
- Fix build with `-Woverlength-strings` @emanuele6 #3019
- Fix compiler warning `type-limits` in `found_string`. @itchyny #3263
- Fix compiler error in `jv_dtoa.c` and `builtin.c`. @UlrichEckhardt #3036
- Fix warning: a function definition without a prototype is deprecated. @itchyny #3259
- Define `_BSD_SOURCE` in `builtin.c` for OpenBSD support. @itchyny #3278
- Define empty `JV_{,V}PRINTF_LIKE` macros if `__GNUC__` is not defined. @emanuele6 #3160
- Avoid `ctype.h` abuse: cast `char` to `unsigned char` first. @riastradh #3152
- Remove multiple calls to free when successively calling `jq_reset`. @Sameesunkaria #3134
- Enable IBM z/OS support. @sachintu47 #3277
- Fix insecure `RUNPATH`. @orbea #3212
- Avoid zero-length `calloc`. @itchyny #3280
- Move oniguruma and decNumber to vendor directory. @itchyny #3234
## Test improvements
- Run tests in C locale. @emanuele6 #3039
- Improve reliability of `NO_COLOR` tests. @dag-erling #3188
- Improve `shtest` not to fail if `JQ_COLORS` and `NO_COLOR` are already set. @SArpnt #3283
- Refactor constant folding tests. @itchyny #3233
- Make tests pass when `--disable-decnum`. @nicowilliams 6d02d53f515bf1314d644eee93ba30b0d11c7d2b
- Disable Valgrind by default during testing. @itchyny #3269
# 1.7.1 # 1.7.1
## Security ## Security