Repository navigation
A sturdier, faster archive, and a database of it for SQL and AI tools.
_archive.sqlite: every archived item in one read-only SQLite database in the archive folder, with full-text search (items_fts) and the run log, forsqlite3, Datasette, DuckDB or an AI tool. It's rewritten at most once a day by archive runs, and right away bylifelog rebuild.- Faster runs: the index cache is now a local SQLite database, and a run reads only the ledger lines added since the last one. Loading the index of a large archive went from over a minute to a few seconds.
- Versioned ledger: ledger and run log lines carry a format version. If another Mac on a newer Lifelog writes lines this version doesn't understand, they're never treated as damage: that source pauses and pages aren't rewritten until you update, then everything catches up on the next run.
- Facebook entries: posts, comments and other Facebook export items are stored as generic entries instead of chat messages. Existing items convert once on the next Facebook import, without being marked edited; their pages stay the same.
- Claude Code cleanup: runs no longer report hundreds of duplicate-line warnings, and
lifelog deduperetires messages that were archived twice.
The first run after updating reads the whole ledger once to build the new cache.
Install
Download Lifelog-0.4.0.zip, unzip it and move Lifelog.app to /Applications, replacing the old version. The app is signed with a Developer ID and notarized by Apple, so it opens with a double-click. Permissions you granted to earlier versions carry over.
Requires macOS 14 or newer.
SHA-256 3475390d3f50b84529148ea22704fdb9511246c2e9bcf8d28e8234b3e1b7ed3d