Changelog

1.4.2

Fixed

  • Preserve the final empty field in delimiter-separated input.
  • Correct line numbers after multiline quoted CSV records.

Changed

  • Reduce temporary allocations during numeric filter evaluation.

1.4.1

Added

  • utf-16le input decoding.

Fixed

  • Handle UTF-8 byte-order marks before header parsing.

1.4.0

Added

  • --sort with textual and numeric ordering.
  • --unique for first-record deduplication.
  • --encoding for supported input encodings.

Changed

  • Filter parsing now rejects ambiguous malformed expressions.

1.3.2

Fixed

  • Correct table width calculations for wide Unicode characters.
  • Avoid duplicate diagnostics when output closes early.

1.3.1

Added

  • --empty for display substitution of empty fields.

Fixed

  • Preserve tabs in quoted CSV values after format conversion.

1.3.0

Added

  • --count output mode.
  • --line-number source-line prefixes.
  • --expected-fields record-width validation.

Changed

  • Diagnostics include source line numbers when available.

1.2.1

Fixed

  • Correct numeric comparison of negative decimal values.
  • Handle carriage-return line endings consistently.

1.2.0

Added

  • :num numeric filter comparisons.
  • --offset for matching records.
  • Literal substring operators ~ and !~.

1.1.1

Fixed

  • Do not count a header row toward --limit.
  • Flush buffered output before reporting late read errors.

1.1.0

Added

  • CSV parsing mode.
  • Custom input and output delimiters.
  • --strict and --skip-bad.

Changed

  • Table output truncates long cells at a configurable width.

1.0.0

Added

  • Stable command-line syntax.
  • Header-aware column selection.
  • Multiple row filters.
  • Aligned terminal table output.

0.3.0

Added

  • Named-column selection.
  • Equality and inequality filters.

Changed

  • Input processing uses a reusable buffered reader.

0.2.0

Added

  • Standard-input support.
  • Row limiting.
  • Basic aligned output.

Fixed

  • Handle final records without a trailing newline.

0.1.0

Added

  • Initial streaming TSV reader.
  • Positional column selection.
  • Plain delimiter-separated output.