Releases: Dicklesworthstone/coding_agent_session_search
v0.1.61
Installation
Quick Install (recommended)
# Linux/macOS
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh" | bash -s -- --easy-mode --verify
# Windows (PowerShell)
irm https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.ps1 | iexPackage Managers
# Homebrew
brew install dicklesworthstone/tap/cass
# Scoop
scoop bucket add dicklesworthstone https://github.com/Dicklesworthstone/scoop-bucket
scoop install dicklesworthstone/cassVerify Downloads
All binaries include SHA256 checksums. Download SHA256SUMS.txt and verify:
sha256sum -c SHA256SUMS.txtFull Changelog: v0.1.60...v0.1.61
v0.1.57 - Defensive Programming & Stability Improvements
π‘οΈ v0.1.57 - Defensive Programming & Stability Improvements
This release focuses on eliminating potential panic points and improving error handling throughout the codebase, continuing our commitment to robust, production-ready code.
π Bug Fixes
Sync Engine Safety (src/sources/sync.rs)
- Critical: Fixed rsync path handling to properly error on invalid UTF-8 paths
- Previously: Used
unwrap_or(".")which would silently sync to the current directory if a path contained invalid UTF-8 - Now: Returns explicit
PathSyncResultwith clear error message: "Local path contains invalid UTF-8" - Impact: Prevents potential data loss from syncing to wrong directories
TUI Robustness (src/ui/tui.rs)
- Fixed digit parsing to handle edge cases gracefully
- Avoids panic on malformed numeric input
Connector Hardening (src/connectors/)
- Enhanced path parsing across all connectors
- Improved robustness in file path handling
π§ Infrastructure & CI
- Added ACFS checksum update notification workflow
- Synced lockfile dependencies
π Changes Since v0.1.56
| Commit | Description |
|---|---|
9541e97 |
fix(sync): replace unwrap_or with explicit UTF-8 error handling |
889ee07 |
fix(tui): avoid unwrap on digit parse |
857ba60 |
fix(connectors): harden parsing and paths |
a802054 |
ci: add ACFS checksum update notification workflow |
3f1902f |
chore: sync lockfile and add ACFS dispatch |
π¦ Installation
# Quick install (recommended)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh \
| bash -s -- --easy-mode --verify
# Or via Homebrew
brew install dicklesworthstone/tap/cass
# Or via Cargo
cargo install coding-agent-searchFull Changelog: v0.1.56...v0.1.57
v0.1.56
Full Changelog: v0.1.55...v0.1.56
v0.1.55
π― Highlights
This release focuses on data safety, documentation quality, and multi-machine search improvements.
π Atomic File Operations
- TUI State Persistence: Now uses crash-safe temp file + atomic rename pattern
- ML Model Installation: Uses backup-rename-cleanup pattern for safe upgrades
- Configuration Files: All config writes follow atomic patterns
π Documentation Deep Dive
Comprehensive new documentation sections for multi-machine search:
- Sync Engine Internals: rsync flags, SFTP fallback, safety guarantees
- Remote Installation Methods: Installation priority chain with timing estimates
- Host Discovery & Probing: SSH config parsing, probe caching details
- Index Recovery: Schema hash versioning and auto-rebuild triggers
π οΈ Index Improvements
- Error Tracking: Background indexer errors captured via
IndexingProgress.last_error - Index Recovery:
rebuild_tantivy_from_db()can reconstruct full-text index from SQLite
π What's Changed
Features
feat(safety): Add atomic file operations for crash-safe persistencefeat(index): Add error tracking and index rebuild from SQLite
Documentation
docs: Expand multi-machine search documentation with technical detailsfix(docs): Correct inaccurate documentation claimsfix(docs): Additional documentation accuracy fixesfix(docs): Fix binary install path and connection timeout values
Technical Details
Atomic Write Pattern (TUI State):
let temp_path = path.with_extension("json.tmp");
if std::fs::write(&temp_path, &body).is_ok() {
let _ = std::fs::rename(&temp_path, path);
}Model Installation Safety:
- Download to temp directory
- If existing model: rename to backup
- Atomic rename: temp β final
- On success: remove backup
- On failure: restore from backup
π SHA256 Checksums
e9766e14cf7461d52eab8d441ef197f0f810499c891257abf5556cc9f581704b coding-agent-search-aarch64-apple-darwin.tar.xz
6baa4b196de296bb90aee866868f0fea14e048cdaa45e2de4eb2c93a4862e4be coding-agent-search-aarch64-unknown-linux-gnu.tar.xz
c86441f8af59c02829f17d7609f368b3aeca832a4052bd803cb6c60826555e8e coding-agent-search-x86_64-apple-darwin.tar.xz
835cc2de9fe3b9216f307d0903aa7dcdd6d8dd4608c50e62c9747f9fbc07245b coding-agent-search-x86_64-pc-windows-msvc.zip
0f41d67cfe22e22d9cc43df7e34f83b81fbd3c675eeecaa12f86e958712e654b coding-agent-search-x86_64-unknown-linux-gnu.tar.xz
π Links
- Full Changelog: v0.1.54...v0.1.55
- Documentation: See README.md for comprehensive usage guide
π¦ Installation
# Via cargo
cargo install coding-agent-search
# Via install script (Linux/macOS)
curl -fsSL https://github.com/Dicklesworthstone/coding_agent_session_search/releases/download/v0.1.55/install.sh | sh
# Or download pre-built binary from assets belowv0.1.54
Bug Fixes
Progress Indicator Fix
- Fixed critical bug: Progress indicator was not showing initial message during indexing
- Root cause:
last_phase = 0matched initialphase = 0, so no message was ever displayed - Now sets initial message before enabling tick ("Starting full/incremental index...")
- Uses sentinel values to force first update
- Adds time-based updates every 500ms for constant visual feedback
- This release fixes the "stuck" appearance reported in v0.1.53
New Features
cass doctor Command
Comprehensive diagnostic and repair tool for cass installations:
cass doctor # Check for issues
cass doctor --verbose # Show all checks (including passed)
cass doctor --fix # Apply safe automatic fixes
cass doctor --json # Machine-readable outputChecks performed:
- Data directory exists and is writable
- No stale lock files
- Database integrity
- Search index validity
- Config file parsing
- Session directory discovery
Safety guarantee: Doctor mode NEVER deletes user data. It only:
- Removes stale lock files (with --fix)
- Recommends rebuilding derived data from source sessions
- Preserves all original session files
This is critical because users may have only one copy of their agent
session data, and Codex/Claude Code auto-expire older logs.
Upgrade Notes
If you experienced the "stuck during indexing" issue in v0.1.53:
- Install v0.1.54:
curl -sSL https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh | bash - Run
cass doctorto verify installation - Run
cass index --fullto rebuild the index
v0.1.53
What's Changed
Bug Fixes
- fix(index): Add real-time progress display during indexing
- The
cass indexcommand now shows actual progress instead of a static spinner - Displays discovered agents during scanning phase (e.g., "Scanning: Found 5 agent(s): claude, codex, cursor")
- Shows conversation count with percentage during indexing (e.g., "Indexing: 150/300 conversations (50%)")
- Indicates rebuild operations with "(rebuilding)" suffix
- Shows completion summary with total conversations and agents
- The
Tests
- test(upgrade): Add comprehensive upgrade process tests
- Version comparison tests for patch/minor/major upgrades, downgrades, prereleases
- Update state persistence round-trip tests
- Full upgrade decision workflow simulation
- E2E tests for binary replacement during upgrade
- Concurrent install serialization tests (lock mechanism)
- Verify flag functionality tests
Maintenance
- fix(test): Add serial_test to prevent install script test races
Installation
Quick Install (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh | bashWindows (PowerShell)
irm https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.ps1 | iexUpgrade
If you already have cass installed, the install script will automatically upgrade to the latest version.
Checksums
All release artifacts include .sha256 checksum files for verification. The install scripts automatically verify checksums before installation.
Full Changelog: v0.1.52...v0.1.53
v0.1.52
Bug Fixes
Installer Reliability Improvements
- Dynamic version resolution: Both install.sh and install.ps1 now resolve the latest version via GitHub API with redirect-based fallback, eliminating hardcoded version drift
- Robust version validation: Extracted version strings are validated to match expected format (
^v[0-9]) preventing malformed version strings from being used - PowerShell error handling: Fixed
-ErrorActionfromSilentlyContinuetoStopfor reliable error catching in redirect-based version resolution
OpenCode Export Fixes
- Improved detection:
detect_opencode_session()now uses directory structure validation instead of loose substring matching, eliminating false positives - Title preservation: Fixed
run_export()to preserve existing session titles from OpenCode sessions instead of unconditionally overwriting them
Installation
Unix/macOS (bash)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh | bashWindows (PowerShell)
irm https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.ps1 | iexFrom Source
cargo install --git https://github.com/Dicklesworthstone/coding_agent_session_searchChecksums (SHA256)
| Platform | Archive | SHA256 |
|---|---|---|
| Linux x86_64 | coding-agent-search-x86_64-unknown-linux-gnu.tar.xz |
See .sha256 file |
| Linux ARM64 | coding-agent-search-aarch64-unknown-linux-gnu.tar.xz |
See .sha256 file |
| macOS Intel | coding-agent-search-x86_64-apple-darwin.tar.xz |
See .sha256 file |
| macOS ARM64 | coding-agent-search-aarch64-apple-darwin.tar.xz |
See .sha256 file |
| Windows | coding-agent-search-x86_64-pc-windows-msvc.zip |
See .sha256 file |
Full Changelog: v0.1.51...v0.1.52
v0.1.51
What's New in v0.1.51
π Comprehensive Technical Documentation
This release adds extensive technical documentation to help users and developers understand cass internals:
Hash Embedder Fallback
- Detailed documentation of the FNV-1a based fallback mechanism
- Comparison table: ML model (MiniLM) vs Hash embedder (FNV-1a)
- Algorithm explanation: tokenization β hashing β projection β normalization
- Environment variable override:
CASS_SEMANTIC_EMBEDDER=hash
CVVI Vector Index Format
- Complete binary format specification for
.cvvifiles - ASCII diagram showing 32-byte header and entry layouts
- Features: F32/F16 precision, memory-mapped loading, CRC32 validation, content deduplication
Search Modes
| Mode | Algorithm | Best For |
|---|---|---|
| Lexical | BM25 full-text | Exact term matching, code searches |
| Semantic | Vector similarity | Conceptual queries, "find similar" |
| Hybrid | Reciprocal Rank Fusion | Balanced precision and recall |
RRF Algorithm
RRF_score = Ξ£ 1 / (K + rank_i)
Where K=60 (tuning constant) and rank_i is the position in each result list.
π§ Code Quality Improvements
- Robustness: dotenvy for env vars, saturating_sub for safe arithmetic
- Better mutex handling with unwrap_or_else for poisoned state recovery
- SFTP empty filename edge case handling
- Consistent code formatting across codebase
- Clippy fixes for nightly Rust 1.94.0
β Verification
- 978 tests passing
- Zero clippy warnings
- Clean formatting (cargo fmt --check)
π¦ Available Binaries
| Platform | Status |
|---|---|
| Linux x86_64 | β Available |
| Linux ARM64 | β Available |
| Windows x86_64 | β Available |
| macOS x86_64 (Intel) | β Available |
| macOS ARM64 (Apple Silicon) | β Available |
All 5 platforms are now building successfully!
Full Changelog: v0.1.50...v0.1.51
Installation:
# From crates.io
cargo install coding-agent-search
# Or binary install
cargo binstall coding-agent-search
# Or download directly
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh | bashv0.1.50
What's New
π Performance Improvements
- Batched SQLite Transactions: Conversation ingestion now uses batched transactions, reducing database overhead by 10-50x for large imports
- Optimized Content Flattening:
flatten_content()now uses single String allocation instead of Vec + join, reducing memory pressure in the content parsing hot path
π§Ή Code Quality
- DRY Refactoring: Extracted
reindex_messages()utility function, replacing 11 duplicate for-loops across 9 connector files - Centralized Connector Instantiation: Added
ConnectorKind::create_connector()method to eliminate duplicate 11-arm match statements
π Observability
- FTS Debug Logging: Silent FTS insert errors now logged at debug level (
tracing::debug!) for easier diagnosis of systematic issues
Technical Details
Files Changed
src/connectors/mod.rs: Newreindex_messages()utility and optimizedflatten_content()src/connectors/*.rs: 9 connector files updated to use shared utilitysrc/storage/sqlite.rs:insert_conversations_batched()+insert_conversation_in_tx()+ FTS loggingsrc/indexer/mod.rs:persist_conversations_batched()+ConnectorKind::create_connector()
Breaking Changes
None - all changes are internal optimizations and refactoring with no API changes.
Commits
refactor(connectors): Extract reindex_messages utility and optimize flatten_contentperf(storage): Add batched transaction support with debug loggingperf(indexer): Use batched persistence and centralize connector instantiation
π€ Generated with Claude Code
v0.1.49
What's New
New Features
- Factory (Droid) Connector: Added support for Factory.ai sessions stored at
~/.factory/sessions(#22) - Cursor v0.40+ Support: Handle new
fullConversationHeadersOnlyformat with bubble fetching
Bug Fixes
- Cursor: Fix source_path uniqueness per conversation
- Aider: Replace unsafe
unwrap()with defensive Option handling - Windows: Fix double-keystroke input in TUI
- Codex: Fix session export showing all messages as UNKNOWN
- Amp: Fix connector not detecting sessions correctly
Documentation
- Add Factory connector to all documentation sections and diagrams
- Fix ScanContext struct documentation (correct field names)
- Update exit codes table to match actual implementation
- Fix example connector code to use proper scan root detection pattern
- Update connector count from 9 to 11
Internal
- Remove erroneously committed .agent-mail directory
Full Changelog: v0.1.48...v0.1.49