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

1.8 KiB

ConfigKit v0.3.1

This release fixes secrets-directory bootstrap when the directory contains Git metadata or other dot-prefixed entries.

Summary

LoadSecretsDir now ignores dot-prefixed files, directories, and symlinks, including .git, .gitignore, and .DS_Store. These entries no longer prevent otherwise valid secrets from loading and are omitted from the bootstrap report. See the bootstrap contract.

Compatibility

This is a backward-compatible bug fix for previously rejected directory contents. There are no Go API signature changes or migrations for previously accepted inputs. Validation of non-hidden entries, existing-environment precedence, and the existing enumeration and content limits remain unchanged. Hidden entries still count toward the directory enumeration limit.

The minimum Go version remains 1.25. Linux remains release-validated and macOS remains best-effort. The explicitly pinned YAML dependency remains go.yaml.in/yaml/v4 v4.0.0-rc.6; reassessment found no newer published version. Retaining this prerelease pin avoids unrelated parser changes in this patch.

Upgrade

Update the module dependency and rebuild the consuming application:

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

No configuration migration is required. A secrets directory can retain its dot-prefixed metadata without treating those entries as secret candidates.

Changes

  • Filter hidden entries before filename and metadata validation and reporting.
  • Cover hidden-only and mixed directories, including Git metadata and a dangling hidden symlink, with regression tests.
  • Update public API comments and the canonical bootstrap contract.
  • Stop tracking local codebase-memory tooling artifacts and ignore their directory.