|
| 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 | +
|
1 | 133 | # 0.8.0
|
2 | 134 |
|
3 | 135 | Fix handling of shadowing order for `_<name>` keys, 3 new decoders `caff`, `moc3` and `opentimestamps`, some smaller fixes and improvements.
|
|
0 commit comments