Skip to content

Latest commit

 

History

History
533 lines (344 loc) · 42 KB

File metadata and controls

533 lines (344 loc) · 42 KB

Changelog

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.

Search and indexing

  • 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)

TUI and user interface

  • 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)

Health and storage

  • WAL corruption detection: Degraded health state reported when WAL corruption is detected (a738a9b)
  • Pages subsystem expansion: Config input, encryption, and export improvements (426d6fe)

Export

  • 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)

Dependency migration

  • 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)

Bug fixes

  • Watch mode: Replace thread::sleep throttle with recv_timeout cooldown to prevent event loss (89c78cf)
  • Watch mode: Add --watch-interval throttle 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_truncate and silent rowid failures fixed (c874303)
  • Display-width correctness: shorten_label and dashboard truncation use display_width instead of chars().count() (7d89643, 76d8671)
  • Zero compiler warnings achieved (3c83c68)

v0.2.2 -- 2026-03-15

GitHub Release with downloadable binaries.

Security

  • Secret redaction: Secrets detected in tool-result content are redacted before DB insert (eb9444d)

Storage and database

  • 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_master queries with direct table probes (892d1bd)

Safety and reliability

  • 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)

UI

  • Colorblind theme redesign: Palette redesigned for deuteranopia/protanopia; fix preset cycling (6807be3)
  • Missing-subcommand hints for the CLI (c0cf17a)

Export

  • Load sessions from DB instead of JSONL; optimize rendering (3338ac3)

Bug fixes

  • 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.

Connectors

  • Kimi Code and Qwen Code re-export stubs added (886af59)
  • Copilot CLI connector module (e87d6f1)

Semantic search

  • Incremental embedding in watch mode: Semantic index updates as new sessions arrive (d746f99)

Accessibility

  • Colorblind theme preset for deuteranopia/protanopia (0133256)

Release infrastructure

  • Statically link OpenSSL to eliminate libssl.so.3 runtime dependency (efe5d32)
  • Lower ARM64 glibc floor to 2.35 (074a678)
  • Use ubuntu-24.04 runners for Linux release builds (050db98)

Bug fixes

  • 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 --json now 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.

FrankenSQLite migration (headline change)

  • Full replacement of rusqlite with frankensqlite across all modules: storage, pages, analytics, bookmarks, secret scan, summary, wizard, and lib.rs (e5789a7, 39d3bb0, 6657c98, 89c1a0f)
  • FrankenStorage type alias replaces SqliteStorage; fparams! macro replaces params!; BEGIN CONCURRENT transaction support (e5789a7, 51cf9d5)
  • Full V13 schema, transaction support, and compatibility gates (e5789a7)
  • Path dependencies converted to git dependencies for release (81f2560)

Search

  • 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)

Connectors

  • Pi-Agent: Recursively index nested Pi-Agent session subdirectories (4990fdf)

Export

  • 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)

TUI

  • 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)

Bug fixes

  • 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-release with gh CLI 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).

Connectors

  • ClawdBot connector for ClawdBot coding-agent sessions (4744ff5)
  • Vibe connector for Vibe coding sessions (38d44bb)
  • ChatGPT web export import command (002f12c)

HTML export redesign

  • 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)

Deployment

  • Cloudflare Pages: Direct API upload with CLI flags for deployment configuration (7776fe8, 48e02db)

Search

  • Two-tier progressive search introduced (653836f)
  • Reranker registry with bake-off eligible models (34a3545, 4ea6110)
  • Embedder registry for model bake-off (809ba65)

Infrastructure

  • 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 EMBEDDER env var for semantic index (260da55, 125a8b6)

Bug fixes

  • Deterministic sort order with total_cmp and index tie-breaking (7d92b53)
  • Harden arithmetic operations and sanitize socket path (81a055b)
  • Safe integer casts with try_from and 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)

v0.1.50 -- 2026-01-04 (tag only)

Connectors

  • Factory (Droid) connector and Cursor v0.40+ support (85dd4cb)

Performance

  • Batched transaction support with debug logging (97e1926)
  • Centralized connector instantiation (9f264ad)

Bug fixes

  • Windows double-keystroke, Codex export, and Amp connector issues (cc9250d)
  • Make Cursor source_path unique per conversation (0448767)

v0.1.36 -- v0.1.48 (2025-12-17 to 2025-12-30, tags only)

Rapid-fire release cycle focused on CI/CD and cross-platform builds. Most tags in this range are single-commit CI fixes.

Semantic search (v0.1.36)

  • 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)

Remote indexing (v0.1.36)

  • Support for remote sources with improved scanning architecture (43ba1c1)
  • Dynamic watch-path detection via root_paths in DetectionResult (605441f)

Security (v0.1.36)

  • Path traversal prevention in sources (25ce09d)
  • Markdown injection prevention in exported results (8832e92)

CI/CD (v0.1.37 -- v0.1.48)

  • 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)

