yams/CHANGELOG.md
github-actions[bot] 37a98d64d8
chore(main): release 0.12.0 (#16)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-02 22:23:18 -04:00

96 KiB

Changelog

All notable changes to YAMS (Yet Another Memory System) will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Archived Changelogs

  • v0.7.x archive: docs/changelogs/v0.7.md
  • v0.6.x archive: docs/changelogs/v0.6.md
  • v0.5.x archive: docs/changelogs/v0.5.md
  • v0.4.x archive: docs/changelogs/v0.4.md
  • v0.3.x archive: docs/changelogs/v0.3.md
  • v0.2.x archive: docs/changelogs/v0.2.md
  • v0.1.x archive: docs/changelogs/v0.1.md

0.12.0 (2026-04-02)

Added

  • adding fuzz test for new download logic, removing r2 endpoint from tests, decoupling embedding / onnxruntime logic for work from previous commit (2e20416)
  • additional dev leakage cleanup for query and tick logic (106aa0b)
  • ann improvements (c00aded)
  • benchmark and validation testing against original system before swap (5715ae9)
  • benchmark fixes and instrumentation (39037c0)
  • cleaning up codebase and improving treesitter plugin (2381c90)
  • homebrew fixes for nightly formula install (58a8cf8)
  • massive commit. Download logic updates with expanding controls (stop, start, resume etc.) from daemon control. This is used in my archive openclaw agent. This commit also includes work to harden onnxruntime abi access. this should allow loading newer abi's when builds are pinned to 1.23.0. (86ec015)
  • moving changelogs to archive, implementing TurboQuant then will integrate in vector engine (147f5ca)
  • search improvements, test correctness fixes and bug fixes (9c201af)
  • search optimizations (expanding re-ranking work to recovery items that are not strong candidates based on how they are retrieved). Test improvements and TSAN/ASAN fixes. (d353e53)
  • test cleanups (0beaf58)
  • test coverage improvements, list hardening for wildcard usage, search and benchmark optimizations for retrievals (9e918b7)
  • test improvements, doc updates for download expansion (f3de749)
  • test suite improvements. Migrating remaining tests to catch2. Improving hnsw for usage in benchmarks (15e049d)
  • TurboQuant imrpovements (1bc6b7d)
  • TurboQuant integration for re-ranking, starting with benchmarks, then moving to integration (1692306)
  • TurboQuant now supports end-to-end packed-vector storage, reranking, and direct compressed ANN traversal with persisted per-coordinate calibration and validated multi-dimension performance. (8b39304)
  • TurboQuant search and ANN compression improvements. CLi client regression fixes (6874b22)
  • updating staging (c182221)

Fixed

  • bug fixes from test regressions and test infrastructure improvements (f4b3576)
  • bypass broken Gemma CoreML path and restore ANN/TurboQuant search (a0b4915)
  • ci fixes, coverage improvements and test improvements and bugs fixes (9091a9f)
  • cleaning up ENV leakage from debugging (49a106a)
  • cleaning up macos build detection logic (970f253)
  • cleanup storage override logic (29ef276)
  • cli regression fixes and turboquant improvements for storage retrieval logic (2922835)
  • code cleanup and bug fixes related to plugin system trust (782561b)
  • continued turboquant work. added additional api's and improved testing / perf tests (7609d63)
  • correct fixes in the search engine and windows build improvements (a4f4756)
  • correctness fixes for stale sqlite handles (apart of previous work), improvements in test suite and continue work for search optimizations (9c496e6)
  • create dir helper cleanup and windows build fix (7a71bf7)
  • expanding utf-8 sanitization and expand search tracing and test coverage (81cc38a)
  • fix cli commands and working on retrieval optimizations (dd93cf8)
  • fixing search regression when fuzzy search triggered and testing improvements (943393a)
  • macos homebrew packaging fixes (7a55178)
  • make Gemma CoreML fallback automatic (d5967de)
  • test coverage updates and address protobuf bug in search (554bf47)
  • tests: update turboquant_bench docs and fix unused-variable warning (7c3b4c0)
  • tsan fixes, test instrumentation improvements and improved sql handler logic (2fd9164)
  • windows build fixes and test instrumentation to resolve ANN precision issues (c32db6e)

Changed

  • build: centralize dependency discovery and trim Meson duplication (0261b90)
  • vector: remove dead thread-local TurboQuant plumbing from vector_index_manager (4ac90c7)

0.11.0 (2026-03-15)

Added

  • adding additional benchmark and validating onnxruntime model usage for embedding generations. Should be much faster (3101780)
  • adding additional tests, making the aggressive profile scaling better (a9bad18)
  • adding adidtional tasks (c7c5b63)
  • adding doctor check for keychain storage of r2 secrets (d09918a)
  • adding drain to constrexpr metrics (4d6c163)
  • adding fuzzing updates and fixes in ipc (c64a0b2)
  • adding perf optimizations for search and grep based on previous commit. Improving model logic for future embeddinggemma and improved colbert support. Re-ranking fixes for search to improve retrieval accuracy. (f3399c0)
  • additional improvements to reduce read and request contention (226cea7)
  • additional optimizations for faster responses and ASAN fixes (8e4b0df)
  • additional test and ASAN/TSAN fixes (bf11646)
  • additional test improvements, improved logic for ingestion queue to increase throughput and client stability (be77f1f)
  • address bugs with scaling, batching in daemon processing (1d255d5)
  • beginning sandbox support work and retrieval optimizations (6df2332)
  • benchmark expansion and normalization. Imrpoving metrics for repair and models (f4f3c05)
  • benchmark, model testing / enhancements, insertion performance updates (c831103)
  • bug fixes in daemon lifecycle, cleaning up tests and resolving test failures (2360828)
  • bump submodule (90dc507)
  • bumping homebrew module (3b24ea7)
  • daemon communication optimizations (c61796b)
  • early embeddinggemma support (7a8c261)
  • expanding graph usage in search (8401db1)
  • expanding graph utility in search, fixing Dockerfile build logic and improving search tracing logic for graph performance (211596a)
  • expanding instrumentation for optimizations and improvements for search / retrieval functions (80e0724)
  • expanding mcp UI support, improvements for slots for component usage and other socket server stabilizations (9254264)
  • expanding metrics for graphs ingestion pipeline and search pipeline. Fixing graph building duplication and improve metrics (d5048d5)
  • expanding search metrics for manual tuning (8252588)
  • expanding storage system to work with r2 backends via object storage plugin. Updating benchmarks and documentation (41a2282)
  • experimenting with parallelization of onnx reranker (1c2bd4f)
  • fixing bug with multiple processes access gpu, read/write pools now added in metadata repository, and updated plugins for opencode and vscode (94a4947)
  • fixing ci for windows packaging (a2ec698)
  • fixing sandboxing latency issue and streamlining all cli commands (minus doctor and daemon) with similar logic to detect if in sandbox so this works with codex (77c0613)
  • fixing TSAN issues in MCP. implementing cloudflare code mode https://blog.cloudflare.com/code-mode-mcp/ (91e2123)
  • fuzzing and config expansion. Moving to optimizing ingestion. Adding tunable embedding (chunk size etc.) (44a94ea)
  • fuzzing tooling (907cddf)
  • governance: implement Netflix Gradient2 adaptive concurrency limiters (4b2185d)
  • grep performance improvements (648a9e5)
  • hardening client reponses and improving search engine precision through optimization loop (513d430)
  • Hardening moodel logic for embedings. Adding trace-linked feedback event persistence checkpoint (8256917)
  • implementing embedding chunking strategy and two staged ingestion that processes then distributes document data (a44c2fb)
  • improvements for repair logic (2b1e498)
  • improving ingestion speed with kg batch and updating metrics to use constexpr (0c8ffea)
  • improving sql access under contention and expanding tuning logic with graph (37b95bf)
  • instrumented embedding for deeper insight into hotspots. Fixed CoreML scaling that resulted in high ram usage due to VRAM calculation. Expanded testing for embedding and draining of work (cc28b8a)
  • instrumenting search engine and graph tools to investigate poor graph retrieval performance (6d1ef52)
  • large update. Documentation update, config and plugin hardning and improvements related to loading trust. Exposed trust state in the doctor command with hints on improvements. Bug fixes and test improvements to reduce flakiness and TSAN issues (099bbef)
  • linking fix for onnx plugin for windows builds (8523b77)
  • lint run and sandbox detection improvements for non sandbox envs (b72eb95)
  • list and documentation updates (44733e9)
  • mcp and skill file update to reflect code mode (782d416)
  • mcp ui work and stabiliizations (96f19e2)
  • merge and site update (1d7b15d)
  • merge vscode settings (c973a24)
  • mobile bindings expansion, update mcp for graph operations and download tool hardening (c4ae922)
  • move newsletter to sourcehut (de6a5b1)
  • optimizations based on profile runs in hashing and work coordinator. test updates and correctness fixes (c49f0ba)
  • optimizing query logic to reduce hangs with large corpuses (2c8664b)
  • performance optimizations for list retrieval (cbb0cf6)
  • post installation fix for homebrew to enable packaged plugins (8e6c52c)
  • prompt update for code mode mcp (cb20b94)
  • recovery test improvements (00c3a76)
  • refactoring search graph logic and adding sematic graph edges for better relationships (efbf102)
  • release please (f9c94e8)
  • release please update (dd8b7a4)
  • reliability improvements for daemon lifecycle, submodule bumps, plugin improvements and search tuning optimizations based on benchmarks (a3fd217)
  • sandbox testing expansion (sandbox relates to how the daemon communicates in sandbox). Graph optimizations for retrieval and UX improvements. Will continue improving graph system (3b1a300)
  • search improvements, changelog fixes and test expansions for refactored code (2d412a5)
  • search improvements, changelog fixes and test expansions for refactored code (52b8d4c)
  • search optimizations resulting in improved recall. Updating vector embedding metrics traffic (96d8dca)
  • search/grep retrieval based improvements, test expansions and bug fixes (2e87c3c)
  • search: implement parallel post-processing (PBI-001 Phase 3) (c1d6a99)
  • security fixes for plugin install and adding additional UTF-8 string sanitization (8f06bd6)
  • setup.ps1 improvements (28c56d6)
  • setup.ps1 improvements (58ade70)
  • stability improvements for document ingestion (cd7c698)
  • staging plugin and brew update and mcp connection bug fix (6b6bd6b)
  • starting remote storage work, config v3, and config migration (8af4d35)
  • streamlining tuning and pool logic in daemon (dea5315)
  • submodule commits and test expansions (508f3c2)
  • test coverage improvements. Scaling bug addresses (b071112)
  • test hardening, added benchmark for multiclient and improve stability to support up to 16 clients before performance degrades, improved parallization and request handling in daemon ingestion pipeline (33821d9)
  • test improvements, ASAN fixes, and onnx model performance improvements (6a90f8c)
  • tuning improvements with expanded db metrics, package hardening and updated tests (8516a1b)
  • updating brew install guide (5a764ac)
  • updating docs with r2 benchmarks (ca79b36)
  • updating embedding default checking to paragraph (11ba59f)
  • updating homebrew formulas to correctly link nightly builds (4edc40a)
  • updating metrics for search and retrieval for future learning system. Additional tuning for search performance (8f38ee7)
  • updating release to properly sign packages (8174f2a)
  • versioning bumping opencode plugin (7ee2091)

Fixed

  • adding cap at onnx concurrency limit (0c8a5ee)
  • additional merge fixes and search improvements (55b2dc5)
  • additional update optimizations for plugin (1fdb890)
  • addressing test compilation issues (c638d9a)
  • apply tuning logic for profiles to GPU (04b55be)
  • ASAN fixes in daemon lifecycle. grep testing improvements (c3c4d1d)
  • bug fixes for resource limiting and onnxruntime model shapes for embeddings (b40b60f)
  • ci and repo updates (f7819d0)
  • ci fixes for test compilation (a8a9c74)
  • ci: recover release-please to release handoff (3e7624c)
  • ci: tolerate untagged release-please drafts (a650c25)
  • cleaning up postingest pipeline (8b79d8a)
  • code mode fixes and tests update for ci (49f0f90)
  • compiler issues addressed and homebrew updates (73b7d1e)
  • docker build fixes addition clamping logic for onbound memory group (90d28d7)
  • embeddings optimizations (d960839)
  • expose gpu usage, add command imrpovments and other bug fixes (a3522b8)
  • extract bug fixes and cleaning up unused session logic (7ca1afb)
  • fixing bind issue when generating large batches in repair (1e0ca15)
  • fixing daemon inflight request lock and pid regression (74e9346)
  • fixing daemon regression for startup logic resulting in ipc eof, expanding release please to update conan file version, expanding benchmark docs (d92f66d)
  • fixing ipc eof seen in streaming commands (154aa25)
  • Fixing issues that break windows release build. This should allow new msvc version Working on debug builds. (a0fd82e)
  • fixing macos coreml detection (567ee32)
  • fixing mcp download bug, updating socket server configs for more client connections (247f337)
  • fixing metrics system and removing deadcode (fc4b5ce)
  • fixing onnxruntime linking isuses which result in degraded state on linux (fdf2c32)
  • fixing pipeline ingestion of kg and embeddings. Still finding stalls and will continue to investigate (cc1212b)
  • fixing repair regression (e39273a)
  • fixing repairmanager logic, windows build issues, linting, resource scaling (448f5e4)
  • fixing rocm builds, removing dead code and some optimizations (e061229)
  • fixing s3 signing bug (92bb0c5)
  • fixing update logic for matches based on plugin (bb6c4b1)
  • fixing windows head ordering, reducing complexity in mcp server (debugging opencode, claude, droid failed to list tools issues) (33b83ae)
  • hardening release CI, addressing issues with onnxruntime linking on macos and linux and expanding benchmark (31eb110)
  • hardening socket timeout logic (bf65ad8)
  • homebrew: update template with correct install paths (435bb14)
  • homebrew: update template with working install paths (a597c6c)
  • homebrew: use pre-built binaries and update workflow (8c6913d)
  • house cleaning (a177027)
  • improvement of graph node source and retrieval logic and sandbox fixes in add command (38629de)
  • improving connection churn handling (a9ccee9)
  • improving graph repair (1a0667d)
  • improving socket and chunking reliability and robustness. Added better regression tests and errror logging logic for state connections (ff77c6b)
  • license header file updates, mcp improvements, windows build fixes (2946b23)
  • lifecycle regression fix and repair improvements (677756b)
  • mcp improvements for grep and search, improving helper usage (29de453)
  • mcp update (747adbc)
  • moved SocketServer read/write into dedicated IOCoordinator and fixed proxy socket paths resolution logic. Fixed TSAN race in SymSpell init (4ecdbe7)
  • moving submodule to https (e197573)
  • nightly fixes for homebrew, daemon fixes and install logic improvements (d6d9268)
  • onnx pool model scaling improvements, test fixes and UX improvements (0614229)
  • onnx: ensure GPU provider defines are passed to plugin (5b06ca7)
  • patching ipc:eof error in repair (0fdd4d8)
  • performance tuning improvements, windows build fixes and other improvements (46aa12c)
  • performance updates, v0.8.2 pre-staging (f6251f6)
  • pipeline scaling fixes, post ingestion benchmark updates (2184993)
  • refining ingestion logic (52303af)
  • release: initialize yams-repo submodule for R2 uploads (2fc5067)
  • removing claude/skills (1c800e0)
  • removing duplicate shim logic (0703a28)
  • removing mobile bindings from builds (8835d67)
  • repair command improvements and optimizations (3fd243f)
  • repair improvements and socketserver hardening (3c09bec)
  • repair: fix SIGSEGV crash, embedding failures, and runaway repair loops (ab06614)
  • repairmanager, post ingest and pipeline fixes (c4a7992)
  • resolving TSAN issues and expanding graph building to use gliner data (fc284f3)
  • reverted bad change. moved embedding generation to repair coordinator. Still tuning resource usage and governors (8a06575)
  • ROCM/MIGraphX onnxruntime test validate improvements (7764a0c)
  • SocketServer slots for proxy and cli requests, fixed tests and increase doctor request handling (430057f)
  • staging ROCM improvements (fd32c51)
  • test fixes annd windows build downgrade to c++20 (79ea83e)
  • test improvements (de5abde)
  • test improvements and CI harning for slower tests (4245090)
  • test updates and benchmark updates for grep (29b5172)
  • testing improvements and bug fixes in daemon logic for lifecycle management (014e12c)
  • TSAN fixes and sample updates (15980aa)
  • tuning improvements and better tests. Now working address memory issue of huge queue when ingesting allot of files (df1348f)
  • updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size (d86ac66)
  • updating gpg signing and homebrew logic for releases (ca7a491)
  • updating other cli commands to work with sandbox detection update (c4e61e8)
  • windows build fixes (2e966c4)
  • windows build fixes (0049dbe)
  • windows test fixes (901337b)

Performance

  • accelerate grep and search with RE2 regex and SIMD memmem (9bdef80)
  • mcp: eliminate throwaway RetrievalService instances in all MCP handlers (1ef15c6)

Documentation

  • update changelog; ignore local artifacts (27881ec)
  • update README with Homebrew installation and simplified init (f7d559b)
  • updating changelog (af6fdbd)

Maintenance

0.10.0 (2026-02-28)

Added

  • additional test and ASAN/TSAN fixes (bf11646)
  • bumping homebrew module (3b24ea7)
  • daemon communication optimizations (c61796b)
  • fixing sandboxing latency issue and streamlining all cli commands (minus doctor and daemon) with similar logic to detect if in sandbox so this works with codex (77c0613)
  • large update. Documentation update, config and plugin hardning and improvements related to loading trust. Exposed trust state in the doctor command with hints on improvements. Bug fixes and test improvements to reduce flakiness and TSAN issues (099bbef)
  • lint run and sandbox detection improvements for non sandbox envs (b72eb95)
  • mcp and skill file update to reflect code mode (782d416)
  • optimizations based on profile runs in hashing and work coordinator. test updates and correctness fixes (c49f0ba)
  • post installation fix for homebrew to enable packaged plugins (8e6c52c)
  • release please update (dd8b7a4)
  • sandbox testing expansion (sandbox relates to how the daemon communicates in sandbox). Graph optimizations for retrieval and UX improvements. Will continue improving graph system (3b1a300)
  • search/grep retrieval based improvements, test expansions and bug fixes (2e87c3c)
  • updating brew install guide (5a764ac)
  • updating homebrew formulas to correctly link nightly builds (4edc40a)
  • updating release to properly sign packages (8174f2a)

Fixed

  • fixing daemon inflight request lock and pid regression (74e9346)
  • improvement of graph node source and retrieval logic and sandbox fixes in add command (38629de)
  • test improvements and CI harning for slower tests (4245090)
  • TSAN fixes and sample updates (15980aa)
  • updating other cli commands to work with sandbox detection update (c4e61e8)

0.9.0 (2026-02-24)

Added

  • adding additional benchmark and validating onnxruntime model usage for embedding generations. Should be much faster (3101780)
  • adding additional tests, making the aggressive profile scaling better (a9bad18)
  • adding adidtional tasks (c7c5b63)
  • adding drain to constrexpr metrics (4d6c163)
  • adding fuzzing updates and fixes in ipc (c64a0b2)
  • additional improvements to reduce read and request contention (226cea7)
  • additional optimizations for faster responses and ASAN fixes (8e4b0df)
  • additional test improvements, improved logic for ingestion queue to increase throughput and client stability (be77f1f)
  • address bugs with scaling, batching in daemon processing (1d255d5)
  • benchmark expansion and normalization. Imrpoving metrics for repair and models (f4f3c05)
  • benchmark, model testing / enhancements, insertion performance updates (c831103)
  • bug fixes in daemon lifecycle, cleaning up tests and resolving test failures (2360828)
  • bump submodule (90dc507)
  • expanding graph usage in search (8401db1)
  • expanding mcp UI support, improvements for slots for component usage and other socket server stabilizations (9254264)
  • fixing bug with multiple processes access gpu, read/write pools now added in metadata repository, and updated plugins for opencode and vscode (94a4947)
  • fixing TSAN issues in MCP. implementing cloudflare code mode https://blog.cloudflare.com/code-mode-mcp/ (91e2123)
  • fuzzing and config expansion. Moving to optimizing ingestion. Adding tunable embedding (chunk size etc.) (44a94ea)
  • fuzzing tooling (907cddf)
  • governance: implement Netflix Gradient2 adaptive concurrency limiters (4b2185d)
  • Hardening moodel logic for embedings. Adding trace-linked feedback event persistence checkpoint (8256917)
  • implementing embedding chunking strategy and two staged ingestion that processes then distributes document data (a44c2fb)
  • improvements for repair logic (2b1e498)
  • improving ingestion speed with kg batch and updating metrics to use constexpr (0c8ffea)
  • improving sql access under contention and expanding tuning logic with graph (37b95bf)
  • instrumented embedding for deeper insight into hotspots. Fixed CoreML scaling that resulted in high ram usage due to VRAM calculation. Expanded testing for embedding and draining of work (cc28b8a)
  • mcp ui work and stabiliizations (96f19e2)
  • merge and site update (1d7b15d)
  • merge vscode settings (c973a24)
  • mobile bindings expansion, update mcp for graph operations and download tool hardening (c4ae922)
  • move newsletter to sourcehut (de6a5b1)
  • optimizing query logic to reduce hangs with large corpuses (2c8664b)
  • prompt update for code mode mcp (cb20b94)
  • recovery test improvements (00c3a76)
  • release please (f9c94e8)
  • search improvements, changelog fixes and test expansions for refactored code (2d412a5)
  • search: implement parallel post-processing (PBI-001 Phase 3) (c1d6a99)
  • stability improvements for document ingestion (cd7c698)
  • staging plugin and brew update and mcp connection bug fix (6b6bd6b)
  • streamlining tuning and pool logic in daemon (dea5315)
  • test coverage improvements. Scaling bug addresses (b071112)
  • test hardening, added benchmark for multiclient and improve stability to support up to 16 clients before performance degrades, improved parallization and request handling in daemon ingestion pipeline (33821d9)
  • test improvements, ASAN fixes, and onnx model performance improvements (6a90f8c)
  • tuning improvements with expanded db metrics, package hardening and updated tests (8516a1b)
  • updating embedding default checking to paragraph (11ba59f)
  • updating metrics for search and retrieval for future learning system. Additional tuning for search performance (8f38ee7)
  • versioning bumping opencode plugin (7ee2091)

Fixed

  • adding cap at onnx concurrency limit (0c8a5ee)
  • additional merge fixes and search improvements (55b2dc5)
  • additional update optimizations for plugin (1fdb890)
  • addressing test compilation issues (c638d9a)
  • apply tuning logic for profiles to GPU (04b55be)
  • bug fixes for resource limiting and onnxruntime model shapes for embeddings (b40b60f)
  • ci and repo updates (f7819d0)
  • ci fixes for test compilation (a8a9c74)
  • cleaning up postingest pipeline (8b79d8a)
  • code mode fixes and tests update for ci (49f0f90)
  • compiler issues addressed and homebrew updates (73b7d1e)
  • docker build fixes addition clamping logic for onbound memory group (90d28d7)
  • embeddings optimizations (d960839)
  • expose gpu usage, add command imrpovments and other bug fixes (a3522b8)
  • extract bug fixes and cleaning up unused session logic (7ca1afb)
  • fixing bind issue when generating large batches in repair (1e0ca15)
  • Fixing issues that break windows release build. This should allow new msvc version Working on debug builds. (a0fd82e)
  • fixing macos coreml detection (567ee32)
  • fixing mcp download bug, updating socket server configs for more client connections (247f337)
  • fixing metrics system and removing deadcode (fc4b5ce)
  • fixing pipeline ingestion of kg and embeddings. Still finding stalls and will continue to investigate (cc1212b)
  • fixing repair regression (e39273a)
  • fixing repairmanager logic, windows build issues, linting, resource scaling (448f5e4)
  • fixing rocm builds, removing dead code and some optimizations (e061229)
  • fixing update logic for matches based on plugin (bb6c4b1)
  • fixing windows head ordering, reducing complexity in mcp server (debugging opencode, claude, droid failed to list tools issues) (33b83ae)
  • hardening socket timeout logic (bf65ad8)
  • homebrew: update template with correct install paths (435bb14)
  • homebrew: update template with working install paths (a597c6c)
  • homebrew: use pre-built binaries and update workflow (8c6913d)
  • house cleaning (a177027)
  • improving graph repair (1a0667d)
  • improving socket and chunking reliability and robustness. Added better regression tests and errror logging logic for state connections (ff77c6b)
  • license header file updates, mcp improvements, windows build fixes (2946b23)
  • lifecycle regression fix and repair improvements (677756b)
  • mcp improvements for grep and search, improving helper usage (29de453)
  • mcp update (747adbc)
  • moved SocketServer read/write into dedicated IOCoordinator and fixed proxy socket paths resolution logic. Fixed TSAN race in SymSpell init (4ecdbe7)
  • moving submodule to https (e197573)
  • nightly fixes for homebrew, daemon fixes and install logic improvements (d6d9268)
  • onnx pool model scaling improvements, test fixes and UX improvements (0614229)
  • onnx: ensure GPU provider defines are passed to plugin (5b06ca7)
  • performance tuning improvements, windows build fixes and other improvements (46aa12c)
  • performance updates, v0.8.2 pre-staging (f6251f6)
  • pipeline scaling fixes, post ingestion benchmark updates (2184993)
  • refining ingestion logic (52303af)
  • release: initialize yams-repo submodule for R2 uploads (2fc5067)
  • removing claude/skills (1c800e0)
  • removing duplicate shim logic (0703a28)
  • removing mobile bindings from builds (8835d67)
  • repair command improvements and optimizations (3fd243f)
  • repair improvements and socketserver hardening (3c09bec)
  • repair: fix SIGSEGV crash, embedding failures, and runaway repair loops (ab06614)
  • repairmanager, post ingest and pipeline fixes (c4a7992)
  • resolving TSAN issues and expanding graph building to use gliner data (fc284f3)
  • reverted bad change. moved embedding generation to repair coordinator. Still tuning resource usage and governors (8a06575)
  • ROCM/MIGraphX onnxruntime test validate improvements (7764a0c)
  • SocketServer slots for proxy and cli requests, fixed tests and increase doctor request handling (430057f)
  • staging ROCM improvements (fd32c51)
  • test fixes annd windows build downgrade to c++20 (79ea83e)
  • test improvements (de5abde)
  • test updates and benchmark updates for grep (29b5172)
  • testing improvements and bug fixes in daemon logic for lifecycle management (014e12c)
  • tuning improvements and better tests. Now working address memory issue of huge queue when ingesting allot of files (df1348f)
  • updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size (d86ac66)
  • windows build fixes (2e966c4)
  • windows build fixes (0049dbe)
  • windows test fixes (901337b)

Documentation

  • update changelog; ignore local artifacts (27881ec)
  • update README with Homebrew installation and simplified init (f7d559b)
  • updating changelog (af6fdbd)

Maintenance

0.10.0 (2026-02-23)

Added

  • adding additional benchmark and validating onnxruntime model usage for embedding generations. Should be much faster (3101780)
  • adding additional tests, making the aggressive profile scaling better (a9bad18)
  • adding adidtional tasks (c7c5b63)
  • adding drain to constrexpr metrics (4d6c163)
  • adding fuzzing updates and fixes in ipc (c64a0b2)
  • additional improvements to reduce read and request contention (226cea7)
  • additional optimizations for faster responses and ASAN fixes (8e4b0df)
  • additional test improvements, improved logic for ingestion queue to increase throughput and client stability (be77f1f)
  • address bugs with scaling, batching in daemon processing (1d255d5)
  • benchmark expansion and normalization. Imrpoving metrics for repair and models (f4f3c05)
  • benchmark, model testing / enhancements, insertion performance updates (c831103)
  • bug fixes in daemon lifecycle, cleaning up tests and resolving test failures (2360828)
  • bump submodule (90dc507)
  • expanding graph usage in search (8401db1)
  • expanding mcp UI support, improvements for slots for component usage and other socket server stabilizations (9254264)
  • fixing bug with multiple processes access gpu, read/write pools now added in metadata repository, and updated plugins for opencode and vscode (94a4947)
  • fixing TSAN issues in MCP. implementing cloudflare code mode https://blog.cloudflare.com/code-mode-mcp/ (91e2123)
  • fuzzing and config expansion. Moving to optimizing ingestion. Adding tunable embedding (chunk size etc.) (44a94ea)
  • fuzzing tooling (907cddf)
  • governance: implement Netflix Gradient2 adaptive concurrency limiters (4b2185d)
  • Hardening moodel logic for embedings. Adding trace-linked feedback event persistence checkpoint (8256917)
  • implementing embedding chunking strategy and two staged ingestion that processes then distributes document data (a44c2fb)
  • improvements for repair logic (2b1e498)
  • improving ingestion speed with kg batch and updating metrics to use constexpr (0c8ffea)
  • improving sql access under contention and expanding tuning logic with graph (37b95bf)
  • instrumented embedding for deeper insight into hotspots. Fixed CoreML scaling that resulted in high ram usage due to VRAM calculation. Expanded testing for embedding and draining of work (cc28b8a)
  • mcp refactor and improvements. reverting list hydration patch from previous commit (e23d4b3)
  • mcp ui work and stabiliizations (96f19e2)
  • merge and site update (1d7b15d)
  • merge vscode settings (c973a24)
  • mobile bindings expansion, update mcp for graph operations and download tool hardening (c4ae922)
  • move newsletter to sourcehut (de6a5b1)
  • optimizing query logic to reduce hangs with large corpuses (2c8664b)
  • prompt update for code mode mcp (cb20b94)
  • recovery test improvements (00c3a76)
  • refactoring mcp and metadata_repository further. (fb76e2f)
  • release please (f9c94e8)
  • search: implement parallel post-processing (PBI-001 Phase 3) (c1d6a99)
  • stability improvements for document ingestion (cd7c698)
  • staging plugin and brew update and mcp connection bug fix (6b6bd6b)
  • streamlining tuning and pool logic in daemon (dea5315)
  • test coverage improvements. Scaling bug addresses (b071112)
  • test hardening, added benchmark for multiclient and improve stability to support up to 16 clients before performance degrades, improved parallization and request handling in daemon ingestion pipeline (33821d9)
  • test improvements, ASAN fixes, and onnx model performance improvements (6a90f8c)
  • tuning improvements with expanded db metrics, package hardening and updated tests (8516a1b)
  • updating embedding default checking to paragraph (11ba59f)
  • updating metrics for search and retrieval for future learning system. Additional tuning for search performance (8f38ee7)
  • versioning bumping opencode plugin (7ee2091)

Fixed

  • adding cap at onnx concurrency limit (0c8a5ee)
  • additional merge fixes and search improvements (55b2dc5)
  • additional update optimizations for plugin (1fdb890)
  • addressing test compilation issues (c638d9a)
  • apply tuning logic for profiles to GPU (04b55be)
  • bug fixes for resource limiting and onnxruntime model shapes for embeddings (b40b60f)
  • ci and repo updates (f7819d0)
  • ci fixes for test compilation (a8a9c74)
  • cleaning up postingest pipeline (8b79d8a)
  • code mode fixes and tests update for ci (49f0f90)
  • compiler issues addressed and homebrew updates (73b7d1e)
  • docker build fixes addition clamping logic for onbound memory group (90d28d7)
  • embeddings optimizations (d960839)
  • expose gpu usage, add command imrpovments and other bug fixes (a3522b8)
  • extract bug fixes and cleaning up unused session logic (7ca1afb)
  • fixing bind issue when generating large batches in repair (1e0ca15)
  • Fixing issues that break windows release build. This should allow new msvc version Working on debug builds. (a0fd82e)
  • fixing macos coreml detection (567ee32)
  • fixing mcp download bug, updating socket server configs for more client connections (247f337)
  • fixing metrics system and removing deadcode (fc4b5ce)
  • fixing pipeline ingestion of kg and embeddings. Still finding stalls and will continue to investigate (cc1212b)
  • fixing repair regression (e39273a)
  • fixing repairmanager logic, windows build issues, linting, resource scaling (448f5e4)
  • fixing rocm builds, removing dead code and some optimizations (e061229)
  • fixing update logic for matches based on plugin (bb6c4b1)
  • fixing windows head ordering, reducing complexity in mcp server (debugging opencode, claude, droid failed to list tools issues) (33b83ae)
  • hardening socket timeout logic (bf65ad8)
  • homebrew: update template with correct install paths (435bb14)
  • homebrew: update template with working install paths (a597c6c)
  • homebrew: use pre-built binaries and update workflow (8c6913d)
  • house cleaning (a177027)
  • improving graph repair (1a0667d)
  • improving socket and chunking reliability and robustness. Added better regression tests and errror logging logic for state connections (ff77c6b)
  • license header file updates, mcp improvements, windows build fixes (2946b23)
  • lifecycle regression fix and repair improvements (677756b)
  • mcp improvements for grep and search, improving helper usage (29de453)
  • mcp update (747adbc)
  • moved SocketServer read/write into dedicated IOCoordinator and fixed proxy socket paths resolution logic. Fixed TSAN race in SymSpell init (4ecdbe7)
  • moving submodule to https (e197573)
  • nightly fixes for homebrew, daemon fixes and install logic improvements (d6d9268)
  • onnx pool model scaling improvements, test fixes and UX improvements (0614229)
  • onnx: ensure GPU provider defines are passed to plugin (5b06ca7)
  • performance tuning improvements, windows build fixes and other improvements (46aa12c)
  • performance updates, v0.8.2 pre-staging (f6251f6)
  • pipeline scaling fixes, post ingestion benchmark updates (2184993)
  • refining ingestion logic (52303af)
  • reintroducing list hydration for all docs, updating repair logic (cc814df)
  • release: initialize yams-repo submodule for R2 uploads (2fc5067)
  • removing claude/skills (1c800e0)
  • removing duplicate shim logic (0703a28)
  • removing mobile bindings from builds (8835d67)
  • repair command improvements and optimizations (3fd243f)
  • repair improvements and socketserver hardening (3c09bec)
  • repair: fix SIGSEGV crash, embedding failures, and runaway repair loops (ab06614)
  • repairmanager, post ingest and pipeline fixes (c4a7992)
  • resolving TSAN issues and expanding graph building to use gliner data (fc284f3)
  • reverted bad change. moved embedding generation to repair coordinator. Still tuning resource usage and governors (8a06575)
  • ROCM/MIGraphX onnxruntime test validate improvements (7764a0c)
  • SocketServer slots for proxy and cli requests, fixed tests and increase doctor request handling (430057f)
  • staging ROCM improvements (fd32c51)
  • stop lifecycle improvements (36ac123)
  • test fixes annd windows build downgrade to c++20 (79ea83e)
  • test improvements (de5abde)
  • test updates and benchmark updates for grep (29b5172)
  • testing improvements and bug fixes in daemon logic for lifecycle management (014e12c)
  • tuning improvements and better tests. Now working address memory issue of huge queue when ingesting allot of files (df1348f)
  • tuning manage logic improvements, optimizations for ingestion and throughput optimizations (d0fcd2a)
  • updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size (d86ac66)
  • updating prompts, hydration logic and update mcp prompts (3bc6b54)
  • windows build fixes (2e966c4)
  • windows build fixes (0049dbe)
  • windows test fixes (901337b)

Documentation

  • update changelog; ignore local artifacts (27881ec)
  • update README with Homebrew installation and simplified init (f7d559b)
  • updating changelog (af6fdbd)

Maintenance

[v0.8.3] - Unreleased

Added

  • Search/grep CLI guidance for related results and improved graph suggestions in search.
  • Graph query efficiency improvements to support expanded search suggestions.

Fixed

  • Release-please version pinned back to the current release.

  • Reranker timeout handling now uses a retry guard to prevent transient failures.

  • MCP large-graph responses are more reliable, with improved relational graph migrations and repair-service health/auto-repair logic.

  • Repair now fixes graph data issues and improves response limit handling in MCP.

  • IPC retry logic hardened for better resilience under transient failures.

  • MCP download retrievability contract: download no longer returns a non-retrievable hash when post-index ingest fails. On ingest failure, response now sets indexed=false and clears hash to prevent follow-up get/cat calls from hammering daemon CAS with repeated "File not found" lookups.

  • Stuck-doc recovery enqueue: Fixed repair stuck-document recovery enqueueing PostIngestTasks to an unused InternalEventBus channel. Recovery now enqueues to post_ingest (consumed by PostInestQueue), so re-extraction actually runs.

  • Doctor FTS5 reindex SQLite TOOBIG: Added best-effort truncation retry for oversized extracted text and report truncated=<n> in output.

  • Embedding plugin output-shape compatibility: ONNX provider output handling now accepts provider-padded batch dimensions (output_B >= requested_B) and uses the requested prefix rows, preventing false shape-mismatch failures under MIGraphX/accelerated providers.

  • Embedding dim hint precedence: ONNX plugin no longer lets stale config hints override graph-inferred embedding dimensions when model metadata is available, reducing startup/runtime mismatches.

  • GPU escape hatch for stability triage: Added ONNX env controls to force CPU execution (YAMS_ONNX_FORCE_CPU=1 / YAMS_ONNX_DISABLE_GPU=1) for benchmark/repro stability when GPU EPs are unstable.

  • Cross-process MIGraphX execution guard: ONNX MIGraphX now uses a process-level device lock (default: enabled) so multiple daemon processes do not concurrently execute on the same GPU and trigger ROCm/HSA instability. Configure with YAMS_MIGRAPHX_PROCESS_LOCK (0 to disable) and optional YAMS_MIGRAPHX_LOCK_PATH.

  • Gradient limiter clamp safety: Prevented invalid limiter bounds (minLimit > maxLimit) in post-ingest stage limiter setup when a stage cap resolves to unset/zero, fixing debug-build aborts from std::clamp assertions during title stage completion.

  • Snapshot propagation consistency across add paths: yams add now propagates one effective snapshot ID per invocation across file, stdin, and directory ingest paths (daemon + local fallback), and preserves snapshot label/id when daemon directory ingest is translated to indexing requests.

  • Non-directory snapshot persistence parity: File/stdin document stores now upsert first-class tree_snapshots records (with label/collection metadata) so snapshot timelines no longer depend only on per-document tags.

  • ONNX dynamic tensor padding: Pads input tensors to the aligned actual token length instead of the model's max_seq_len (512). Short texts now skip hundreds of zero-padded positions, yielding ~70-85x throughput improvement for short inputs (93 texts/sec vs 1.6 texts/sec on CPU with nomic-embed-text-v1.5). Enabled by default; disable with YAMS_ONNX_DYNAMIC_PADDING=0. Sequence lengths are 8-byte aligned to balance SIMD efficiency with padding reduction.

  • ROCm / MIGraphX compiled-model caching: Enable save/load of compiled MIGraphX artifacts to avoid paying multi-minute compile_program costs when sessions are recreated (e.g., after scale-down/eviction). Defaults to caching hashed *.mxr artifacts under the model directory. Configure with YAMS_MIGRAPHX_COMPILED_PATH (directory; if a .mxr path is provided, its parent directory is used), YAMS_MIGRAPHX_SAVE_COMPILED, and YAMS_MIGRAPHX_LOAD_COMPILED.

  • ONNX batch warmup and auto-tuning: warmupModel() runs a 4-text batch embedding immediately after model load, pre-warming the ONNX Runtime session and measuring throughput. When YAMS_EMBED_DOC_CAP is unset, an auto-tuning sweep (batch sizes 4→8→16→32→64) selects the batch size with peak texts/sec as the default cap via TuneAdvisor::setEmbedDocCap(). Disable auto-tuning with YAMS_EMBED_AUTOTUNE=0.

  • ONNX session reuse: Pool-managed sessions now show 25x latency reduction on warm cycles (259ms cold → 10ms warm), confirming session creation cost is amortized after the first inference.

  • Hardware-adaptive pool sizing: TuneAdvisor::onnxSessionsPerModel() dynamically sizes the session pool based on available CPU cores and GPU state, preventing over-subscription on constrained hardware.

Diagnostics

  • ONNX ROCm diagnostic output: GPU diagnostic now reports cold vs warm embedding timing to distinguish first-run compilation from steady-state inference.

Changed

  • Balanced/base daemon scaling defaults: Updated no-env defaults for multi-client stability and fairness: YAMS_IO_THREADS default 2 -> 6, YAMS_CONN_SLOTS_MIN default 64 -> 256, YAMS_SERVER_MAX_INFLIGHT default 2048 -> 256, YAMS_SERVER_QUEUE_BYTES_CAP default 256MiB -> 128MiB, YAMS_IPC_TIMEOUT_MS default 5000 -> 15000, YAMS_MAX_IDLE_TIMEOUTS default 3 -> 12, and server writer budget fallback now defaults to 8MiB per turn.

  • MCP graph tool consolidation: Unified KG ingest under graph via action="ingest" and removed separate kg_ingest tool exposure to keep the MCP tool surface smaller and cleaner.

  • Benchmark reporting terminology: Normalized benchmark docs to use neutral retrieval result wording (instead of subjective "significant" labels), and explicitly tagged the current baseline as the SciFact benchmark result.

  • Post-ingest embedding fan-out (phased rollout):

    • Phase 1: Added centralized embedding selection policy (strategy + mode + caps/boosts) via ConfigResolver with config/env precedence.
    • Phase 2: Moved embed preparation upstream so post-ingest can queue prepared embed payloads; embedding service consumes prepared-doc fast-path.
    • Phase 3: Added extraction utility that returns both extracted text and optional content bytes, enabling downstream stage reuse and reducing duplicate content-store reads.
    • Phase 4: Added selection strategy toggle (ranked vs intro_headings) and queue observability counters for prepared-doc/chunk vs hash-only embed dispatch.
  • Embedding selection defaults codified: default strategy ranked, mode budgeted, max_chunks_per_doc=8, max_chars_per_doc=24000, heading_boost=1.25, intro_boost=0.75.

  • Embedding chunking defaults codified: default chunk strategy paragraph; default config favors sentence boundary flexibility in embedding pipeline (preserve_sentences=false, use_token_count=false unless overridden).

ONNX Embedding Benchmarks (CPU-only, macOS M3 Max, nomic-embed-text-v1.5 768-dim)

Benchmark Metric Result
Batch size sweep (64 texts) Peak throughput 55.9 texts/sec @ batch=16
Dynamic padding ON vs OFF (short texts) Speedup ~70-85x (111 vs 1.5 texts/sec)
Session reuse (5 cycles) Cold vs warm 259ms → 10ms (25.9x)
Concurrent inference (4 threads) Throughput 83.7 texts/sec

[v0.8.2] - February 2, 2026

Fixed

  • MCP stdio: Improved OpenCode compatibility during handshake/tool discovery (initialize capabilities schema, strict JSON-RPC batch responses, more robust NDJSON parsing).
  • MCP tools: Fixed mcp.echo tool inputSchema shape so tool schemas validate correctly.
  • FTS5 orphan detection: Fixed bug where orphan scan used synthetic hashes (e.g., orphan_id_12345) that never matched actual documents. Orphans were detected but never removed because the removal query used non-existent hashes. Now passes document rowids directly via Fts5Job.ids and calls removeFromIndex(docId) which deletes by FTS5 rowid.

Added

  • MCP grep tag filtering: grep tool now accepts tags and match_all_tags parameters, aligning MCP grep with CLI yams grep --tags capabilities.
  • Blackboard search tools: Three new OpenCode blackboard tools for discovering content:
    • bb_search_tasks — semantic search for tasks (mirrors bb_search_findings).
    • bb_search — unified cross-entity semantic search returning both findings and tasks.
    • bb_grep — regex/pattern search across all blackboard content with optional entity filtering.

Performance

  • Stdin routed through daemon: yams add - (stdin) now sends content directly to the daemon via inline content support instead of falling back to local service initialization (~40s startup penalty eliminated). Blackboard plugin also drops unnecessary --sync flag for further latency reduction.
  • Adaptive sync polling: --sync extraction polling now uses exponential backoff (5ms → 100ms) instead of fixed 100ms intervals. Small documents that extract via fast-track are detected on the first poll (~5ms) instead of waiting a full 100ms cycle.
  • Unified async add pipeline with parallel batching: yams add with multiple files now processes up to 4 files concurrently via addBatch() instead of sequentially. Single shared DaemonClient is reused across all add operations (CLI and MCP), eliminating per-file client construction overhead.
  • addViaDaemonAsync coroutine: New async entry point for all add operations. Replaces promise/future-per-attempt pattern with direct co_await, reducing overhead. MCP handleStoreDocument, handleAddDirectory, and download post-index all route through this single path.
  • Batch FTS5 orphan removal: New removeFromIndexByHashBatch() wraps all per-hash SELECT+DELETE operations in a single transaction with cached prepared statements. Replaces N individual autocommit transactions with 1 transaction for N hashes. Eliminates prolonged DB lock contention during orphan scans (~29k orphans previously caused ~58k individual transactions), which blocked CLI requests (yams stats, yams list) and caused timeouts/segfaults.
  • yams update skip CLI-side name resolution for daemon path: yams update --name no longer resolves names to hashes CLI-side before sending to the daemon. Eliminates ~40s ensureStorageInitialized() penalty and 1-4 redundant daemon round-trips. Name resolution now only occurs in the local fallback path.

[v0.8.1] - January 31, 2026

Added

  • yams list --metadata-values for showing unique metadata values with counts (useful for PBI discovery).
  • Post-ingest file/directory tracking: New metrics for tracking files and directories added/processed through the ingestion pipeline (filesAdded, directoriesAdded, filesProcessed, directoriesProcessed).
  • OpenCode Blackboard Plugin (external/opencode-blackboard/): Multi-agent blackboard architecture plugin for OpenCode using YAMS as shared memory. Enables agent-to-agent communication through structured findings, task coordination, and context grouping. Requires YAMS v0.8.1+.
  • Per-stage queue depth exposure: Real-time queue depth metrics for KG, symbol, entity, and title extraction stages accessible via daemon status.
  • Progress bars in CLI: Visual progress bars for queue utilization, worker pool, memory pressure, and pipeline stages in yams daemon status and yams status commands.
  • Unified status UI: yams status daemon-connected display now uses consistent section headers, row rendering, and status indicators matching yams daemon status.
  • Unique PBI selection guidance in AGENTS workflow (metadata search + list values).
  • Data-dir single-instance enforcement: Prevents multiple daemons from sharing the same data directory via flock-based .yams-lock file. Newer daemon requests shutdown of existing daemon and takes over, enabling seamless upgrades/restarts.

Performance

  • Reduced status tick interval: Governor metrics now update every 50ms (was 250ms) for more responsive CLI status output.
  • Batch snapshot info API: New batchGetSnapshotInfo() method eliminates N+1 query pattern in yams list --snapshots. Reduces 3N queries to 1 query for N unknown snapshots.
  • Enumeration query caching: getSnapshots(), getSnapshotLabels(), getCollections(), and getAllTags() now use a 60-second TTL cache with signal-based invalidation. Repeated calls return cached results, reducing database scans.
  • CPU-aware throttling: ResourceGovernor now monitors CPU usage alongside memory pressure. Admission control rejects new work when CPU exceeds threshold (default 70%, configurable via YAMS_CPU_HIGH_PCT). Prevents CPU saturation during large batch adds.

Fixed

  • Post-ingest tuning reconciles per-stage concurrency targets to the overall budget.
  • Post-ingest stage throttling now respects pause states and stage availability when computing TuneAdvisor budgets.
  • Post-ingest pollers back off when a stage is paused or has a zero concurrency cap to avoid runaway CPU.
  • Added a post-ingest stage snapshot log (active/paused/limits) at startup for easier tuning verification.
  • Grep integration tests create the ingest directory before daemon startup to avoid missing queue paths.
  • Post-ingest jobs reuse content bytes for KG/symbol/entity stages to avoid repeated content loads.
  • Post-ingest KG stage no longer triggers duplicate symbol extraction when the symbol pipeline is active.
  • External entity extraction reuses a single base64 payload per document across batches.
  • CLI snippet formatting is now shared between search and grep for consistent output.
  • yams list now uses the shared snippet formatter for previews.
  • yams grep honors --ext filters, accepts --cwd with an optional path, and treats **/* patterns as matching direct children.
  • yams list --metadata-values now aggregates counts in the database and respects list filters, avoiding large client-side scans.
  • Added metadata aggregation indexes to speed up key/value count queries.

Documentation

  • Updated YAMS skill guide with unique PBI discovery and tagged search examples.

[v0.8.0] - January 24, 2026

Breaking

  • Vector database migration required: sqlite-vec-cpp HNSW rewrite invalidates existing vector indices. After upgrading, run:
    yams doctor repair --embeddings   # Regenerate all embeddings
    
    Without this, search will fall back to FTS5-only (no semantic search).
  • sqlite-vec-cpp submodule: HNSW API changes and third-party library removal (soft deletion, multi-threading, fp16 quantization, incremental persistence, pre-filtering).

Added

  • MCP graph tool for knowledge graph queries (parity with CLI yams graph).
  • Graph: snapshot-scoped version nodes, contains edges for file→symbol, --dead-code-report.
  • Graph prune policy (daemon.graph_prune) to keep latest snapshot versions.
  • Download CLI: progress streaming (human/json) via DownloadService callbacks.
  • Symbol-aware search ranking: definitions rank higher than usages (YAMS_SYMBOL_WEIGHT).
  • Zig language support: functions, structs, enums, unions, fields, imports, calls.
  • ColBERT MaxSim reranking when the preferred model is a ColBERT variant.
  • Added support for the mxbai-edge-colbert-v0-17m model (embedding + MaxSim reranking, max-pooled and L2-normalized embeddings).
  • Vector DB auto-rebuild on embedding dimension mismatch (daemon.auto_rebuild_on_dim_mismatch).
  • Init now prompts for a tuning profile (efficient/balanced/aggressive) and writes tuning.profile.
  • Search config supports a dedicated reranker model (search.reranker_model) with CLI helpers (yams config search reranker).
  • WEIGHTED_MAX fusion strategy: Takes maximum weighted score per document instead of sum. Prevents "hub" documents from dominating via multi-component consensus boost. Used by SCIENTIFIC tuning profile for benchmark corpora.

Performance

IPC & Daemon

  • IPC latency reduced from ~8-28ms to ~2-5ms (connection pooling, async timers, cached config).
  • Daemon startup throttling: PathTreeRepair via RepairCoordinator, Fts5Job startup delay (2s), reduced batch sizes (1000→100).

Ingestion & Storage

  • Post-ingest throughput: dedicated worker pool, adaptive backoff, batched directory ingests.
  • In-memory chunking for storeBytes() - avoids temp file I/O for large documents.

Database & Metadata

  • KGWriteQueue: Batched, serialized writes to KnowledgeGraphStore via async writer coroutine. Eliminates "database is locked" errors during high-throughput ingestion by queueing KG operations (nodes, edges, aliases, doc entities) and committing in batches. Both symbol extraction and NL entity extraction now use deferred batching with nodeKey→nodeId resolution at commit time.
  • Prepared statement caching for SQLite queries - reduces SQL compilation overhead on repeated operations. Cached methods: setMetadata, setMetadataBatch, getMetadata, getAllMetadata, getContent, getDocument, getDocumentByHash, updateDocument, deleteDocument, insertContent.
  • setMetadataBatch() API for bulk metadata updates - 4x faster than individual calls.

Search & Retrieval

  • Batch vector/KG lookups, flat_map for cache-friendly access, branch hints, memory pre-allocation.
  • Concept boost post-processing now caps scan count and uses SIMD-accelerated matching with CPU feature auto-detect (fallback to scalar), reducing latency for large result sets.

Throughput Benchmarks (Debug, macOS M3 Max)

Benchmark Oct 2025 Jan 2026 Change
Ingestion_SmallDocument 2,771 ops/s 2,821 ops/s ~same
Ingestion_MediumDocument 56 ops/s 57 ops/s ~same
Ingestion_E2E (100 docs) - 9.2 docs/s new (KGWriteQueue)
Metadata_SingleUpdate 10,537 ops/s 17,794 ops/s +69%
Metadata_BulkUpdate(500) 7,823 ops/s 50,473 ops/s +6.5x
IPC_StreamingFramer - 3,732 ops/s new
IPC_UnaryFramer - 10,088 ops/s new

Experimental

  • libSQL backend: Default database backend with concurrent write support via MVCC. Enables up to 4x write throughput during heavy indexing. Configure with meson option database-backend (choices: libsql [default], sqlite).

    Installation: If Rust toolchain is available, libsql builds automatically from source via the meson subproject. Otherwise falls back to SQLite.

    # Ensure Rust is installed (for automatic build)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    # Or disable libsql to use standard SQLite
    meson configure -Ddatabase-backend=sqlite
    

    See libSQL for details.

Documentation

  • Embedding model recommendations: Added model comparison table to README. 384-dim models (e.g., all-MiniLM-L6-v2) recommended for best speed/quality tradeoff.

Changed

  • Reranking: Score-based reranking is now the default. Uses geometric mean of text and vector scores to boost documents with multi-component consensus. No external model needed. Cross-encoder model reranking is opt-in via enableModelReranking config option.
  • Tuning profile multipliers updated: efficient 0.5x, balanced 1.0x, aggressive 1.5x.

Fixed

  • FTS5 natural language queries: OR fallback now correctly triggers when AND query returns zero results. Previously, long queries like scientific abstracts would fail because the AND query returned nothing and the OR fallback condition was never met.
  • ONNX multi-threading on Linux/macOS: Removed forced single-threaded execution that was only needed for Windows. Non-Windows platforms now use intra_op_threads=4 by default, improving inference speed for 768-dim and larger models by 2-4x.
  • Hybrid search fusion: fallback to non-empty filePath when vector results have empty paths (hash→path lookup failures no longer cause result mismatches).
  • TSAN race in daemon_search(): pass DaemonSearchOptions by value to avoid stack reference escaping to coroutine thread.
  • TSAN race in handle_streaming_request(): check connection_closing_ before socket.is_open() to avoid race with handle_connection closing the socket.
  • Compression stats now persist across daemon restarts (Storage Logical Bytes vs CAS Unique Raw Bytes now show correct values).
  • CLI rejects ambiguous subcommands (e.g., yams search graph → use --query).
  • --paths-only search now returns results correctly.
  • yams watch waits for daemon ready; always ignores .git contents.
  • Expanded prune patterns for build artifacts and language caches.
  • Fixed ONNX model loading deadlock on Windows (single-flight pattern, recursive mutex).
  • Streaming: 30s chunk timeout, backpressure stops producer on queue overflow.
  • yams add returns immediately; hash computed async during ingestion.
  • Replaced experimental Boost.Asio APIs with stable async_initiate (fixes TSAN races).
  • File history now records snapshot metadata for single-file adds, not just directory snapshots.