Prepare ConfigKit v0.1.2
This commit is contained in:
@@ -99,6 +99,13 @@ equal-valued input. Profile replacement removes displaced descendants from effec
|
||||
metadata while retaining their base definition and the parent replacement operation
|
||||
in history. All metadata queries and returned nested records are detached.
|
||||
|
||||
`Metadata.HistoricalPaths` enumerates observed paths, including removed paths,
|
||||
without reloading input or resolving unselected credentials. Consumers can use
|
||||
it with `History` to validate ownership of declarations hidden by an overlay;
|
||||
domain ownership rules remain application responsibilities. The method's Go
|
||||
documentation in [metadata.go](../metadata.go) defines enumeration and path-ordering
|
||||
details.
|
||||
|
||||
History is chronological: a path can have a synthetic default record, its exact base
|
||||
definition, a profile replacement, and a recorded resolution operation. A descendant
|
||||
query uses the ancestor's path for a whole-container or whole-sequence replacement;
|
||||
|
||||
50
docs/releases/v0.1.2.md
Normal file
50
docs/releases/v0.1.2.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user