Skip to content

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