All notable changes to TeleMem are documented here. The format follows Keep a Changelog.
- MCP registry name uses the canonical GitHub org casing
(
io.github.TeleAI-UAGI/telemem) so OIDC namespace authorization and the PyPI ownership marker match.
- Published to the official MCP registry
as
io.github.teleai-uagi/telemem:server.jsonmanifest, PyPI ownership marker, and an OIDC-authenticated publish job in the release workflow. - New
telememconsole script (alias oftelemem-mcp) souvx telememruns the MCP server with zero install, per the registry convention. - Evaluation charter (
docs/evaluation.md) aligned with The Benchmark Theatre: baselines before architecture, constant base model, deterministic scoring, audited judges, multi-seed reporting with Wilson intervals, cost/latency as first-class metrics, conflict-of-interest disclosure. - LongMemEval harness v2 implementing the charter:
--system {telemem, full-context, grep},--seeds N(mean ± std), per-type Wilson 95% intervals, and--validate-judgeadversarial judge auditing. The charter applies to new runs; existing published results are unchanged pending team review.
- The MCP SDK (
mcp>=1.6.0) is now a core dependency — TeleMem is MCP-ready out of the box;telemem[mcp]remains as a no-op alias.
First release published to PyPI: pip install telemem.
- Provider config examples with offline tests: Ollama (fully local stack),
DeepSeek, and Moonshot (Kimi) —
config/config.<provider>.yaml+tests/test_providers.py. - Framework integration examples:
examples/langchain_memory.pyandexamples/llamaindex_memory.py. - Documentation site at https://teleai-uagi.github.io/telemem/ (mkdocs-material, auto-deployed via GitHub Pages).
- LongMemEval evaluation harness:
baselines/longmemeval/run_telemem.py(experimental; results pending).
- Moved the research/evaluation variant of
TeleMemoryout of the shipped package:telemem/main.py→baselines/telemem/telemem_legacy.py. It backs the ZH-4O benchmark harness (online_query,offline_build_graph_json) and needstenacity/pytz, which are not core dependencies. Also fixed the brokeneval.pyimport in the TeleMem baseline.
- mem0-compatible return values:
Memory.add()/add_batch()now return{"results": [{"id", "memory", "event"}, ...]}andMemory.search()returns{"results": [...]}(previouslyaddreturnedNoneandsearchreturned a pre-joined string), makingimport telemem as mem0a true drop-in replacement. - New
telemem[video]extra. The default install is now lightweight; the video pipeline dependencies (opencv, yt-dlp, nano-vectordb, azure-identity) moved out of the core requirements.telemem[all]installs everything. telemem.mm_utilsnow exposes lazy exports (MMCoreAgent,process_video,init_single_video_db,decode_video_to_frames,extract_choice_from_msg), with a clear install hint when the video extras are missing.- GitHub Actions CI (pytest on Python 3.10–3.12 + package build check) and a tag-triggered PyPI release workflow using trusted publishing.
CONTRIBUTING.md,CITATION.cff, issue and pull-request templates.
Mem0ValidationErrorwas raised but never imported (aNameErroron invalidmessagesinput)._sync_memory_to_vector_storereturned an always-empty list due to a variable typo; stored memories are now reported back to the caller.from telemem.mm_utils import MMCoreAgent(as documented in the README) did not work becausemm_utils/__init__.pywas empty.- Importing
telememno longer mutatessys.pathor the root logging level.
- Model Context Protocol (MCP) server:
telemem-mcpwith 8 tools (add_memory,search_memories,get_memories,get_memory,update_memory,delete_memory,delete_all_memories,memory_history) over stdio / SSE / streamable-http (docs/MCP.md). - uv-managed environment with committed
uv.lock.
- Stability improvements; TeleMem Tech Report updated to v4 on arXiv.
- Core improvements; MiniMax provider support via OpenAI-compatible API.
- Memobase and RAG baselines; evaluation harness improvements.
- Initial public release: character-aware long-term memory, LLM-based semantic
clustering and deduplication, FAISS + JSON dual storage, batch writing, and
the multimodal video pipeline (
add_mm/search_mm).