Skip to content

Commit 1482145

Browse files
authored
Merge pull request #817 from wader/release-0.9.0
fq: Release 0.9.0
2 parents d92cf88 + 3e00ccb commit 1482145

File tree

2 files changed

+133
-1
lines changed

2 files changed

+133
-1
lines changed

CHANGES.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,135 @@
1+
# 0.9.0
2+
3+
## Changes
4+
5+
- Make synthetic values not look like decode values with a zero range. #777
6+
- Bit ranges are now displayed using exclusive end notation to be more consistent. For example if a field at byte offset 5 is 8 bit in size using the `<byte>[.<bits>]` notation it is now shown as `5-6`, before it was shown as `5-5.7`. See usage documentation for more examples. #789
7+
- Improve colors when using a light background. Thanks @adedomin for reporting. #781
8+
- Better `from_jq` error handling. Thanks @emanuele6 for reporting. #788
9+
- Updated gojq fork. Notable changes from upstream below. #808
10+
- Adds `pick/1` function. Outputs value and nested values for given input expression.
11+
```sh
12+
# pick out all string values from a ELF header
13+
$ fq '.header | pick(.. | select(type == "string"))' /bin/ls
14+
{
15+
"ident": {
16+
"data": "little_endian",
17+
"magic": "\u007fELF",
18+
"os_abi": "sysv",
19+
"pad": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
20+
},
21+
"machine": "x86_64",
22+
"type": "dyn"
23+
}
24+
# bonus tip:
25+
# if you only need to pick one level then jq has a shortcut syntax
26+
$ fq '.header | {type, machine}' /bin/ls
27+
{
28+
"machine": "x86_64",
29+
"type": "dyn"
30+
}
31+
```
32+
- Implements comment continuation with backslash.
33+
- Updated gopacket to 1.2.1. Notable changes from upstream below. #815
34+
- fix(ip4defrag): allow final fragment to be less than 8 octets by @niklaskb
35+
- refactor: don't fill empty metadata slots by @smira
36+
- refactor: optimize port map to switch statement by @smira
37+
38+
## Decoder changes
39+
40+
- `avi`
41+
- Some general clean up fixes. Thanks to Marion Jaks at mediathek.at for testing and motivation.
42+
- Add extended chunks support and `decode_extended_chunks` option. This is trailing chunks used by big AVI files. #786
43+
- Add type, handler, compression (video) and format_tag (audio) per stream. #775
44+
```sh
45+
$ fq '.streams[0]' file.avi
46+
│00 01 02 03 04 05 06 07│01234567│.streams[0]{}: stream
47+
0x1680│ 00 00 00 01 67 f4│ ....g.│ samples[0:3]:
48+
0x1688│00 0d 91 9b 28 28 3f 60│....((?`│
49+
0x1690│22 00 00 03 00 02 00 00│".......│
50+
* │until 0x2409.7 (3464) │ │
51+
│ │ │ type: "vids"
52+
│ │ │ handler: "H264"
53+
│ │ │ compression: "H264"
54+
```
55+
- Properly use sample size field when decoding samples. #776
56+
- `exif` (and `tiff`)
57+
- Handle broken last next ifd offset by treating it as end marker. #804
58+
- `gzip`
59+
- Correctly handle multiple members. Thanks @TomiBelan for the bug report and assistance. #795
60+
- Now gzip is modelled as a struct with a `members` array and a `uncompressed` field that is the concatenation of the uncompressed members.
61+
- `macho`
62+
- Properly respect endian when decoding some flag fields. #796
63+
- Move formatted timestamp to description so that numeric value is easier to access. #797
64+
- `matroska`
65+
- Support decoding EBML date type. #787
66+
- `protobuf`
67+
- No need to use synthetic fields for string and bytes. #800
68+
- `webp`
69+
- Refactor to use common RIFF decoder and also decode VP8X, EXIF, ICCP and XMP chunks. #803
70+
- `zip` Better timestamp support and fixes
71+
- Fix incorrect MSDOS time/date decoding and add extended timestamp support. Also remodel time/date to be a struct with raw values, components and a synthetics UTC unixtime guess. Thanks @TomiBelan for the bug report and assistance. #793
72+
```sh
73+
$ fq '.local_files[] | select(.file_name == "a").last_modification' file.zip
74+
│00 01 02 03 04 05 06 07│01234567│.local_files[3].last_modification{}:
75+
0xd0│ 81 01 │ .. │ fat_time: 0x181
76+
│ │ │ second: 2 (1)
77+
│ │ │ minute: 12
78+
│ │ │ hour: 0
79+
0xd0│ 73 53│ sS│ fat_date: 0x5373
80+
│ │ │ day: 19
81+
│ │ │ month: 11
82+
│ │ │ year: 2021 (41)
83+
│ │ │ unix_guess: 1637280722 (2021-11-19T00:12:02)
84+
```
85+
86+
## Changelog
87+
88+
* b7022183 Update docker-golang to 1.21.2 from 1.21.1
89+
* d7047116 Update docker-golang to 1.21.3 from 1.21.2
90+
* c31fc874 Update docker-golang to 1.21.4 from 1.21.3
91+
* 861487d4 Update github-go-version to 1.21.2 from 1.21.1
92+
* d7663569 Update github-go-version to 1.21.3 from 1.21.2
93+
* caef93ce Update github-go-version to 1.21.4 from 1.21.3
94+
* de7fdae5 Update github-golangci-lint to 1.55.0 from 1.54.2
95+
* 60edf973 Update github-golangci-lint to 1.55.1 from 1.55.0
96+
* 534a2c8c Update github-golangci-lint to 1.55.2 from 1.55.1
97+
* 906bc3bb Update gomod-golang-x-crypto to 0.14.0 from 0.13.0
98+
* 8d4d18d3 Update gomod-golang-x-crypto to 0.15.0 from 0.14.0
99+
* f108194d Update gomod-golang-x-net to 0.16.0 from 0.15.0
100+
* 5381f381 Update gomod-golang-x-net to 0.17.0 from 0.16.0
101+
* 14fe728c Update gomod-golang-x-net to 0.18.0 from 0.17.0
102+
* 1011f19c Update gomod-golang/text to 0.14.0 from 0.13.0
103+
* 527aad6c Update gomod-gopacket to 1.2.0 from 1.1.1
104+
* 0c22c79b Update make-golangci-lint to 1.55.0 from 1.54.2
105+
* 5f06364f Update make-golangci-lint to 1.55.1 from 1.55.0
106+
* 36576a5c Update make-golangci-lint to 1.55.2 from 1.55.1
107+
* d703321a avi: Add extended chunks support and option
108+
* 55521bba avi: Add stream type constants
109+
* 51965549 avi: Add type, handler, format_tag and compreession per stream
110+
* 0f225c32 avi: Add unused field for extra indx chunk space
111+
* df085b91 avi: Handle stream sample size
112+
* c7ec18d6 avi: Increase sample size heuristics to 32bit stereo
113+
* a745b12d avi: More correct strf chunk extra data
114+
* 9b10e598 avi: Only use sample size heuristics if there is no format
115+
* 23ae4d97 decode,interp: Make synthetic values more visible and not act as decode values
116+
* 5abf151f doc: Remove spurious backtick
117+
* 02b35276 exif,tiff: Handle broken last next ifd offset by treating it as end marker
118+
* dc376f34 gojq: Update rebased fq fork
119+
* ac276ee1 gzip: Correctly handle multiple members
120+
* 45a8dd9c interp: Better from_jq error handling
121+
* 051a70bd interp: Change bit ranges to use exclusive end
122+
* 29e75411 interp: Fix infinite recursion when casting synthetic raw value into a jq value
123+
* c28163f8 interp: Improve colors when using light background
124+
* 797c7d90 macho: Move timestamp string to description
125+
* 71a5fc91 macho: Respect endian when decoding flags
126+
* 1d14ea51 matroska: Decode ebml date type
127+
* b24ed161 mod: Update golang.org/x/exp and github.com/gomarkdown/markdown
128+
* 5e2e49e3 protobuf: No need for synthetic for string and bytes value
129+
* 6034c705 webp,avi,wav,aiff: Trim RIFF id string
130+
* 9e58067f webp: Refactor to use riff code and decode VP8X, EXIF, ICCP and XMP chunks
131+
* a83cac60 zip: Fix incorrect time/date, add extended timestamp and refactor
132+
1133
# 0.8.0
2134
3135
Fix handling of shadowing order for `_<name>` keys, 3 new decoders `caff`, `moc3` and `opentimestamps`, some smaller fixes and improvements.

fq.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/wader/fq/pkg/interp"
77
)
88

9-
const version = "0.8.0"
9+
const version = "0.9.0"
1010

1111
func main() {
1212
cli.Main(interp.DefaultRegistry, version)

0 commit comments

Comments
 (0)