51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# 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](../config.md#layered-metadata) 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:
|
|
|
|
```sh
|
|
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.HistoricalPaths` with 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.
|