Skip to content

Release v0.8.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 14:43
dc2a6e0

What's New in v0.8.0

Added

  • PUT /memory β€” partial memory updates (#676) β€” Update any combination of content, tags, metadata, importance, pinned state, or memory_type on an existing memory. Content changes trigger embedding regeneration. Replaces the old pattern of forget+remember.
  • POST /memory/pin and POST /memory/importance endpoints (#660) β€” Dedicated endpoints for pin/unpin toggle (accepts pinned boolean) and importance score setting (0.0–1.0). Both return the updated memory on success.
  • Room ↔ Document junction table β€” schema v15 (#689, #692) β€” New room_documents table links rooms to documents bidirectionally. Endpoints: POST /room/document/list, PUT /room/document/add, DELETE /room/document/remove, POST /doc/room/list.
  • memory↔document cross-entity linking via [[doc-slug]] wikilinks (#691) β€” Memories containing [[doc-slug]] patterns are auto-wired to document references. Query endpoints: POST /memory/doc-refs (doc slugs for a memory) and POST /doc/mem-refs (memory IDs referencing a doc).
  • Schema v14: memory_type added to FTS5 index (#662, #664) β€” FTS5 full-text search now indexes memory_type, enabling keyword search by type. Migration rebuilds the FTS5 index from existing memories.
  • Trust scoring with feedback API (#718, #725) β€” uteke feedback helpful <id> (+0.05 importance) and uteke feedback unhelpful <id> (-0.10 importance). HTTP endpoint: POST /memory/feedback with { id, feedback: 'helpful'|'unhelpful' }. Importance clamped to [0.0, 1.0].
  • Jaccard token similarity as post-RRF reranking signal (#719, #723) β€” Token-level Jaccard similarity applied after RRF score normalization in recall_rrf. Configurable via jaccard_weight in config (default 0.0, opt-in). Module: jaccard.rs.
  • Auto-contradiction scan as Dream pipeline phase (#720, #726) β€” New Phase 4 (Contradict) in Dream maintenance pipeline. Scans top-200 recently updated memories for pairs with high tag overlap (Jaccard β‰₯ 0.3) + low embedding cosine similarity (≀ 0.6). Creates contradicts graph edges (older β†’ newer). Pipeline order: lint β†’ backlinks β†’ dedup β†’ contradict β†’ orphans β†’ compact β†’ verify.
  • Cross-entity enrichment in recall (#703, #704, #705) β€” --enrich flag and enrich parameter on recall endpoints add cross-entity links to results. Room summaries include referenced_documents. POST /memory/doc-refs and POST /doc/mem-refs for cross-entity queries.
  • Codecora theme adoption (#702) β€” VitePress docs now use @codecora/theme (Catppuccin Mocha, new base /uteke/docs/).
  • Room operations test suite (#701) β€” Comprehensive tests for room CRUD and room-document junction operations.
  • Cross-entity integration tests (#706) β€” Integration tests covering memory↔document linking, room-document junction, and wikilink resolution.

Changed

  • Entity/category filter pushed into core recall (#667) β€” Entity and category metadata filters now run inside the core recall candidate loop instead of post-fetch amplification. Eliminates the 10x fetch overhead for filtered queries.
  • Full memory detail fields in UnifiedSearchResult (#688) β€” Unified search results now include complete memory metadata (tags, importance, pinned, namespace, memory_type, source info) directly in the response, eliminating secondary lookups.
  • Salience/recency boosts enabled by default (#721, #722) β€” Default weights changed from 0.0 to 0.1 for both salience and recency. CLI flags now tri-state: --salience/--recency (explicit), --no-salience/--no-recency (disable), omit (default 0.1). No longer opt-in.
  • Dream pipeline expanded to 7 phases β€” Added Contradict phase between Dedup and Orphans. all_in_order() returns 7 phases. CLI --phases filter accepts contradict.
  • Docs restructured (#716) β€” Split getting-started into separate install/comparison/feature pages. Improved navigation and content organization.

Deprecated

  • hermes-memory-provider extension (#724) β€” The Hermes memory provider plugin is deprecated in favor of direct HTTP transport. Use uteke serve + HTTP API instead of the plugin wrapper.

Fixed

  • Search access count tracking (#687) β€” Search operations now correctly increment the access count on recalled memories, improving tier scoring accuracy.
  • Windows usearch buffer overflow (#684, #685) β€” usearch save/load now serializes via in-memory buffer first, avoiding C++ fopen failures on Windows due to MAX_PATH limits and file lock conflicts.
  • Metadata fields propagation (#682, #683) β€” Metadata fields set via POST /remember are now consistently propagated through all downstream operations (recall, search, export, contradiction detection).
  • Cross-entity linking bugs (#690) β€” Fixed edge cases in [[doc-slug]] resolution where slugs with special characters or missing documents produced incorrect edges. Fixed O(n) reverse scan in get_related().
  • Room-document validation (#698, #700) β€” Room-document junction endpoints now validate that both room_id and doc_slug exist before linking/unlinking.
  • Importance endpoint error dispatch (#697, #699) β€” Fixed POST /memory/importance to match Error::Validation instead of string matching.

Dependencies

  • Bumped usearch 2.25.3 β†’ 2.26.0 (#679)
  • Bumped uuid 1.23.4 β†’ 1.23.5 (#680)
  • Bumped actions/setup-node 6 β†’ 7 (#678)

πŸ“¦ Binaries

Each archive contains three binaries:

  • uteke β€” CLI tool
  • uteke-serve β€” HTTP server daemon
  • uteke-mcp β€” MCP server (stdio + HTTP)
Platform File
Linux (x86_64) uteke-x86_64-unknown-linux-gnu-v0.8.0.tar.gz
Linux (ARM64) uteke-aarch64-unknown-linux-gnu-v0.8.0.tar.gz
macOS (Apple Silicon) uteke-aarch64-apple-darwin-v0.8.0.tar.gz
Windows (x86_64) uteke-x86_64-pc-windows-msvc-v0.8.0.zip

πŸš€ Quick Start

# Quick install (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/codecoradev/uteke/main/install.sh | sh

# Pin a specific version
UTEKE_VERSION= curl -fsSL https://raw.githubusercontent.com/codecoradev/uteke/main/install.sh | sh

# Store a memory
uteke remember "Important context" --tags project

# Recall by meaning
uteke recall "what was that context?"

# Start server for fast AI agent access
uteke-serve --port 8767

Full changelog: https://github.com/codecoradev/uteke/blob/main/CHANGELOG.md