Roadmap
Demand-gated — we build what people actually use. Track progress on GitHub Issues.
v0.16.0 — Fusion Default ✓ Released 2026-08-29
fusionis now the default recall strategy (#1123) — weighted RRF of the vector and hybrid rankings; LongMemEval 500Q R@5 0.946 vs 0.854 hybrid (+9.2 pts), zero config needed- Public benchmark page: dual-metric view (recall_any + strict recall_all) with comparison chart (#1141)
- Full-release validation: 500Q pure-default run, binary built from the exact release SHA
- Post-release fixes:
repair --reembedhandles NULL-embedding rows (#1146), CLA check bot allowlist (#1132), repair report reflects final index state (#1149)
v0.15.0 — Trust Across Surfaces, Portable Store ✓ Released 2026-08-19
- Supersession workflow (#1069) — mark a stale decision as superseded by a newer one; recall flags superseded entries
- Structural export/import (#1068) — full-store round-trip (rooms, graph, edges, documents, timeline) without loss
- UUIDv7 IDs for new memories — time-ordered at the front
- MCP
uteke_get+uteke_update(#1067), richer MCP outputs (#1066) uteke_dreamruns dry-run first — destructive passes need explicit confirmation (#1065)/exportkeeps namespace attribution (#1064); recall cache score parity (#1063)
v0.14.0–v0.14.3 — Hybrid Default, Scene Extraction, Surface Parity ✓ Released 2026-08-14–15
- Hybrid (RRF) is now the default recall strategy (#1005) — recall@5 85.4% → 98.0%; revert via
strategy = "vector"in[recall] - Scene-segmented LLM extraction with priority scoring (#1009) —
scene:<topic>tags, semantic types, importance values GET /lifecycle/deprecated+GET /guideendpoints (#1007, #1010)- Source provenance for extracted memories (#1012, #1013)
- Chunker fixes via mutation testing: heading duplication + multibyte infinite loop (#1024) — mutation score 50% → 97%
uteke-clicrates.io publish restored + release verify step (#1021, #1030)- HTTP & MCP recall
strategyparity — default hybrid, loud 400/JSON-RPC errors on invalid values (#1034, #1035, #1038) - Cross-compilation for Android/iOS targets (#1014), batch-mode update check skip (#1006), embedding pre-truncation (#1002)
- Release notes heredoc hardening — template file, no shell expansion (#1041)
v0.13.0–v0.13.2 — Safe Lifecycle, Offline Extraction, Security Hardening ✓ Released 2026-08-08–11
- Safe memory lifecycle (#928–#937) —
ACTIVE → DEPRECATED (30-day TTL, restorable) → PRUNED; soft-delete default,uteke lifecyclecommands + HTTP endpoints - Offline rule-based extractor as default (#890) — no LLM/API key needed for basic extraction
- Persistent embedding cache + lazy ONNX load (#896),
repair --reembed/--rebuild(#919, #901) - Update check on all surfaces (#990), NULL-embedding startup crash fix (#992, #993)
- Security batch (#966–#987): command injection fix, checksum abort, pinned-memory data-loss guard, UTF-8 panics, zero unsafe blocks, N+1 elimination, case-sensitive routes
- Branding refresh (#991) — "One memory. Every agent. Zero cloud."
v0.12.0 — Full-text Doc Search, Junction Tools, Windows Installer ✓ Released 2026-07-22
- FTS5 indexes full document content body — every word searchable, not just titles (#783)
- Room↔Document junction in CLI & MCP —
uteke room doc add/remove/list, 4 new MCP tools (#789) - Renamed MCP tool:
uteke_room_document→uteke_room_summary_document(#735) - Windows PowerShell installer (
install.ps1) +.zipbinary release (#781) POST /memory/feedbacktrust scoring endpoint (#718)- Bug fixes: deprecated memory leak in vector search, doc search scope
v0.11.0 — Hardening & Governance ✓ Released 2026-07-10
POST /doc/move#[serde(deny_unknown_fields)]— silent data loss fix (#833)- Recall score reports cosine similarity instead of RRF rank (#831)
- MCP/CLI store mismatch — hardcoded
~/.utekepaths fixed (#830) POST /consolidateaccepts string threshold viaflex_f32(#826)- API route drift guard test — 46 handler paths verified (#829)
- Open-source governance docs — Code of Conduct, PR template, YAML issue forms (#834)
v0.10.0 — Rust Edition 2024 ✓ Released 2026-07-05
- Rust edition 2021 → 2024 — minimum Rust 1.85 (#755)
POST /room/rememberendpoint — store + link to room in one call (#762)DELETE /forgetreturns 404 for non-existent IDs (#762)- Clippy lints after edition upgrade
v0.9.0 — Onboarding Wizard & API Versioning ✓ Released 2026-06-30
uteke onboard— interactive onboarding wizard (#743)- API URL versioning
/api/v1and/api/v2(#741) - Configurable dream pipeline thresholds (#742)
SECURITY.mdand PR template (#746)- Deprecated memory leak in vector search fix (#748)
- Windows ERROR_LOCK_VIOLATION fix (#747)
- Embedding model streaming download (#740)
- Contributors: @webhop123, @gnoviawan
v0.8.0 — Trust Scoring & Cross-Entity Linking ✓ Released 2026-06-29
PUT /memory— partial memory updates with embedding regen (#676)- Room↔Document junction table — schema v15 (#689)
- Memory↔Document linking via
[[doc-slug]]wikilinks (#691) - Trust scoring —
uteke feedback helpful/unhelpful(#718) - Jaccard token similarity reranking (#719)
- Auto-contradiction scan as Dream pipeline Phase 4 (#720)
- Cross-entity enrichment in recall (
--enrich) (#703) - FTS5 indexes
memory_type— schema v14 (#662)
v0.7.0 — HTTP API Expansion & Global Documents ✓ Released 2026-06-28
- Project-aware memory tagging (#616)
- OpenCode init support (#612)
- Maintenance HTTP endpoints —
/prune,/consolidate,/aging(#607) - Monitoring HTTP endpoints —
/importance,/orphans,/rebuild-backlinks(#608) - Extract/Import/Export HTTP endpoints (#604–#606)
- Document partial update CLI + HTTP (#589)
- MCP: pin/unpin, 6 room tools, tag management, doc update+move tools
uteke upgradecommand (renamed fromuteke update) (#603)- Documents now global — no namespace isolation, schema v13 (#614)
v0.5.0 — LLM Extraction & Hermes Integration ✓ Released 2026-06-27
- #46 LLM fact extraction on import
✓ Doneuteke import --extractdistills noisy text into atomic facts
- Hermes memory-provider plugin
✓ Done- Automatic recall + extraction, no daemon required
- Configurable embedding endpoint path
✓ Done - Default max_seq_length 256 → 2048
✓ Done - Public
store()accessor for downstream crates✓ Done - rusqlite 0.31 → 0.40 upgrade
✓ Done
v0.6.0 — Batch Import & Embed Fallback ✓ Released 2026-06-30
- Batch directory import (
--batch-dir)✓ Done- Auto-detection:
.md→ document,.txt/.jsonl→ memory extraction --as-doc/--as-memoryoverride,--recursive,--dry-run
- Auto-detection:
- Cloud embedding fallback
✓ Done- Optional
[embed_fallback]config for cloud API failover - Dimension validation at startup
- Optional
- Mode C (shell hook) docs
✓ Done - Migration upgrade regression test
✓ Done - Schema migration fix (#492)
✓ Done
v0.4.x — Polish & Stability ✓ Released 2026-06-22–24
- Hierarchical documents — depth-10 tree engine
✓ Done - Hybrid document search (semantic + FTS5 + RRF)
✓ Done - MCP tools:
uteke_context,uteke_dream✓ Done - Auto-dream (3-day cycle) + configurable maintenance daemon
✓ Done - Dedup on insert (cosine ≥ 0.95) + pinned memory protection
✓ Done - Binary version mismatch fix, release workflow fixes
✓ Done
v0.3.0 — Graph RAG ✓ Released 2026-06-21
- #401 Cosine auto-linking + dedup
✓ Donesimilar_to(≥0.80) andpossible_duplicate(≥0.92) edges
- #404 Configurable limits
✓ Done- Env vars +
[limits]config section
- Env vars +
- #405 Markdown/prose chunker
✓ Done- Heading-aware splitting, code block protection
- #406 Document engine
✓ Done- Wiki/knowledge base, schema v11, documents + document_chunks
- #407 Embed-aware chunking
✓ Done- Chunk size from
embedder.max_seq_len()
- Chunk size from
- #408 /graph API endpoint
✓ Done- Nodes + edges JSON for visualization
- #409 View-only API key
✓ Done- Dual-role tokens (admin + read-only)
- #410 Hermes plugin room_remember
✓ Done - #411 Document CLI commands
✓ Doneuteke doc create/get/list/delete/export
v0.2.1 — DX & Ecosystem ✓ Released 2026-06-21
- #337 OpenAI + Ollama embedding backends
✓ Done- reqwest-based HTTP backends, ONNX stays default
- #346 Typed auto-edges — self-wiring knowledge graph
✓ Done- Auto-wired memory edges on every
remember()
- Auto-wired memory edges on every
- #347 Timeline event tracking
✓ Done- Per-memory chronological audit log
- #348 Citation & source attribution
✓ Donesource,source_typecolumns (schema v10)
- #349 Memory type formalization
✓ Done- Typed categories with auto-inference
- #350 Backlink auto-generation
✓ Done- Bidirectional memory edges
- #351 Orphan detection
✓ Done- Find disconnected memories in the graph
- #352 Salience + recency dual-axis recall
✓ Done- Boost by memory type and age
- #353 Dream cycle
✓ Done- Coordinated maintenance pipeline (lint → backlinks → dedup → orphans)
- #381 MCP Streamable HTTP transport
✓ Done- Protocol version
2025-06-18,POST /mcpendpoint
- Protocol version
- #385 Hermes plugin auto-install
✓ Done- Direct install to
~/.hermes/plugins/uteke-tool/
- Direct install to
- #393
uteke room createcommand✓ Done - #395 Room operations in Hermes plugin
✓ Done - #402 Fix: plugin missing
__init__.py✓ Done - #403 Fix: contradictory server log + DB size label
✓ Done
v0.1.0 — Rooms, Intelligence & Pluggability ✓ Done
- #292 Time-travel queries
✓ Done- Recall/list at specific point in time (
--atflag) - Temporal validity filter: created_at, valid_from/valid_until, deprecated
- Recall/list at specific point in time (
- #249 Pluggable embedding models
✓ DoneEmbeddertrait abstraction for multiple backends- ONNX backend (default), future: OpenAI, Ollama
- #306 Room document view
✓ Done- Structured document output grouped by memory_type
- #305 Room summary
✓ Done- LLM-free room summary via tag clustering
- #304 Semantic room recall
✓ Donerecall_room_semantic()with--queryflag
- #184 Normalize tags junction table
✓ Done- Schema v5, memory_tags table, O(log n) lookups
- #252 Configurable recall threshold
✓ Done--min,--strict,[recall] min_scoreconfig
- #286 Room-based memory
✓ Done- Full room management with author attribution
- #181 Recall cache optimization
✓ Done- LRU cache with TTL,
--contextoutput format
- LRU cache with TTL,
- #246 Relationship graph
✓ Done--related --depth NBFS traversal
- #247 Smart memory decay
✓ Done- Composite importance scoring, pin/unpin
- #49 Benchmark suite
✓ Doneuteke benchcommand + LongMemEval retrieval harness
- #316 LongMemEval harness
✓ Done- Retrieval accuracy evaluation (Recall@k, NDCG@k)
v0.0.15 — CLI Performance ✓ Done
- #185 Lazy ONNX model loading
- CLI cold start: ~3s → ~20ms for non-embedding commands
- Model loaded on first use (
remember,recall,search)
- #131 Modular CLI refactor
- CLI args extracted to
cli.rs, logging tologging.rs
- CLI args extracted to
- Release workflow decoupled: parallel builds + crates.io publish
v0.0.14 — Security & Polish ✓ Done
- #134 Binary checksums & file permissions
- SHA256 checksum verification for ONNX model files
- Owner-only permissions (0700/0600) on database and model dirs
- #277 Indonesian README translation
- #100 TLS & Reverse Proxy docs
- Crates.io metadata in all Cargo.toml files
v0.0.13 — Search & Concurrency ✓ Done
- #250 FTS5 hybrid search with RRF
- FTS5 full-text search as parallel retrieval channel
- Reciprocal Rank Fusion (k=60) merges vector + FTS5 results
- Schema migration v1→v2 (auto, zero data loss)
- #251 Metadata enrichment via CLI flags
--entity,--category,--meta key:value,...on remember
- #209 Concurrent reads via RwLock
Mutex<VectorIndex>→RwLock<VectorIndex>for read-heavy workload
- #139 Vector index consistency
- Atomic save for
.keyssidecar file (temp + rename)
- Atomic save for
v0.0.10 — Codebase Quality ✓ Done
- #187 Split commands.rs into per-command modules
- #186 Split store.rs into focused modules
- #178 Remove all Hermes branding
- #196 Address all Cora code review findings
v0.0.9 — Website Migration ✓ Done
v0.0.8 — Stability & Architecture ✓ Done
- #130 Architecture: module split, #132 Input validation, #134 Binary checksums
- #138 Schema versioning, #144 Error handling rewrite
- Memory consolidation, import/export (JSONL)
v0.0.7 — Core Stability ✓ Done
v0.0.5–v0.0.6 — Docker & Hardening ✓ Done
v0.0.4 — Server Mode & Intelligence ✓ Done
v0.0.2–v0.0.3 — Foundation ✓ Done
v0.2.0 — Knowledge Graph & Scale ✓ Done
- #317 SQLite graph storage — optional knowledge graph mode
- #245 Code-aware embedding with AST chunking — entity extraction from code
- #293 Structured memory — nested JSON content
- #46 Import from external knowledge sources
- #55 Hermes plugin — uteke integration