diff --git a/CHANGELOG.md b/CHANGELOG.md index ff38f8b..afa1bf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## Unreleased + +### Added + +- **Sync now button** in the extension settings view — surfaces the + previously hidden `{ type: 'sync' }` SW message to users with success / + error feedback. +- **Device registration from the popup.** The "Register this device" + button on the devices view now opens an inline name input and (on + confirm) generates a keypair via WASM, persists the private key + name + locally, and writes the device to the remote — no setup-wizard detour. + Backed by a new `register_this_device` SW message. +- **`relicario settings generator-defaults`** — view-and-edit access to the + generator defaults stored in `VaultSettings`. Flags: `--random` / + `--bip39` to switch mode, `--length`, `--words`, `--symbols`, + `--separator` to update fields of the active mode. +- **`relicario edit` now supports TOTP items.** Issuer, label, and secret + rotation work; rotated secrets are pushed to `field_history` (key: + `core:totp_secret`). +- **`relicario history `** — view captured field history. Values + are masked by default; `--show` reveals them; `--field ` filters + to one synthetic key (e.g. `login_password`, `totp_secret`). +- **`relicario detach `** — remove an individual attachment + from an item. Refuses to drop a Document item's primary attachment + (use `purge` instead). +- **`relicario status`** — vault summary: root path, item count + (active / trashed), attachment count + total bytes, registered device + count, last commit (`%h %s`). + +### Internal + +- Refactored `cmd_add` and `cmd_edit` in the CLI: each `ItemCore` variant + now has its own `build_*_item` / `edit_*` helper. Pure mechanical + extraction; behavior unchanged. The dispatcher matches and delegates. +- Extracted pure helpers (`escapeHtml`, `ratePassphrase`, `scheduleRate`, + `entropyText`, `STRENGTH_LABELS`) from `extension/src/setup/setup.ts` + into `setup-helpers.ts`. State-coupled `updateStrengthUi` stays in + `setup.ts` since it walks live wizard state. Setup.ts went from + 1205 → 1137 lines. + +### Changed + +- `relicario generate` now consults `VaultSettings.generator_defaults` when + invoked inside an initialized vault. Explicit flags (`--length`, + `--bip39`, `--words`, `--symbols`, `--separator`) override the vault + default. Outside a vault, behavior is unchanged (length 20, safe symbol + set, 5 BIP39 words, space separator). + ## v0.2.0 — 2026-04-27 ### Fixed