You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+27-1Lines changed: 27 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,31 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
7
7
## [Unreleased]
8
8
9
+
## [0.2.0] - 2026-07-30
10
+
11
+
### Added
12
+
13
+
-`KNOWN_TOOL_TYPES` registry in `utils/tool_dispatch.py`; sync test keeps dispatch, file activity, Markdown export, and frontend renderers in step (#104)
14
+
-`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)
15
+
-`GET /api/schema-report` and an amber banner on the session list when upstream JSONL fields appear or go missing (#108)
16
+
- 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)
17
+
- 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)
18
+
-`/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)
19
+
- Lock order and threading model for the search index in `docs/architecture.md` (#138)
20
+
-`tests/test_search_index_concurrency.py` for rebuild/query concurrency and lock-order checks (#139)
21
+
- 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)
22
+
23
+
### Changed
24
+
25
+
- Session, stats, and export routes share `api/_session_handlers.py` and one `SESSION_LOAD_ERRORS` tuple (#125)
26
+
- Tool result dispatch picks winners by explicit priority instead of tuple order (`plan` over `file_write`, `task_message` over narrower task shapes) (#127)
27
+
- CLI bulk export prints the same `ErrorCode` values and messages as the HTTP API (#134)
28
+
29
+
### Fixed
30
+
31
+
- 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)
32
+
-`SEARCH_INDEX_UNAVAILABLE` (503) when the FTS index is locked and live scan also fails (#122)
33
+
9
34
## [0.1.0] - 2026-06-18
10
35
11
36
### Added
@@ -29,5 +54,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
29
54
30
55
-`export_count` on `GET /api/export/state` — use `last_export_session_count` (deprecated in PR #60; removed before `v0.1.0` per [deprecation policy](docs/deprecation-policy.md) bundled SPA path; SPA updated in same release cut)
0 commit comments