2026-11-07 19:08:24 +00:00
|
|
|
# CommandKit v0.5.0
|
|
|
|
|
|
2026-11-07 23:31:14 +00:00
|
|
|
CommandKit v0.5.0 fixes lost deferred messages and preserves YAML value types
|
|
|
|
|
more accurately. It also reduces repeated work when installing commands and
|
|
|
|
|
showing alias help, and refreshes documentation and help text.
|
2026-11-07 19:08:24 +00:00
|
|
|
|
|
|
|
|
## Changes
|
|
|
|
|
|
2026-11-07 23:31:14 +00:00
|
|
|
- Deferred messages accepted before finalization are retained for final reporting;
|
|
|
|
|
they can no longer be silently lost when a handler finishes. Later submissions return
|
|
|
|
|
`ErrReporterClosed`.
|
|
|
|
|
- Finished invocations release their direct references to output and diagnostic
|
|
|
|
|
writers while keeping delivery results available. Applications still own the
|
|
|
|
|
writers.
|
|
|
|
|
- `DecodeYAMLReport` preserves numeric-looking strings as strings. YAML report
|
|
|
|
|
output also preserves explicitly tagged numbers beyond the YAML resolver's
|
|
|
|
|
ordinary numeric range.
|
|
|
|
|
- Command installation, alias help, and typed input handling avoid repeated
|
|
|
|
|
work. Parsing and completion share flag handling while retaining their
|
|
|
|
|
different treatment of errors and unfinished input.
|
|
|
|
|
- The reporting example now works when its optional scenario is omitted, and
|
|
|
|
|
the interactive completion fixture no longer conflicts with `--format`.
|
|
|
|
|
`FlagMeta` documents existing naming and reserved-spelling rules.
|
|
|
|
|
- READMEs, CLI instructions, examples, and generated help use clearer language
|
|
|
|
|
and explain common tasks before implementation details.
|
2026-11-07 19:08:24 +00:00
|
|
|
|
|
|
|
|
## Compatibility and upgrade
|
|
|
|
|
|
|
|
|
|
The public core Go API, CLI grammar, and Go 1.26.0 consumer minimum are unchanged.
|
|
|
|
|
The maintainer release toolchain remains Go 1.27.0.
|
|
|
|
|
|
|
|
|
|
Applications using background producers should coordinate deferred submissions
|
|
|
|
|
before the handler returns and handle `ErrReporterClosed` once finalization
|
|
|
|
|
begins. See the [invocation reporting guide](../consumers/guide.md#invocation-reporting).
|
|
|
|
|
|
|
|
|
|
Callers supplying YAML with numbers beyond the resolver's ordinary range should
|
|
|
|
|
use explicit `!!int` or `!!float` tags when numeric meaning is intended. Untagged
|
|
|
|
|
values resolved as strings now retain that type. See
|
|
|
|
|
[`DecodeYAMLReport`](../../report_value.go) for the conversion contract.
|
|
|
|
|
|
|
|
|
|
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/v0.5.0/COPYRIGHT) |
|
|
|
|
|
[LICENSE](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/v0.5.0/LICENSE) |
|
|
|
|
|
[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/v0.5.0/docs/oss/attribution.md)
|