• v0.8.0 137769f3f1

    # ConfigKit v0.8.0

    eric released this 2026-10-17 05:00:08 +00:00 | 276 commits to main since this release

    This minor release adds explicit input placement, relative import destinations,
    shared source-version checking, and opt-in composition of identified sequence
    records. Applications can assemble independently authored configuration fragments
    into one final configuration while retaining source locations, provenance,
    history, and sensitivity information.

    Changes

    • Add Destination to ordinary load options and layered inputs. A source mapping
      can contribute beneath literal application keys without being rewritten by the
      consumer. Imports inherit that destination or append a relative YAML
      destination. Physical import paths and resource contexts remain relative to
      their declaring sources. See input destinations,
      import syntax, and the
      mounted collection example.
    • Add SourceVersionModeIfPresent and SourceVersionModeRequired to apply one
      application-owned version checker across main, underlay, imported, and selected
      overlay documents. Enabled modes check source-local declarations and consume
      accepted non-main headers before composition. Detached, sensitivity-aware
      evidence is available through SourceInfo.VersionCheck. Acceptance remains
      application policy; ConfigKit does not require declarations to equal the main
      version. See shared source-version checks.
    • Add explicit PlacementModeSequenceItem placement for ordinary and layered
      inputs, and placement: sequence-item for path and glob imports. A source
      mapping becomes one item at its destination; ordinary helper imports compose
      within that item and can supply its identity. See
      imports.
    • Add Definition.SequenceCompositions registrations for strict composition at
      selected literal paths using one string identity field. Distinct records append
      in contribution order, while duplicate identities conflict. Higher-priority
      sequences still replace lower-priority sequences wholesale. Registration does
      not add identity-based overlays or final identity validation after defaults and
      application resolution. See the composition contract
      and maintained prompt catalog.
    • Extend source inspection with destination and placement evidence, including
      whether a nested destination is unresolved in an intermediate or failed-load
      snapshot. Preserve source-specific history, consumed-header sensitivity, and
      explanations of descendants removed by sequence replacement as records are
      assembled. Source locations continue to identify authored coordinates.

    Compatibility and upgrade

    The new behavior is opt-in: zero-valued destinations retain root placement,
    mapping placement remains the default, unregistered sequences retain strict
    conflict behavior, and the default source-version mode preserves the existing
    main-only version policy. Recursive mapping precedence, whole-sequence
    replacement between tiers, and application-owned final validation remain intact.

    Public option, definition, input, and source-information structs gain fields.
    Consumers using unkeyed literals for affected structs must switch to keyed
    literals or update them. SourceInfo now contains a Path and is no longer
    comparable with == or usable directly as a map key; compare the relevant fields
    or select an application-appropriate key instead. Existing keyed literals need
    no changes to retain the previous loading behavior.

    Select this version and rebuild:

    go get gitea.maximumdirect.net/eric/ConfigKit@v0.8.0
    

    The consumer minimum remains Go 1.26.0. The YAML dependency remains
    go.yaml.in/yaml/v4 v4.0.0-rc.6, and the maintainer tool dependency remains
    ReleaseKit v0.4.1. Linux amd64 and arm64 remain release-validated targets;
    macOS remains best-effort. Publication follows the existing
    release procedure.

    COPYRIGHT | LICENSE | ATTRIBUTION

    Downloads