# 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 [performance candidates](../roadmap/future.md#5-performance-experiments). ## 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)