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

53 lines
2.7 KiB
Markdown
Raw Normal View History

# CommandKit v0.2.0
## Summary
CommandKit v0.2.0 replaces the core registration API with reusable captured
command declarations and moves ConfigKit and PromptKit support into independently
versioned optional modules. This is a source-only release with incompatible API
changes from v0.1.0.
## Changes
- Capture typed command specifications with `NewCommand`, then install the
resulting `Command` declarations through `commandkit.New` or `App.Register`.
Installation validates a batch before changing the application's registry.
- Reuse captured declarations across applications. Typed bindings preserve
supplied values separately from defaults, and input construction occurs only
when execution reaches the command.
- Keep ConfigKit and PromptKit dependencies outside the core module. Applications
explicitly import integrations and install their returned declarations.
- Adopt ReleaseKit v0.4.2 for independently versioned module publication. It
remains a maintainer tool dependency; production packages do not import it.
## Compatibility and upgrade
The consumer minimum remains **Go 1.26.0**. The selected maintainer release
toolchain remains Go 1.26.8.
Consumers upgrading from v0.1.0 must rewrite command declarations, typed
bindings, and installation wiring for the captured declaration API. There is no
compatibility layer for the earlier registration API. Move configuration
integration code to
`gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig`, and PromptKit
integration code to
`gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`.
The integrations' initial releases are each v0.1.0; their version numbers are
independent of core and upstream dependency versions. They add native
configuration comparison, richer source evidence, PromptKit requirements
discovery and validation, five catalogs, and opt-in smoke testing. Their own
release notes describe the features and operator changes:
- [ckconfig v0.1.0](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/integrations/ckconfig/docs/releases/v0.1.0.md)
- [ckprompt v0.1.0](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/integrations/ckprompt/docs/releases/v0.1.0.md)
See the [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/docs/consumers/guide.md)
for migration examples and the
[CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/docs/cli.md)
for standard command and report contracts.
[COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/COPYRIGHT) |
[LICENSE](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/LICENSE) |
[ATTRIBUTION](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/docs/oss/attribution.md)