github johnkerl/miller v6.21.0
v6.21.0 New verbs and DSL features

5 hours ago

New verbs and DSL features

  • mlr rank verb, sparkline DSL function and verb, bootstrap-ci verb for bootstrap-resampling confidence intervals
  • Sliding-window mode for stats1 -w {n}, more step -a back-reference options
  • Positional placeholders ({1}, etc.) in the format DSL function
  • --right-align-numeric for PPRINT/Markdown output
  • Named .mlrrc profile sections via --profile/-P
  • mlr join --ignore-empty to skip pairing on empty join keys
  • New GNU recutils (.rec) I/O format
  • YAML now follows JSON's auto-flatten/auto-unflatten behavior

Documentation

  • Numerous new recipes/guides: wide-CSV transposition, updating a CSV from partial downloads, merging files with colliding column names, combining CSVs with different headers, SQL-style join examples, preprocessing join's left file, --lazy-quotes semantics, malformed-TZ troubleshooting, STAN-format JSON-array reshaping
  • Clarified docs for uniq, join format flags, summary field types, NF dynamism
  • Published an epub of the docs on https://miller.readthedocs.io/en/latest

Bug fixes

  • tee/split no longer leak downstream mutations into side-output files (#1671)
  • Fixed float formatting (e.g. 004.56) to emit valid JSON numbers
  • --ors crlf is now honored for CSV output (#1810)
  • reorder -r groups matched fields by regex order, not record order (#1325)
  • Fixed dedupe-field-names clobbering values on ragged short rows (#1997)
  • --skip-trivial-records now exits 0 on trailing blank CSV/TSV lines
  • join exits nonzero if the left file can't be read (#2169)
  • DKVPX reader now honors --ifs/--ips instead of hardcoding comma/equals
  • Fixed recutils parser for empty fields with +-continuation
  • Fixed a mid-stream error-loss race causing flaky exit codes on transformer errors

Internal/infra

  • Multi-phase removal of os.Exit calls below the entrypoint (5 phases) for cleaner exit-code handling
  • Guard against release tags being cut before the version-bump commit lands
  • Plans checked in for future work: exit-handling, recutils, r-strings, format-from-extension inference, nested/JSON-style accessors in non-DSL verbs
  • Routine dependency bumps (golang.org/x/*, codeql-action, go-isatty, etc.)

Full diff: v6.20.2...v6.21.0

Don't miss a new miller release

NewReleases is sending notifications on new releases.