Lockbook v2.0.0 - "New Horizons"
The biggest release yet - a brand-new encrypted container format, in-process encryption, and first-class attachments.
Lockbook v2 rebuilds how journals are stored on disk. Your diary is now a single .lbook container that opens instantly, decrypts attachments only when you need them, and never depends on an external tool. Existing v1.x journals keep working and are migrated automatically.
✨ Highlights
- New
.lbookcontainer format (LBOOK2) — one Argon2id key derivation unlocks a small, compressed index; the text of your journal appears instantly, even with lots of images. - Lazy attachment decryption — images and files are decrypted individually, on demand, instead of loading everything into memory on open.
- TimENC is now bundled in-process — no external CLI, no
PATHsetup. The encryption engine is compiled directly into Lockbook. - zstd-compressed index — smaller files, faster loads.
📎 Attachments & Editor
- Inline images & file attachments — paste, drag-and-drop, or attach any file. Images embed directly in entries.
- Open & edit attachments externally — open an attachment in its native app (e.g. a score in MuseScore); your edits are synced back into the journal automatically when you return to Lockbook.
- Rich text editor with formatting toolbar, links and quotes.
- Journal or General-notes mode, tags, mood tracking, and an emoji picker (~370 searchable emojis).
- Markdown export, including attachments.
🔒 Security & Reliability
- ChaCha20-Poly1305 AEAD + Argon2id (256 MiB, time cost 3) — every section is authenticated and bound to its position in the file.
- Plaintext never touches disk — the container is built and encrypted entirely in memory.
- Crash-safe saves — every save is round-trip-verified before it replaces your file, with a rolling
.bakbackup. A bug can at worst refuse to save, never corrupt your data. - Auto-lock after configurable inactivity, with auto-save before locking.
- Change password / keyfiles without losing attachments.
🔄 Migrating from v1.x
Just open your existing journal as usual — it's read as-is and transparently rewritten as an .lbook container the next time you save. Keep a backup of important journals before upgrading, as always.
🐛 Fixes
- Fixed v1.x journals that could be opened but not saved in sandboxed/portal locations — saves are now verified in memory and no longer depend on re-opening the staged file by path.
- External attachment edits are now reflected live (on window focus) and no longer lost on close.
- Native dropdowns (auto-lock, mood) now render in dark mode instead of white.
- Added a "Saving…" indicator and an explicit warning when an externally-edited attachment exceeds the 25 MB limit
Full architecture & security details: see the README.