Changelog
What shipped, in plain words.
Every released version, newest first — written for the person using Turnlog, not for the commit log. The same notes ship inside the app under What’s New. Nothing here is a plan; for that, see the roadmap.
0.6.0
26 July 2026Resumed conversations stop looking like duplicates, sessions can leave as a styled web page, and the index tells you what it could not read.
-
Added
Resume chains are stitched together. Resuming a session used to show up as a near-duplicate row. Parts of one conversation are now linked: the sidebar lists the latest part with a badge for the part count, and the replay header gains part-by-part navigation.
-
Added
Subagent transcripts nested in replay. Task runs that newer Claude Code versions write to their own files now appear inside the parent replay, folded under the Task call that spawned them, and load when you expand them.
-
Added
Static HTML export. Any session can leave as one self-contained styled web page — light or dark, prompts and replies as cards, tool calls collapsible, diffs coloured. Nothing in the file loads from the network. Available as a download button,
turnlog export <id> --html, or over the API. -
Added
Redaction for exports. Pass
--redactto scrub API-key-shaped tokens, JWTs,key=valuesecrets, email addresses, and home-directory paths from an export before you share it — on both the markdown and HTML formats. -
Added
Index health panel on the home screen: how many session files and events are indexed, how big the index is on disk, any files the last scan could not read and why, and a count of unrecognized record types. A Claude Code format change now shows up as a number instead of as silent data loss.
-
Improved
Your preferences survive restarts. Theme, sidebar visibility, hide-empty, spine-or-log choice, and dismissed update notices now live in the local index instead of the browser — the random per-launch port used to hand the browser a fresh slate every run.
-
Improved
After an update, the header status dot wears a ring until you open What’s New once.
0.5.0
24 July 2026Your history becomes something your agent can query, and something you can search from the terminal.
-
Added
Agent memory over MCP.
turnlog mcpserves your session history to Claude Code — or any MCP client — as read-only memory over stdio, with five tools: search, list sessions, get session, get messages, and file history. Register it withclaude mcp add turnlog -- npx turnlog mcp. No network, no writes. -
Added
Message bookmarks. Mark any moment in a replay from the left gutter and cycle between your marks on a jump rail beside the error rail. Bookmarks live in the local index and survive rebuilds.
-
Added
turnlog searchfrom the terminal. The same operators as the UI, hits grouped by session with matches highlighted,--limitand--jsonflags — and, when the app is running, a deep link per session that opens the UI at the first match. -
Added
Disk usage view. A third tab under Spend ranks sessions by what they weigh on disk, with a reveal-in-file-manager button per row. Turnlog stays read-only — deleting is yours to do.
-
Fixed
The Spend header scrolled away with the content; it now stays pinned while the body scrolls.
0.4.0
24 July 2026Search grows a query language, and one file's whole history becomes a screen.
-
Added
Search operators. Narrow any query with
tool:Bash,kind:prompt,is:error,project:name,model:opus,before:2026-07,after:2026-01— combinable with text or usable alone. A cheat-line under the search box lists them. -
Added
Saved searches. Save the query you keep re-running under a name; saved searches show as chips under the search box, one click re-runs them.
-
Added
Cross-session file history. A Files screen: pick a path and see every session that ever touched it, newest first, expanding into that session's edits with jumps back into context.
-
Added
What’s New in the app. Release notes in plain language, opened from the status dot. The notes ship inside the package — nothing is fetched.
-
Improved
The diffs lens now opens as a per-file pivot — touched files with edit and failure counts on the left, that file's edits in order on the right — instead of a chronological filtered log.
0.3.1
23 July 2026-
Added
Stop Turnlog from the browser. A power button in the header (click twice — it arms first) shuts the CLI down cleanly and leaves a farewell card with a copyable
npx turnlogto start again. -
Added
Spend periods for one year and all time, alongside 7, 30, and 90 days. The chart now starts at your first recorded day instead of zero-filling empty history.
-
Improved
Session notes surface as a small tilted sticky-note marker; hovering it opens the note as a folded-corner paper block. Pinned sessions get a warm row wash so the pinned block reads at a glance.
-
Fixed
The note editor fell back to the browser's monospace default; both annotation fields now use the app font.
0.3.0
22 July 2026Sessions become annotatable — the local server's first and only two write endpoints.
-
Added
Pin sessions. A pin on any sidebar row or in the replay header keeps chosen sessions on top, whatever the sort, and they are never hidden by the hide-empty filter.
-
Added
Custom names and notes. A custom name replaces the session title everywhere; the note shows under the replay header. Pins, names, and notes live in the local index and survive reindexes.
-
Added
Show in file manager — reveal a session's JSONL file in Finder, Explorer, or your file manager.
-
Improved
The replay header became one compact block, the sidebar got a little wider and its controls room to breathe, and one gutter rhythm now runs across every screen.
-
Fixed
The hide-empty filter now catches real-world empties — sessions that read zero on either axis, not only the both-zero case. Sessions with recorded cost are never hidden.
0.2.7
22 July 2026-
Added
Empty sessions can be hidden — an eye toggle beside the sort direction, remembered across launches and applied everywhere sessions are listed.
-
Improved
A consistency pass across the UI: one emphasis weight, unified label tracking, and stray gaps and radii snapped to the spacing scale.
0.2.6
22 July 2026-
Improved
The sidebar sort menu lists “by activity” first, matching the default order.
0.2.5
21 July 2026-
Improved
Republished to npm. The package was fully unpublished from the registry on 20 July; npm permanently retires every version number it has seen, so coming back required a new one. Functionally identical to 0.2.4.
0.2.4
11 July 2026-
Improved
New typeface across the app — Geist and Geist Mono, still bundled, so nothing loads from the network — matching turnlog.dev. The smallest text sizes went up about a point.
-
Improved
The browser-tab icon now matches the turnlog.dev mark.
0.2.3
10 July 2026-
Improved
The session sidebar became a floating card that slides open and closed, and it now defaults to sorting by activity — the most recently active session first.
-
Improved
Text arrows gave way to proper icons everywhere, buttons ease on hover and press down on click, and the icon set is now entirely Solar.
0.2.2
10 July 2026-
Added
Sort by activity, and a pulsing dot on sessions active in the last five minutes — with live updates, the running session is one glance away.
-
Fixed
Tooltips near the right edge of the window no longer squeeze to the trigger's width and wrap word by word.
0.2.1
9 July 2026-
Added
Live updates, pushed. A dependency-free event stream tells the UI the moment a changed session file is reindexed — list, spine, stats, and spend refresh in about a second. The old seven-second blind poll is gone.
-
Added
Token usage surfaced where money already was: on session rows, in the spend headline, and as a sort option. The spend chart gained a daily-or-weekly toggle.
-
Fixed
Spend chart zero-fill used UTC days while the server bucketed by local ones, misplacing bars for anyone outside UTC. Now local and DST-safe.
0.2.0
9 July 2026The release that made the cost numbers trustworthy.
-
Fixed
Cost and token estimates were roughly 2.5–3× too high. Claude Code writes one line per content block of a response and repeats the same usage object on every one of them — Turnlog summed them all. Usage is now counted once per API response, and existing indexes rebuild themselves on the next launch.
-
Fixed
Sessions no longer show Claude Code's internal placeholder as their model, and moving or copying a project directory mid-session no longer corrupts incremental indexing.
-
Added
Subagent transcripts are indexed: their content is searchable and their usage counts toward the parent session's totals.
-
Improved
Injected-context records are classified as meta rather than prompts, so they no longer create false turns in the spine or leak into exports.
0.1.0
8 July 2026Initial public release.
-
Added
npx turnlogstarts a localhost-only server and opens the web UI: full-text search and session replay over your Claude Code history, with a turn spine, lenses, and in-session find. -
Added
Incremental indexing with live file watching, and crash-free parsing of an undocumented log format — unrecognized records are kept, never dropped.
-
Added
Markdown export, and a spend view with daily rollups and model and project splits, priced from a shipped table. All costs are labeled estimates.
-
Added
Localhost hardening from day one: loopback-only bind, Host and Origin validation, a per-launch session token, and no CORS.