v2.0.1

CaviraOSS/LongMemoryv2.0.1Mar 11, 2026by github-actions[bot]

AI Summary

This release marks a major version upgrade (2.0.0) introducing a stable library API with the `QMDStore` interface and reorganizing the codebase into CLI and MCP subdirectories. It also includes Node 25 support and several bug fixes for skill installation and launcher paths.

Key Highlights

  • Stable SDK API with `QMDStore` interface for lifecycle management
  • Unified `search()` method replacing the previous query/search split
  • MCP server rewritten as a clean consumer of the SDK
  • Runtime-aware `bin/qmd` wrapper for Node and Bun compatibility
  • Node 25 support via `better-sqlite3` bump to ^12.4.5

Breaking Changes

  • Unified `search()` replaces the old `query()`, `search()`, and `structuredSearch()` split
  • CLI and MCP code reorganized into `src/cli/` and `src/mcp/` directories
  • MCP server rewritten to consume the SDK instead of accessing the store directly

New Features

  • Stable library API (`QMDStore`)
  • Unified search function supporting auto-expansion
  • New utility functions: `getDocumentBody`, `getDefaultCollectionNames`, `Maintenance`
  • Node 25 compatibility
  • One-command skill installation via `qmd skill install`

Full Release Notes

## [2.0.1] - 2026-03-10

### Changes

- `qmd skill install` copies the packaged QMD skill into
  `~/.claude/commands/` for one-command setup. #355 (thanks @nibzard)

### Fixes

- Fix Qwen3-Embedding GGUF filename case — HuggingFace filenames are
  case-sensitive, the lowercase variant returned 404. #349 (thanks @byheaven)
- Resolve symlinked global launcher path so `qmd` works correctly when
  installed via `npm i -g`. #352 (thanks @nibzard)

## [2.0.0] - 2026-03-10

QMD 2.0 declares a stable library API. The SDK is now the primary interface —
the MCP server is a clean consumer of it, and the source is organized into
`src/cli/` and `src/mcp/`. Also: Node 25 support and a runtime-aware bin wrapper
for bun installs.

### Changes

- Stable SDK API with `QMDStore` interface — search, retrieval, collection/context
  management, indexing, lifecycle
- Unified `search()`: pass `query` for auto-expansion or `queries` for
  pre-expanded lex/vec/hyde — replaces the old query/search/structuredSearch split
- New `getDocumentBody()`, `getDefaultCollectionNames()`, `Maintenance` class
- MCP server rewritten as a clean SDK consumer — zero internal store access
- CLI and MCP organized into `src/cli/` and `src/mcp/` subdirectories
- Runtime-aware `bin/qmd` wrapper detects bun vs node to avoid ABI mismatches.
  Closes #319
- `better-sqlite3` bumped to ^12.4.5 for Node 25 support. Closes #257
- Utility exports: `extractSnippet`, `addLineNumbers`, `DEFAULT_MULTI_GET_MAX_BYTES`

### Fixes

- Remove unused `import { resolve }` in store.ts that shadowed local export