Write release notes for CommandKit v0.5.0
This commit is contained in:
47
docs/releases/v0.5.0.md
Normal file
47
docs/releases/v0.5.0.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# CommandKit v0.5.0
|
||||
|
||||
CommandKit v0.5.0 fixes defects in deferred reporting and YAML value preservation,
|
||||
reduces repeated work in command installation and alias help, and simplifies
|
||||
typed input preparation and replay of captured flags.
|
||||
|
||||
## Changes
|
||||
|
||||
- Acceptance of deferred messages now closes atomically when invocation finalization
|
||||
begins. Concurrent submissions are included in the final batch or rejected
|
||||
with `ErrReporterClosed`; accepted messages can no longer be silently lost
|
||||
between batch detachment and closure.
|
||||
- Finalized reporting state releases its direct references to borrowed output
|
||||
and diagnostic writers while retaining presentation results. Writers remain
|
||||
caller-owned.
|
||||
- `DecodeYAMLReport` follows resolved YAML scalar tags, preserving numeric-looking
|
||||
strings as strings. YAML report rendering preserves explicit numeric meaning
|
||||
for values beyond the resolver's ordinary numeric range.
|
||||
- Compilation of flag aliases reuses resolved chain suffixes. Alias discovery and
|
||||
help reuse the existing source tree, and declaration validation reuses one
|
||||
scratch path across siblings, formatting paths only for diagnostics.
|
||||
- Typed input preparation reconstructs occurrence order without general sorting;
|
||||
replay of captured flags merges already ordered streams. Parsing and completion
|
||||
share flag-consumption mechanics while retaining their distinct handling of
|
||||
errors and incomplete input.
|
||||
- The core reporting example preserves its default scenario when the optional
|
||||
operand is omitted. The interactive completion fixture no longer collides with
|
||||
the reserved `--format` flag. `FlagMeta` documentation now states the existing
|
||||
naming and reserved-spelling rules.
|
||||
|
||||
## 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)
|
||||
Reference in New Issue
Block a user