1.3.0 — TOTP 2FA codes, password health checkup, and keyboard shortcuts
Added
Generate TOTP 2FA codes from stored authenticator secrets. (ROLO-0006)
Store an otpauth:// URI or a 2FA-labelled base32 setup key and Rolodex renders the rotating RFC 6238 code inline with a countdown ring and one-click copy. Pure-stdlib TOTP — no new dependency.
Password health checkup: flag weak and reused secrets (ROLO-0008)
A new "Password health..." menu item opens a read-only report that scores every stored secret on length and character-class variety (Weak/Fair/Good/Strong) and flags any secret reused across entries, worst first. All analysis runs in-process over the decrypted vault — nothing leaves the app.
GitHub Actions CI: ruff lint + pytest on every push/PR (ROLO-0020)
New .github/workflows/ci.yml runs ruff and the pytest suite on push and PR to main, installing the system GTK stack from apt so import rolodex resolves. Pinned actions/checkout@v7.
Keyboard shortcuts for common actions (ROLO-0007)
Ctrl+F focuses search, Ctrl+N adds an entry, Ctrl+Shift+C copies
the selected entry's password/secret (plain Ctrl+C still copies
selected text), Ctrl+L locks the vault, Escape clears the search
box, and Ctrl+? opens a keyboard-shortcuts reference.
Unsaved-changes guard (ROLO-0022) — closing the add/edit dialog with edits in flight now confirms before discarding them.
Duplicate-name warning (ROLO-0023) — saving an entry whose name matches another (case-insensitive) now asks for confirmation first.
Show/hide (eye) toggle on sensitive fields in the add/edit editor (ROLO-0021) — peek at a masked value while editing, view-only so it never changes whether the field is stored as a secret.
Changed
Extract shared helpers: single 0600 file-write, container-clear, dialog scaffold (ROLO-0019)
Internal refactor, no behaviour change. The owner-only (0600) write now lives in one write_private_file() used by both the vault save and the plaintext export; a clear_container() replaces three hand-rolled "remove all rows" loops; and make_dialog_scaffold() collapses the ToolbarView+HeaderBar+Clamp boilerplate repeated across all six dialogs. Net 53 fewer lines.
Debounced sidebar search (ROLO-0018) — the list rebuilds once typing pauses (~150ms) instead of on every keystroke.
v1.2.0
Added
Prebuilt Windows binary (rolodex-windows-x86_64.exe) is now available (ROLO-0031) — the GTK-bundling issue that withheld it from v1.1.0 is resolved, so all three platforms now ship self-contained single-file binaries.
Built-in password generator (ROLO-0004) — a button on sensitive fields in the add/edit editor opens a popover to generate a strong random password, with length and character-class options.
Uses Python's secrets module and guarantees at least one character from each selected class.
Changed
New application icon — a glossy Rolodex card-file design (rolodex.png), replacing the flat rolodex.svg.
Corners are transparent (rounded-square silhouette), so the icon renders
cleanly on any desktop background. rolodex.desktop, the README, and the
file-naming doc now reference the PNG.
Security
Automatic clipboard clearing (ROLO-0003) — a copied secret is wiped from the clipboard a few seconds later, but only if you haven't copied something else in the meantime.
Delay is configurable via clipboard_clear_seconds in .rolodex.conf (default 20s; 0 disables).
Automatic vault lock on idle (ROLO-0002) — after a period of inactivity the vault re-locks, wiping the decrypted data and master password from memory. Adds a Lock button (Ctrl+L) for locking on demand.
Idle timeout is configurable via idle_lock_seconds in .rolodex.conf (default 300s; 0 disables).
v1.1.0
Rolodex v1.1.0
First public release of Rolodex — a minimal, encrypted credential manager for the Linux desktop (GTK4/libadwaita).
Downloads (self-contained — nothing else to install)
Linux (x86-64):rolodex-linux-x86_64 — chmod +x rolodex-linux-x86_64 && ./rolodex-linux-x86_64. Built on Ubuntu 24.04 (needs a reasonably recent glibc).
macOS (Apple Silicon):rolodex-macos-arm64 — unsigned, so the first time right-click → Open to get past Gatekeeper, then confirm.
Each binary bundles Python, GTK4/libadwaita, and all dependencies, and passes a self-test on its own OS in CI before publishing. Your vault is stored in a per-user data directory (~/.local/share/Rolodex, ~/Library/Application Support/Rolodex).
Windows
A Windows build isn't ready yet — the GTK bundle builds but doesn't load at runtime. Tracked as ROLO-0031. Run from source in the meantime (see the README).
Highlights since the pre-open-source baseline
Full open-source docs (README, SECURITY, CONTRIBUTING, DESIGN, feature specs, standards).
Bug fixes: file-descriptor double-close on write errors, a sensitive-field cleartext leak in the editor, and count-label pluralisation.
Seed test suite.
See CHANGELOG.md for the full list.
1.0.0
Initial versioned release of the app as it existed before open-sourcing. (This version
predates the public repository, so no v1.0.0 git tag exists yet; the date reflects when the
app reached this state, not a tagged release.)