Skip to content

Releases: abbudjoe/TribalMemory

v0.9.0 — Episode Memories

10 Feb 15:30

Choose a tag to compare

Episode Memories: Write-time Narrative Synthesis

The headline feature of v0.9.0 is Episode Memories — instead of complex RAG query planning at recall time, TribalMemory now detects related memories at ingest time and builds searchable episode summaries automatically.

How it works

  1. You store a memory via remember()
  2. The EpisodeDetector checks if it relates to an existing episode (via embedding similarity + LLM classification)
  3. If yes, it joins the episode; if it starts a new theme, it creates one
  4. The EpisodeSummarizer progressively updates a narrative summary
  5. That summary is stored as a first-class MemoryEntry — searchable via recall()

This dramatically improves multi-hop retrieval ("What houses did I look at?") without any changes to the recall API.

What's new

  • EpisodeStore, EpisodeDetector, EpisodeSummarizer services
  • 7 MCP tools + 7 HTTP routes
  • Feature-flagged: episodes.enabled: true
  • Async detection — remember() returns immediately
  • 112 episode tests (102 unit + 10 E2E)
  • Comprehensive docs: docs/episode-memories.md

Install / Upgrade

pip install --upgrade tribalmemory

Full changelog: https://github.com/abbudjoe/TribalMemory/blob/main/CHANGELOG.md
PyPI: https://pypi.org/project/tribalmemory/0.9.0/

v0.8.0 — Token Auth + Graph Visualization

09 Feb 22:53
ee96ebe

Choose a tag to compare

What's New

