Files
ConfigKit/docs/releases/v0.1.2.md

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.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.