Releases: johnkerl/miller
Release list
Miller 6.20.2: Miller and AI, bash/zsh tab-completion, bytes datatype
What's new in 6.20.2
- Miller now treats AI agents as first-class users
- There is shell tab-completion for
bashandzsh - There is a new
bytesdatatype, along with base64 encode/decode support
(Note: versions 6.20.0 and 6.20.1 were in error and are not released.)
Miller and AI
Miller now treats AI agents as first-class users. Everything an agent needs to drive Miller well --
discovering what exists, learning your data's shape, validating expressions before running them, and
recovering from errors -- is now a built-in, structured feature of the mlr binary, packaged for
MCP-speaking agents (Claude Code, Claude Desktop, Cursor, ...) via a one-line setup. Your choice of
# Claude
mlr skill install ~/.claude/skills/miller
# Codex and Gemini
mlr skill install ~/.agents/skills/miller
or
# Claude
claude mcp add miller -- mlr mcp
# Codex
codex mcp add miller -- mlr mcp
# Gemini
gemini mcp add miller mlr mcp
See the new Miller and AI docs page for the quick start.
Reference pages:
- https://miller.readthedocs.io/en/latest/ai
- https://miller.readthedocs.io/en/latest/agent-skill
- https://miller.readthedocs.io/en/latest/mcp-server
- https://miller.readthedocs.io/en/latest/ai-support
PRs:
- Machine-readable help catalog,
mlr help --as-json: by @johnkerl in #2099, #2106 - JSON capability index and
mlr whichintent router by @johnkerl in #2107 - Structured verb options, with enum value-sets by @johnkerl in #2111
- Structured error output,
--errors-json, with hints and did-you-mean suggestions by @johnkerl in #2113 - DSL validate/dry-run,
mlr put --explain/mlr filter --explainby @johnkerl in #2131 - New
mlr describeverb: field names, types, cardinality, and value domains of your data in one pass by @johnkerl in #2132 - New
mlr mcpMCP server and agent playbook, with a--no-shellsandbox flag by @johnkerl in #2133 - Roadmap doc by @johnkerl in #2103; "Miller and AI" docs page by @johnkerl in #2134
Shell tab-completion for bash and zsh
Documentation:
https://miller.readthedocs.io/en/latest/shell-completion/
PR:
A first-class bytes type in the DSL
Docs:
- https://miller.readthedocs.io/en/latest/reference-main-data-types/
- https://miller.readthedocs.io/en/latest/reference-dsl-builtin-functions/#base64_encode
- https://miller.readthedocs.io/en/latest/reference-dsl-builtin-functions/#base64_decode
PR:
More features
- New
tail -n +Nandhead -n -Noptions by @farnoy in #2071 - Long-overdue
--mdflag by @johnkerl in #2100 - Windows-arm64 releases by @teo-tsirpanis in #2127
Bug fixes
Documentation
- CSV and JSON troubleshooting tips by @dashitongzhi in #2123, with page-refactor by @johnkerl in #2128
- Document time-conversion thread safety by @dashitongzhi in #2115
- PNG graphics in perf docs for issue-2084 perf mods by @johnkerl in #2095
Internals
- golangci-lint CI workflow by @dashitongzhi in #2076
- Lint fixes bringing staticcheck and errcheck to zero by @johnkerl in #2108, #2110, #2112, #2130
- Strip dead code from pkg/ by @johnkerl in #2121
- CI/actions updates by @johnkerl in #2119 and by @dependabot in #2101, #2102, #2104, #2105, #2114, #2116, #2118, #2124, #2125, #2126
- Dependency bumps by @dependabot in #2117, #2120
New Contributors
- @farnoy made their first contribution in #2071
- @dashitongzhi made their first contribution in #2076
- @teo-tsirpanis made their first contribution in #2127
Full Changelog: v6.19.0...v6.20.0
Miller 6.19.0: Performance improvements
The headline for this release is across-the-board runtime improvements.
For details, please see https://miller.readthedocs.io/en/latest/performance/#allocationgc-optimizations-june-2026.
Performance
- Lazy per-record hashing: ~15-30% faster on common workloads by @johnkerl in #2081
- Batch-arena field allocation for line-based readers by @johnkerl in #2082
- Batch-allocate per-record objects; reuse CSV-writer field buffer by @johnkerl in #2083
- Pool DSL stack frames across records (~8-9% perf on
mlr put) by @johnkerl in #2086 - Pool DSL stack-frame sets across UDF/subroutine calls (~31% perf on function-heavy
mlr put) by @johnkerl in #2088 - Drop redundant deep-copy of UDF return values (~3-16% perf on UDFs in
mlr put) by @johnkerl in #2089 - Bind scalar locals/params by reference, not by copy (~4-9% on DSL) by @johnkerl in #2090
- docs: add "Allocation/GC optimizations: June 2026" performance section by @johnkerl in #2091
Features
- Add
--omd-alignedflag for column-padded markdown output by @johnkerl in #2057 - Default to "cat" verb when none is supplied by @johnkerl in #2060
Bug fixes
- Fix mlr -s shebang doc and reject arrays/maps in contains/index by @johnkerl in #2058
- Fix data dropped from ragged implicit-header TSV/CSV-lite input by @johnkerl in #2059
- Fix column alignment for wide and combining Unicode chars (#1520, #379) by @johnkerl in #2061
- Apply join prefixes/rename to unpaired records (#1821) by @johnkerl in #2062
- Fix PPRINT alignment with multi-character OFS (#1819) by @johnkerl in #2063
- Allow empty-string keys in JSON and YAML input by @johnkerl in #2068
- Update ubuntu/python versions in .readthedocs.yaml by @johnkerl in #2092
- Fix exponential memory use when chaining seqgen (#2072) by @johnkerl in #2094
Dependency updates
- Bump goreleaser/goreleaser-action from 7.0.0 to 7.1.0 by @dependabot[bot] in #2045
- Bump goreleaser/goreleaser-action from 7.1.0 to 7.2.1 by @dependabot[bot] in #2047
- Bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 by @dependabot[bot] in #2048
- Bump github.com/klauspost/compress from 1.18.5 to 1.18.6 by @dependabot[bot] in #2050
- Bump github/codeql-action from 4.35.2 to 4.35.3 by @dependabot[bot] in #2051
- Bump github/codeql-action from 4.35.3 to 4.35.4 by @dependabot[bot] in #2052
- Bump golang.org/x/term from 0.42.0 to 0.43.0 by @dependabot[bot] in #2055
- Bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in #2054
- Bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #2056
- Bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2 by @dependabot[bot] in #2064
- Bump github.com/lestrrat-go/strftime from 1.1.1 to 1.2.0 by @dependabot[bot] in #2065
- Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #2066
- Bump golang.org/x/sys from 0.44.0 to 0.45.0 by @dependabot[bot] in #2067
- Bump github/codeql-action from 4.36.0 to 4.36.1 by @dependabot[bot] in #2069
- Bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in #2070
- Bump golang.org/x/text from 0.37.0 to 0.38.0 by @dependabot[bot] in #2073
- Bump golang.org/x/term from 0.43.0 to 0.44.0 by @dependabot[bot] in #2074
- Bump golang.org/x/sys from 0.45.0 to 0.46.0 by @dependabot[bot] in #2075
- Bump pault.ag/go/debian from 0.19.0 to 0.20.0 by @dependabot[bot] in #2077
- Bump pault.ag/go/debian from 0.20.0 to 0.21.0 by @dependabot[bot] in #2078
- Bump github.com/cloudflare/circl from 1.6.2 to 1.6.3 by @dependabot[bot] in #2079
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #2080
Full Changelog: v6.18.1...v6.19.0
Miller 6.18.1: DKVPX file format; misc. features and bugfixes
New features
- DKVPX file format: New file format added (#2002)
hasvaluebuiltin function: New function for value existence checks (#2026)- Fixed-width support for PPRINT reader: Read fixed-width input via PPRINT (#1999)
- Unicode printing support for barred output: Improved barred output rendering (#1984)
- Regexed field-selection for
mlr sort-within-records: Select fields by regex when sorting (#1964) - LRU-caching for split: Performance improvement for
mlr split(#2003)
Bug fixes
- #1639:
stats1 null_countwith--frregex now gives correct results (#1994) - #1784: Fixed inconsistent
mapexceptbehavior (#2004) - #1998: Fixed PPRINT barred reader over-reading columns with ragged/implicit headers (#2005)
- YAML output: Preserve key order (#2034)
- Array compare: Fix crash when arrays contain absent values (#2039)
mlr step: Fix race condition (#2041)sub/gsub: Correct handling of "\n" in replacement (#2042)- Windows CI fix (#2044)
Internals and tooling
- Upgraded to Go 1.25 (#2012)
- Replaced GOCC parser-generator with PGPG (#2015)
- Simplified positional-indexing syntax in mlr.bnf (#2008)
- Experimental
mlr scriptmode (#2009) - Multiple staticcheck cleanups (#2006, #2007)
Documentation
- New record-templating and custom record-output formatting examples (#1988, #1989)
- Updated performance numbers and language-timings reorg (#1990, #1991, #2000)
- DeepWiki badge added to README (#1986, #1987)
New Contributors
- @lawrence3699 made their first contribution in #2034
Full details
- Fix #1639: stats1 null_count with --fr regex gives wrong results by @cobyfrombrooklyn-bot in #1994
- Add regexed field-selection to
sort-within-recordsby @johnkerl in #1964 - Fix Windows CI fail on PR #1994 by @johnkerl in #2044
- Add unicode printing support for barred output by @balki in #1984
- Run
make devafter PR 1984 by @johnkerl in #1985 - Add badge for DeepWiki to README by @aborruso in #1986
- Add record-templating example to docs by @johnkerl in #1988
- Add docs example on custom record-output formatting by @johnkerl in #1989
- Update performance numbers by @johnkerl in #1990
- Update DeepWiki badge placement in README.md by @johnkerl in #1987
- Update performance docs by @johnkerl in #1991
- Add fixed width support for pprint reader by @balki in #1999
- Language-timings reorg by @johnkerl in #2000
- Add DKVPX file format by @johnkerl in #2002
- Add LRU-caching for
splitby @johnkerl in #2003 - Fix #1784: inconsistent
mapexceptbehavior by @johnkerl in #2004 - Fix #1998: PPRINT barred input reader reads only one extra column with ragged and implicit headers by @johnkerl in #2005
- Some fixes for staticcheck by @johnkerl in #2006
- More staticcheck fixes by @johnkerl in #2007
- Simplify positional-indexing syntax in
mlr.bnf; push logic to.gosource by @johnkerl in #2008 - Experiment with
mlr scriptby @johnkerl in #2009 - Use Go 1.25 by @johnkerl in #2012
- Replace GOCC parser-generator with PGPG by @johnkerl in #2015
- Add hasvalue builtin function by @balki in #2026
- Run
make devafter PR #2026 by @johnkerl in #2027 - fix: preserve key order in YAML output by @lawrence3699 in #2034
- Fix crash on array compare containing absent values by @balki in #2039
- Fix race condition in
mlr stepby @johnkerl in #2041 - Use
"\n"in replace forgsubandsubby @johnkerl in #2042
Dependency updates
- Bump github/codeql-action from 4.32.3 to 4.32.4 by @dependabot[bot] in #1993
- Bump goreleaser/goreleaser-action from 6.4.0 to 7.0.0 by @dependabot[bot] in #1992
- Bump actions/setup-go from 6.2.0 to 6.3.0 by @dependabot[bot] in #1995
- Bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #1996
- Bump github/codeql-action from 4.32.4 to 4.32.5 by @dependabot[bot] in #2001
- Bump github/codeql-action from 4.32.5 to 4.32.6 by @dependabot[bot] in #2010
- Bump golang.org/x/text from 0.34.0 to 0.35.0 by @dependabot[bot] in #2014
- Bump golang.org/x/term from 0.40.0 to 0.41.0 by @dependabot[bot] in #2013
- Bump github/codeql-action from 4.32.6 to 4.33.0 by @dependabot[bot] in #2016
- Bump actions/cache from 5.0.3 to 5.0.4 by @dependabot[bot] in #2017
- Bump github/codeql-action from 4.33.0 to 4.34.1 by @dependabot[bot] in #2019
- Bump github.com/klauspost/compress from 1.18.4 to 1.18.5 by @dependabot[bot] in #2018
- Bump actions/setup-go from 6.3.0 to 6.4.0 by @dependabot[bot] in #2024
- Bump github/codeql-action from 4.34.1 to 4.35.1 by @dependabot[bot] in #2023
- Bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 by @dependabot[bot] in #2031
- Bump golang.org/x/sys from 0.42.0 to 0.43.0 by @dependabot[bot] in #2030
- Bump golang.org/x/text from 0.35.0 to 0.36.0 by @dependabot[bot] in #2032
- Bump golang.org/x/term from 0.41.0 to 0.42.0 by @dependabot[bot] in #2033
- Bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #2036
- Bump actions/cache from 5.0.4 to 5.0.5 by @dependabot[bot] in #2037
- Bump github/codeql-action from 4.35.1 to 4.35.2 by @dependabot[bot] in #2038
Full Changelog: v6.17.0...v6.18.0
Miller 6.17.0: YAML and DCF file formats; performance improvements; bugfixes
Features
- Support YAML I/O by @johnkerl in #1963
- Add DCF (Debian Control Format) as supported file type by @johnkerl in #1970
mlr reorder -rby @johnkerl in #1960- Add
-r(for regex field-name matching) tomlr nestby @johnkerl in #1961 mlr splitwith--folderby @johnkerl in #1962
Performance
- Replace
list.Listwith Go slices; performance improvement by @johnkerl in #1950 - Minor performance improvement for
stats1by @johnkerl in #1949 - Performance and style fixes by @skitt in #1981
Bugfixes
- Fix
strptimewith zero-padded and non-zero-padded months/days by @johnkerl in #1967 - Fix bug with both
%fand%zinstrptimeby @johnkerl in #1966 - Improve parsing of variable-length fractional seconds using
strptimeby @johnkerl in #1968 - Require that filter expressions be boolean (or absent) by @johnkerl in #1935
- Fix:
mlr -i nonesuch catsaysmlr: empty IRSby @johnkerl in #1980 - No exit from
mlr replwhen function is not found by @johnkerl in #1976 - Exit on control-C in
mlr replby @johnkerl in #1977 - Handle control-C in
mlr replby @johnkerl in #1979
Internals
- Use GOCC fork for codegen performance improvement by @johnkerl in #1934
- Timings misc. by @johnkerl in #1945
- Simplify the internal AST API by @johnkerl in #1946
- Remove some unused methods by @johnkerl in #1947
- Genericize
lib.OrderedMapby @johnkerl in #1948 - Try to build for Ubuntu arm64 by @johnkerl in #1931
- Resolve a few to-do comments in the source code by @johnkerl in #1951
- Format Go bits within
mlr.bnfby @johnkerl in #1955 - Neaten some comments by @johnkerl in #1973
- Multiple style updates by @johnkerl in #1974
- Update
test/README.mdby @johnkerl in #1972 - Improve error propagation by @johnkerl in #1975
- Follow-up for #1981 by @johnkerl in #1982
Dependency updates
- Bump actions/checkout from 4 to 6 by @dependabot[bot] in #1932
- Bump golang.org/x/sys from 0.39.0 to 0.40.0 by @dependabot[bot] in #1933
- Bump golang.org/x/text from 0.32.0 to 0.33.0 by @dependabot[bot] in #1937
- Bump golang.org/x/term from 0.38.0 to 0.39.0 by @dependabot[bot] in #1936
- Bump github/codeql-action from 4.31.9 to 4.31.10 by @dependabot[bot] in #1939
- Bump actions/setup-go from 6.1.0 to 6.2.0 by @dependabot[bot] in #1938
- Bump github.com/klauspost/compress from 1.18.2 to 1.18.3 by @dependabot[bot] in #1940
- Bump actions/cache from 5.0.1 to 5.0.2 by @dependabot[bot] in #1941
- Bump github/codeql-action from 4.31.10 to 4.31.11 by @dependabot[bot] in #1942
- Bump github/codeql-action from 4.31.11 to 4.32.0 by @dependabot[bot] in #1943
- Bump actions/cache from 5.0.2 to 5.0.3 by @dependabot[bot] in #1944
- Bump github/codeql-action from 4.32.0 to 4.32.1 by @dependabot[bot] in #1952
- Bump github/codeql-action from 4.32.1 to 4.32.2 by @dependabot[bot] in #1954
- Bump golang.org/x/sys from 0.40.0 to 0.41.0 by @dependabot[bot] in #1957
- Bump github.com/klauspost/compress from 1.18.3 to 1.18.4 by @dependabot[bot] in #1956
- Bump golang.org/x/text from 0.33.0 to 0.34.0 by @dependabot[bot] in #1959
- Bump golang.org/x/term from 0.39.0 to 0.40.0 by @dependabot[bot] in #1958
- Bump github/codeql-action from 4.32.2 to 4.32.3 by @dependabot[bot] in #1969
- Bump golang.org/x/crypto from 0.40.0 to 0.45.0 by @dependabot[bot] in #1971
Full Changelog: v6.16.0...v6.17.0
Miller 6.16.0: Snap support via `snap install miller`
Installable on Linux arm64 and amd64 via snap install miller.
Note: for Snap only, the executable is miller, not mlr.
See also issue #231.
What's changed
- Update subs.go by @aborruso in #1868
- Support
-o jsonlas well as--ojsonlby @johnkerl in #1879 - Snap for miller created by @kz6fittycent in #1864
- Use
snapnamemlr, notmillerby @johnkerl in #1872 - Snap name is not
mlrbutmillerby @johnkerl in #1928 - Snap notes, and build attempts by @johnkerl in #1929
- Run
make devafter merge of PR 1868 by @johnkerl in #1869 - Allow any Go 1.24 version by @skitt in #1876
- Fix
go installcommand by @rehandaphedar in #1881 - Fixed README by @kz6fittycent in #1871
- Miller 6.16.0 by @johnkerl in #1930
Dependency updates
- Bump goreleaser/goreleaser-action from 6.3.0 to 6.4.0 by @dependabot[bot] in #1863
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1866
- Bump github/codeql-action from 3.29.9 to 3.29.10 by @dependabot[bot] in #1867
- Bump github/codeql-action from 3.29.10 to 3.29.11 by @dependabot[bot] in #1873
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #1874
- Bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by @dependabot[bot] in #1875
- Bump github/codeql-action from 3.29.11 to 3.30.0 by @dependabot[bot] in #1878
- Bump actions/setup-go from 5.5.0 to 6.0.0 by @dependabot[bot] in #1880
- Bump golang.org/x/text from 0.28.0 to 0.29.0 by @dependabot[bot] in #1885
- Bump github/codeql-action from 3.30.0 to 3.30.1 by @dependabot[bot] in #1882
- Bump golang.org/x/sys from 0.35.0 to 0.36.0 by @dependabot[bot] in #1884
- Bump golang.org/x/term from 0.34.0 to 0.35.0 by @dependabot[bot] in #1883
- Bump github/codeql-action from 3.30.1 to 3.30.2 by @dependabot[bot] in #1886
- Bump github/codeql-action from 3.30.2 to 3.30.3 by @dependabot[bot] in #1887
- Bump github/codeql-action from 3.30.3 to 3.30.4 by @dependabot[bot] in #1890
- Bump actions/cache from 4.2.4 to 4.3.0 by @dependabot[bot] in #1889
- Bump github/codeql-action from 3.30.4 to 3.30.5 by @dependabot[bot] in #1891
- Bump github/codeql-action from 3.30.5 to 3.30.6 by @dependabot[bot] in #1892
- Bump github/codeql-action from 3.30.6 to 4.30.7 by @dependabot[bot] in #1893
- Bump golang.org/x/sys from 0.36.0 to 0.37.0 by @dependabot[bot] in #1896
- Bump golang.org/x/text from 0.29.0 to 0.30.0 by @dependabot[bot] in #1894
- Bump golang.org/x/term from 0.35.0 to 0.36.0 by @dependabot[bot] in #1895
- Bump github/codeql-action from 4.30.7 to 4.30.8 by @dependabot[bot] in #1897
- Bump github/codeql-action from 4.30.8 to 4.30.9 by @dependabot[bot] in #1900
- Bump github.com/klauspost/compress from 1.18.0 to 1.18.1 by @dependabot[bot] in #1899
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #1901
- Bump github/codeql-action from 4.30.9 to 4.31.0 by @dependabot[bot] in #1902
- Bump github/codeql-action from 4.31.0 to 4.31.1 by @dependabot[bot] in #1903
- Bump github/codeql-action from 4.31.1 to 4.31.2 by @dependabot[bot] in #1904
- Bump codespell-project/actions-codespell from 2.1 to 2.2 by @dependabot[bot] in #1906
- Bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in #1907
- Bump golang.org/x/text from 0.30.0 to 0.31.0 by @dependabot[bot] in #1908
- Bump github/codeql-action from 4.31.2 to 4.31.3 by @dependabot[bot] in #1910
- Bump github/codeql-action from 4.31.3 to 4.31.4 by @dependabot[bot] in #1911
- Bump actions/setup-go from 6.0.0 to 6.1.0 by @dependabot[bot] in #1912
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1913
- Bump github/codeql-action from 4.31.4 to 4.31.5 by @dependabot[bot] in #1915
- Bump github.com/klauspost/compress from 1.18.1 to 1.18.2 by @dependabot[bot] in #1917
- Bump github/codeql-action from 4.31.5 to 4.31.6 by @dependabot[bot] in #1916
- Bump github/codeql-action from 4.31.6 to 4.31.7 by @dependabot[bot] in #1918
- Bump golang.org/x/sys from 0.38.0 to 0.39.0 by @dependabot[bot] in #1920
- Bump golang.org/x/text from 0.31.0 to 0.32.0 by @dependabot[bot] in #1919
- Bump golang.org/x/term from 0.36.0 to 0.37.0 by @dependabot[bot] in #1909
- Bump golang.org/x/term from 0.37.0 to 0.38.0 by @dependabot[bot] in #1921
- Bump github/codeql-action from 4.31.7 to 4.31.8 by @dependabot[bot] in #1923
- Bump actions/cache from 4.3.0 to 5.0.0 by @dependabot[bot] in #1922
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #1925
- Bump actions/cache from 5.0.0 to 5.0.1 by @dependabot[bot] in #1924
- Bump github/codeql-action from 4.31.8 to 4.31.9 by @dependabot[bot] in #1926
New Contributors
- @kz6fittycent made their first contribution in #1864
- @rehandaphedar made their first contribution in #1881
Full Changelog: v6.15.0...v6.16.0
Miller 6.15.0: Fix double quotes in CSV comments and `mlr -I` mode preservation; `sort -b`
New features
mlr sort -bfeature by @johnkerl in #1833- Add scoop install to README.md by @dflock in #1842
- DKVP
--incr-keyoption by @johnkerl in #1839
Bugfixes
- Fix doc typo re empty and multiplication by @johnkerl in #1838
- Force decimal formatting for ints on JSON output by @johnkerl in #1840
- Preserve file mods on
mlr -Iby @johnkerl in #1849 - Don't parse CSV comments by @johnkerl in #1859
Dependency updates
- Miller 6.15.0 by @johnkerl in #1860
- Use Go 1.24.5 by @johnkerl in #1843
- Bump golang.org/x/sys from 0.33.0 to 0.34.0 by @dependabot[bot] in #1832
- Bump golang.org/x/term from 0.32.0 to 0.33.0 by @dependabot[bot] in #1831
- Bump golang.org/x/text from 0.26.0 to 0.27.0 by @dependabot[bot] in #1830
- Bump github/codeql-action from 3.29.2 to 3.29.3 by @dependabot[bot] in #1841
- Bump github.com/klauspost/compress from 1.17.11 to 1.18.0 by @dependabot[bot] in #1757
- Bump github.com/klauspost/compress from 1.17.11 to 1.18.0 by @dependabot[bot] in #1844
- Bump github/codeql-action from 3.29.3 to 3.29.4 by @dependabot[bot] in #1845
- Bump github.com/lestrrat-go/strftime from 1.1.0 to 1.1.1 by @dependabot[bot] in #1846
- Bump github/codeql-action from 3.29.4 to 3.29.5 by @dependabot[bot] in #1847
- Bump actions/cache from 4.2.3 to 4.2.4 by @dependabot[bot] in #1854
- Bump github/codeql-action from 3.29.7 to 3.29.8 by @dependabot[bot] in #1853
- Bump golang.org/x/sys from 0.34.0 to 0.35.0 by @dependabot[bot] in #1852
- Bump golang.org/x/term from 0.33.0 to 0.34.0 by @dependabot[bot] in #1851
- Bump golang.org/x/text from 0.27.0 to 0.28.0 by @dependabot[bot] in #1850
- Bump github/codeql-action from 3.29.8 to 3.29.9 by @dependabot[bot] in #1856
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #1857
New Contributors
Full Changelog: v6.14.0...v6.15.0
Miller 6.14.0: survival curve, misc. features, and bugfixes
New features
- Add
survverb to estimate a survival curve by @cwarden in #1788 - cut: Consider
-oflag even when using regexes with-rby @balki in #1823 - Add keystroke savers for same format by @balki in #1824
Bug fixes
- Fix unflatten with field names like
..xorx..yby @johnkerl in #1735 - Fix section-title typos for docs in #1735 by @johnkerl in #1736
- Fix non-constant format string errors with Go 1.24 by @michel-slm in #1745
- Fix
joinvwith""separator by @johnkerl in #1794 - Fix
printwithinbegin{}/end{}by @johnkerl in #1795 - Argument parsing is different in
mlr -sscripts by @johnkerl in #1817
Documentation
- Docs for new
survverb by @johnkerl in #1807 - Improve help message on non-existent verb by @johnkerl in #1798
- Add help strings for
-a/-rinsub/gsub/ssubby @johnkerl in #1721 - Join docs wrong link by @johnkerl in #1695
- Add
-c,-t,-jto doc matrix in PR 1824 by @johnkerl in #1826 - Doc copy edits by @johnkerl in #1827
- Typo fix: programmatically by @skitt in #1679
Internals
- Static-check fixes from @lespea #1657, batch 1/n by @johnkerl in #1703
- Static-check fixes from @lespea #1657, batch 2/n by @johnkerl in #1704
- Static-check fixes from @lespea #1657, batch 3/n by @johnkerl in #1705
- Static-check fixes from @lespea #1657, batch 4/n by @johnkerl in #1706
- Static-check fixes from @lespea #1657, batch 5/n by @johnkerl in #1707
- Static-check fixes from @lespea #1657, batch 6/n by @johnkerl in #1708
- Static-check fixes from @lespea #1657, batch 7/n by @johnkerl in #1709
- Static-check fixes from @lespea #1657, batch 8/n by @johnkerl in #1710
- Switch to generics (one PR of several) by @johnkerl in #1763
- Use Go 1.21 in CI by @johnkerl in #1768
Dependencies
- Bump actions/cache from 4.0.2 to 4.1.0 by @dependabot in #1683
- Bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot in #1682
- Bump golang.org/x/text from 0.18.0 to 0.19.0 by @dependabot in #1681
- Bump golang.org/x/term from 0.24.0 to 0.25.0 by @dependabot in #1680
- Bump github/codeql-action from 3.26.11 to 3.26.12 by @dependabot in #1687
- Bump actions/upload-artifact from 4.4.0 to 4.4.1 by @dependabot in #1686
- Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #1685
- Bump actions/cache from 4.1.0 to 4.1.1 by @dependabot in #1688
- Bump actions/upload-artifact from 4.4.1 to 4.4.2 by @dependabot in #1689
- Bump actions/upload-artifact from 4.4.2 to 4.4.3 by @dependabot in #1690
- Bump github/codeql-action from 3.26.12 to 3.26.13 by @dependabot in #1692
- Bump github.com/klauspost/compress from 1.17.10 to 1.17.11 by @dependabot in #1691
- Bump actions/cache from 4.1.1 to 4.1.2 by @dependabot in #1698
- Bump github/codeql-action from 3.26.13 to 3.27.0 by @dependabot in #1697
- Bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot in #1699
- Bump actions/setup-go from 5.0.2 to 5.1.0 by @dependabot in #1700
- Bump golang.org/x/term from 0.25.0 to 0.26.0 by @dependabot in #1712
- Bump goreleaser/goreleaser-action from 6.0.0 to 6.1.0 by @dependabot in #1711
- Bump golang.org/x/text from 0.19.0 to 0.20.0 by @dependabot in #1714
- Bump github/codeql-action from 3.27.0 to 3.27.1 by @dependabot in #1715
- Bump github/codeql-action from 3.27.1 to 3.27.2 by @dependabot in #1716
- Bump github/codeql-action from 3.27.2 to 3.27.3 by @dependabot in #1717
- Bump github/codeql-action from 3.27.3 to 3.27.4 by @dependabot in #1718
- Bump github/codeql-action from 3.27.4 to 3.27.5 by @dependabot in #1719
- Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #1723
- Bump github/codeql-action from 3.27.5 to 3.27.6 by @dependabot in #1724
- Bump golang.org/x/text from 0.20.0 to 0.21.0 by @dependabot in #1727
- Bump golang.org/x/term from 0.26.0 to 0.27.0 by @dependabot in #1726
- Bump actions/cache from 4.1.2 to 4.2.0 by @dependabot in #1728
- Bump github/codeql-action from 3.27.6 to 3.27.7 by @dependabot in #1730
- Bump actions/setup-go from 5.1.0 to 5.2.0 by @dependabot in #1729
- Bump github/codeql-action from 3.27.7 to 3.27.9 by @dependabot in #1731
- Bump actions/upload-artifact from 4.4.3 to 4.5.0 by @dependabot in #1732
- Bump github/codeql-action from 3.27.9 to 3.28.0 by @dependabot in #1734
- Bump golang.org/x/sys from 0.28.0 to 0.29.0 by @dependabot in #1738
- Bump golang.org/x/term from 0.27.0 to 0.28.0 by @dependabot in #1737
- Bump actions/upload-artifact from 4.5.0 to 4.6.0 by @dependabot in #1739
- Bump github/codeql-action from 3.28.0 to 3.28.1 by @dependabot in #1740
- Bump actions/setup-go from 5.2.0 to 5.3.0 by @dependabot in #1741
- Bump github/codeql-action from 3.28.1 to 3.28.2 by @dependabot in #1742
- Bump github/codeql-action from 3.28.2 to 3.28.3 by @dependabot in #1743
- Bump github/codeql-action from 3.28.3 to 3.28.4 by @dependabot in #1744
- Bump github/codeql-action from 3.28.4 to 3.28.5 by @dependabot in #1746
- Bump github/codeql-action from 3.28.5 to 3.28.6 by @dependabot in #1747
- Bump github/codeql-action from 3.28.6 to 3.28.8 by @dependabot in #1748
- Bump golang.org/x/text from 0.21.0 to 0.22.0 by @dependabot in #1752
- Bump golang.org/x/term from 0.28.0 to 0.29.0 by @dependabot in #1751
- Bump github/codeql-action from 3.28.8 to 3.28.9 by @dependabot in #1753
- Bump goreleaser/goreleaser-action from 6.1.0 to 6.2.1 by @dependabot in #1755
- Bump actions/cache from 4.2.0 to 4.2.1 by @dependabot in #1756
- Bump actions/upload-artifact from 4.6.0 to 4.6.1 by @dependabot in #1760
- Bump github/codeql-action from 3.28.9 to 3.28.10 by @dependabot in #1759
- Bump actions/cache from 4.2.1 to 4.2.2 by @dependabot in #1762
- Bump github/codeql-action from 3.28.10 to 3.28.11 by @dependabot in #1769
- Bump actions/setup-go from 5.3.0 to 5.4.0 by @dependabot in #1771
- Bump actions/cache from 4.2.2 to 4.2.3 by @dependabot in #1774
- Bump actions/upload-artifact from 4.6.1 to 4.6.2 by @dependabot in #1773
- Bump github/codeql-action from 3.28.11 to 3.28.12 by @dependabot in #1772
- Bump github/codeql-action from 3.28.12 to 3.28.13 by @dependabot in #1776
- Bump goreleaser/goreleaser-action from 6.2.1 to 6.3.0 by @dependabot in #1778
- Bump github/codeql-action from 3.28.13 to 3.28.14 by @dependabot in #1779
- Bump github/codeql-action from 3.28.14 to 3.28.15 by @dependabot in #1783
- Bump github/codeql-action from 3.28.15 to 3.28.16 by @dependabot in #1790
- Bump github/codeql-action from 3.28.16 to 3....
Miller 6.13.0: File-stat DSL function, new stats accumulator, misc. bugfixes
New features
- Add a
statDSL function by @johnkerl in #1560 - Add
madaccumulator forstats1DSL function by @johnkerl in #1561 - Support
$NO_COLORby @johnkerl in #1580
Bug fixes
- Fraction bugfix by @oandrew in #1579
- Fix local time when TZ is not set by @balki in #1649
- Bash process substitution not working with
put -fby @johnkerl in #1583 - Be smarter about auto-unflatten by @johnkerl in #1584
- RS aliases for ASCII top-of-table control characters are misnamed by @johnkerl in #1620
- Fix binary data in JSON output by @johnkerl in #1626
- Fix prepipe handling when filenames have whitespace by @johnkerl in #1627
- Error in
splita/splitaxwhen field contains a single non-string value by @johnkerl in #1629
Documentation updates
- Update reference-verbs.md by @aborruso in #1665
- Characters to be removed by @aborruso in #1668
- Fix minor typo by @austinletson in #1673
- Enable admonition extension by @aborruso in #1636
- To realize which chapter and section are active by @aborruso in #1631
- To have edit and copy code in each page by @aborruso in #1632
- Update extra.css by @aborruso in #1633
- A note about positional field names by @aborruso in #1634
- Fix typo in online help for
--no-jlistwrapby @johnkerl in #1541 - Try to build readthedocs
.epuband.pdfby @johnkerl in #1548 - On-line help for
mlr summary --transposeby @johnkerl in #1581 - Note IANA TSV support by @johnkerl in #1582
- Source-file update for PR 1634 by @johnkerl in #1635
- Update source material for #1665 by @johnkerl in #1666
- Fix 1668 error-source by @johnkerl in #1672
Minor changes
- The package version must match the major tag version by @lespea in #1654
- Use string version of regexp methods to reduce allocs by @Juneezee in #1614
- Chore: fix function name in comment by @camcui in #1543
- Fix mismatched method names in comments by @forcedebug in #1549
- Compiling on newer go versions doesn't work by @lespea in #1655
- Misc. codespell findings by @johnkerl in #1628
New Contributors
- @camcui made their first contribution in #1543
- @forcedebug made their first contribution in #1549
- @oandrew made their first contribution in #1579
- @balki made their first contribution in #1649
- @lespea made their first contribution in #1654
- @austinletson made their first contribution in #1673
Dependency updates
- Bump actions/cache from 4.0.1 to 4.0.2 by @dependabot in #1532
- Bump golang.org/x/term from 0.18.0 to 0.19.0 by @dependabot in #1536
- Bump github.com/klauspost/compress from 1.17.7 to 1.17.8 by @dependabot in #1538
- Bump actions/upload-artifact from 4.3.1 to 4.3.2 by @dependabot in #1547
- Bump actions/checkout from 4.1.2 to 4.1.3 by @dependabot in #1550
- Bump actions/upload-artifact from 4.3.2 to 4.3.3 by @dependabot in #1551
- Bump actions/checkout from 4.1.3 to 4.1.4 by @dependabot in #1552
- Bump actions/setup-go from 5.0.0 to 5.0.1 by @dependabot in #1553
- Bump golang.org/x/sys from 0.19.0 to 0.20.0 by @dependabot in #1554
- Bump golang.org/x/text from 0.14.0 to 0.15.0 by @dependabot in #1556
- Bump golang.org/x/term from 0.19.0 to 0.20.0 by @dependabot in #1555
- Bump actions/checkout from 4.1.4 to 4.1.5 by @dependabot in #1557
- Bump goreleaser/goreleaser-action from 5.0.0 to 5.1.0 by @dependabot in #1563
- Bump actions/checkout from 4.1.5 to 4.1.6 by @dependabot in #1566
- Bump github/codeql-action from 2.13.4 to 3.25.5 by @dependabot in #1567
- Bump github/codeql-action from 3.25.5 to 3.25.6 by @dependabot in #1568
- Bump github/codeql-action from 3.25.6 to 3.25.7 by @dependabot in #1570
- Bump goreleaser/goreleaser-action from 5.1.0 to 6.0.0 by @dependabot in #1574
- Bump github/codeql-action from 3.25.7 to 3.25.8 by @dependabot in #1575
- Bump golang.org/x/text from 0.15.0 to 0.16.0 by @dependabot in #1576
- Bump golang.org/x/sys from 0.20.0 to 0.21.0 by @dependabot in #1578
- Bump golang.org/x/term from 0.20.0 to 0.21.0 by @dependabot in #1577
- Bump github.com/klauspost/compress from 1.17.8 to 1.17.9 by @dependabot in #1585
- Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #1586
- Bump github/codeql-action from 3.25.8 to 3.25.9 by @dependabot in #1587
- Bump github/codeql-action from 3.25.9 to 3.25.10 by @dependabot in #1588
- Bump github/codeql-action from 3.25.10 to 3.25.11 by @dependabot in #1593
- Bump golang.org/x/sys from 0.21.0 to 0.22.0 by @dependabot in #1595
- Bump golang.org/x/term from 0.21.0 to 0.22.0 by @dependabot in #1594
- Bump actions/upload-artifact from 4.3.3 to 4.3.4 by @dependabot in #1596
- Bump actions/setup-go from 5.0.1 to 5.0.2 by @dependabot in #1597
- Bump github/codeql-action from 3.25.11 to 3.25.12 by @dependabot in #1598
- Bump github/codeql-action from 3.25.12 to 3.25.13 by @dependabot in #1602
- Bump github/codeql-action from 3.25.13 to 3.25.14 by @dependabot in #1603
- Bump github/codeql-action from 3.25.14 to 3.25.15 by @dependabot in #1604
- Bump golang.org/x/sys from 0.22.0 to 0.23.0 by @dependabot in #1605
- Bump actions/upload-artifact from 4.3.4 to 4.3.5 by @dependabot in #1606
- Bump golang.org/x/term from 0.22.0 to 0.23.0 by @dependabot in #1612
- Bump actions/upload-artifact from 4.3.5 to 4.3.6 by @dependabot in #1609
- Bump github/codeql-action from 3.25.15 to 3.26.0 by @dependabot in #1610
- Bump golang.org/x/text from 0.16.0 to 0.17.0 by @dependabot in #1611
- Bump golang.org/x/sys from 0.23.0 to 0.24.0 by @dependabot in #1613
- Bump github/codeql-action from 3.26.0 to 3.26.1 by @dependabot in #1615
- Bump github/codeql-action from 3.26.1 to 3.26.2 by @dependabot in #1617
- Bump codespell-project/actions-codespell from 2.0 to 2.1 by @dependabot in #1622
- Bump github/codeql-action from 3.26.2 to 3.26.3 by @dependabot in #1623
- Bump github/codeql-action from 3.26.3 to 3.26.4 by @dependabot in #1624
- Bump github/codeql-action from 3.26.4 to 3.26.5 by @dependabot in #1630
- Bump github.com/lestrrat-go/strftime from 1.0.6 to 1.1.0 by @dependabot in #1637
- Bump github/codeql-action from 3.26.5 to 3.26.6 by @dependabot in #1638
- Bump actions/upload-artifact from 4.3.6 to 4.4.0 by @dependabot in #1640
- Bump golang.org/x/text from 0.17.0 to 0.18.0 by @dependabot in #1641
- Bump golang.org/x/term from 0.23.0 to 0.24.0 by @dependabot in #1642
- Bump github/codeql-action from 3.26.6 to 3.26.7 by @dependabot in #1648
- Bump github/codeql-action from 3.26.7 to 3.26.8 by @dependabot in #1652
- Bump github.com/klauspost/compress from 1.17.9 to 1.17.10 by @dependabot in #1659
- Bump github/codeql-action from 3.26.8 to 3.26.9 by @dependabot in #1660
- Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #1662
- Bump github/codeql-action from 3.26.9 to 3.26.10 by @dependabot in #1664
- Bump github/codeql-action from 3.26.10 to 3.26.11 by @dependabot in #1669
Full Changelog: v6.12.0...v6.13.0
Miller 6.12.0: New sparsify verb, wide-table performance improvement, thousands separator for fmtnum function
Features
- New
mlr sparsifyverb by @johnkerl in #1498 - Support thousands separator in
fmtnumby @johnkerl in #1499 - Add descriptions for
putandfilterverbs by @johnkerl in #1529
Bugfixes
- Miller produces no output on TSV with > 64K characters per line by @johnkerl in #1505
- Enable record-hashing by default by @johnkerl in #1507
- Improved file-not-found handling by @johnkerl in #1508
- Avoid spurious
[]on JSON output in some cases by @johnkerl in #1528
Internal
Dependency updates
- Bump actions/upload-artifact from 4.2.0 to 4.3.0 by @dependabot in #1483
- Bump github.com/klauspost/compress from 1.16.7 to 1.17.5 by @dependabot in #1486
- Bump actions/upload-artifact from 4.3.0 to 4.3.1 by @dependabot in #1491
- Bump github.com/klauspost/compress from 1.17.5 to 1.17.6 by @dependabot in #1492
- Bump golang.org/x/term from 0.16.0 to 0.17.0 by @dependabot in #1494
- Bump github.com/klauspost/compress from 1.17.6 to 1.17.7 by @dependabot in #1502
- Bump actions/cache from 4.0.0 to 4.0.1 by @dependabot in #1511
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #1516
- Bump golang.org/x/sys from 0.17.0 to 0.18.0 by @dependabot in #1521
- Bump golang.org/x/term from 0.17.0 to 0.18.0 by @dependabot in #1522
- Bump actions/checkout from 4.1.1 to 4.1.2 by @dependabot in #1526
Full Changelog: v6.11.0...v6.12.0
Miller 6.11.0: CSV/TSV auto-unsparsify, regex-fieldname support for reorder/sub/ssub/gsub, strmatch DSL function, and more
Features
- Auto-unsparsify CSV and TSV on output by @johnkerl in #1479
mlr reorderwith regex support by @johnkerl in #1473- Implement all/by-regex field selection (
-a/-r) formlr sub,gsub, andssubby @johnkerl in #1480 - Preserve regex captures across stack frames by @johnkerl in #1447
- Document and unit-test regex-capture reset logic by @johnkerl in #1451
- New
strmatch/strmatchxDSL functions by @johnkerl in #1448 - Implement
mlr uniq -xby @johnkerl in #1457 - On-line help info for
mlr join --lk ""by @johnkerl in #1458 - Fix PR 1462: remove limit of 1000 on dedupe field names by @johnkerl in #1463
- Support PPRINT barred input by @johnkerl in #1472
- Support markdown format on input by @johnkerl in #1478
Bugfixes
mlr --norcwas erroring by @johnkerl in #1450- Have
clean_whitespacere-run type inference by @johnkerl in #1464
Internals
- Rename internal regex functions by @johnkerl in #1446
- Replace deprecated
io/ioutilfunctions by @Juneezee in #1452 - Internal name-neatens by @johnkerl in #1475
- Fix typos in tests for PPRINT barred input by @johnkerl in #1476
- Don't run regression tests twice in GitHub CI by @johnkerl in #1477
- Miller 6.11.0 by @johnkerl in #1481
Dependencies
- Bump actions/upload-artifact from 3.1.3 to 4.0.0 by @dependabot in #1445
- Bump golang.org/x/term from 0.15.0 to 0.16.0 by @dependabot in #1466
- Bump actions/cache from 3.3.2 to 3.3.3 by @dependabot in #1468
- Bump actions/upload-artifact from 4.0.0 to 4.1.0 by @dependabot in #1469
- Bump actions/cache from 3.3.3 to 4.0.0 by @dependabot in #1470
- Bump actions/upload-artifact from 4.1.0 to 4.2.0 by @dependabot in #1471
Full Changelog: v6.10.0...v6.11.0