Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 16:24
· 119 commits to main since this release

0.1.0 (2025-08-15)

🍕 Features

  • search: add BM25 ranking for FTS results with env-tunable k1/b and safe fallbacks (134339e)
  • add Docker support and metrics instrumentation (db54259)
  • docker: add docker-compose support for multi-profile setups; enhance README with detailed Docker usage instructions; introduce integration testing capabilities with a dedicated tester tool (4b46586)
  • search: add FTS5-backed text search with automatic LIKE fallback; detect FTS5 at startup and sync via triggers; fix README dims typo to 768 (17c5b27)
  • database: add GetRelations convenience wrapper; all tests green (1d14e45)
  • search: add Hybrid Search strategy (RRF fusion of text + vector); env toggle HYBRID_SEARCH with tunable weights (0af0748)
  • add jsonschema annotations to argument types for improved documentation (9ed4378)
  • docker: add multi-stage Dockerfiles for SSE and STDIO transports; update Makefile to include docker build target; enhance README with tool summary adjustments (ea9cf3f)
  • add OpenAI and Ollama embeddings providers (cd64197)
  • add pagination support to search functions in database and server (a1d93b4)
  • metrics: add tool result size histogram with sampling; keep low label cardinality\n\n- New Recorder.ObserveToolResultSize(tool, size) with sampling via METRICS_RESULT_SAMPLE_N\n- Prometheus histogram tool_result_size with generic buckets\n- Keeps cardinality low (labels: tool only)\n\nRefs: #3 (6e0987a)
  • add update and health check tools to MCP server (863e6cc)
  • embeddings: add VoyageAI provider and dimension adapter; wire provider and deps (417aa3c)
  • graph: add Walk and ShortestPath functions for graph traversal; implement corresponding argument types and server handlers (cad80a7)
  • entrypoint: allow MODE to override CMD; fallback to CMD when MODE unset (ffc012c)
  • docker: consolidate Dockerfile for multi-transport builds; remove separate Dockerfiles for SSE and STDIO (6c6d194)
  • tests: enhance integration tester with additional delete operations and increase step capacity (5d233f1)
  • enhance MCP server functionality with new tools and improved project context handling (2ffa1ba)
  • enhance MCP tool handlers with input/output schemas and annotations (cf027de)
  • enhance vector extraction and add test for entity creation (e07ba40)
  • implement DatabaseManager for entity and relation management (69fc23c)
  • database: implement GetNeighbors function to fetch 1-hop neighbors; add NeighborsArgs type for input parameters; enhance metrics with pool stats and statement cache tracking (a232560)
  • implement main application logic for MCP Memory LibSQL server (d441beb)
  • implement multiple embeddings providers and enhance DBManager (475ffeb)
  • embeddings: implement providers for OpenAI, Ollama, Gemini, Vertex AI, and LocalAI; wire env-based selection and docs; batch-generate embeddings when missing; enforce EMBEDDING_DIMS match (555ab06)
  • implement statement caching in DBManager for improved query performance (73181e2)
  • entrypoint: improve model loading and timeout handling (91d3a94)
  • db: introduce soft cascade via trigger on entities delete; simplify DeleteEntity\n\n- Add trg_entities_delete_cascade to remove observations/relations on entity delete\n- Replace manual multi-table delete with single DELETE relying on trigger\n\nRefs: #7 (fd79d3b)
  • metrics: record result sizes across tool handlers with sampled histogram\n\n- Observe counts of entities/relations/updates per tool\n- Uses ObserveToolResultSize (sampling via METRICS_RESULT_SAMPLE_N)\n\nRefs: #3 (bc119bb)
  • db: refine capability probing to be per-project DB handle (vector_top_k, fts5)\n\n- Track caps per project with capsByProject map\n- Adjust search codepaths to consult/update per-project flags\n- Avoid global probe; initialize on getDB(project)\n\nRefs: #5 (f3b528d)
  • multi-project: require projectName; add per-project token auth with optional env toggles and auto-init; enforce across tools (9206f65)
  • search: robust FTS queries + prefix handling; fallback improvements\n\n- FTS tokenizer (unicode61) with tokenchars=:-_@./ and prefix index\n- buildFTSMatchExpr to support Task:* (entity_name/content) and quoted phrases\n- downgrade to LIKE on parse/table errors without disabling FTS globally\n- normalize nil slices in read_graph/search_nodes/open_nodes for schema compliance\n- prompts: document query syntax/tips; README: add query rules & examples (85467eb)
  • graph): add neighbors/walk/shortest_path tools with DB implementations and tests; feat(metrics: stmt-cache/pool gauges + periodic emission; docs: update tools table and metrics section; bench: add search benches (e83617e)
  • observability: structured error logs per tool with low-cardinality key=value format\n\n- Add logToolError helper and log on failures across handlers\n- Keeps logs machine-parseable without new deps\n\nRefs: #3 (21982fd)
  • db: transactional bulk deletes with chunking; rely on cascade trigger\n\n- DeleteEntities now wraps deletes in a single tx, uses IN-chunking (<=500)\n- DeleteObservations uses tx + chunking for ids/contents\n- Leverages trg_entities_delete_cascade for cleanup\n\nRefs: #8 (8a52e82)

🐛 Bug Fixes

  • install: check for existing binary before installation and remove it if found (7d5d088)
  • db: close cached prepared statements on shutdown to prevent descriptor leaks\n\n- Close all cached *sql.Stmt per project before closing DBs\n- Clear stmtCache buckets\n- Leave behavior unchanged otherwise\n\nRefs: #2 (633710f)
  • makefile: correct conditional check in docker-test target for proper string comparison (cd52b5f)
  • entrypoint: correct indentation for conditional checks and improve readability (b4d5672)
  • correct indentation in README.md and update switch case formatting in provider.go for better readability (bcbd138)
  • enhance transaction handling and error reporting in DBManager methods (479d1cf)
  • ensure proper locking and embedding dimensions in DBManager (fd3d1f0)
  • metrics: make InitFromEnv idempotent via sync.Once to guard metrics listener start\n\n- Add process-wide sync.Once in metrics package\n- Prevent double-start from main/server\n- No behavior change when METRICS_PROMETHEUS is unset\n\nRefs: #1 (9aeefb8)
  • docker-compose: pass proper -addr : in command array (755f2b9)
  • db: pre-check relation endpoints and trim inputs to prevent FK failures in UpdateRelations (3803e4a)
  • sse: reduce idle disconnects with keep-alive headers, no server timeouts, and 15s SSE heartbeat\n\n- Add Cache-Control/keep-alive and disable proxy buffering\n- Set server timeouts to 0 for long-lived connections\n- Emit periodic SSE comment heartbeats to keep intermediaries from closing connections\n\nRefs: #11 (f4107b7)
  • search: remove tautological err check in FTS5 branch (40ab843)
  • deps: update dependency @libsql/client to v0.15.9 (d94d318)
  • deps: update dependency @modelcontextprotocol/sdk to v1.15.0 (6e7f943)
  • deps: update dependency @modelcontextprotocol/sdk to v1.3.1 (a4a79c8)
  • deps: update dependency @modelcontextprotocol/sdk to v1.3.2 (feb5604)
  • deps: update dependency @types/node to v22.10.7 (fdf2fd3)
  • deps: update dependency @types/node to v22.16.2 (26389d9)
  • deps: update dependency dotenv to v16.5.0 (9bed22b)
  • deps: update dependency dotenv to v16.6.1 (a00fe7e)
  • deps: update dependency dotenv to v17 (bfb7a96)
  • update Makefile to use correct binary location for build and run targets (fc55316)
  • update project name retrieval in MCP server handlers to use ProjectArgs (700f207)
  • update SQL queries to use vector32 for embedding operations (9e55d0f)

📝 Documentation

  • metrics: add guidance; docs: fix neighbors row; pkg: complete package-mode APIs; tests: SSE graph tools E2E; db: hybrid toggles (19e3280)
  • readme: add provider curl verification examples and dims mapping table; clarify aliases and configuration (4e08d59)
  • Add README.md with project overview, features, installation, usage, and development guidelines (26e6b45)
  • search: document BM25 ranking, env tuning, and prompt guidance (7fda72c)
  • readme: document Hybrid Search (RRF fusion), env toggle and weights; add run example (a05c106)
  • document MODE behavior and Coolify build/run guidance (b279e7d)
  • README: enhance emphasis on EMBEDDING_DIMS requirements (783c350)
  • fix the name of the README file (3d9876e)
  • README: update client integration section with detailed transport options and example configurations for stdio and SSE; enhance usage patterns for Docker and raw binary execution (a7d379a)
  • readme: update EMBEDDING_DIMS value and enhance notes on dimensionality requirements (e1917e9)
  • update README and prompts guidance for dims adaptation, VoyageAI, and multi-project auth requirements (606953e)
  • Update README.md (00eddeb)
  • Update README.md (5720dab)
  • Update README.md (6644984)
  • Update README.md (b5a2f49)
  • Update README.md (a0381dd)
  • Update README.md to include new quick start examples, tool summaries, and detailed usage for bulk delete operations. Enhanced documentation for embedding dimensions and transport options. (62d546e)
  • update README.md with new transport options and embedding dimensions (843b60e)

🎨 Styles

  • remove unnecessary whitespace in mcp_types.go and config.go (051a448)

🧑‍💻 Code Refactoring

  • add buildinfo package for versioning and update server versioning in MCPServer (1d81b93)
  • server: add TODOs for annotations and prompts; clean up output schema handling in tool registration (82132f3)
  • search: clean up error handling in SearchEntities function (55b912b)
  • database): standardize formatting in GetRelations function; test(server: enhance concurrent client test for SSE server (6706c35)
  • Enhance multi-project support in database and server (183b6af)
  • database): simplify pagination logic in Search function; style(server: format code for consistency (2b04053)
  • tests): simplify loop constructs in SSE server tests; style(server: improve code formatting for clarity (0872f88)
  • improve recent entities query to include name sorting and update test database configuration (2abf13d)
  • search: introduce SearchStrategy interface and delegate; keep internal path for fallback (22dfe51)
  • Remove obsolete database management files and types (84b1db1)
  • integration-tester: replace inline duration calculations with elapsedMsSince function to ensure minimum duration of 1ms (000ca6f)
  • replace log.Fatalf with panic for schema creation errors in MCPServer (07928e0)
  • simplify build process in Makefile and install script (27d7ee7)
  • database: simplify entity deletion logic by removing transaction handling; directly delete observations, relations, and entities (b08d1cb)
  • db: standardize formatting and indentation in DeleteEntity and DeleteEntities functions (c564ead)
  • standardize ProjectArgs field annotations across argument types (06501a8)
  • docker: unify memory service, env-driven ports, add entrypoint for MODE; decouple build/run in Makefile (af34efa)
  • update build and installation process in Makefile and install script (3b131d4)
  • update database URL in README and config to use libsql.db (2040907)
  • update install script to ensure binary is built with CGO_ENABLED and set executable permissions (fd900cb)
  • update install script to use binary location parameter and improve server error handling (60b7c3d)
  • update Makefile to use BINARY_NAME variable for consistency (c480d7c)

✅ Tests

  • database: add benchmark tests for entity search and hybrid search functionality (1d021f9)
  • server: add concurrent SSE client test to stress connections (b41d719)
  • search: add hybrid fallback test and ensure hybrid disabled by default in tests (74c474e)
  • server: add SSE E2E test; fix duplicate schema resolution for open_nodes (9a0629d)
  • server: add SSE E2E tool-call test (create_entities → search_nodes → read_graph) with structured content decoding (a76b9f2)
  • search): add RRF fusion test with static provider; feat(database: allow overriding provider for tests (fe48615)

🤖 Build System

  • enable CGO for building the Go application; add unit tests for graph operations including shortest path and neighbor retrieval (ff6346d)

🔁 Continuous Integration

  • add CI (lint/test/build/integration) and Release (semantic-release + GHCR) workflows (c8cbcf1)
  • add GitHub Actions workflow to run make docker-test on PRs (36f608b)
  • add semantic-release configuration and remove outdated workflows (7f2c580)
  • enhance Docker testing workflow with integration tests (59db0f9)
  • ensure build deps installed and restrict integration job; bump setup-go to v5 in docker-test workflow (b736fe2)
  • init: introduce ci files (f7b0eff)
  • pin docker/compose action to v2.39.2 (stable release) (70d1cdc)
  • pin docker/compose action to v2.7.0 to ensure resolution (4947df4)
  • pin docker/compose-action@v2 to avoid resolution issues (0eb45fa)
  • refactor GitHub Actions workflow for Docker testing (5edf316)
  • update Docker Compose action to use main branch (070b434)
  • fix: Update entrypoint.sh (d5e768d)
  • fix-install: update message for existing binary removal during installation (705d301)
  • use docker/compose@v2 action (fix missing repo) (2846468)