From 1a885934c28733d9a5dca261fd6da0e2a4279285 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Fri, 9 Oct 2026 04:29:32 +0000 Subject: [PATCH] Prepare release notes for v0.6.0 --- docs/releases/v0.6.0.md | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docs/releases/v0.6.0.md diff --git a/docs/releases/v0.6.0.md b/docs/releases/v0.6.0.md new file mode 100644 index 0000000..bbf3c0e --- /dev/null +++ b/docs/releases/v0.6.0.md @@ -0,0 +1,63 @@ +# ConfigKit v0.6.0 + +This minor release reduces avoidable configuration-loading and inspection work, +adopts ReleaseKit for source publication, and raises the consumer Go minimum to +1.26.0. The public configuration model remains unchanged from v0.5.0. + +## Changes + +- Reduce temporary path allocations by sizing pointer-formatting buffers, + combining final metadata traversal, reusing parsed sensitivity paths, and + avoiding path construction when detecting inheritance. Effective and + historical metadata indexes retain independently owned paths. +- Replace repeated resolution-coverage, metadata-update, CLI-overlap, and + sensitivity-propagation scans with private indexes and incremental processing. + Preserve diagnostic ordering, history, contextual path shapes, and redaction. +- Make presence-only metadata queries avoid materializing provenance. Prepare + resolution replay descriptors and immutable mapping and inheritance-history + lookups for inspection, and use ordered membership indexes for provenance + collections. Returned records remain detached; explanations still replay + complete trees and render on demand. +- Add a maintained public-API startup construction benchmark. The initial path + formatting and metadata traversal experiments reproduced allocation reductions + across local and downstream workloads. Later algorithmic improvements were + validated behaviorally without a new benchmark campaign. Busy-host timings + were inconclusive; no fixed speedup or allocation threshold is promised. +- Replace ConfigKit-owned release scripts with a small profile and the + module-selected ReleaseKit v0.3.0 tool. The + [release procedure](../release.md) documents candidate preparation, tag-only + publication, and failed-push recovery. Existing release checks and the + successful-tag-push completion point remain unchanged; CI is not a gate. +- Adopt release policy 1.6, distinguishing the consumer Go minimum from the + validation toolchain. Retire completed planning and measurement records into + Git history while preserving [deferred work](../roadmap/deferred.md). + +## Compatibility and upgrade + +The consumer minimum increases from Go 1.25.0 to **Go 1.26.0**. Install Go 1.26.0 +or newer before upgrading, and update application build and CI environments that +still use Go 1.25. The `go.mod` directive records the consumer minimum; using a +newer validation patch does not itself raise that minimum. See the +[consumer minimum policy](../policy/release.md#consumer-minimum-and-release-toolchain). + +Select this version and rebuild: + +```sh +go get gitea.maximumdirect.net/eric/ConfigKit@v0.6.0 +``` + +No application-code or configuration migration is required from v0.5.0. Public +Go signatures, strict within-tier composition, recursive tier precedence, +sibling inheritance, presence/null distinctions, provenance, secret handling, +and synchronous completion retain their existing contracts. See the +[configuration contract](../config.md) and +[consumer guide](../consumers/README.md). + +The YAML dependency remains `go.yaml.in/yaml/v4 v4.0.0-rc.6`. ReleaseKit is a +declared Go tool dependency for maintainer commands, not a library runtime +import; its requirements participate in ConfigKit's module graph. Linux amd64 +and arm64 remain release-validated targets, and macOS remains best-effort. +Maintainers should use the current release procedure instead of the retired +`scripts/release.sh` and `scripts/release-check.sh` commands. + +[COPYRIGHT](https://gitea.maximumdirect.net/eric/ConfigKit/src/tag/v0.6.0/COPYRIGHT) | [LICENSE](https://gitea.maximumdirect.net/eric/ConfigKit/src/tag/v0.6.0/LICENSE) | [ATTRIBUTION](https://gitea.maximumdirect.net/eric/ConfigKit/src/tag/v0.6.0/docs/oss/attribution.md)