49 lines
2.5 KiB
Markdown
49 lines
2.5 KiB
Markdown
# CommandKit v0.3.0
|
|
|
|
## Summary
|
|
|
|
CommandKit v0.3.0 adds application-owned command and flag aliases. This
|
|
pre-1.0 minor release also updates the installation declaration type and
|
|
Invocation struct shape; review the migration guidance before upgrading.
|
|
|
|
## Changes
|
|
|
|
- Declare command shortcuts and global or canonical-command-scoped flag
|
|
spellings with `Alias`, `FlagAlias`, and `FlagAliasFor`. Install routing rules
|
|
beside canonical commands through `New` or `App.Register`. Aliases route to
|
|
existing handlers and preserve the target command's operand and binding
|
|
behavior.
|
|
- Read the entered and canonical command paths from `Invocation` with
|
|
`EnteredPath` and `CanonicalPath`.
|
|
- Interpret a canonical short value flag such as `-c=` as an explicitly
|
|
supplied empty value, consistent with `--color=` and `-c ""`.
|
|
|
|
## Compatibility and migration
|
|
|
|
`New` and `App.Register` now accept `...Declaration` instead of `...Command`.
|
|
Command, group, and integration command factories still return `Command`, so
|
|
individual factory calls can be passed directly. A `[]Command` cannot be
|
|
expanded into `...Declaration`; use a `[]Declaration` for mixed reusable
|
|
collections or convert each command element before expanding it. Function
|
|
values whose parameter type is `...Command`, including wrappers assigned from
|
|
`New` or `Register`, must update their signature to `...Declaration`.
|
|
|
|
Adding private route fields to `Invocation` means positional struct literals no
|
|
longer compile. Use keyed fields, for example
|
|
`commandkit.Invocation{Context: ctx, Streams: streams}`, when constructing an
|
|
Invocation outside command execution. CommandKit populates the route fields for
|
|
executed handlers.
|
|
|
|
The consumer minimum remains Go 1.26.0 and the maintainer release toolchain
|
|
remains Go 1.26.8. Core v0.3.0 must be published before preparing dependent
|
|
integration releases that adopt it and record downloaded dependency sums; this
|
|
release does not change their v0.1.0 release records.
|
|
|
|
See the [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/docs/consumers/guide.md),
|
|
[CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/docs/cli.md),
|
|
and [maintainer release procedure](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/docs/release.md).
|
|
|
|
[COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/COPYRIGHT) |
|
|
[LICENSE](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/LICENSE) |
|
|
[ATTRIBUTION](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.3.0/docs/oss/attribution.md)
|