142 lines
7.1 KiB
Markdown
142 lines
7.1 KiB
Markdown
# Changelog Archive: v0.3.x Series
|
|
|
|
## [v0.3.4] - 2025-08-16
|
|
|
|
### Added
|
|
- **Hybrid Grep Command**
|
|
- Semantic search capability integrated into grep command
|
|
- Shows both "Text Matches" (regex) and "Semantic Matches" sections
|
|
- `--regex-only` flag to disable semantic search when needed
|
|
- `--semantic-limit` option to control number of semantic results (default: 3)
|
|
- Automatic parallel execution of regex and semantic searches for better performance
|
|
|
|
- **Enhanced Vector Search**
|
|
- Query embedding generation for accurate semantic search
|
|
- Automatic embedding generator creation based on available models
|
|
- Improved search accuracy with actual query vectors instead of placeholders
|
|
- Default embedding support through factory pattern
|
|
|
|
- **Automatic Embedding Generation**
|
|
- Vector database auto-creation on initialization
|
|
- Repair thread auto-starts when missing embeddings detected
|
|
- Background embedding generation without manual intervention
|
|
- Proactive database initialization to avoid "Not found" messages
|
|
|
|
### Fixed
|
|
- **Vector Database Initialization**
|
|
- Fixed auto-creation of vectors.db on first run
|
|
- Repair thread now triggers during storage initialization
|
|
- Improved embedding health detection with better sampling
|
|
- Correct variable names in initialization code (metadataRepo_ vs metadataRepository_)
|
|
|
|
### Changed
|
|
- **Search Command**
|
|
- Now uses hybrid search by default with vector and keyword fusion
|
|
- Ignores --type flag for better ergonomics (hybrid is always best)
|
|
- Automatic fallback to keyword search if vector search unavailable
|
|
|
|
## [v0.3.3] - 2025-08-15
|
|
|
|
### Added
|
|
- **MCP Server**
|
|
- Spec-compliant stdio framing (Content-Length + CRLF) with readiness notifications
|
|
- Tool schemas aligned with implementation and tests
|
|
- MCP tool handlers refactored into thin adapters that map JSON ↔ service DTOs
|
|
- CLI/MCP parity via shared service layer (Search, Grep, Document); MCP now delegates:
|
|
- grep_documents → GrepService
|
|
- list_documents, retrieve_document, update_document_metadata, get_by_name, cat_document, delete_by_name → DocumentService
|
|
- **Tracy Profiling Support**
|
|
- **List Command Enhancements**
|
|
- `--changes` flag to show documents with recent modifications (last 24h by default)
|
|
- `--since` option to show documents changed since specified time (ISO8601, relative, or natural formats)
|
|
- `--diff-tags` flag for grouped change visualization showing added/modified/deleted documents
|
|
- `--show-deleted` flag to include deleted documents in listings
|
|
- File type indicators in diff-tags output showing `[extension|bin/txt|category]` for all files
|
|
- **Grep Command Enhancements**
|
|
- Support for searching specific file paths in addition to patterns
|
|
- Improved path matching with suffix lookup for partial paths
|
|
- `--paths-only` flag for LLM-friendly output (one file path per line)
|
|
|
|
- **Code Quality**
|
|
- Added clang-format configuration for consistent code style
|
|
- Pre-commit hook for automatic code formatting
|
|
- Application services layer for shared CLI/MCP functionality
|
|
|
|
### Fixed
|
|
- **MCP Server Initialization**
|
|
- **Vector Database**: Simplified embedding generation using existing repair command patterns
|
|
- Stats no longer unconditionally recommends 'yams repair --embeddings' when embeddings already exist; guidance is shown only when count is zero
|
|
- **Stats Display**: Improved embedding system status to show meaningful health info instead of misleading zero-activity counters
|
|
- **Vector Index**: Fixed initialization with smart dimension detection from existing models and databases
|
|
- **Async Processing**: Documents now get embeddings generated asynchronously in detached threads (non-blocking)
|
|
- **Reliability**: Embedding generation now works by default, if it fails you will see ```yams repair --embeddings``` in ```yams status```
|
|
- **Stats Command**: Replaced confusing worker activity counters with clear system capability status
|
|
- **List Command Filtering**: Fixed diff-tags logic to properly skip change filters when showing diff visualization
|
|
|
|
- **Security**
|
|
- Fixed command injection vulnerability in model_command.cpp by replacing system() calls with safe execvp()
|
|
- Added path validation and sanitization for user inputs
|
|
- Validate output paths to prevent directory traversal attacks
|
|
|
|
## [v0.3.2] - 2025-08-15
|
|
|
|
### Added
|
|
- **Preview: Vector Database (experimental)**
|
|
- `SqliteVecBackend` for persistent vector storage via the sqlite-vec extension
|
|
- BLOB storage format for embeddings with transaction-safe writes across vector and metadata tables
|
|
- CLI integration: enable via `yams init` or follow prompts shown in `yams stats --health`
|
|
- **MCP Server**
|
|
- Stdio transport only; HTTP framework dependencies removed
|
|
### Fixed
|
|
- **Vector DB**
|
|
- Embeddings now persist across restarts
|
|
- Updated CRUD operations for new two-table architecture
|
|
- **Build/CI**
|
|
- Fixed Conan ARM64 architecture detection on macOS self-hosted runner
|
|
- **MCP**
|
|
- Removed Drogon and Boost dependencies that caused runtime issues
|
|
|
|
### Notes
|
|
- **Usage**
|
|
- Vector search is off by default. Initialize and configure embeddings with `yams init` or via health prompts in `yams stats --health`.
|
|
- **Requirements**
|
|
- SQLite with the sqlite-vec extension available at runtime.
|
|
- **Limitations (preview)**
|
|
- Schema and APIs may change between minor versions.
|
|
- Not enabled by default; indexing currently targets text documents only.
|
|
- Single-process/local database only; no cross-process index sharing yet.
|
|
|
|
## [v0.3.1] - 2025-08-14
|
|
|
|
### Fixed
|
|
- **Critical: Missing ref_transactions table after init**
|
|
- Fixed incomplete schema initialization in reference counter that caused "no such table: ref_transactions" error
|
|
- Added complete inline schema fallback with all required tables (ref_transactions, ref_transaction_ops, ref_statistics, ref_audit_log)
|
|
- Implemented proper resource file discovery for production deployments
|
|
- Added installation of SQL schema files to CMake configuration
|
|
- **CI/CD Workflow Simplification**
|
|
- Removed all cross-compilation logic from release workflow
|
|
- Fixed CI build failures on Linux (gtest cache corruption) and macOS (runner detection)
|
|
- Moved macOS x86_64 builds to GitHub hosted runners (macos-13)
|
|
- Docker builds now use native architecture on each runner (ARM on macOS, x86 on Linux)
|
|
|
|
### Changed
|
|
- **Build Infrastructure**
|
|
- All builds now use native compilation for better performance and reliability
|
|
- Simplified Conan configuration by removing cross-compilation complexity
|
|
- Docker workflow split into separate jobs per architecture for efficiency
|
|
- Data files (magic_numbers.json, reference_schema.sql) now properly installed with binary
|
|
|
|
## [v0.3.0] - 2025-08-14
|
|
|
|
### Added
|
|
- **Apple Silicon Optimizations**
|
|
- New `YAMS_ENABLE_APPLE_SILICON_OPTIMIZATIONS` CMake option (enabled by default on ARM64 Macs)
|
|
- Native `-mcpu=apple-m1` optimization flag for M1/M2/M3 processors
|
|
- Added `-fvectorize` for improved SIMD utilization on Apple Silicon
|
|
|
|
### Fixed
|
|
- **CI/CD C++ Standard Configuration**
|
|
- Fixed Conan profile resetting to C++17 in CI/CD workflows
|
|
- Added explicit C++20 enforcement after `conan profile detect --force`
|
|
- Fixed cross-compilation profile configurations for both CI and Release workflows
|