- Make auto-registration optional, but on by default
- Bring back auto regisration (broke dpl)
- Do not auto-register commands by default
- Fix calling const.include on older Ruby versions
- Enforce declaring arguments
- Allow optional strings on long opts
- Define arg accessor on an included module so it can be overwritten
- Inherit args from parent commands
- Do not raise on empty splats
- Allow args to have defaults
- Allow args to be enums
- Define predicate methods for args
- Make flag values an optional feature
- List multiple usage lines if a command has multiple registry keys
- Sort options by class hierarchie
- Do not try to cast nil values to integers
- Rescue OptionParser::InvalidOption, suggest known options
- Fix deprecations for underscored keys
- Fix an issue in opt.deprecated?(name)
- Add suggestions on unknown cmds and enums
- Validate option options
- Fix an issue with alias names that contain the aliased name
- Fix enum when used with
type: :array
- Allow clients to configure Ctx so that it does not abort but raise on errors
- Fix that validation for
opt '--one STR', requires: :other, default: 'one'would fail if the option was not given
- Add
opt '--one STR', upcase: true
- Add config, reading from env vars and yml files (inspired by gem-release)
- Add
abstractin order to signal a cmd is a base class that is not meant to be executed - Add
examplesin order to add examples for the command to the help output - Add
required :one, [:two, :three](DNF, i.e: either:oneor both:twoand:threemust be given) - Add
opt '--one STR', type: :arrayfor options that can be given multiple times - Add
opt '--one STR', default: 'one' - Add
opt '--one STR', requires :twoor[:two, :three]for options that depend on other options - Add
opt '--one', alias: :other - Add
opt '--one', deprecated: 'message', andcmd.deprected_opts, so clients can look up which deprecated options were used - Add
opt '--one', alias: :other, deprecated: :other, so thatcmd.deprecated_optsreturns the alias name if it was used - Add
opt '--int INT', min: 10, type: :integer - Add
opt '--int INT', max: 10, type: :integer - Add
opt '--one STR', format: /.+/ - Add
opt '--one STR', enum: ['one', /\w+/] - Add
opt '--one STR', downcase: true - Add
opt '--one STR', internal: true, hide internal options from help output - Add
opt '--one STR', example: 'foo' - Add
opt '--one STR', negate: %w(skip) - Add
opt '--one STR', note: 'note' - Add `opt '--one STR', see: 'https://provider.com/docs'
- Add
opt '--one STR', secret: true
- Much improved help output, modeled after rubygems' help output
- Cl is now a class
- Use the regstry gem, remove the local Registry implementation
- If a flag (boolean option) has a default
trueautomatically add[no-]to it, allowing to opt out - Runners are now registered in order to make them more easily extendable
- Removed cmd.defaults, options have default: [value] now
- Ancient history
- Ancient history
- Ancient history
- Ancient history