# Relicario — Project Status > Update this file at the end of every dev iteration. It is the single source of truth for what is done, in progress, and next. ## Version **Last release tagged:** v0.2.0 — v0.5.0 train (crate + extension versions bumped to 0.5.0 in `cf66bd9`, 2026-05-04) is on `main` but **untagged**. Tag when the v0.5.x polish slate clears. **Active track:** v0.5.x UX polish + Plan B refactor continuation ## What landed in the v0.5.0 train (2026-05-02 → 2026-05-04, untagged) Three release trains merged into one tag: **Security hardening (Plan A):** - Pre-receive hook actually verifies signatures now — device-auth was a no-op before (S1) - Backup-restore tar unpacking hardened against path traversal and zip-bomb (S2) - `RELICARIO_*` env-var surface audited; `RELICARIO_NO_GROUPS_CACHE` gated to debug builds (S3) **Bug fixes:** - Strength meter no longer goes stale after the regenerate button (B1) - Snake_case error codes no longer leak into the UI (B2) **Features (originally v0.3.0 + v0.4.0):** - `relicario backup export/restore` with `.relbak` format - `relicario import lastpass` (LastPass CSV importer) - Device authentication: ed25519 commit signing + Gitea deploy-key management - Fullscreen UX Phase 1: visual foundation (sidebar + pane shell, dark theme) - Fullscreen UX Phase 2A: smart inputs (password coloring, inline generator popover, custom-fields editor) ## Recent work (post-v0.5.0, landed on main) **Plan B multi-stream refactor (2026-05-09 to present):** - `prompt_or_flag` + builder compression — compressed `build_*_item` helpers (Stream A) - `Vault::after_manifest_change` wrapper, single canonical `ParamsFile` in session (Stream B) - Core/WASM seam: `base32_decode_lenient`, `parse_month_year`, `guess_mime` added to WASM exports; CLI parsers migrated to `relicario-core::parse` (Stream C) - CLI: `gen` alias for `generate`, `-l`/`-w` short flags, batched purge - `base32` module extracted from core, two duplicate RFC-4648 impls deduplicated - License switched to GPL-3.0-or-later **Vault-tab management surfaces revamp (2026-05-24 → 2026-05-30):** Spec: `docs/superpowers/specs/2026-05-23-vault-tab-management-surfaces-revamp-design.md` Plan: `docs/superpowers/plans/2026-05-24-vault-tab-management-surfaces-revamp.md` - Shared utilities first: `relative-time.ts` consolidating 5 duplicate inline copies (`9da45dd`, `a587965`), webcrypto `ssh-fingerprint.ts` (`1edfa67`), shared section-header / glyph-btn / kv-row / fingerprint CSS (`367adce`), history/revoke/restore glyph constants (`c943a06`) - Settings pane revamp — synced/local split + session timeout UI (`299e7db`) - Devices pane revamp — SHA256 fingerprint + added-by display + glyph revoke with inline two-step confirm (`047df6e`) - Trash pane revamp — per-item purge countdown via `daysUntilPurge` + glyph restore + bottom-right empty-trash (`ed6e218`) - Field-history pane visual polish — section headers + glyph reveal/copy buttons (`32e674e`) - Item-history-index pane — top-level "items with history" list (`32e1632`) - Sidebar slot wiring + `#history/` route with `#field-history/` legacy normalization (`88d7228`) ## In progress (uncommitted on main) - Vault lock screen logo — 1-line `` insertion in `extension/src/vault/vault.ts` lock-screen render (verified via `git diff`) ## Up next The vault-tab management surfaces revamp closes the trash / devices / history / settings gap that previously sat under "Up next". What's genuinely next, per `ROADMAP.md`: 1. **Phase 2B: form layout polish** — spacing, density, section headers, attachment previews Spec: `docs/superpowers/specs/2026-05-02-phase-2b-form-layout-design.md` Plan: `docs/superpowers/plans/2026-05-02-phase-2b-polish-and-form-layout.md` 2. **1C-γ: attachments + Document type** — attachment UI in popup + vault tab; Document item add/view/edit Specs: `docs/superpowers/specs/2026-04-24-relicario-extension-1c-gamma1-design.md`, `2026-04-26-relicario-extension-1c-gamma2-design.md` 3. **Phase 3: vault-tab shell** — sidebar nav + command palette stub Spec: `docs/superpowers/specs/2026-04-27-relicario-vault-tab-design.md` 4. **v0.5.0 tag** — once the v0.5.x polish slate (lock-screen logo, Phase 2B) settles, cut the tag. See `ROADMAP.md` for the longer arc.