journal 0.8.9
july 17, 2026
Added
- your journal can now keep older media in your backup instead of on disk. it's off until you turn it on: you set a media budget and a free-space floor, and when the original screen and audio files pass them, the oldest fully-processed media your backup has confirmed moves out, oldest first, with the local copy removed only after that confirmation. transcripts and everything else your journal holds stay where they are, and any offloaded day restores on demand. once media has moved, your backup holds the only copy of it: turning offload on walks through your recovery key first, offloaded media is pinned so your backup's normal rotation can't age it out, and a weekly read-back check samples the backup itself. if a backup lapses or a check fails, offload halts with nothing deleted and says so on the backup page, and turning your backup off now tells you what it holds the only copy of and offers to restore everything first.
- timeline, search, speakers, and reflections now show your days as a calendar grid. timeline reaches back through your whole journal instead of stopping twelve months ago, search lets you drag a date range right on the grid, speakers shows which days still need names, and reflections shows which weeks have one.
Changed
- analysis that stops partway now picks itself back up. your journal sizes its analysis work to what your model can actually serve, treats a busy endpoint as busy rather than unreachable, and re-runs a failed day on the next daily pass, paying only for the frames that failed and keeping the ones that already worked. before, the densest screen days could sit unanalyzed indefinitely, and a day that failed stayed failed until you re-ran it by hand. after three tries your journal stops and the day completes with the gap named in its health summary rather than holding the day open.
Fixed
- a segment whose analysis had failed could still be marked finished, and the check that removes raw media once it's processed trusted that mark. the mark is now written after every stage completes, and any unresolved error holds the raw media in place. your journal keeps raw media unless you've asked for it to be removed after processing, so that setting is who this reached. it's the same mark offload reads before any media moves.
- changing your retention settings from the backup page now saves. if you tried and got an error, this resolves it.
- naming yourself as a speaker now works on a fresh journal. before your voice had been identified, tagging a sentence as you failed on every sentence, which left no way to seed it. when detection can't find your voice, the speakers page and the
solcommand now name the next step rather than stopping. journal doctornow detects when the macOS app and the legacy background service both target one journal, and points to the single service removal step before other repair actions.