Revision history for Getopt::Pad
0.05 2026-10-05
- Require Object::Pad 0.818: class methods with a signature fail
on older versions (GitHub issue #1)
0.04 2026-09-26
- Config files set the options of every command level: the
commands key of a level's section holds one section per
command, nested like the commands. Every section is validated
on every run, the values only on the levels the command line
selects. The autoload chain merges option by option per level
- --create-default-config writes the defaults of every level
- Add inherit to option specs: on a level with commands, the
option is also accepted after the command word on every level
below and read from the declaring level. Given on several
levels, it combines as if repeated on one
- --config and --create-default-config are inherited, so they
work after the command word. No level may declare an option
of either name when the spec has a config block
- With a config block, a level with commands may not have a
group named commands
- Rewrite the documentation. Getopt::Pad is a complete reference
with a list of all messages. Getopt::Pad::Tutorial and
Getopt::Pad::Cookbook are new. The contracts for custom types
and config formats are documented in Getopt::Pad::Type and
Getopt::Pad::Config::Format
- New examples for value shapes, config files and value checks
0.03 2026-09-24
- Add hash options: with hash => 1 an option takes --name key=value
pairs and its reader returns a hashref. Every value passes the
usual checks. Help shows the key=value syntax and completion
fills in the value behind the typed key
- Absent multiple options and slurpy args now read as an empty
arrayref, an absent hash option as an empty hashref
- Add csv => 1 for multiple options: every given value is split
at commas, the items are trimmed and an empty item is rejected
- Add typehint to option and arg specs: the tag rendered after
the help text in place of the type's own label
- Add objectlist options: with objectlist => 1 an option takes
--name INDEX.FIELD=VALUE words and its reader returns a list of
hashrefs. The indices must form 0..n-1
- Add createPathIfMissing to the file and dir types: the path is
created, parents included, once the parse settles on it
- --create-default-config writes LF line endings on every platform
and refuses a symlink target on Windows as well, where O_EXCL
follows a dangling link
- Tests pass on Windows
0.02 2026-09-23
- Fix the release target packing build artefacts (blib/) into the
tarball, which stopped PAUSE from indexing 0.01
- Declare all modules in the META "provides" map
- Add the missing $VERSION to Getopt::Pad::Type::Url
0.01 2026-09-23
- Initial development release: typed options, positional args,
nested subcommands, config files, generated help
- Shell completion for bash and zsh via --create-completions;
a valid coderef now returns the allowed list, lazyValid holds
the predicate form
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)