🔒 Token Authentication (#164)

  • tm_ prefixed bearer tokens (256-bit entropy)
  • Per-IP rate limiting (10 failures → 60s cooldown)
  • Persistent rate limit state
  • Audit logging
  • CLI: tribalmemory token generate/rotate/show
  • Legacy mode preserves backward compatibility
  • 82 auth tests (43 unit + 25 integration + 14 E2E)

🕸️ Knowledge Graph Visualization (#165)

  • Built-in web UI at /graph (Cytoscape.js, dark theme)
  • Interactive: search, type filters, multi-hop traversal (1-3 hops)
  • API: /v1/graph/stats, /v1/graph/entities, /v1/graph/neighborhood/{name}
  • Batch memory counts with SQLite chunking
  • Vendored Cytoscape.js (no CDN dependency)
  • 17 graph tests

📚 Documentation

  • docs/authentication.md — Complete auth setup guide
  • docs/graph-visualization.md — Graph UI and API guide

Install

pip install tribalmemory==0.8.0

Full Changelog: v0.7.3...v0.8.0

v0.7.3 — Project-scoped memory + deadlock fix

09 Feb 05:36

Choose a tag to compare

What's New

Project-Scoped Memory (#161)

  • New project parameter on store and recall APIs
  • Memories tagged with project:<name> for multi-project isolation
  • Cross-project dedup: same content allowed in different projects
  • Over-fetch strategy (3× limit) for project-filtered recalls
  • Batch endpoint support
  • Input validation (strip whitespace, reject blank)

Bug Fixes

  • LanceDB sync I/O deadlock at scale (#159) — All LanceDB operations wrapped in asyncio.to_thread(). Prevents event loop blocking with 10K+ memories.
  • O(n²) get_stats() performance — Replaced search-based pagination with to_arrow(columns=...) metadata scan.

Install

pip install tribalmemory==0.7.3

Full changelog

v0.7.2 — Fix similarity calculation & validation bugs

08 Feb 01:29

Choose a tag to compare

Fixed

  • Similarity scores could exceed 1.0 — LanceDB returns squared L2 distance, not L2. Fixed formula. Scores now bounded to [0, 1]. (#153)
  • min_relevance filter not enforced at high thresholds — Now works correctly at all thresholds. (#153)
  • Empty query accepted by recall endpoint — Now returns 422. (#154)
  • Invalid date formats accepted by recall endpoint — Now validates ISO 8601, returns 422. (#155)

Added

  • 63 new E2E tests (tribal_store, tribal_recall, error handling)
  • Similarity calculation unit tests

PyPI: https://pypi.org/project/tribalmemory/0.7.2/
Full changelog: https://github.com/abbudjoe/TribalMemory/blob/main/CHANGELOG.md

v0.7.1 — Fix broken tribal_store tool

07 Feb 22:20

Choose a tag to compare

Fixed

  • tribal_store tool was completely broken — Was sending sourceType: "deliberate" (invalid enum value), causing HTTP 422 on every call. Changed to "user_explicit". Added regression test.

Upgrade

pip install --upgrade tribalmemory

Full changelog: https://github.com/abbudjoe/TribalMemory/blob/main/CHANGELOG.md

v0.7.0 — Entity Extraction v2

07 Feb 20:38

Choose a tag to compare

Entity Extraction v2 — High-Quality Graph Construction

Complete rewrite of entity extraction for accurate knowledge graphs from personal conversations.

Highlights

  • Dependency-Parsed Relationships — spaCy SVO triples replace regex patterns. 37 verb mappings (uses, located_in, works_at, visited, prefers, purchased, etc.). Handles passive voice, compound subjects, prepositional phrases.
  • Entity & Relationship Validators — Quality filtering prevents garbage from entering the graph.
  • Extraction Context"personal" (default) vs "software" controls relationship extraction behavior.
  • spaCy Post-Processing — Fixes NER misclassifications (products wrongly tagged as PERSON).
  • Word Boundary Matching — Prevents false positives ("can" no longer matches "Glen Canyon Dam").
  • Batch Validationvalidate_batch() with LRU caching for large-scale extraction.
  • Auto-capture docs — README documents --auto-capture flag for Claude Code + Codex.

Install / Upgrade

pip install --upgrade tribalmemory

Quick Start

pip install tribalmemory
tribalmemory init --claude-code --codex --auto-capture --service

One command: MCP configured for both agents, auto-capture enabled, server running as a service.

Full changelog: https://github.com/abbudjoe/TribalMemory/blob/main/CHANGELOG.md

v0.6.2 — Batch Ingestion + Auto-Temporal Queries

07 Feb 13:36

Choose a tag to compare

What's New

Batch Ingestion Endpoint

  • POST /v1/remember/batch — Store up to 1000 memories in a single request
  • Concurrent processing with asyncio.gather (chunk size: 50)
  • Ideal for bulk ingestion, migrations, and benchmarking

Auto-Temporal Query Extraction

  • Date parsing from natural language queries
  • "What happened last week?" auto-filters to that date range
  • Powered by dateparser with relative date support
  • Works across all recall endpoints (HTTP, MCP, Python)

Install

pip install --upgrade tribalmemory

Full changelog

v0.6.1 — FastEmbed as core dependency

06 Feb 23:01

Choose a tag to compare

Fixed

  • FastEmbed is now a core dependency — No longer requires pip install tribalmemory[fastembed]
  • Removed unused openai dependency from core requirements
  • Simplified install: just pip install tribalmemory

Install

pip install tribalmemory
tribalmemory init
tribalmemory serve

v0.6.0: Zero-Cloud Embeddings

06 Feb 16:42

Choose a tag to compare

⚠️ Breaking Changes

FastEmbed is now the ONLY embedding provider.

This release removes OpenAI and Ollama embedding support entirely. FastEmbed provides local, zero-cloud embeddings with no API keys required.

Migration Guide

New installs: Automatic — just pip install tribalmemory[fastembed]

Existing installs with OpenAI/Ollama config:

# 1. Delete old embeddings (incompatible dimensions: 1536→384)
rm -rf ~/.tribal-memory/lancedb/

# 2. Upgrade
pip install --upgrade tribalmemory[fastembed]

# 3. Reinitialize config
tribalmemory init --force

# 4. Re-ingest your memories

Highlights

Zero-Cloud Operation by Default

  • No API keys required — works offline out of the box
  • FastEmbed model: BAAI/bge-small-en-v1.5 (384 dimensions)
  • Fully local embeddings, no network calls

Simplified Architecture

  • ~2,400 lines of code removed
  • No OpenAI/Ollama configuration complexity
  • Single embedding path = fewer bugs
  • Consistent behavior across all deployments

What's Removed

  • --openai, --ollama, --fastembed, --local CLI flags
  • OpenAIEmbeddingService class
  • API key parameters from create_memory_service()
  • a21/ experimental directory

Why This Change?

TribalMemory's mission is shared memory for AI agents. Every deployment should work the same way, with zero cloud dependencies by default.

FastEmbed provides excellent retrieval quality with:

  • 100% accuracy on LoCoMo benchmark (1986/1986 questions)
  • Local execution (no API latency)
  • No rate limits or costs

Cloud embeddings added complexity without meaningful benefit for our use case.

Full Changelog

See CHANGELOG.md for complete details.

v0.5.1 - Plugin Explicit Tools

06 Feb 05:59
766a4d7

Choose a tag to compare

v0.5.1

Added

  • Explicit tool registration for OpenClaw plugin ( method)
  • Plugin can now return empty array instead of defaulting to all tools

Changed

  • Plugin SDK updated for better tool control

Full Changelog: v0.5.0...v0.5.1