Skip to content

v0.2.0

Latest

Choose a tag to compare

@clean6378-max-it clean6378-max-it released this 30 Jul 21:31
7188839

[0.2.0] - 2026-07-30

Added

  • KNOWN_TOOL_TYPES registry in utils/tool_dispatch.py; sync test keeps dispatch, file activity, Markdown export, and frontend renderers in step (#104)
  • static/tool_types.json generated 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-report and 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.sqlite plus a display-name cache so project and session lists load faster after restart (#111)
  • FTS5 search index in utils/search_index.py with background rebuild; /api/search hits the index first and falls back to live scan; default window is 30 days (all_history, since_days for wider ranges) (#120)
  • /api/search returns proper error codes for empty queries, overlong queries, bad since_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.py for rebuild/query concurrency and lock-order checks (#139)
  • Python and Vitest parity oracles in tests/test_dual_path_parity_oracle.py and static/js/render/tool_result/dual_path_parity_oracle.test.js (#140)

Changed

  • Session, stats, and export routes share api/_session_handlers.py and one SESSION_LOAD_ERRORS tuple (#125)
  • Tool result dispatch picks winners by explicit priority instead of tuple order (plan over file_write, task_message over narrower task shapes) (#127)
  • CLI bulk export prints the same ErrorCode values 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_used and service_tiers export 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