2.5 KiB
ConfigKit v0.4.0
This release renames selected configuration profiles to overlays, intentionally breaking the previous naming contract without compatibility aliases or fallback.
Summary
Selected configuration now uses Options.Overlay and overlays/<name>.yml.
Selection, merge rules, input precedence, and lifecycle behavior are unchanged.
See the selected-overlay contract.
Compatibility
This is a breaking minor release before v1.0.0. Four surfaces change:
- Go API:
Options.ProfilebecomesOptions.Overlay,LayerProfilebecomesLayerOverlay, and all sevenCodeProfile*constants becomeCodeOverlay*. - Selected files:
profiles/<name>.ymlbecomesoverlays/<name>.yml; there is no legacy-directory fallback. - Provenance: the layer string changes from
profiletooverlay. - Structured diagnostics: the
profile.*code prefix becomesoverlay.*.
The old Go identifiers are removed. Application-owned concepts such as
ModelProfile and model_profile are unchanged. Ordinary explicit imports from
a directory named profiles remain valid base inputs.
The minimum Go version remains 1.25. Linux remains release-validated and macOS
remains best-effort. The YAML dependency remains pinned to
go.yaml.in/yaml/v4 v4.0.0-rc.6; this release does not change parser dependencies.
Upgrade
Update the dependency:
go get gitea.maximumdirect.net/eric/ConfigKit@v0.4.0
Rename the affected Go identifiers, move selected files into overlays/, update
any handling of provenance-layer and diagnostic-code strings, and rebuild.
The maintained example helper is now LoadNarratioOverlay rather than
LoadNarratioProfile. Application CLI flag names remain application-owned;
ConfigKit does not require renaming domain-specific profile concepts.
See the migration guide.
Changes
- Rename the selected feature consistently across the public facade, internal engine, diagnostics, source labels, examples, and current documentation.
- Add regression coverage for the new directory, absence of legacy fallback, public values, explanations, and preservation of application profile fields.
- Align contributor policies with the current shared standard.
- Simplify release validation to one local minimum-toolchain check. CI is not a release gate; successful publication of the intended tag completes the source-only release. See the release procedure.
- Retire completed overlay and release-workflow planning documents to Git history.