chore: bump version and changelog (v0.4.0.0)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
588f290dcc
commit
30c203cafd
2 changed files with 46 additions and 1 deletions
45
CHANGELOG.md
45
CHANGELOG.md
|
|
@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to a four-digit MAJOR.MINOR.PATCH.MICRO version scheme.
|
||||
|
||||
## [0.4.0.0] - 2026-06-07
|
||||
|
||||
### Added
|
||||
|
||||
- **`.secrets.json` manifest (EGB-677 stage 1)** — a committed, project-root
|
||||
manifest is now the source of truth for what syncs. List the env files you
|
||||
want under `dotenv[]` (project-relative, nested paths and `@`-scoped
|
||||
workspaces allowed; `..`, absolute, and symlink paths are rejected) and
|
||||
out-of-project files under `external[]` (`properties` or `file`). The
|
||||
manifest is shared across machines, so a teammate who clones the project
|
||||
sees exactly what to pull.
|
||||
- **`secrets add <path>`** — declare an env file in the manifest without
|
||||
pushing. Bootstraps `.secrets.json` on first use, dedupes, and writes a
|
||||
stable canonical form.
|
||||
- **Auto-add on push** — `secrets push` discovers new `.env*` / `.dev.vars`
|
||||
files and adds them to the manifest (prints what it added and reminds you to
|
||||
commit). Gated by `options.autoAdd` in the manifest (default on);
|
||||
`push --frozen` syncs only declared files, and `push --dry-run` previews
|
||||
what would change without writing anything.
|
||||
- **Manifest-driven pull** — restores every declared file, recreating nested
|
||||
directories as needed, with the same path-safety rail applied at restore
|
||||
time so a malicious committed manifest can't write outside the project. An
|
||||
empty manifest is a safe no-op.
|
||||
- **Legacy `.secrets-files` absorb** — an existing `.secrets-files` is folded
|
||||
into `.secrets.json` on first push (gradle-properties entries become
|
||||
`properties`); on pull the legacy file is superseded with a warning.
|
||||
- **Platform-aware install hints** — missing-dependency errors now print the
|
||||
right install command for your platform (brew / apt-get / dnf).
|
||||
|
||||
### Changed
|
||||
|
||||
- `jq` is required only when a manifest is present or being written;
|
||||
manifest-less projects keep working without `jq` (manifest features are
|
||||
skipped with a notice).
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Key rotation no longer orphans nested or external blobs.** `secrets rekey`
|
||||
and `secrets list` now walk the entire project tree, so nested manifest
|
||||
entries (`<project>/<relpath>.age`) and `external/` blobs are re-encrypted
|
||||
and listed correctly. Previously a rekey could leave nested blobs encrypted
|
||||
under the discarded old key, making them permanently undecryptable.
|
||||
- Test assertions now fail correctly under system bash 3.2 (standalone
|
||||
`[[ ]]` checks no longer pass silently).
|
||||
|
||||
## [0.3.0.0] - 2026-06-07
|
||||
|
||||
### Added
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.3.0.0
|
||||
0.4.0.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue