Skip to content

Releases: milnet01/rolodex

1.3.0 — TOTP 2FA codes, password health checkup, and keyboard shortcuts

Choose a tag to compare

@milnet01 milnet01 released this 17 Jul 10:48

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

Choose a tag to compare

@github-actions github-actions released this 16 Jul 18:46
Rolodex v1.2.0

Rolodex v1.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 14:32

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_64chmod +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.