1.9 KiB
ConfigKit v0.1.2
This release adds safe enumeration of effective and removed metadata paths.
Summary
Metadata.HistoricalPaths returns the semantic paths observed during a load,
including paths removed by profiles, CLI overrides, or recorded resolution. This
allows applications to discover hidden declarations and inspect their ownership
through the existing Metadata.History API without reloading configuration or
resolving unselected credentials.
See the layered metadata contract for current behavior.
Compatibility
This is a backward-compatible API addition. Existing APIs, configuration syntax, diagnostic codes, minimum Go version, and supported platforms are unchanged. Existing consumers do not need to change their code or configuration.
Returned paths are detached, unique by canonical JSON Pointer spelling, and sorted by that spelling. The enumeration includes defaults and the root, exposes no configuration values, and performs no I/O or secret resolution.
The private YAML dependency remains pinned to
go.yaml.in/yaml/v4 v4.0.0-rc.6, confirmed as the newest available v4 release during
candidate preparation.
Upgrade
No action required. Consumers that want historical path discovery can update with:
go get gitea.maximumdirect.net/eric/ConfigKit@v0.1.2
Then iterate over result.Metadata().HistoricalPaths() and use History for
chronological definitions or Lookup to determine whether each path remains
effective.
Changes
- Added
Metadata.HistoricalPathswith detached, deterministic path enumeration. - Included effective, default, and removed paths while excluding paths that never existed.
- Added coverage for parent removal, mapping-to-sequence shape replacement, escaped mapping keys, detached results, zero metadata, composite base ownership, and avoidance of superseded secret lookup.
- Documented historical path enumeration in the current configuration contract.