# 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](../config.md#explicit-secrets-directory-bootstrap). ## 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: ```sh 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.