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