-
v0.3.0 Stable
released this
2026-08-07 21:07:03 +00:00 | 0 commits to main since this releaseMulti-profile vaults and a rebuilt search ranker.
Upgrading from v0.2.3 needs no action — your vault migrates itself on first run and your master password is unchanged.
Profiles
Kosh had exactly one vault. It now supports separate encrypted vaults, each with its own master password and credentials. Unlocking one grants no access to any other.
kosh profile create work # create a profile and set its master password kosh use personal # switch profiles (no args = interactive picker) kosh profile list # see them all, and which one is active kosh profile delete old # delete a profile and everything in it kosh copy <id> work # copy a credential into another profileOutput is prefixed with the active profile:
(work) [✓] credential saved successfullyOn first run
~/.kosh/kosh.dbmoves to~/.kosh/profiles/default.db. Nothing is re-encrypted — it's a rename, not a rewrite.Search
- Frequently-used credentials no longer outrank closer matches. Scores were additive, letting usage stats compete with match quality on the same scale. Behaviour is now a multiplier:
(label + user) × (1 + recency + frequency). - Prefix matches can no longer beat exact ones. Boosts are asymptotic — each closes a fraction of the gap to the ceiling instead of adding a constant, so
exact > prefix > substring > subsequence > fuzzyholds structurally. - Typos cost less. Damerau-Levenshtein counts a transposition as one edit, so
kosh cratfindscart. - Abbreviations work.
kosh gpatfindsgit_personal_access_token. - Empty or whitespace-only queries now match nothing instead of everything.
Added
KOSH_DEBUG=1for debug output — no rebuild needed, thelogger.BuildModeldflag is gone.- Real auto-sized tables in
kosh listandkosh profile list. - Relative timestamps —
02d 04h ago,just now,never. - Confirmation prompts before anything that destroys an unrecoverable secret.
- Full
--helpfor every command, with examples.
Fixed
Ctrl+Cat a password prompt no longer leaves your terminal with echo disabled.Ctrl+Cduringkosh profile createno longer leaves a half-created profile behind.- Secure delete wrote nothing — the file was opened read-only, so every overwrite silently went nowhere.
- Runtime errors (e.g. a wrong master password) print one line instead of the full flag documentation.
similarityScorereturnedNaNfor two empty strings.kosh generate --lowerwas documented as "include uppercase letters".
Security
- Every profile has its own Curve25519 keypair, Argon2id salt, and master password.
- Master-password and secret confirmations use constant-time comparison.
- Decrypted secrets are handled as
[]byteend to end, never copied into immutable strings. - Debug logs redact secrets, nonces and ephemeral keys.
- Profile deletion refuses any name that isn't a plain entry of the profiles directory.
- Deleted vaults are overwritten before unlinking. This is defence in depth, not a guarantee — on SSDs, wear levelling puts the original bytes out of reach from userspace. What protects a deleted vault is that its contents were encrypted at rest.
Other
- One clipboard path on every platform (
golang.design/x/clipboard); the Waylandwl-copyspecial case is gone.getandsearchnow copy before updating access stats, so failed bookkeeping can't cost you the secret. - Commands build through a shared application context instead of package globals; vault and profile layers sit behind interfaces. Test suite went from one file to six.
- Dependencies refreshed:
x/crypto0.54.0,x/term0.45.0,x/text0.40.0,modernc.org/sqlite1.54.0,cobra1.10.2. Still a single static binary, still no CGO. docs/architecture.mddocuments the cryptographic design. Kosh is now MIT licensed.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Frequently-used credentials no longer outrank closer matches. Scores were additive, letting usage stats compete with match quality on the same scale. Behaviour is now a multiplier:
-
v0.2.3 Stable
released this
2026-06-20 05:05:14 +00:00 | 13 commits to main since this releaseChangelog
382c23ad22ADD: app version and release config changes to include ldflagsa677eb9793CHANGE: app version for go install4d417e3ed9ENHANCE: Improved code quality, security and performance (#11)813f18d20dADD: Interactive Search onsearchwith no args. (#14)
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
-
v0.2.0 Stable
released this
2026-03-27 10:43:00 +00:00 | 17 commits to main since this releaseWhats New
- Revamped CLI to use Cobra CLI Framework offering following benefits
- Consistent command interface.
- Better and consistent
helpcommand and flag - Auto completion script using the
completioncommand - New shorthand flags for various command, explore using
--helpor-hflag.
Changelog
73f36be730CHANGE: Switched to using Cobra CLI framework971b51d00bCHANGE: define errors as Error interface583681f9b2CHANGE: inject store as Store interface (repository pattern)845f5bf071CHANGE: project folder structure to match industry standarde26f058ec2CHANGE: transfer logic to service5256d9a5c0FIX: generating vault private correctly now
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
- Revamped CLI to use Cobra CLI Framework offering following benefits
-
v0.1.5 Stable
released this
2026-03-04 16:07:56 +00:00 | 23 commits to main since this releaseChangelog
5ceea7b482CHANGE: changed default build mode to productionfb83534ad6FIX: make the user prompts consistent for update command
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
4 downloads
-
v0.1.4-stable Stable
released this
2026-03-04 08:18:33 +00:00 | 25 commits to main since this releaseChangelog
539dcc0cf6ci: remove workflow - not working with forgejo2a673a3c47deploy: go releaser configured
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
-
v0.1.4 Stable
released this
2026-03-03 19:26:55 +00:00 | 31 commits to main since this releaseRelease v0.1.4
What's New!
- Added:
updatecommand to allows users to update specific field (label, user, or secret) of an existing credential. - Added:
--no-saveflag in thegeneratecommand that copies a generated credential without saving it to the vault.
Changes
- Moved TUI prompts, messages and errors to constants for a consistent user experience (UX).
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
4 downloads
- Added:
-
v0.1.3 Stable
released this
2026-01-03 16:04:48 +00:00 | 41 commits to main since this releaseBug Fixes
Password not being copied to clipboard on Wayland systems not havinglibx11[#3]Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
3 downloads
-
Source code (ZIP)
-
Initial Release Stable
released this
2025-12-15 18:21:29 +00:00 | 43 commits to main since this releaseDownloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
-
Source code (ZIP)