[0.2.0] - 2026-07-30
Added
KNOWN_TOOL_TYPESregistry inutils/tool_dispatch.py; sync test keeps dispatch, file activity, Markdown export, and frontend renderers in step (#104)static/tool_types.jsongenerated from the registry and loaded at SPA boot; warns in the console when renderers drift; unknown tools show their type name and JSON payload (#105)GET /api/schema-reportand an amber banner on the session list when upstream JSONL fields appear or go missing (#108)- Disk summary cache at
~/.claude-code-chat-browser/session_summary_cache.sqliteplus a display-name cache so project and session lists load faster after restart (#111) - FTS5 search index in
utils/search_index.pywith background rebuild;/api/searchhits the index first and falls back to live scan; default window is 30 days (all_history,since_daysfor wider ranges) (#120) /api/searchreturns proper error codes for empty queries, overlong queries, badsince_days, and locked indexes; search page gets an all-history checkbox, a 50-result cap warning, snippet highlighting, and separate empty vs error UI (#121)- Lock order and threading model for the search index in
docs/architecture.md(#138) tests/test_search_index_concurrency.pyfor rebuild/query concurrency and lock-order checks (#139)- Python and Vitest parity oracles in
tests/test_dual_path_parity_oracle.pyandstatic/js/render/tool_result/dual_path_parity_oracle.test.js(#140)
Changed
- Session, stats, and export routes share
api/_session_handlers.pyand oneSESSION_LOAD_ERRORStuple (#125) - Tool result dispatch picks winners by explicit priority instead of tuple order (
planoverfile_write,task_messageover narrower task shapes) (#127) - CLI bulk export prints the same
ErrorCodevalues and messages as the HTTP API (#134)
Fixed
- YAML frontmatter in Markdown export now quotes values that contain colons,
#, tabs, newlines, or boolean literals;models_usedandservice_tiersexport as sequences (#107) SEARCH_INDEX_UNAVAILABLE(503) when the FTS index is locked and live scan also fails (#122)
Full changelog: https://github.com/cppalliance/claude-code-chat-browser/blob/v0.2.0/CHANGELOG.md