44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# 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.
|