- Switch from sha2 crate to blake3 for faster hashing (4-7x speedup)
- Use Blake3's built-in to_hex() instead of separate hex crate
- Remove hex and sha2 dependencies
- Eliminates 40% CPU bottleneck in generate_cache_key()
- Add support for user-defined custom categories in config.toml
- Update Config struct with categories field and default_categories() function
- Thread categories through GeminiClient and prompt builder
- Update AI prompts to use dynamic categories instead of hardcoded ones
- Add comprehensive documentation with examples for different use cases
- Update tests to support new categories field
- Maintain backward compatibility with default categories
- Update version from 1.0.3 to 1.0.4
Closes feature request for custom categories.
- Fix critical HOME variable bug that crashed on Windows
* Replace hardcoded HOME env var with Config::get_data_dir()
* Now uses cross-platform directories crate
* Resolves to %APPDATA% on Windows, ~/.config on Linux/macOS
- Fix Unix-style path separators in display output
* Use std::path::MAIN_SEPARATOR for OS-appropriate paths
* Windows now shows backslashes, Unix shows forward slashes
- Implement batching for large file lists (100+ files)
* Split file processing into batches of 50 files
* Prevents network timeouts and API payload size issues
* Added progress feedback for batch processing
* Increased timeout from 30s to 120s per batch
- Bump version to 1.0.3
All tests passing, clippy clean, fully cross-platform compatible
- Add 31 tests across files, config, and cache modules
- Test file operations (FileBatch, is_text_file, read_file_sample)
- Test configuration (serialization, API key validation, path expansion)
- Test caching (response retrieval, file change detection, eviction)
- Add tempfile dev dependency for test fixtures
- All tests passing with 100% success rate
- Fix home directory detection using BaseDirs from directories crate
- Add cross-platform file moving with copy+delete fallback
- Replace Unix-specific HOME env var usage
- Handle cross-filesystem moves on Windows automatically
- Add async optimization using futures for concurrent file processing
- Implement intelligent caching system with SHA256 file change detection
- Add comprehensive custom error handling for Gemini API responses
- Fix critical error handling issues throughout the codebase
- Replace fragile JSON parsing with proper struct-based deserialization
- Add automatic retry logic for rate limits and network issues
- Improve user experience with detailed error messages and progress feedback
- Add cache persistence and automatic cleanup of old entries
- Optimize performance for batch processing scenarios