Skip to content

Releases: wader/fq

v0.0.3

06 Jan 09:37
Compare
Choose a tag to compare

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)

v0.0.2

22 Dec 00:05
Compare
Choose a tag to compare

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

v0.0.1

03 Dec 12:03
Compare
Choose a tag to compare

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
  • 8e3d...
Read more