Repository navigation
Releases: sevmorris/KeyVault
Releases · sevmorris/KeyVault
Release list
KeyVault v1.12.0
Before you update
- No downgrading. Older builds can't read secrets once they're re-saved in the new encryption format. Each secret is now bound to its own Keychain item, so ciphertext copied from one item onto another no longer opens there. Export a backup before updating.
Added
- Change Passphrase. Settings ▸ Change Passphrase… re-encrypts every note, API key and file under a new master passphrase. If it is interrupted, the next launch finishes it or rolls it back.
- Locking on sleep, screen lock and user switch. The vault now locks at once in each case, whatever the idle setting. On a Mac without Touch ID, the idle lock also forgets the key, the way Lock Vault Now does, because nothing could use a kept key to reopen the vault.
- Search, with ⌘F. A search field in the toolbar filters the list by name, service, category and notes. Secrets are never searched.
- Backup shows when this Mac last exported, in orange once that was more than 30 days ago.
Changed
- Backup passphrases now need at least 12 characters. Restore still accepts whatever passphrase an older archive was made with.
- Notes and files appear before the key lists finish loading. A gpg or ssh-keygen that hangs is stopped after a time limit, so "Loading keys…" can no longer stay up forever.
- Backup says up front when GnuPG isn't installed, and now also finds the gpg that GPG Suite installs.
Fixed
- A login keychain KeyVault can't read no longer looks like a vault with no passphrase. Before, KeyVault then listed every stored file as unreadable, offered to set up a new master passphrase, which would have made every secret and file unreadable, and could save new notes unencrypted. Now it says the keychain can't be read and offers to try again once it is unlocked.
- Secrets stored without a master passphrase keep the Keychain's permission prompt. Every save used to open the item to any app on the Mac, so until a passphrase was set, any app could read notes and API keys without asking. Notes saved by earlier versions stay readable that way until they are encrypted under a master passphrase.
- SSH key passphrases no longer appear in the process list. ssh-keygen now gets the passphrase through a helper instead of on its command line, and if a key still comes out unprotected, it is deleted rather than kept.
- Cancel in Settings discards your changes. Before, edits took effect as you made them, and Cancel only skipped saving them to disk.
- Smaller fixes.
- A wrong archive passphrase is recognised even when gpg is translated.
- Locking clears a secret you had just copied, if it is still on the clipboard.
- A colon in a GPG name now shows as a colon.
- A passphrase with accented characters opens the vault however it was typed.
Requires macOS 15.0 or later.
KeyVault v1.11.1
Fixed
- The vault key can no longer be read while another thread replaces it. The session and suspended keys were plain statics, touched from several threads at once: a passphrase derived on a detached task, an export reading the key on its own actor, and the main thread locking, suspending and resuming. A lock or an idle suspend landing during an export, or Touch ID racing a passphrase unlock, could read the key as another thread released it — rare, and a crash when it happened. Both keys now sit behind one lock, held for the read or the swap and never across a derivation or an encryption, so a large file never holds up locking the vault.
- A downloaded copy is properly notarized on its own. Only the disk image carried the notarization ticket, so the app lost it the moment it was dragged to Applications, and Gatekeeper had to ask Apple instead — which needs a working network on first launch. The app now carries its own ticket. The image itself is also signed now; unsigned, it read as having no usable signature to Gatekeeper even with a valid ticket stapled to it.
Changed
- The toolbar is three groups on macOS 26. macOS 26 draws a run of buttons as a single capsule, so all eight read as one strip with nothing to say where adding a secret ends and backing up the vault begins. They are now grouped the way the sidebar is: the secrets KeyVault stores, the keys it indexes, and the vault as a whole. Earlier versions of macOS draw no capsule, and see the toolbar exactly as before. The order is unchanged.
- The idle timer no longer insists on waking the Mac at its own moment. It ticked every 15 seconds with no tolerance; it now allows a few seconds' slack, which a lock measured in minutes cannot tell from being on time.
- Built in the Swift 6 language mode, where data-race safety is a compile error rather than a hope — the race fixed above is the kind it refuses to build.
KeyVault v1.11.0
Added
- Control-click a note to file it. The list's context menu has a Category submenu: every category in use, with the note's own checked, then None, and New Category… for a name that does not exist yet. It takes effect straight away. Organise Notes is still the way to file many notes at once.
Changed
- Saving in Organise Notes no longer blanks the list while it reloads. It now refreshes only the stored items it changed, instead of rescanning every SSH, GPG and Age key behind a spinner.
KeyVault v1.10.0
Added
- Categories can be renamed and removed. Organise Notes (⇧⌘O) now lists every category under the notes, each with how many notes are filed under it. Its menu renames it on all of them at once — so a misspelling is fixed in one step, and renaming onto a name already in use merges the two — or removes it, leaving those notes uncategorised. As with everything else in Organise Notes, nothing is written until Save.
Fixed
- A misspelt category no longer lingers in the pickers after every note has left it. The pickers listed what was stored rather than what was in front of you, so a category stayed on offer until Save.
- A note that fails to file is now reported. Saving in Organise Notes reported a failure and then cleared the report while reloading the list, so the sheet closed as if everything had worked and that note quietly kept its old category.
KeyVault v1.9.2
Fixed
- Selecting a stored file, or a key with long details, no longer pushes the window's contents up and out of it. The rows describing the selection were held at the height they would need in a window almost no width wide, where every value wraps a character to a line. A file's name, kind, size, date and notes, or an SSH key's fingerprint and path, could then ask for more height than the screen had. They now take their full height whenever there is room, and give way when there is not.
- SSH keys and API keys have their icons back. Both named SF Symbols that do not exist, so their rows had drawn no icon since the first release.