Files
commandkit/docs/releases/v0.5.0.md

2.3 KiB

CommandKit v0.5.0

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.

Changes

  • 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.

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.

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 for the conversion contract.

COPYRIGHT | LICENSE | ATTRIBUTION