NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #36 most downloaded on crates.io
A simple to use, efficient, and full-featured Command Line Argument Parser
Last release 19 days ago
14 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 56 of the last 60 stable releases
92 versions withdrawn
withdrawn after publishing
12 years old
462 releases · first in 2015
Required Args: fixes a bug where required args are not correctly accounted for (f03b88a9, closes #343)
fixes a bug with required positional args in usage strings
One column per quarter.
Clarify behavior of Arg::multiple with options.
allows parsing without a binary name for daemons and interactive CLIs (aff89d57, closes #318)
fixes crash on invalid arg error
move the crate-level docs to top of the lib.rs file
allows accessing arg values by group name
Conflicts: fixes bug with conflicts not removing required args (e17fcec5, closes #271)
Unicode: allows non-panicking on invalid unicode characters
allows printing help message by library consumers
ErrorKind: changed examples content
changes ArgGroup HashSets to Vec
YAML: allows building a CLI from YAML files
Args: allows opts and args to define a name for help and usage msgs
Possible Values: fixes a bug where suggestions aren't made when using --long=value format (3d5e9a6c, closes #192)
App, Args: fixed subcommand reqs negation (b41afa8c, closes #188)
fixed confusing error message, also added test for it
README.md: updates for new features
fixed docs for previous changes
fixes two bugs in App when printing newlines in help and subcommands required error
removes some unneeded allocations
Usage Strings displays a [--] when it may be helpful
updates README.md to include lack of color support on Windows
fixes a bug when parsing multiple {n} newlines inside help strings
fixes a logic bug and allows setting Arg::number_of_values() < 2 (42b6d1fc, closes #161)
allows creating unified help messages, a la docopt or getopts (52bcd892, closes #158)
Errors writes errors to stderr (cc76ab8c, closes #154)
Usage re-orders optional arguments and required to natural standard (dc7e1fce, closes #147)
allows empty values when using --long='' syntax (083f82d3, closes #151)
README.md adds new features to what's new list
removes deprecated functions in prep for 1.0
Help and Version default short for version is now -V but can be overridden (only breaks manual documentation) (BREAKING CHANGE eb1d9320)
Global Args global arguments propagate fully now (1f377960, closes #137)
Global Args global arguments propagate fully now (8f2c0160, closes #137)
Global Args fixes a bug where globals only transfer to one subcommand (a37842ee, closes #135)
Binary Names allows users to override the system determined bin name (2191fe94, closes #134)
can now specify that an app or subcommand should display help on no args or subcommands (29ca7b2f, closes #133)
updates for deprecations and new features
help allows parent requirements to be ignored with help and version (52218cc1, closes #124)
help fixes a bug where requirements are included as program name in help and version
usage usage strings now include parent command requirements (dd8f21c7, closes #125)
args - can now be parsed as a value for an argument (bc12e78e, closes #121)
macros makes macro errors consistent with others (0c264a8c, closes #118)
suggestions --help and --version now get suggestions (d2b3b1fa, closes #116)
usage groups unfold their members in usage strings (55d15582, closes #114)
usage strings positional arguments are presented in index order (eb0e374e, closes #112)
subcommands stops parsing multiple values when subcommands are found (fc79017e, closes #109)
Positional positionals were ignored if they matched a subcmd, even after '--'
make test invocation (d17dcb29)Options adds number of values to options in help/usage
Options fixes bug where options with no value don't error out
Options fixes a bug where option arguments in succession get their values skipped
RequiredValues fixes a bug where missing values are parsed as missing arguments
RequiredArgs fixes bug where required-by-default arguments are not listed in usage (12aea961, closes #96)
MultipleValues stops evaluating values if the max or exact number of values was reached
arg allow other types besides Vec for multiple value settings (BREAKING CHANGE 0cc2f698, closes #87)
from_usage removes bug where usage strings have no help text (ad4e5451, closes #83)
help change long help --long=long -> --long
from_usage fix bug causing args to not be required
from_usage tabs and spaces should be treated equally
macros.rs fix use statements for trait impls
Your coding agent can read these notes before it upgrades. Set up the MCP server →