Prepare core and integration release notes

This commit is contained in:
2026-10-18 13:51:15 +00:00
parent 654d1b4a6d
commit 841e60fed3
3 changed files with 127 additions and 43 deletions

View File

@@ -1,19 +1,51 @@
# CommandKit v0.2.0
This release replaces the earlier core registration and integration surface with
captured `commandkit.Command` declarations and batch installation through
`commandkit.New` or `App.Register`. This is an incompatible core API change;
consumers must update their declarations and installation wiring to the current
API. No compatibility layer is provided.
## Summary
ConfigKit and PromptKit support is now provided by independently versioned
optional modules: `gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig`
and `gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`. Applications
that need those integrations add their imports and install the returned
commands explicitly. The core module does not depend on either integration.
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.
See the [consumer guide](../consumers/guide.md) and the
[CLI reference](../cli.md) for current contracts.
## 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) |