Natural sort, true TSV, sliding-window averages, and more
Please see:
- https://miller.readthedocs.io/en/latest/ for more about Miller
- https://miller.readthedocs.io/en/latest/installing-miller/ for installation
Features
Major features:
- Natural sort by @johnkerl in #932
- mlr split verb by @johnkerl in #898
- Make TSV finally true TSV by @johnkerl in #923
- Sliding window averages by @johnkerl in #894
- Implement shift-lead option for mlr step by @johnkerl in #893
New DSL functions:
- New fmtifnum DSL function; make fmtnum/fmtifnum recursive over maps and arrays by @johnkerl in #946
- New unformat DSL function by @johnkerl in #871
- New format DSL function by @johnkerl in #869
- New concat DSL function for arrays by @johnkerl in #868
DSL improvements:
- Support more Go regex patterns, like "\d" by @johnkerl in #974
- Include \U support in addition to \u for DSL Unicode string literals by @johnkerl in #917
- Support unicode literals in the Miller DSL by @johnkerl in #916
- Allow 0o... octal literals in the DSL by @johnkerl in #864
New command-line flags:
- Add --left-keep-fields option for mlr join by @johnkerl in #967
- New --lazy-quotes flag for helping with malformed CSV by @johnkerl in #925
REPL and on-line help:
- Let :resetblocks/:rb in the REPL take optional begin/main/end by @johnkerl in #924
- Add :resetblocks / :rb to REPL by @johnkerl in #920
- ?foo and ??foo for :help foo / :help find foo in the REPL by @johnkerl in #915
Improvements and bugfixes
- Support Latin-1 supplement a0-ff as DSL string literals by @johnkerl in #957
- Fix "%%" in strptime; more test cases for strptime by @johnkerl in #951
- Support %F, %T, and more in strptime by @johnkerl in #944
- Fix handling of mlr nest abbrevs by @johnkerl in #937
- Add Inf and NaN literals to the DSL by @johnkerl in #933
- Boolean inference for issue 908 by @johnkerl in #931
- strptime %j format for 3-digit day in year by @johnkerl in #930
- Fix is_non_empty for absent case by @johnkerl in #928
- --nidx --fs x should be the same as --fs x --nidx by @johnkerl in #912
- Update default colorization by @johnkerl in #904
- Make is_null/is_not_null DSL functions include new JSON-null type by @johnkerl in #883
- Fix #853 by @johnkerl in #860
Documentation
- New doc page: Parsing and formatting fields by @johnkerl in #973
- More doc material for :context in the REPL by @johnkerl in #966
- Fix typo in on-line help for splitax DSL function by @johnkerl in #964
- More doc-sites for the funct keyword by @johnkerl in #963
- Doc updates for funct keyword by @johnkerl in #961
- FAQ entry for #351 by @johnkerl in #958
- docs: add Poshi as a contributor for doc by @allcontributors in #956
- docs: add schragge as a contributor for doc by @allcontributors in #955
- FAQ entry for #285: carriage returns in field names by @johnkerl in #953
- Add --implicit-tsv-header as alias for --implicit-csv-header, etc by @johnkerl in #952
- Fix: multiple documentation tweaks by @Poshi in #949
- fix typo in reference-verbs.md by @zachvalenta in #945
- Add on mouse over permalink anchor for titles by @aborruso in #942
- Webdoc information on Unicode string literals by @johnkerl in #935
- 'mlr help function nonesuch' should not be silent by @johnkerl in #934
- Clarify strftime on-line help by @johnkerl in #929
- Expand on-line help for split* DSL functions by @johnkerl in #927
- On-line help for -s flag by @johnkerl in #926
- Multiple on-line-help issues from #908 by @johnkerl in #921
- Multiple on-line-help issues from #908 by @johnkerl in #913
- Fix operator-precedence doc table to match DSL grammar by @johnkerl in #911
- Fix multiple on-line-help issues from #907 by @johnkerl in #910
- Clarify source for printf-style formatting by @johnkerl in #895
- Fix #891 by @johnkerl in #892
- Improve mlr top documentation for #861 by @johnkerl in #875
- Continue #856 by @johnkerl in #865
- misspelling by @Gary-Armstrong in #863
- fix typo by @vapniks in #862
- Update installing-miller.md by @jauderho in #859
- Emit notes by @johnkerl in #858
- Conda/Docker install notes by @johnkerl in #857
- Fix typo: columnn -> column by @vapniks in #856
- Fix typo by @vapniks in #855
- Fix typo by @vapniks in #854
- A small typo by @aborruso in #846
Code quality
- Code-dedupe logic for array slices and string slices by @johnkerl in #960
- Let
mlr repl
print empty strings by @johnkerl in #959 - Neaten strptime.go by @johnkerl in #950
- More dead code removal by @skitt in #905
- Remove unreachable code by @skitt in #903
- Use int64 wherever "64-bit integer" is assumed by @skitt in #902
- More of #884: types in enum-consts by @johnkerl in #887
- Clean up file output handler error handling by @skitt in #886
- Use raw strings to avoid escapes by @skitt in #885
- Specify constant types except with iota by @skitt in #884
- Mlrval arrayval from []Mlrval to []*Mlrval by @johnkerl in #880
- Append slices directly instead of looping by @skitt in #879
- Fix mlrmap.Equals FieldCount comparison by @skitt in #878
- Ensure regression-test has a binary to test by @skitt in #877
- Avoid assuming ./mlr is the mlr to test by @skitt in #876
- Update release.yml by @jauderho in #867
- Update .goreleaser.yml by @jauderho in #866
- Goreleaser binary names by @johnkerl in #852
- Add CodeQL support by @jauderho in #838
New Contributors
- @vapniks made their first contribution in #854
- @Gary-Armstrong made their first contribution in #863
- @zachvalenta made their first contribution in #945
- @Poshi made their first contribution in #949
Plans for 6.2.0
Update: planned now for 6.3.0 as 6.2.0 was quick and early.
- Extended JSON-style field accessors for verbs: #763 and #948
- AWK-like
exit
DSL function: #341 - DSL strict mode: #440
- YAML support: #614
- Datediff: #708
- Rank: #383
Full Changelog: v6.0.0...v6.1.0