mirror of
https://github.com/wader/fq.git
synced 2024-12-25 22:34:14 +03:00
709 lines
34 KiB
Markdown
709 lines
34 KiB
Markdown
|
# 0.0.5
|
||
|
|
||
|
Improved binary slicing and bit reading, `avro_ocf` decoder (thanks @xentripetal), `asn1_ber` decoder, renamed `display` aliases, new `grep_by` and `paste` function.
|
||
|
|
||
|
## Changes
|
||
|
- Big internal bit reader refactor. Now much more consistent code and fixes some issues reading and decoding of binary arrays and binary slices. #123
|
||
|
- Bit reading and IO have been moved to a `bitio` package.
|
||
|
- Non-simple bit reading have been move out of `bitio` to `decode` package.
|
||
|
- `[0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1 | tobits] | tobytes | tostring` returns `"fq"`.
|
||
|
- `[.frames[0], .frames[-1]] | mp3` decode mp3 based on first and last frame of other mp3.
|
||
|
- Add `grep_by` that recursively selects using a filter condition and ignores errors. #102
|
||
|
- `grep_by(.type == "trak")` finds all objects where `.type` is "trak" (all mp4 track boxes).
|
||
|
- `grep_by(tonumber | . >= 40 and . <= 100)` find all numbers between 40 and 100.
|
||
|
- `grep_by(format == "jpeg")` find all jpegs.
|
||
|
- Add `paste` function to read string from stdin util ^D (EOF). Can be used to paste in REPl etc. #143
|
||
|
- `paste | frompem | asn1_ber | repl` wait for PEM encoded text on stdin (paste and press ^D), decode it with `asn1_ber` and start a sub-REPL with the result.
|
||
|
- `paste | fromjson` decode pasted JSON.
|
||
|
- `eval(paste)` eval pasted jq expression.
|
||
|
- Cleanup display aliases. Remove `v` and `f`, add `da`, `dd`, `dv` and `ddv`. #112
|
||
|
- `d`/`d($opts)` display value and truncate long arrays and buffers
|
||
|
- `da`/`da($opts)` display value and don't truncate arrays
|
||
|
- `dd`/`dd($opts)` display value and don't truncate arrays or buffers
|
||
|
- `dv`/`dv($opts)` verbosely display value and don't truncate arrays but truncate buffers
|
||
|
- `ddv`/`ddv($opts)` verbosely display value and don't truncate arrays or buffers
|
||
|
- Refactor `radix` into `toradix($base)`/`fromradix($base)`. #139
|
||
|
- Remove `number_to_bytes`. Can be done with `tobytes`. #139
|
||
|
- Change `tobytes` to zero pad most significant bits to byte alignment if needed. #133
|
||
|
- Add `tobytes`/`tobits` variant that takes an argument to add extra padding. #133
|
||
|
- `0xf | tobytes` 8 bit binary with last 4 bits set
|
||
|
- `0xf | tobytes(4)` 32 bit binary with last 4 bits set
|
||
|
- `0xf | tobits(12)` 12 bit binary with last 4 bits set
|
||
|
- Rename fq type buffer to binary as it makes more sense. #133
|
||
|
- Add `topem`/`frompem` to work with PEM encoding. #92
|
||
|
- Add Windows scoop install. #137 Thanks @thushan
|
||
|
- Add `display`, decode value, binary and binary array documentation. #118 #136 #133
|
||
|
- Add decode API documentation. #149
|
||
|
- Improved REPL completion for keys. #144
|
||
|
- Add `-o force=<bool>` option that sets force decode option. Same as `mp4({force: true})`. #126
|
||
|
|
||
|
## Decoder changes
|
||
|
- `avro_ocf` Add decoder. #38 Thanks @xentripetal
|
||
|
- Full avro OCF support. Handles all primitive, complex, and logical types besides decimals.
|
||
|
- Able to handle deflate, snappy, and null codecs for blocks.
|
||
|
- `asn1_ber` Add decoder. #92
|
||
|
- Also decodes CER and DER (X.690) but with no additional validation at the moment.
|
||
|
- Support all types but real type is currently limited to range for 64 bit interger/float.
|
||
|
- Has `torepr` support.
|
||
|
- No schema support.
|
||
|
- `aac_frame` Only decode object types we know about. #130
|
||
|
- `mp3` Shorter sync find heuristics. #104
|
||
|
- `mp4` Add `stz2` support
|
||
|
- `mp4` Add `pnot` (preview container) and `jP ` (JPEG 2000) signature. #125
|
||
|
|
||
|
Also thanks to @Doctor-love for keeping things tidy.
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
* 6fc1efd9 Add test case with all data types
|
||
|
* ae4a6243 Adds Windows Scoop instructions for fq.
|
||
|
* 4b809a73 Change avro codec to funcs
|
||
|
* 66ca1f10 Change tests to use new verbose syntax
|
||
|
* 7345b8c7 Cleanup
|
||
|
* 07ddf36f Cleanup for linting
|
||
|
* 4508241b Cleanup snappy
|
||
|
* 0909fb6d Comment on snappy decompression
|
||
|
* 21cfc70c Dates need to specify UTC too
|
||
|
* 75b84961 Fix lint
|
||
|
* 7a8e3ca2 Hook into registry, add codecs
|
||
|
* 251053ef Initial pass on logical types
|
||
|
* 2605bce4 Lint and add basic doc
|
||
|
* ee184075 Parse header using avro decoders. Still not certain this is the best idea. Will get opinions before finalizing.
|
||
|
* ab50088d Polish of problem template and clarifying questions
|
||
|
* 27789f2d Regenerate docs
|
||
|
* 5a1d35e7 Remove redudant question and fix typo
|
||
|
* 31c4c0d3 Support snappy and deflate codecs
|
||
|
* 0300c955 Take heading off doc to match make doc format
|
||
|
* 6f57cdbf Timestamps should be UTC
|
||
|
* 06085a26 Undo change to doc/file.mp4. I have no idea how this got changed in the first place? Maybe some macos shenanigans.
|
||
|
* d137a72a Update docker-golang from 1.17.6 to 1.17.7
|
||
|
* 267e30ec Update github-go-version from 1.17.6, 1.17.6 to 1.17.7
|
||
|
* 1e859cda Update github-golangci-lint from 1.43.0 to 1.44.0
|
||
|
* 16849c8f Update linting
|
||
|
* d02d8968 Update make-golangci-lint from 1.43.0 to 1.44.0
|
||
|
* 68e85a2d Use existing scalar description helper
|
||
|
* 3bab3d65 aac_frame: Only try decode object types we know about
|
||
|
* 0829c167 asn1_ber: Add decoder
|
||
|
* 0312c92c asn1_ber: Add more doc and multiple outputs for frompem
|
||
|
* 06245d12 binary,decode,doc: Rename buffer to binary and add some documentation
|
||
|
* 7c521534 bitio,decode: Refactor bitio usage and make buffer slicing more correct
|
||
|
* 0d74e879 bitio,doc: Even more cleanup
|
||
|
* d854ed57 bitio: Cleanup documentation a bit
|
||
|
* 82aeb355 bitio: More doc cleanup
|
||
|
* 01ecde64 bump: Add snappy config
|
||
|
* de64a99e cleanup some docs, change enum to mapper, error zigzag on more than 8 bytes
|
||
|
* 6cd1c38f decode,scalar: Add scalar.Str{Uint/Int/F}ToSym to parse numbers
|
||
|
* 4ab6381d decode: Add scalars args to FieldRootBitBuf
|
||
|
* be71eb01 decode: Rename LenFn() to LimitedFn, add FramedFn and document
|
||
|
* 7bc25219 doc,interp: Add some example usages to cli help
|
||
|
* 8e47fb1a doc,matroska: Fix filesname in example
|
||
|
* c15f5283 doc: Add format links to format table
|
||
|
* b86da7ae doc: Add inital decoder API documentation
|
||
|
* 49c90f89 doc: Add macOS security notes and move supported format up a bit
|
||
|
* 06b67e4b doc: Add more license details
|
||
|
* a8664ed5 doc: Add per format documentation
|
||
|
* 09552628 doc: Add snappy license
|
||
|
* 36307857 doc: Cleanup and add more decode value and binary documentation
|
||
|
* 710c29b2 doc: Color edges in diagram based on dest
|
||
|
* f0ce7179 doc: Document display and some more jq hints
|
||
|
* b3504680 doc: More decode API details and polish
|
||
|
* 6b51b067 doc: More display alias leftover fixes
|
||
|
* dd3e40fb doc: Unbreak formats_digaram.jq since radix change
|
||
|
* c52a1a23 doc: Use f($a; $b) instead of jq f/2 notation
|
||
|
* 233d86a3 fq: Add arch and os to --version
|
||
|
* b8efd8e5 fuzz: Fuzz all formats
|
||
|
* e1bdfdf8 fuzz: List seed numbers and make it build again
|
||
|
* 6090b65e fuzz: Make it compile again and run one format per fuzz
|
||
|
* aea48847 github: Add basic issue template
|
||
|
* b55ca2cd gojq: Rebase fq branch
|
||
|
* 47c978e4 goreleaser: Use zip for macos
|
||
|
* 85371173 id3v2: Should assert not validate magic
|
||
|
* d6ca4818 initial work for avro OCF files
|
||
|
* ca68e6a1 interp: Add Platform() method to OS interface
|
||
|
* e792598c interp: Add grep_by/1 to recursively match using a filter
|
||
|
* 0a1a5610 interp: Add missing default opts for tovalue
|
||
|
* 48a19cb8 interp: Add paste function to allow pasting text into REPL etc
|
||
|
* fc0aacb6 interp: Cleanup display aliases, now: d, da, dd, dv, ddv
|
||
|
* bf7a483f interp: Fix handling of group decode error from stdin
|
||
|
* 26d9650b interp: Refactor radix* into toradix($base)/fromradix($base)
|
||
|
* 366f6b18 interp: Support force decode as -o force=true
|
||
|
* 77ab667b interp: Use absolute path in errors
|
||
|
* c31ec2a3 interp: Use correct sym color
|
||
|
* 898dfec1 lint: Fix typeassert and case exhaustive warnings
|
||
|
* d5401166 make doc
|
||
|
* bf170be8 make: Cleanup some not very used targets
|
||
|
* 8d2d88f4 mp3: Decrease max sync seek length between frames to 4k
|
||
|
* d555c324 mp4,fuzz: Fatal error on infinite sgpd box entries
|
||
|
* 45b00aab mp4: Add stz2 support
|
||
|
* 092609be mp4: Add video preview (pnot) and JPEG 2000 (jP) signatures
|
||
|
* febce5a5 mpeg_spu: Fatal error on infinite loop
|
||
|
* c58ba28d mpeg_spu: Fatal error on unknown cmd
|
||
|
* d1943dad pcapng,fuzz: Fix infinite loop by fatal error on block length <= 0
|
||
|
* 2ab395a0 protobuf: Add note about sub message decoding
|
||
|
* af053811 repl,interp: Make stdio work during completion
|
||
|
* bd9be2c5 repl: Fix completion of non-underscore extkeys
|
||
|
* 69c745d3 simplify scalar usage
|
||
|
* 778a1a41 zip: Assert signature not validate
|
||
|
|
||
|
(Some commits have been removed from list for clarity)
|
||
|
|
||
|
# 0.0.4
|
||
|
|
||
|
## Changes
|
||
|
- Add a `torepr/0` function that converts decoded value into what it represents.
|
||
|
Initially works for:`bencode`, `cbor`, `bson` and `msgpack` #74
|
||
|
Example usage:
|
||
|
`fq torepr file.cbor`
|
||
|
`fq -i torepr file.cbor`
|
||
|
`fq torepr.field file.cbor`
|
||
|
`fq 'torepr | .field | ...' file.cbor`
|
||
|
- Add `stderr/0` function for jq compatibility #58
|
||
|
- Bitwise operators `band`, `bor` etc are now normal functions instead of operators. Was done to be syntax compatible with jq #61
|
||
|
Uses the same convention as jq math functions: Unary uses input `123 | bnot`, more than one argument all as arguments `band(123; 456)`
|
||
|
- Decode API now supports null values #81
|
||
|
- Decode API now supports arbitrary large integers #79
|
||
|
- TCP reassembly now supports streams with missing SYN/ACK #57
|
||
|
- Update readline package to version with less dependencies #83
|
||
|
- Make REPL prompt more jqish #70
|
||
|
|
||
|
## Decoder changes
|
||
|
- `bencode` Add decoder #64
|
||
|
- `cbor` Add decoder #75
|
||
|
- `msgpack` Add decoder #69
|
||
|
- `mp4` Much improved sample decode #82 #78
|
||
|
- `png` Decode PLTE and tRNS chunks #59
|
||
|
- `tar` Don't assume there is a end marker and support more than 2 blocks #86 #87
|
||
|
|
||
|
Also thanks to @Doctor-love for keeping things tidy.
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
* af8e7ef bencode: Add decoder
|
||
|
* 0b0f28e cbor: Add decoder
|
||
|
* 1383b41 decode,interp: Add arbitrary large integer support (BigInt)
|
||
|
* 548a065 decode,interp: Finish up nil value support
|
||
|
* ff5c0b8 decode: Error on negative number of bits when reading numbers
|
||
|
* cf8a50c decode: Use stable sort for values to not change order or values with same range start
|
||
|
* b4694b6 doc,dev: Add some more decoder implementation help
|
||
|
* 0c1716b doc: Add alpine and go run
|
||
|
* 809210b doc: Add more dev tips
|
||
|
* 59b8803 doc: Document dev dependencies and related PRs/issues etc
|
||
|
* 6ca4767 doc: Improve formats graph a bit
|
||
|
* 8e9700d doc: Improve readme a bit and add torepr example
|
||
|
* 0cf486d elf: fix all-platforms naming typo
|
||
|
* 263f1ae flac: Don't allow zero subframe sample size
|
||
|
* 729a6ca formats: Sort and make lists less likely to cause collision
|
||
|
* 78c0775 fq: Embed version in source
|
||
|
* aa7adb6 fq: Update version to 0.0.4
|
||
|
* 7461264 fuzz: Skip other tests when fuzzing
|
||
|
* be0ef80 interp,fq: Make bit operators normal functions
|
||
|
* a3cfcd0 interp: Add stderr again for jq compat
|
||
|
* 149cb3f interp: Add torepr/0 that converts decode value into what it reptresents
|
||
|
* b3a0980 interp: Document bit opts funcs and add some error tests
|
||
|
* 8d10423 make: Fix quote issue in release script
|
||
|
* 4a1e859 mp4: Improved stsz handling
|
||
|
* 61bf2ce mp4: Refactor sample decode into something more sane
|
||
|
* a6bf62c msgpack: Add decoder
|
||
|
* edad481 num,mathextra: Rename num package to mathextra
|
||
|
* bfc977b png: Decode PLTE and tRNS chunks and cleanup syms a bit
|
||
|
* 36d2891 readline: Update to verison with less deps
|
||
|
* 9770b00 repl: Make prompt for array and iter more jqish
|
||
|
* ba1edef tar: Allow more than 2 zero end blocks at end
|
||
|
* 5921d76 tar: Don't assume there is a end marker
|
||
|
* edd0ae1 tcp,flow: By default allow missing syn/ack for now
|
||
|
|
||
|
(Some commits have been removed from list for clarity)
|
||
|
|
||
|
# 0.0.3
|
||
|
|
||
|
## Changes
|
||
|
- Now works on Windows #52
|
||
|
- Now builds and runs on 32-bit CPUs #30 @danfe
|
||
|
- `print/0`, `println/0` function now properly convert input to string if needed. #54
|
||
|
- `match` functions now don't try to be smart with buffers, use. `tobytes` etc instead. Less confusing and also unbreak `grep`:ing decode values. #53
|
||
|
Now this works: `fq 'grep("^strtab$") | parent | {name, string}' /bin/ls`
|
||
|
- Add Arch package #19 @orhun @ulrichSchreiner @dundee
|
||
|
- Add Nix package #22 @siraben @jtojnar @portothree
|
||
|
- Add FreeBSD port @danfe
|
||
|
|
||
|
## Decoder changes
|
||
|
- `bson` Add Binary JSON deccoder
|
||
|
- `ar` Add Unix archive decoder
|
||
|
- `bsd_loopback_frame` Add BSD lookback frame decoder (used in pcap files)
|
||
|
- `elf` Now does a two-pass decode to correctly handle string table references
|
||
|
- `elf` Decode more sections: symbol tables and hashes
|
||
|
- `matroska` Assert sane tag size only for strings
|
||
|
- `pcap` Don't fail if incl_len > spanlen
|
||
|
|
||
|
Also thanks to @Doctor-love @mathieu-aubin for keeping things tidy.
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
* 628f0f4 bson: Add decoder
|
||
|
* 46b59d0 crc: Unbreak build on 32-bit arch
|
||
|
* 681dbc2 elf,ar: Add ar decoder, improved elf decoder
|
||
|
* e5c620d github,ci: Add windows, macos and 32-bit linux
|
||
|
* 52dddbb goreleaser: Use draft release to allow release note changes
|
||
|
* e365f22 interp: Cleanup stdio usage and functions
|
||
|
* 55b1d5c interp: Move _registry to decode
|
||
|
* b6515c8 interp: Remove buffer smartness for regexp match functions
|
||
|
* b867113 matroska: Assert sane tag size only for strings
|
||
|
* b9aef39 pcap,pcapng,bsd_loopback_frame: Add decoder, refactor link frame into a group
|
||
|
* af23eb8 pcap: Don't fail if incl_len > spanlen
|
||
|
* a41f0d4 windows: Correct @builtin include path join
|
||
|
* bf9e13c windows: Unbreak tests
|
||
|
|
||
|
(Some commits have been removed from list for clarity)
|
||
|
|
||
|
|
||
|
|
||
|
# 0.0.2
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
* 00f34c2 Update docker-golang from 1.17.3 to 1.17.4
|
||
|
* 05b179c Update docker-golang from 1.17.4 to 1.17.5
|
||
|
* c721ac8 Update github-go-version from 1.17.3, 1.17.3 to 1.17.4
|
||
|
* befe783 Update github-go-version from 1.17.4, 1.17.4 to 1.17.5
|
||
|
* 75aa475 decode: Generate Try?Scalar* methods for readers too
|
||
|
* 9b683cd deocde: Cleanup some io panic(err)
|
||
|
* e1e8a23 doc: Add color/unicode section and move config section
|
||
|
* ee023d7 doc: Add some more related and similar projects
|
||
|
* d02c7c4 doc: Add some more usage examples
|
||
|
* be46d5f doc: Cleanup todo and add some dev notes
|
||
|
* 47deb4d doc: Fix interpretation typo
|
||
|
* fe68b51 doc: Improve readme text a bit
|
||
|
* 916cb30 doc: Improve usage examples as bit
|
||
|
* 5cb3496 docker: Fix broken build, copy fq.go
|
||
|
* c2131bb flac: Cleanup scalar usage and fix incorrect sample rates
|
||
|
* 1500fd9 gojq: Update to rebased fq fork
|
||
|
* 3601fe3 gzip: fuzz: Don't uncompress on unknown compress method (nil create reader fn)
|
||
|
* f4f6383 interp: Add ._index for values in arrays
|
||
|
* 4558192 interp: Cleanup buffer code and implement ExtType()
|
||
|
* e823475 interp: Fix help a bit
|
||
|
* fa350c6 interp: Move display to jq
|
||
|
* f7c7801 interp: Rework buffer regex support
|
||
|
* 6ed2e2e interp: dump: Indicate arrays using jq-syntax
|
||
|
* 9aec91a interp: match: Fix issue with regexp meta characters when matching using a buffer
|
||
|
* e5e81e7 make: Fix prof build issue
|
||
|
* e91b22b matroska,ebml: Use scalar and require sane tag size
|
||
|
* eb9698f mp4,ctts: Seem more usable to treat sample count/offset as signed
|
||
|
* c149732 mp4,trun,fuzz: Limit number of constant sample entries
|
||
|
* 406263b mp4: Add comment about hdlr.component_name prefix byte
|
||
|
* 28a3b71 mp4: Cleanup sample decode code
|
||
|
* 6278529 mp4: fuzz: Make sure stsz has sane number of entries on constant sample size
|
||
|
* 9f08af3 mpeg,aac: Factor out escape value decoding
|
||
|
* dc1aea3 opus: Cleanup endian usage and fix incorrect preskip decode
|
||
|
* 2b2320d pcap,flows: fuzz: Handle broken packets more nicely
|
||
|
* 1d7ace3 pcap,pcapng,tcp: Use capture length not original length
|
||
|
* b525d0b pcap: fuzz: Skip ssl2 packet if too short
|
||
|
* 713ffe4 scalar: Add Require* and Require/Validate/AssertRange*
|
||
|
* f348002 sll2: fuzz: Limit address length to max 8 bytes
|
||
|
* eb4718f tar: Cleanup api usage
|
||
|
* 45026eb tar: Cleanup constant usage a bit more
|
||
|
* 91cc6d8 tar: Fix size decode regression after cleanup
|
||
|
* 07a2ebe tiff,fuzz: Fatal error on infinite ifd loops
|
||
|
* 91217e8 tiff: Fix endian typo and cleanup todos
|
||
|
* 3850968 udp: Use proper udp payload format var name
|
||
|
* 6a8d77b vorbis_comment: Cleanup endian usage and naming a bit
|
||
|
* 57e9f41 vorbis_packet: Cleanup endian usage
|
||
|
* f5a4d26 vscode: Use tabsize 2 for jq files
|
||
|
* dd883b3 wav: Cleanup endian usage
|
||
|
* e260830 webp: Cleanup endian usage
|
||
|
|
||
|
|
||
|
|
||
|
# 0.0.1
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
* 4242bf6 *_annexb: Refactor into avc/hevc_annexb
|
||
|
* e86b45b Add *grep/1/2 and find/1/2
|
||
|
* 36fd74a Add comment how raw byte regexp matching works
|
||
|
* d1be167 Add decode struct each order test
|
||
|
* 7f36f70 Add to/bytes/bits[range]
|
||
|
* 571bf29 Change project title
|
||
|
* 95ec5e1 Cleanup and rename s/BufferView/BufferRange
|
||
|
* 9797cdc Cleanup dev/snippets.jq
|
||
|
* 565f18d Correct avc_au format variable name
|
||
|
* 6a1fa04 Decode hvc1 as hevc samplesa also
|
||
|
* 74bad2d Fix broken value.fqtest
|
||
|
* 514739a Give proper error on missing short flag
|
||
|
* 57f0ec1 Improve cli help a bit
|
||
|
* 9704659 Init
|
||
|
* f33b310 Refactor decode.Value gojq bindings
|
||
|
* 3d90b6d Remove fixed comment
|
||
|
* e4e269b Rename and move cli test to pkg/cli
|
||
|
* 1bd34bf Same args error behavior as jq
|
||
|
* 3693667 Start of configurable json bit buffer formats
|
||
|
* 590ee52 Update ci-golang from 1.17.0 to 1.17.1
|
||
|
* 72a3f69 Update ci-golangci-lint from 1.42.0 to 1.42.1
|
||
|
* 078cf29 Update docker-golang from 1.17.1 to 1.17.2
|
||
|
* f5a8484 Update docker-golang from 1.17.2 to 1.17.3
|
||
|
* 1371bc7 Update docker-golangci-lint from 1.42.1 to 1.43.0
|
||
|
* f1ad700 Update github-go-version from 1.17.1, 1.17.1 to 1.17.2
|
||
|
* 314bd17 Update github-go-version from 1.17.2, 1.17.2 to 1.17.3
|
||
|
* 53a8d91 Update github-golangci-lint from 1.42.1 to 1.43.0
|
||
|
* 898cd26 Update golang from 1.17.0 to 1.17.1
|
||
|
* 31cd26e Update golangci-lint from 1.42.0 to 1.42.1
|
||
|
* d4b2d58 Update gomod-mapstructure from 1.4.2 to 1.4.3
|
||
|
* 1decf85 Update make-golangci-lint from 1.42.0 to 1.42.1
|
||
|
* 233aaa1 Update make-golangci-lint from 1.42.1 to 1.43.0
|
||
|
* 15e9f6f ansi: Correct background reset code
|
||
|
* 1ccab2d apev2: Add test
|
||
|
* 27e4770 apev2: Fatal if > 1000 tags
|
||
|
* 3bf1a57 avc: Cleanup and add color names etc
|
||
|
* 777191f avc: Correct sign expgolomb decode
|
||
|
* 20021f4 bitio: Handle < 0 nbits
|
||
|
* 7c4b0b3 bitio: Simplify by embedding reader
|
||
|
* f600f2e build: Require go 1.17
|
||
|
* 77f97aa builtin: Add chunk_by, count_by and debug
|
||
|
* 27ba359 bump: Add action and cleanup names
|
||
|
* 71e87e6 bump: Cleanup config, add config for release.yml
|
||
|
* 8f2f524 bump: Move bump config to where it's used
|
||
|
* 184df0a cli: A bit clearner array and iter prompt
|
||
|
* d350971 cli: Add --decode-file VAR PATH support
|
||
|
* 17104f0 cli: Add --options to make help a bit nicer
|
||
|
* 6356a84 cli: Add --raw-string
|
||
|
* 93fd097 cli: Add -M -C support and default to color if tty
|
||
|
* 8dc0f06 cli: Add completion tests
|
||
|
* 2010cac cli: Add error test
|
||
|
* 706b2f2 cli: Add exit 2 (like jq) for no args
|
||
|
* 569b631 cli: Add output join tests
|
||
|
* 49f541c cli: Add proper repl iterator support
|
||
|
* 3304f29 cli: Add string_input options test
|
||
|
* 0dd848d cli: Better filenames in errors
|
||
|
* 22eb53d cli: Cleanup MaybeLogFile
|
||
|
* c14c29a cli: Cleanup and more commens
|
||
|
* 10d7ed7 cli: Fix error filename on script error
|
||
|
* 2b8d11d cli: Fix indent
|
||
|
* 2d4eb9c cli: Fix non-string variables and var(; f) variant to delete etc
|
||
|
* f5ffd32 cli: Implement --arg, --argjson and --rawfile
|
||
|
* ae5566a cli: Include paths and some refactor
|
||
|
* ec98fd3 cli: Make --argjson and --decode-file error similar
|
||
|
* ac8cfca cli: Make --raw-string work with input/0 and inputs/0
|
||
|
* b33f2cd cli: Make profile build optional and move it to cli
|
||
|
* e2ff2a2 cli: Move help/0 to inter.jq, better help for -n
|
||
|
* d0bb9a5 cli: Nicer grammar for --null-input help
|
||
|
* 78eb737 cli: Nicer usage and indent input iteration
|
||
|
* 394e2b3 cli: Only compelete at end or whitespace
|
||
|
* 8d1fafe cli: Only show fq info for --help
|
||
|
* 2684ed2 cli: Prepare completion for better variables support
|
||
|
* e666380 cli: REPL and multiple files
|
||
|
* 75cf46f cli: Refactor options code
|
||
|
* f8ab00e cli: Remove unused eval debug arg
|
||
|
* 5c8fb5f cli: Revert accidental history path change
|
||
|
* 55cd45f cli: Simplify code
|
||
|
* 2874bc7 cli: Unbreak colors in windows
|
||
|
* 48517c7 cli: Unbreak part of completion
|
||
|
* 518b725 cli: Use format/0 to check if value is a format
|
||
|
* 21bef18 cli: User defined global vars
|
||
|
* 538f4ff cli: add -nul-output compat
|
||
|
* 85d1719 cli: jq compat, multiple -L
|
||
|
* c8f0264 cli: more jq compat
|
||
|
* f893295 cli: rename fq.jq to interp.jq
|
||
|
* 1436fdc completion: Better and _internal handling
|
||
|
* c7416e6 decode, interp: More buffer reuse
|
||
|
* 6ee7977 decode,format: Allow root array
|
||
|
* 58ba84f decode,interp: Add RecoverableErrorer interface instead of enumerate
|
||
|
* b66ed32 decode,interp: Make fuzzing work again and cleanup fatal/error code
|
||
|
* 5052bae decode,interp: Refactor to allow decode/fillgap a range
|
||
|
* d4142b8 decode,png: Add FieldFormatReaderLen, refactor out zlib to format
|
||
|
* 826c509 decode: Add Generated header for scalar
|
||
|
* 3db11d3 decode: Add UTF8Fn functions and trim some null terminated strings
|
||
|
* c083a9e decode: Fix MapRawToScalar regression
|
||
|
* c17483d decode: Fix accidental rename
|
||
|
* 6fba1a8 decode: Fix bitbuf root handling a bit
|
||
|
* d1e1cd9 decode: Fix walk root depth issue causing dump to indent incorrectly
|
||
|
* 1b32b42 decode: Major decode API refactor
|
||
|
* 7af191d decode: Move io helper into *D
|
||
|
* 26d615b decode: Move name/description into DecodeOptions
|
||
|
* 986d5ec decode: Move registry package to decode/registry and add a format group type
|
||
|
* ede2e77 decode: Nicer scalar template and add doc
|
||
|
* 6207fcc decode: Pass context to be able to cancel properly
|
||
|
* 5d98a69 decode: Refactor Error/Fatal into printf functions
|
||
|
* 9f55b6e decode: Refactor and add symbol struct and mapping
|
||
|
* 2fc0a71 decode: Refactor scalar usage
|
||
|
* 8eaba88 decode: Refactor walk code a bit, add WalkRoot* to stay inside one root
|
||
|
* f40320b decode: Remove D.Scalar* and add d.(Try)FieldScala*Fn instead
|
||
|
* c155c89 decode: Rename format *Decode to *Format
|
||
|
* f801cc0 decode: Rename s/FieldTryFormat/TryFieldFormat for consistency
|
||
|
* 776a6b3 decode: Reuse read buffer per decode to speed things up
|
||
|
* 9d116df decode: Rework use of TryFieldReaderRangeFormat
|
||
|
* d48ebc1 decode: Simplify Compound.Children
|
||
|
* 473b224 decode: Simplify and move format arg into DecodeOptions
|
||
|
* 0480a2f decode: Some format decode and sub buffer work
|
||
|
* a49e924 decode: Use golang.org/x/text for text decoding
|
||
|
* af3e6b1 dev: Add format_summary.jq
|
||
|
* 4c6de82 dev: Add summary how start to dump tree works
|
||
|
* a926c8f dev: Some debug notes
|
||
|
* b17a715 difftest: Remove accidental log
|
||
|
* 1e1ad14 difftest: Sync code
|
||
|
* 3cea849 dns: Cleanup a bit
|
||
|
* d469edf doc,make: Correctly strip out graphviz version from svg
|
||
|
* 15d85e1 doc: Add find/1 find/2
|
||
|
* 26ea6d8 doc: Cleanup
|
||
|
* a131210 doc: Cleanup and add note about . argument
|
||
|
* 0a97f86 doc: Cleanup and note about repl limit
|
||
|
* 8440e8a doc: Cleanup todo and dev a bit
|
||
|
* 15b6d64 doc: Cleanup up a bit
|
||
|
* 1047d90 doc: Document io packages a bit
|
||
|
* 1a0089e doc: Fix typo and some improvments
|
||
|
* 97c7403 doc: Fix typo in README
|
||
|
* 0814206 doc: Fix typos and old examples
|
||
|
* 0e8c82a doc: Improve readme goals a bit
|
||
|
* 2f9d93d doc: Improved readme and cleanup todo
|
||
|
* 242525f doc: Move formats to own file
|
||
|
* 583bc38 doc: Regenerate demo.svg
|
||
|
* a050adc doc: Regenerate demo.svg
|
||
|
* 18e3e20 doc: Regenerate demo.svg with newer ansisvg
|
||
|
* 1f61704 doc: Regenerate svg after ansisvg monospace update
|
||
|
* a7459b3 doc: Some basic usage and cleanup
|
||
|
* 6fa5ae8 doc: Some fixes
|
||
|
* 00b7c18 doc: Some more doc work
|
||
|
* 07c7daa doc: Some rewording
|
||
|
* 5a82224 doc: Update
|
||
|
* 21a74fa doc: Update
|
||
|
* d6d3265 doc: Update README a bit
|
||
|
* df5bd19 doc: Update TODO
|
||
|
* fb13fe5 doc: Update todo
|
||
|
* eee3c4e doc: Use unicode pipe in demo
|
||
|
* b9b0326 doc: fq - jq for files
|
||
|
* 790198c docker: Make image build again and install expect
|
||
|
* 2387ec8 docker: Use golang 1.17
|
||
|
* f8e5944 dump,json: Properly figure if compound or not
|
||
|
* ee972f4 dump: Add ascii header
|
||
|
* 69c6d15 editlit.jq: Update after mp4 field renames
|
||
|
* 27095b5 es: Decode MPEG ASC if audio stream
|
||
|
* 761c411 exif: Add note about JPEGInterchangeFormat
|
||
|
* 344f628 flac: Calculate correct md5 when total samples count is zero
|
||
|
* ce044ba flac: Cleanup
|
||
|
* 2af08da flac: Fix block_size regression
|
||
|
* 4f0bf92 flac: Make md5_calculated be a buffer
|
||
|
* 797bd4d flac: Refactor flac_metadatablock into flac_metadatablocks
|
||
|
* 1f26d4f flac_frame: Correctly read escaped samples and also a bit less allocations
|
||
|
* bc9951c flac_frame: Fail if trying to decode outside block size
|
||
|
* 723542a flac_frame: Make utf8Uint reader more correct and robust
|
||
|
* b643e22 flac_frame: Support non-8 bit align sample size
|
||
|
* 2daa738 flac_frame: Use d.Invalid for posssible errors
|
||
|
* c1d9b4d flac_metadatablocks: typ > 127 can't happen, add app id
|
||
|
* 984ba1a flac_metadatablocks: type >= 127 is invalid
|
||
|
* 2b35d28 flac_picture,mp4: avif images and data fallback is image format fails
|
||
|
* 509b8f8 flac_picture: Add picture_type names
|
||
|
* 4f8d037 format,decode: Some crc and endian refactor
|
||
|
* aa38ccf format,interp: Use MustGroup and add probe order test
|
||
|
* 577c0f5 format: Add panic if register after resolve
|
||
|
* 606c0b6 format: Add vorbis-comment-picture test, add .gitignore and cleanup
|
||
|
* 798141a format: Cleanup comments
|
||
|
* c0eebcc format: Remove unused ProtoBufType
|
||
|
* 4b48828 format: Rename source file to match format name
|
||
|
* d1b514e format: Some claeanup
|
||
|
* ec97eca format: Split default.go into format.go and shared.go
|
||
|
* 25f5ad7 fq,cli: Rename chunk to streaks, cleanup
|
||
|
* 905c0ab fq: Add chunk/1
|
||
|
* 46d37ef fq: Add cli sanity test
|
||
|
* b849895 fq: Add truncate array support to dump/display
|
||
|
* 8cb380e fq: Generate decode alises code
|
||
|
* dfcefc1 fq: Make format/0 native for performance
|
||
|
* ba273be fq: Make relative include work with @builtin etc
|
||
|
* d23edaa fq: Rename bits/0 bytes/0 to tobits tobytes, remove string/0
|
||
|
* a7a58c8 fq: Rename main.go to fq.go
|
||
|
* 834f4a5 fq: use jq functions for all display alises
|
||
|
* 31d7611 fqtest: Add env support and isterminal/width/height support
|
||
|
* 285356d fqtest: Cleanup and dont assert when WRITE_ACTUAL
|
||
|
* 86b34a3 fqtest: Fix section regexp
|
||
|
* dee10db fqtest: No need to escape empty stdout
|
||
|
* 6916880 fqtest: Refactor our script part to own package
|
||
|
* 01d8a90 funcs: Add delta/0 delta_by/0
|
||
|
* 96f7a75 funcs: Fix typo add count/0
|
||
|
* 962d84d funcs: Make intdiv truncate to int
|
||
|
* 08ec4f0 funcs: Remove unsued string function
|
||
|
* d5c084c funcs: chunk_by comment
|
||
|
* 80eaa46 funcs: format helper
|
||
|
* c770a75 funcs: make in_bytes/bits_range more generic
|
||
|
* 6ff5aca gif: Support GIF87a
|
||
|
* 0d87018 github: Install expect to cli test
|
||
|
* 8e3d9d8 github: bump: Checkout with bump token so it's used when push
|
||
|
* 0c7fa09 gojq: Initial update support
|
||
|
* 1888bb2 gojq: Remove div operator
|
||
|
* d7dbe7c gojq: Update fq branch to fix mod (-1 % 256) difference
|
||
|
* bf5c222 gojq: Update fq fork
|
||
|
* 093ee71 gojq: Update fq fork
|
||
|
* 1d15c1d gojq: Update fq fork
|
||
|
* 3044fef gojq: Update fq fork
|
||
|
* 5a5f01e gojq: Update fq fork
|
||
|
* bfec366 gojq: Update fq fork
|
||
|
* 4104a18 gojq: Update fq fork
|
||
|
* 31a5047 gojq: Update fq fork
|
||
|
* 0b90558 gojq: Update fq fork
|
||
|
* 8277b79 gojq: Update fq fork, support JQValue alt //
|
||
|
* a34784d gojq: Update fq gojq fork
|
||
|
* 7ad3d25 gojq: Update fq gojq fork
|
||
|
* f5164ee gojq: Update fq gojq fork
|
||
|
* ac7568d gojq: Update gojq fq fork
|
||
|
* f828ae1 gojq: Update gojq fq fork
|
||
|
* 845bc6b gojq: Update gojq fq fork
|
||
|
* d365ab7 gojq: Update gojq fq fork
|
||
|
* 6420928 gojq: Update gojq fq fork
|
||
|
* c8776ab gojq: Update gojq fq fork
|
||
|
* f4cd7bf gojq: Update jq fork
|
||
|
* b75da30 gojq: Update jq fork
|
||
|
* 03af2b5 gojq: Update rebased fq branch
|
||
|
* c3b7b5c gojq: Update to rebased fq branch
|
||
|
* 2d6573d gojq: Update to rebased fq branch
|
||
|
* fdb811e gojqextra,decode: Add generic lazy JQValue
|
||
|
* aab32cf gojqextra,interp: Add lazy string to speed usage of decode value buffer where string is not used
|
||
|
* 9035278 gojqextra: Move errors to own file
|
||
|
* 86092e6 golangci: unused: Assume go 1.17
|
||
|
* ac106d9 goreleaser: Cleanup
|
||
|
* ee611a4 gzip,bzip2: Calculate CRC
|
||
|
* 5344c7e icc: Add mluc support
|
||
|
* 50d00d8 icc_profile: Add element alignment bytes field
|
||
|
* 59e7fd4 icc_profile: Clamp alignment to end instead of check last tag (might not be last in buffer)
|
||
|
* a5b802b icc_profile: Correct alignment byte count
|
||
|
* 57a1207 id3v2: Support GEOB tags
|
||
|
* f55b1af inet: Add tcp and ipv4 reassembly
|
||
|
* 26c594f input: make -R mimic jq on io error
|
||
|
* d9b45ba internal: _global_var returns new value instead of _global_state
|
||
|
* f9f8660 interp,decode: Add force option to ignore asserts
|
||
|
* 6a15625 interp,decode: Refactor out Scalar from Value and merge Array/Struct into Compound
|
||
|
* cc5f405 interp,format: Update tests after decode refactor/tosym/toactual
|
||
|
* 9f2dddc interp,gojqextra: Make buffers values even more lazy and error early on non-scalar calls
|
||
|
* bf19588 interp: Add ansi helper
|
||
|
* 7298a4c interp: Add buffer match support to find and grep
|
||
|
* 0d693aa interp: Add line between usage and args help
|
||
|
* c997536 interp: Add root, buffer_root, format_root, parent and parents
|
||
|
* 69e4eea interp: Better error if format/group is not found
|
||
|
* 7423f45 interp: Cleanup output types
|
||
|
* 8d442b8 interp: Cleanup stdin reading and add more option tests
|
||
|
* b641c77 interp: Cleanup unfinished/broken preview
|
||
|
* 67898cb interp: Cleanup, use BufferRange for _open, progress for all decode
|
||
|
* 0660ff0 interp: Clear up confusing --rawfile (add a jq alias)
|
||
|
* 3fafee8 interp: Clearer help for -d
|
||
|
* 879bb56 interp: Correctly check if _decode_value, add more has/1 tests
|
||
|
* 2e964fa interp: Disable progress after decode is done
|
||
|
* 80b5d66 interp: Document inputs and repl/cli details
|
||
|
* 13fae09 interp: Don't print context cancel
|
||
|
* 96cc128 interp: Eval options in jq instead of calling jq from go
|
||
|
* 178032e interp: Fix $opts shadowing in decode
|
||
|
* 4eccb1e interp: Fix broken aes_ctr, should return buffer instead of []byte
|
||
|
* 110c86b interp: Fix broken dynamic width/height
|
||
|
* 80a6997 interp: Fix file leak and always cache for now
|
||
|
* cfdd922 interp: Fix prompt issue with format
|
||
|
* 93322bc interp: Implement format/0 in jq
|
||
|
* 8e5442f interp: Limit how often decode progress fn is called
|
||
|
* f1fcbe5 interp: Make has/1 work for _ext keys
|
||
|
* 826c8bd interp: Make include abs path work again
|
||
|
* 6034ad7 interp: More sure stdOS stops the signal forward gorutine
|
||
|
* 6cacc9b interp: Move *CtxWriter to ioextra, some comments cleanup
|
||
|
* afb1050 interp: Move _decode_value to value.jq
|
||
|
* 3e7e133 interp: Move formats func def to jq
|
||
|
* 5cd5633 interp: Move jq function impls closer to where they belong
|
||
|
* 996be0f interp: Move more options code into options.jq
|
||
|
* 976e992 interp: Move progress logic to jq
|
||
|
* 528e6b9 interp: Refactor and use mapstructure
|
||
|
* 472c1ef interp: Refactor out string_input to own function
|
||
|
* 54e121c interp: Refactor repl inputs a bit
|
||
|
* 618c1ea interp: Refactor/Rename BufferView
|
||
|
* d6d9484 interp: Remove --options, probably just confusing
|
||
|
* b024316 interp: Remove accidental extra space after path in prompt
|
||
|
* ff143d0 interp: Remove redundant decode arg
|
||
|
* abcecb8 interp: Remove unused []byte type
|
||
|
* 01a407a interp: Rename s/bufferrange/buffer and cleanup
|
||
|
* 567bc4b interp: Rename to* funcs to match
|
||
|
* 36e5562 interp: Rename value.* to decode.* as it makes more sense
|
||
|
* 0cce5ec interp: Reorganize, move out repl and options, more functions to funcs.jq
|
||
|
* eedfd16 interp: Replace find with overloaded match that support buffer
|
||
|
* 58bf069 interp: Return []byte value as a buffer for now
|
||
|
* 1c3c65b interp: Rework buffer, still confusing
|
||
|
* 97f7317 interp: Rework repl prompt code and fix some whitespace issues again
|
||
|
* 4af5739 interp: Rework string/buffer for decode values
|
||
|
* ff2077b interp: Simplify Function, aliases done in jq now
|
||
|
* 1fe5d95 interp: Some better naming and typos
|
||
|
* 1b7b2f9 interp: Use gojqextra.NonUpdatableTypeError
|
||
|
* 6ce4ba9 interp: Use snake_case for all options
|
||
|
* 9cba69e interp: Use todescription in tests
|
||
|
* cf26b1f interp: _readline: Use _repeat_break, add test
|
||
|
* 07b4210 interp: add topath/0 and make todescription return null if there is none
|
||
|
* 16d1f45 interp: find buffer should always use ByteRuneReader
|
||
|
* 3ff0c9b lint: Enable errcheck adnd revive
|
||
|
* 13e98d4 lint: Fix unused bufferRange and toBufferView
|
||
|
* 13d5cbd lint: Remove usused nolint, should somehow tell about decode.Copy
|
||
|
* ad850d6 lint: want explicit types in gojqextra.go
|
||
|
* 90c19c6 make,test: Move testjq to own script and reuse fq binary
|
||
|
* 052b9c0 make: Build with -s -w same as goreleaser
|
||
|
* 1557e14 make: CGO_ENABLED=0 for static build
|
||
|
* 8019212 make: Enable -race for tests
|
||
|
* 263a77f make: Mark actual and cover as phony
|
||
|
* b0694f5 make: Move build flags to vars
|
||
|
* 75b59db make: Move doc generate to helper script
|
||
|
* fcbfc29 make: Move testjq.sh into pkg/interp
|
||
|
* 5bf4bc7 make: Rename testwrite to actual
|
||
|
* 40e26e8 make: Rename to testjq
|
||
|
* ab8080f make: Reorganize test targets
|
||
|
* 98a8bae make: Silence git if no repo version found
|
||
|
* 95b9c32 make: doc/formats.svg: Ignore graphviz verison to get less diff
|
||
|
* 30ad643 make: go build args should not be quoted
|
||
|
* f1507f7 mod: Use proper path and dont use replace
|
||
|
* c4a3120 mp3,README: some cleanup
|
||
|
* da386ea mp3: Be more relaxed with zero padding, just warn
|
||
|
* 1325e5c mp3: Cleanup comments
|
||
|
* e104748 mp3: Continue try find frames on error
|
||
|
* 046f2fd mp3: Don't allow more than 64k between frames
|
||
|
* 527f917 mp3: Error if > 5 unique header configs
|
||
|
* 4344b62 mp3: Only look for supported mp3 sync headers
|
||
|
* 8a4f66f mp3: Probe order after formwats with raw samples and similar sync headers
|
||
|
* 60df04b mp3_frame: Only supports layer 3, fixes some probe issues
|
||
|
* ed21f36 mp3_frame: Rename samples_per_frame to sample_count
|
||
|
* db586eb mp4,matroska: Add *_path/0 variant that uses format_root
|
||
|
* 9ac17bd mp4: Add comment about future truncate to size option
|
||
|
* 2e71fa1 mp4: Add smhd box
|
||
|
* 278e909 mp4: Add tapt, prof, enof and clap boxes
|
||
|
* 161dcaf mp4: Better fragmented mp4 support
|
||
|
* e47888e mp4: Fix 64bit size regression
|
||
|
* 0801882 mp4: Fix field name typo for sample_composition_time_offsets_present
|
||
|
* f322e78 mp4: More _time decoding
|
||
|
* 6b8d26c mp4: Properly decode tfra
|
||
|
* f2c1327 mp4: Use ISOBMFF naming and some more tests
|
||
|
* 589207d mp4: Use descriptor field for all descriptor boxes
|
||
|
* c7d45ff mp4: add pssh_playready format
|
||
|
* e6cb708 mpeg: Nicer sym and description
|
||
|
* f4b11b4 mpeg_annexb: Add format
|
||
|
* 6a8ba31 number_to_bytes: Force int to make it work with bigint
|
||
|
* 88eade9 ogg: Add flac support
|
||
|
* 7f76986 ogg: Cleanup bitio in format out, maybe later
|
||
|
* 7b7faaf pcap: Add pcap, pcapng, ether8023, ipv4, udp, udp
|
||
|
* fc76907 png: Add proper color type
|
||
|
* 5c733ad readline: Update fq fork
|
||
|
* 4cee498 readme: Nicer demo
|
||
|
* ffb5adf registry: Move to pkg/registry, feels better
|
||
|
* dcceaa4 repl: Fix help and error message a bit
|
||
|
* 44d8b66 repl: Give error if repl is used in non-repl mode
|
||
|
* 1d0ebb5 repl: Handle directives, add tests
|
||
|
* c9777aa repl: completion in jq
|
||
|
* ccf6cab repl: use map in _query_slurp_wrap
|
||
|
* 74b5750 shquote: Remove unnecessary sb.Reset()
|
||
|
* 44251ca snippet: Add mp4_matrix_structure_rotation
|
||
|
* 79a1aea snippets: Add urldecode
|
||
|
* 684193a snippets: add changes/1
|
||
|
* fda1dda snippets: urlencode: only 0-9a-f
|
||
|
* 5ad048d tar: Fix 0 trim regression
|
||
|
* 49d2e61 tar: Unbreak num parsing and add test
|
||
|
* c8fad57 tiff: Fix reading of mluc tags with multiple records
|
||
|
* b55f24a todo: Add ignore range check idea
|
||
|
* bc1b3bf todo: Add note about symbols and iprint improvments
|
||
|
* 1d83554 todo: Add note about test and capture with buffer
|
||
|
* f839317 todo: Add some known issues
|
||
|
* 4d94c9a todo: Clenaup a bit
|
||
|
* 17a708f todo: Remove fixed repl item
|
||
|
* 0af4c2b todo: Update about readline
|
||
|
* d03a1c9 todo: add echo '{} {} {}' | jq difference
|
||
|
* f9622c2 vorbis_comment: Fix field name typo
|
||
|
* be0fdbe vp9: Add profile and fix reserved_zero field collision
|
||
|
* 646f902 vpx_ccr: Add color names
|
||
|
* b0ad3f2 w
|
||
|
* 45afbe6 wip
|
||
|
* d838d2f zip: Add format decoder
|
||
|
* 9029143 zip: Fix nested decode for none compress
|
||
|
|