Changelog
Release notes for Rekall — Neural Search. What shipped, when, across the CLI, REST API, MCP server, and both SDKs.
All notable changes to Rekall are recorded here. Versions are path-additive: the API is
version-prefixed (/v1) and additive changes never break clients.
v0.2.0 — July 2026
Closed API positioning. Rekall is now a closed API: the SKIM engine runs server-side
and is reached only through the Rekall API. Getting started is request access
→ API key → SDK or CLI client. The CLI is distributed from the dashboard as an API
client (rekall login); the engine no longer runs on the end user's machine.
- Real 2.6B-token SKIM checkpoint in production. The production Go engine now serves the parity-tested 2.6B-token SKIM checkpoint. (Research-harness figures in the benchmarks remain the PyTorch measurements; production-engine latency is labeled separately and still being optimized.)
- Versioned model artifacts —
REKALL_MODEL_URIpoints a self-hosted engine at a versioned model folder, from a local path or ans3:///gs://bucket. - Project-scoped knowledge storage — stores live in per-project subfolders under
REKALL_DATA_DIR, withREKALL_PROJECTas the default. - Enterprise self-hosting — the licensed binary + model artifact, deployable on Cloud Run, Kubernetes, or VMs. See Self-hosting (Enterprise).
v0.1.0 — July 2026
Initial release. Neural Search, powered by SKIM, across a CLI, a REST API, an MCP
server, and TypeScript + Python SDKs. Two engines ship: skim-v1 (the neural
reasoning loop) and lexrank (an always-available lexical-hybrid fallback). Every
search response reports which one served it.
CLI
A single static binary — an API client for Rekall, distributed from the dashboard.
rekall ingest --demo— ingests a bundled 8-document sample corpus and suggests reasoning queries it is built to answer (contradiction, multi-hop, cross-doc).rekall login— browser auth into~/.rekall/config.rekall ingest <path…> --store <name>— files, folders, globs;--watch,--format auto|text|pdf|md,--strict.rekall search "<query>" --store <name>—--hops,--max-results,--trace,--json, and-iinteractive REPL.rekall stores(list / create / stats / delete) andrekall docs(list / delete).rekall serve— the enterprise self-hosted engine (licensed).rekall mcp— stdio MCP server.rekall keys(create / list / revoke).
REST API
OpenAPI 3.1, published at /v1/openapi.json.
- Stores — create, list, get, delete. Addressable by name or id.
- Documents — ingest (1–1000 per request, upsert semantics, no reindex), list,
get info, delete.
Idempotency-Keysupported on ingest. - Search — the multi-hop reasoning loop. Returns
passages, calibratedconfidence, adaptivehops_used, an optional hop-by-hoptrace, server-measuredlatency_ms, and theenginethat served it. - Health — unauthenticated
status/version/engine. - Structured, prescriptive errors — every error carries
type,message, and afix. Path-versioned/v1; additive changes never break clients.
MCP server
rekall mcpexposes stores as MCP tools over stdio — one line of config gives Claude Code, Claude Desktop, and Cursor millisecond inner-loop retrieval.
TypeScript SDK — rekall-search
- Zero-dependency, pure
fetch; runs on Node 18+, Bun, Deno, and edge runtimes. rekall.store(name)get-or-create; fully typedSearchResult/Passage/TraceStep.- Streaming ingest (
ingestStream) and a Node files helper (ingestFiles). - Typed error subclasses carrying the server's
fix; automatic jittered-backoff retries on idempotent operations.
Python SDK — rekall-search
- Sync-first
RekallplusAsyncRekall; dataclass results. search_manyfor batched offline evaluation;ingest_stream/ingest_filesfor large corpora.- In-package framework adapters:
rekall.integrations.langchain.RekallRetriever,…llamaindex.RekallRetriever, and a genericas_tool()for agent frameworks. - Typed exceptions mirroring the TypeScript SDK;
RekallError.fixcarries the remedy.
Self-hosting (Enterprise)
rekall serve— the identical API on your own CPU-only box, under an enterprise license. Same SDKs, cloud or on-prem — onlyREKALL_BASE_URLchanges.
Coming next (not in v1)
Explicitly out of scope for v1, tracked for future releases:
- Managed connectors (Drive / Notion / Slack) — v1 wins on the primitive first.
- In-store multi-tenancy partitions — the v1 answer is one store per tenant; stores are cheap.
- Reranking / answer-synthesis endpoints — Rekall returns passages, not answers, by design; pairing with an LLM stays the caller's choice.
- Rust / Go SDKs — generated from OpenAPI when demand shows.