Release Miller 6.20.2: Miller and AI, bash/zsh tab-completion, bytes datatype · johnkerl/miller · GitHub
//releases/show" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
//releases/show;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
johnkerl
miller
Public
Notifications<br>You must be signed in to change notification settings
Fork<br>238
Star<br>9.9k
Miller 6.20.2: Miller and AI, bash/zsh tab-completion, bytes datatype
Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
johnkerl
released this
04 Jul 19:21
v6.20.2
05190f3
What's new in 6.20.2
Miller now treats AI agents as first-class users
There is shell tab-completion for bash and zsh
There is a new bytes datatype, 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<br>mlr skill install ~/.claude/skills/miller<br># Codex and Gemini<br>mlr skill install ~/.agents/skills/miller
or
# Claude<br>claude mcp add miller -- mlr mcp<br># Codex<br>codex mcp add miller -- mlr mcp<br># Gemini<br>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 which intent 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 --explain by @johnkerl in #2131
New mlr describe verb: field names, types, cardinality, and value domains of your data in one pass by @johnkerl in #2132
New mlr mcp MCP server and agent playbook, with a --no-shell sandbox 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:
Shell tab-completion for bash and zsh by @johnkerl in #2096
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:
New bytes type with b"..." literals and base64/hex codecs by @johnkerl in #2122
More features
New tail -n +N and head -n -N options by @farnoy in #2071
Long-overdue --md flag by @johnkerl in #2100
Windows-arm64 releases by @teo-tsirpanis in #2127
Bug fixes
Fix masked unset-on-array error path (along with govet lint findings) by @johnkerl in #2129
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...