You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+41-1Lines changed: 41 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,47 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## [Unreleased]
8
+
## [3.0.0] — Vault (2026-02-08)
9
+
10
+
### Added
11
+
-**Vault** — GC-safe ref-based storage via `refs/cas/vault`. A single Git ref pointing to a commit chain indexes all stored assets by slug. `git gc` can no longer silently discard stored data.
12
+
-`initVault()` — initialize the vault, optionally with passphrase-based encryption (vault-level KDF policy).
13
+
-`addToVault()` — add or update an entry by slug + tree OID, with `force` flag for overwrites.
14
+
-`listVault()` — list all entries sorted by slug.
15
+
-`removeFromVault()` — remove an entry by slug.
16
+
-`resolveVaultEntry()` — resolve a slug to its tree OID.
- 46 vault unit tests + facade delegation smoke test.
32
+
33
+
### Fixed
34
+
-`#validateMetadata` now requires `kdf.keyLength` in encryption metadata, preventing downstream KDF failures from manually edited `.vault.json` files.
35
+
-`#casUpdateRef` now preserves the original error in `VAULT_CONFLICT` meta for better diagnostics.
36
+
- CLI `--vault-passphrase` now emits a stderr warning when the vault is not encrypted, instead of silently ignoring the passphrase.
37
+
-`vault history` command now uses `VAULT_REF` constant instead of hardcoded string.
38
+
- API docs: fixed invalid import path `@git-stunts/cas/vault` → `@git-stunts/cas`.
39
+
- API docs: fixed `_readVaultState()` → `readState()` in error codes table.
40
+
- API docs and GUIDE: added `text` language identifier to fenced code blocks (markdownlint MD040).
41
+
- CLI version string updated from `2.0.0` to `3.0.0`.
42
+
- CLI `vault history --max-count` now validates input as a positive integer.
43
+
- Stale JSDoc in `GitPersistenceAdapter` corrected (removed mention of retries).
44
+
45
+
### Changed
46
+
-**Vault promoted to domain layer** — all vault logic extracted from facade (`index.js`) into `VaultService` (`src/domain/services/VaultService.js`) with `GitRefPort`/`GitRefAdapter` for ref operations. Facade now delegates to VaultService.
47
+
- CLI `restore` command no longer takes a positional `<tree-oid>` argument. Use `--oid <tree-oid>` or `--slug <slug>` instead.
48
+
- Purged completed milestones (M1–M7) and their task cards from ROADMAP.md, reducing it from 3,153 to 1,675 lines.
0 commit comments