New verbs and DSL features
mlr rankverb,sparklineDSL function and verb,bootstrap-civerb for bootstrap-resampling confidence intervals- Sliding-window mode for
stats1 -w {n}, morestep -aback-reference options - Positional placeholders (
{1}, etc.) in theformatDSL function --right-align-numericfor PPRINT/Markdown output- Named
.mlrrcprofile sections via--profile/-P mlr join --ignore-emptyto 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,joinformat flags,summaryfield types,NFdynamism - Published an epub of the docs on https://miller.readthedocs.io/en/latest
Bug fixes
tee/splitno longer leak downstream mutations into side-output files (#1671)- Fixed float formatting (e.g. 004.56) to emit valid JSON numbers
--ors crlfis now honored for CSV output (#1810)reorder -rgroups matched fields by regex order, not record order (#1325)- Fixed dedupe-field-names clobbering values on ragged short rows (#1997)
--skip-trivial-recordsnow exits 0 on trailing blank CSV/TSV linesjoinexits nonzero if the left file can't be read (#2169)- DKVPX reader now honors
--ifs/--ipsinstead 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.Exitcalls 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