All notable changes to cass (coding-agent-session-search) are documented here.
Format: Keep a Changelog with links to representative commits. Versioning: Semantic Versioning.
Repository: https://github.com/Dicklesworthstone/coding_agent_session_search
Releases vs. tags: Only v0.1.64, v0.2.0, v0.2.1, and v0.2.2 have published GitHub Releases with downloadable binaries. All other version numbers below are git tags only (no release artifacts).
Unreleased (after v0.2.2)
Work in progress on main since the v0.2.2 tag.
- FTS5 contentless mode (schema V14): Full-text search tables migrated to contentless mode, reducing DB size while preserving query performance (
5a30465) - LRU embedding cache: Progressive search caches ONNX embeddings in an LRU to avoid redundant inference (
a8f7a52) - Expanded query pipeline: Major search query expansion with improved progressive search integration, phase coordination, and daemon worker simplification (
d937265,c590ccd,bd9ab48) - NaN-safe score normalization: Prevent NaN from propagating through blended scoring paths (
1eb68a9) - Penalize unrefined documents: Two-tier blended scoring now down-ranks documents that were never refined (
b0c612c) - Parallel indexing: Indexer processes multiple connector sources concurrently (
40627d2)
- HTML/PDF export pipeline rewrite: Complete overhaul of export rendering with improved layout and PDF support (
98757e6) - TUI search overhaul: Redesigned search interaction with improved result rendering (
40627d2) - Analytics dashboard expansion: Additional chart types, structured error tracking, and improved layout (
b393593,f073b99) - Click-to-position cursor: Click anywhere in the search bar to place the cursor, with pane-aware hover tracking (
69d2518) - UltraWide breakpoint: New layout breakpoint for ultra-wide terminals with style system refactoring (
baf3310) - Sparkline bar chart in empty-state dashboard (
3fb1c44) - Footer HUD lanes: Conditional footer HUD with compact formatting and refined empty-state display (
bf314fb) - Search-as-you-type supersedes in-flight: New queries cancel stale in-flight requests (
e163926) - Alt+? help toggle and consistent dot-separator detail metadata (
a293bce)
- WAL corruption detection: Degraded health state reported when WAL corruption is detected (
a738a9b) - Pages subsystem expansion: Config input, encryption, and export improvements (
426d6fe)
- Skill injection stripping: Proprietary skill content is stripped from HTML, Markdown, text, and JSON exports (
dd568dc,e1886a0) - Accurate message-type breakdown in HTML export metadata (
8b81ed7) - Legible code blocks without CDN dependencies (
3f690e9)
- Rusqlite to frankensqlite: Complete migration of remaining
src/and test files (e372307,232bdd1) - Reqwest removal: HTTP calls migrated to asupersync; reqwest eliminated from the dependency tree (
80d9885,dc90e9f)
- Watch mode: Replace
thread::sleepthrottle withrecv_timeoutcooldown to prevent event loss (89c78cf) - Watch mode: Add
--watch-intervalthrottle to prevent CPU burn (40f35f8) - Backup cleanup: Skip directories and WAL/SHM sidecars; tighten retention assertion (
a5c9e75,2ad0bf6) - Windows: Safe atomic file replacement for config and sync state (
9353938) - XSS prevention in simple HTML export and defensive string slicing (
4fcc026) - UTF-8 panic in
smart_truncateand silent rowid failures fixed (c874303) - Display-width correctness:
shorten_labeland dashboard truncation usedisplay_widthinstead ofchars().count()(7d89643,76d8671) - Zero compiler warnings achieved (
3c83c68)
v0.2.2 -- 2026-03-15
GitHub Release with downloadable binaries.
- Secret redaction: Secrets detected in tool-result content are redacted before DB insert (
eb9444d)
- FTS5 on FrankenSQLite: Register FTS5 virtual table on frankensqlite search connections; fix doctor diagnostics (
f3acfec,0773593) - Doctor improvements: Chunked FTS rebuild to prevent OOM; ROLLBACK on failed rebuild; correct SQL (
3e736ab,afad4e9,75e2008) - Replace
sqlite_masterqueries with direct table probes (892d1bd)
- Replace unwrap calls with safe error handling across search, export, timeline, and tests (
300caa4,900abdf) - Null-safety guards in router, service worker, and perf tests (
c5f64c3)
- Colorblind theme redesign: Palette redesigned for deuteranopia/protanopia; fix preset cycling (
6807be3) - Missing-subcommand hints for the CLI (
c0cf17a)
- Load sessions from DB instead of JSONL; optimize rendering (
3338ac3)
- Correct stale detection grace period and redact JSON keys (
cf5fc17) - Eliminate daemon connection cloning; handle requests concurrently (
87e8b3d) - Fix hash encoding, memory tracking, score fallback, and SSH keepalive (
bab8953) - Harden pages decrypt, preview server, and exclusion API (
827ece2)
v0.2.1 -- 2026-03-09
GitHub Release with downloadable binaries.
- Incremental embedding in watch mode: Semantic index updates as new sessions arrive (
d746f99)
- Colorblind theme preset for deuteranopia/protanopia (
0133256)
- Statically link OpenSSL to eliminate
libssl.so.3runtime dependency (efe5d32) - Lower ARM64 glibc floor to 2.35 (
074a678) - Use ubuntu-24.04 runners for Linux release builds (
050db98)
- Make TUI resize evidence logging opt-in to prevent disk exhaustion (
c343ac9) - Consume Enter and navigation keys in export modal (
fc2b3d6) - Include "tool" role messages in all export formats (
e32ee69) health --jsonnow reports real DB stats; expand skips non-message records (6ce238b)- Fix Scoop manifest URL and PowerShell checksum verification (
7bd3a02) - Fix installer temp path for Windows provider-neutrality (
d4b5b5e)
v0.2.0 -- 2026-03-02
GitHub Release with downloadable binaries. Major milestone: complete migration from rusqlite to frankensqlite.
- Full replacement of rusqlite with frankensqlite across all modules: storage, pages, analytics, bookmarks, secret scan, summary, wizard, and lib.rs (
e5789a7,39d3bb0,6657c98,89c1a0f) FrankenStoragetype alias replacesSqliteStorage;fparams!macro replacesparams!;BEGIN CONCURRENTtransaction support (e5789a7,51cf9d5)- Full V13 schema, transaction support, and compatibility gates (
e5789a7) - Path dependencies converted to git dependencies for release (
81f2560)
- Two-tier progressive search: Combines fast lexical search with semantic refinement (
653836f) - Robust empty-index handling and dynamic SSH probe paths for
TwoTierIndex(2b6d8a6) - Normalize embedding scores in two-tier search refinement (
ee3b1ce) - Bypass BM25 for empty queries; show date-sorted results instead (
d1c4627)
- Pi-Agent: Recursively index nested Pi-Agent session subdirectories (
4990fdf)
- Export tab: HTML/Markdown export keybindings added to TUI (
98863d3) - Load conversations from indexed database with illustration (
1502b29) - Prevent silent file overwrites with no-clobber retry (up to 1024 collisions) (
c4dfde7) - Eliminate export path/status race in detail modal (
1579a08)
- Workspace filtering, WCAG theme fixes, and daemon hardening (
690506f) - Real-time indexer progress bar, help popup scrollbar (
71d779b) - Word-jump navigation, richer empty states, Unicode display fixes (
e37b817) - Download progress clamped to 100% (
5180a5d)
- Runtime AVX CPU check with clear error message (
e0dfc91) - Handle
limit=0(no limit) in cursor pagination (2232ec0) - Case-insensitive comparison for agent detection from paths (
c1a18b3) - Handle nullable workspace field in SQLite search results (
e720b3b) - Replace
softprops/action-gh-releasewithghCLI to fix missing releases (ff74417) - Fallback to message timestamps when conversation start time is missing (
e0d1232) - Prevent stale raw event replay in TUI (
044bda5)
v0.1.64 -- 2026-02-01
GitHub Release with downloadable binaries (re-created after the softprops/action-gh-release draft bug).
- ClawdBot connector for ClawdBot coding-agent sessions (
4744ff5) - Vibe connector for Vibe coding sessions (
38d44bb) - ChatGPT web export import command (
002f12c)
- Message grouping with tool badge overflow rendering (
aee1701) - Tool badge popover JavaScript for inline tool-call inspection (
e9e8ad6) - Search-hit message glow highlighting (
86966bb) - Upgraded typography, popover positioning, CSS fallbacks (
ace08db)
- Two-tier progressive search introduced (
653836f) - Reranker registry with bake-off eligible models (
34a3545,4ea6110) - Embedder registry for model bake-off (
809ba65)
- LazyDb: Deferred SQLite connection for faster TUI startup (
03e17b4) - Stale detection system for watch daemon (
320b8bd) - Daemon module gated behind
#[cfg(unix)]for Windows compatibility (3f51c76) - Doctor: detect and recreate missing FTS search table (
6b1541f) - Switched from Rust nightly to stable toolchain (
5983515) - Bake-off evaluation framework with
EMBEDDERenv var for semantic index (260da55,125a8b6)
- Deterministic sort order with
total_cmpand index tie-breaking (7d92b53) - Harden arithmetic operations and sanitize socket path (
81a055b) - Safe integer casts with
try_fromand hardened SQL LIKE escaping (743702a,32e0e70) - Harden JS initialization and search/popover behavior in HTML export (
5a24996) - Bakeoff division-by-zero in latency calculation (
df836fe)
- Factory (Droid) connector and Cursor v0.40+ support (
85dd4cb)
- Batched transaction support with debug logging (
97e1926) - Centralized connector instantiation (
9f264ad)
- Windows double-keystroke, Codex export, and Amp connector issues (
cc9250d) - Make Cursor
source_pathunique per conversation (0448767)
Rapid-fire release cycle focused on CI/CD and cross-platform builds. Most tags in this range are single-commit CI fixes.
- Semantic search infrastructure: Embedder trait, hash embedder, canonicalization, and HNSW index foundation (
e75f20b,e28c883) - WSL Cursor support and chained search filtering (
322ffa4) - Roo Cline and Cursor editor connector support (
bf27e5d)
- Support for remote sources with improved scanning architecture (
43ba1c1) - Dynamic watch-path detection via
root_pathsinDetectionResult(605441f)
- Path traversal prevention in sources (
25ce09d) - Markdown injection prevention in exported results (
8832e92)
- ARM64 Linux builds via cross-compilation, then native ARM64 runner (
812bdc3,4ac30fe) - Vendored OpenSSL for ARM64 (
de83181) - Version-agnostic golden contract tests (
27dca3d) - Base64 updated to 0.22 for API compatibility (
3ccd419)
- Correct duration calculation for millisecond timestamps in timeline (
322ffa4) - DST ambiguity and gap handling in date parsing (
cf3a8f2) - Proper shell quoting for SSH and auto-index after sync (
e0a0f1f) - Phrase query semantics and tokenization improvements (
c105489) - TUI EDITOR parsing with arguments (
c91207f)
- Pi-Agent connector for the pi-mono coding agent, with model tracking in the author field (
b333597,a3cee41)
- Multi-platform release pipeline with self-update installer support (
23714de)
export,expand, andtimelinecommands with syntax highlighting (9a70d22)- Parallel connector scanning with agent discovery feedback (
1120ab1)
- UTF-8 safety improvements and UX refinements in TUI (
6fe0b2f) - Tantivy index resilience and correctness improvements (
b5a9ee3) - File-level filtering restricted to incremental indexing only (
c55a299)
- Cursor IDE and ChatGPT desktop connectors (
546c054) - Aider connector support in watch mode (
8b6dd69) - Improved Aider chat file discovery (
9c10901)
- Search timeout, dry-run mode, and
contextcommand (634c656) - Agent-first CLI improvements for robot mode (
b4965d3) - Fuzzy command recovery for mistyped subcommands (
7fd1682)
- Sparkline visualization for indexing progress (
9f4b69c) - Larger snippets, better density, persistent per-agent colors (
7819a49) - Ctrl+Enter queue and Ctrl+O open-all shortcuts (
4b6d910)
- Batch SQLite inserts in indexer (
47eba1f) - Replace blocking IO with
tokio::fsin async update checker (37ad11f)
- Harden
open_in_browserwith URL validation (be7560b) - Replace dangerous unwrap calls in indexer with proper error handling (
8215b23)
- WCAG hint text contrast boost (
ab52ec8) - Transaction wrapping and NULL handling for data integrity (
9b20566) - Populate
line_numberfrommsg_idxin search results (8351f18) - Versioned index path in status/diag commands (
49c64c6) - Critical Aider
detect()performance fix and Codex indexing fix (50568da)
- Wildcard and fuzzy matching in the query engine (
f85f2a0) - Implicit wildcard fallback for sparse results (
ab83f03) - Explicit wildcard search support (
c8e9c09) - CLI introspection and refreshed search/index plumbing (
9e63ba1)
- Detail pane and inline search in a major TUI expansion (
b0ffa28) - Modular UI components for enhanced TUI experience (
e7d4875) - WCAG-compliant theme system with accessibility support (
42bf621) - Centralized keyboard shortcuts in
shortcuts.rs(ca0612b) - Breadcrumbs component and extracted time_parser module (
9a5bce7)
- Aider chat history connector (
7c89f6d)
- Pagination, token budget, and new robot commands (
4427192) - Alt modifier required for vim-style navigation shortcuts (no letter swallowing) (
78639c6)
- Bookmarks and export functionality with expanded public API (
57127ac)
- Schema v4: Edge n-gram prefix fields and preview for instant prefix search (
f77fc0e) - LRU prefix cache, bloom filter, warm worker, and manual query builder (
4d36852) - Schema v2 with
created_atfield; deduplicate noisy hits; sanitize queries (5206b66) - Search pagination offset and quiet flag for robot runs (
96e2b25)
- Premium theme system overhaul with Stripe-level aesthetics (
4e6058e) - Progress display, markdown rendering, adaptive footer, Unicode safety (
2983c1d) - Atomic progress tracking for TUI integration (
5fc77ee) - Richer detail modal parsing and updated hotkey/help coverage (
448603a) - Indexing status visibility improvements (
f91ec31)
- Fix message index assignment consistency across claude_code, codex, gemini (
04ed880) - Proper
since_tsincremental filtering for all connectors (27e0ef8) - Immediate Tantivy commit after each connector batch in watch mode (
47f5a0f)
- Fix snippet truncation for multibyte UTF-8 characters (
cf26dcc) - Fix query history debouncing (
290baac) - Read-only database access for TUI detail view (
7e9118b) - Disable text wrapping in search bar for cursor visibility (
ff80172)
- Rewrite all connectors to properly parse real agent data formats (
e492d1b)
- Major UX polish (Sprint 5): Comprehensive UI improvements (
b5242f0)
- Force rebuild handling for the indexer (
816e863)
- Fix update loop by version bumps (v0.1.12, v0.1.19) (
2d494c4,35fecaf) - Fix binary name: configure
cassin Cargo.toml (2aa5edf)
Rapid iteration on TUI UX and binary packaging.
- Chips bar, ranking presets, pane density, peek badge, and persistent controls (
8944d30) - Visual feedback for modes and zero-hit suggestions (
abdb82b) - Global Ctrl-C handling and updated TUI keymap (
98393aa)
- Binary renamed to
cass; default to TUI with background indexing; logs moved to file (196945e)
- UI artifacts in help overlay and F11 key conflict (
a202ced) - Clippy lint fixes and formatting (
b8a6ceb)
Initial public release and early iteration.
- Normalized data model for multi-agent conversation unification (
071cb0b) - SQLite storage layer with schema v1 and migrations (
03a3b06) - Tantivy full-text search index with query execution and filter support (
2cbd6a1) - SQLite FTS5 virtual table for dual-backend search (
7174c33,4046a53) - Connector framework for agent log parsing (
2c66016)
- Claude Code connector with JSON format support (
b755ca1) - Codex CLI connector with JSONL rollout parsing (
985f2ff) - Cline VS Code extension connector (
cd5feaa) - Gemini CLI connector with checkpoint and chat log parsing (
e49ce2d) - Amp and OpenCode connector implementations (
6e05e84)
- Three-pane TUI with multi-mode filtering and pagination (
8bd30b6) - Theme system, help overlay, focus states, timestamp formatting (
410e02c,7ec3b7a,c7bce09) - Editor integration, granular filter controls, and detail views (
6149d6d) - Contextual hotkey hints in search bar (
fedda28)
- Watch-mode incremental indexing with mtime high-water marks (
cd6b2dc) - Persistent watch state to survive indexer restarts (
afc1775) - Robust debounce logic for file watcher (
7ebc48e)
- Cross-platform installers:
install.sh(Linux/macOS) andinstall.ps1(Windows) (cae7d56) - Easy mode, checksum verification, quickstart, and rustup bootstrap (
cfac576) - Build-from-source fallback with
--from-sourceflag (88fb89d) - Homebrew formula and Scoop manifest (
a49c62f) - Automated SHA256 checksum generation in release workflow (
5cb2f92)
- GitHub Actions workflows for CI and automated releases (
a2bdbf1) - Comprehensive CI/CD pipeline with automated GitHub releases (
f5ffbce) - Runtime performance benchmarks for indexing and search (
19821ca)
- Comprehensive test infrastructure: connector fixtures, SqliteStorage unit tests, Ratatui snapshots, search/tracing tests, E2E index-to-TUI workflow, and installer tests (
01cfba9,652c5ba,fa0b471,9c42147)
- Fix snippet extraction with Tantivy
SnippetGeneratorand SQLitesnippet()(a9b0241) - Critical FTS rebuild performance issue (
d4fd6ab) - Gemini connector message indexing collision and deterministic file order (
349d0bd) - Tantivy workspace field type for exact-match filtering (
016b1dd)
Initial development. Project scaffolding, architecture design, and first implementations of the connector framework, SQLite storage, Tantivy search, and Ratatui TUI. First commit: 2cf22a1.