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-onlyflag to disable semantic search when needed--semantic-limitoption 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
--changesflag to show documents with recent modifications (last 24h by default)--sinceoption to show documents changed since specified time (ISO8601, relative, or natural formats)--diff-tagsflag for grouped change visualization showing added/modified/deleted documents--show-deletedflag 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-onlyflag 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 --embeddingsinyams 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)
SqliteVecBackendfor 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 initor follow prompts shown inyams 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 initor via health prompts inyams 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_OPTIMIZATIONSCMake option (enabled by default on ARM64 Macs) - Native
-mcpu=apple-m1optimization flag for M1/M2/M3 processors - Added
-fvectorizefor 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