Skip to content

v2.0.0

Latest

Choose a tag to compare

@SnowTimSwiss SnowTimSwiss released this 04 Jul 12:32
· 1 commit to main since this release

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 .lbook container 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 PATH setup. 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 .bak backup. 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.