Encrypted notes, 100% local. No account, no server, no cloud.
This release focuses on vault format resilience, safer backups, and quality-of-life improvements around security settings and clipboard handling.
🔒 Vault format & migrations
- New schema-migration gate: vault format upgrades now require explicit user confirmation before proceeding, with the option to create a backup first
- Backward-compatible migration path — existing vaults open safely without forcing an upgrade
- Clearer in-app copy explaining what a vault format update does and why
🗄️ Backups
- Vault backups now live in a managed, dedicated folder instead of alongside the vault file
- Retention cap to avoid unbounded backup growth
- One-click "Open backups folder" button, replacing the old vault-format upgrade stub
- Fixed a race condition where the backup timestamp could reset prematurely during a pending migration
🧩 Settings
- Security settings reorganized by domain (recovery, auto-lock, key file, screen capture) instead of scroll order
- Key file setup extracted into its own dedicated dialog
📋 Clipboard
- Configurable auto-clear duration for copied note content, cleared automatically from the system clipboard after the selected interval
🛠️ Under the hood
- New reusable PasswordInput component with visibility toggle, used across password
- Dev builds now isolated from production (separate userData and window identity), with a visible "Dev" badge
- CI: pull request validation workflow
What's Changed
- chore: add github action to validate pull requests by @GFrancV in #1
- feat: isolate dev builds from production by @GFrancV in #2
- feat: wire up vault format update confirmation dialog by @GFrancV in #3
- feat: add SQL schema version guard with migration confirmation parity by @GFrancV in #4
- feat: relocate vault backups to a managed folder with retention cap by @GFrancV in #5
- refactor: reorganize security settings by domain by @GFrancV in #7
- refactor: extract key file wizard into its own dialog by @GFrancV in #8
- feat: clear clipboard automatically after copying from the note editor by @GFrancV in #9
- fix: add reusable PasswordInput component for consistent password fields by @GFrancV in #10
- fix: fetch full git history in react-doctor workflow by @GFrancV in #11
Full Changelog: v0.1.0...v0.2.0