yams/docs/changelogs/v0.3.md
2025-09-11 11:28:42 -04:00

7.1 KiB

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