Bug fixes

  • 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)

v0.1.35 -- 2025-12-02 (tag only)

Connectors

  • Pi-Agent connector for the pi-mono coding agent, with model tracking in the author field (b333597, a3cee41)

v0.1.34 -- 2025-12-02 (tag only)

CI/CD

  • Multi-platform release pipeline with self-update installer support (23714de)

CLI

  • export, expand, and timeline commands with syntax highlighting (9a70d22)
  • Parallel connector scanning with agent discovery feedback (1120ab1)

Bug fixes

  • 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)

v0.1.32 -- 2025-12-02 (tag only)

Connectors

  • Cursor IDE and ChatGPT desktop connectors (546c054)
  • Aider connector support in watch mode (8b6dd69)
  • Improved Aider chat file discovery (9c10901)

CLI

  • Search timeout, dry-run mode, and context command (634c656)
  • Agent-first CLI improvements for robot mode (b4965d3)
  • Fuzzy command recovery for mistyped subcommands (7fd1682)

TUI

  • 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)

Performance

  • Batch SQLite inserts in indexer (47eba1f)
  • Replace blocking IO with tokio::fs in async update checker (37ad11f)

Security

  • Harden open_in_browser with URL validation (be7560b)
  • Replace dangerous unwrap calls in indexer with proper error handling (8215b23)

Bug fixes

  • WCAG hint text contrast boost (ab52ec8)
  • Transaction wrapping and NULL handling for data integrity (9b20566)
  • Populate line_number from msg_idx in search results (8351f18)
  • Versioned index path in status/diag commands (49c64c6)
  • Critical Aider detect() performance fix and Codex indexing fix (50568da)

v0.1.28 -- v0.1.31 (2025-11-30 to 2025-12-02, tags only)

Search

  • 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)

TUI

  • 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)

Connectors

  • Aider chat history connector (7c89f6d)

CLI

  • Pagination, token budget, and new robot commands (4427192)
  • Alt modifier required for vim-style navigation shortcuts (no letter swallowing) (78639c6)

Export

  • Bookmarks and export functionality with expanded public API (57127ac)

v0.1.22 -- v0.1.27 (2025-11-26 to 2025-11-28, tags only)

Search

  • 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_at field; deduplicate noisy hits; sanitize queries (5206b66)
  • Search pagination offset and quiet flag for robot runs (96e2b25)

TUI

  • 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)

Connectors

  • Fix message index assignment consistency across claude_code, codex, gemini (04ed880)
  • Proper since_ts incremental filtering for all connectors (27e0ef8)
  • Immediate Tantivy commit after each connector batch in watch mode (47f5a0f)

Bug fixes

  • 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)

v0.1.19 -- v0.1.21 (2025-11-25, tags only)

Connectors

  • Rewrite all connectors to properly parse real agent data formats (e492d1b)

TUI

  • Major UX polish (Sprint 5): Comprehensive UI improvements (b5242f0)

CLI

  • Force rebuild handling for the indexer (816e863)

Infrastructure

  • Fix update loop by version bumps (v0.1.12, v0.1.19) (2d494c4, 35fecaf)
  • Fix binary name: configure cass in Cargo.toml (2aa5edf)

v0.1.5 -- v0.1.13 (2025-11-24, tags only)

Rapid iteration on TUI UX and binary packaging.

TUI

  • 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)

CLI

  • Binary renamed to cass; default to TUI with background indexing; logs moved to file (196945e)

Bug fixes

  • UI artifacts in help overlay and F11 key conflict (a202ced)
  • Clippy lint fixes and formatting (b8a6ceb)

v0.1.0 -- v0.1.4 (2025-11-21 to 2025-11-24, tags only)

Initial public release and early iteration.

Core architecture (v0.1.0)

  • 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)

Connectors (v0.1.0)

  • 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)

TUI (v0.1.0)

  • 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)

Indexer (v0.1.0)

  • 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)

Installation (v0.1.0 -- v0.1.4)

  • Cross-platform installers: install.sh (Linux/macOS) and install.ps1 (Windows) (cae7d56)
  • Easy mode, checksum verification, quickstart, and rustup bootstrap (cfac576)
  • Build-from-source fallback with --from-source flag (88fb89d)
  • Homebrew formula and Scoop manifest (a49c62f)
  • Automated SHA256 checksum generation in release workflow (5cb2f92)

CI/CD (v0.1.0 -- v0.1.4)

  • 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)

Testing (v0.1.0 -- v0.1.4)

  • 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)

Bug fixes (v0.1.0 -- v0.1.4)

  • Fix snippet extraction with Tantivy SnippetGenerator and SQLite snippet() (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)

Pre-v0.1.0 (2025-11-20 to 2025-11-23)

Initial development. Project scaffolding, architecture design, and first implementations of the connector framework, SQLite storage, Tantivy search, and Ratatui TUI. First commit: 2cf22a1.