Releases: sachitrafa/YourMemory
Release list
v1.4.26 — Temporal Reasoning + LongMemEval Benchmarks
What's new
Temporal reasoning boost
Memory retrieval now understands time expressions. When you ask "what did we discuss recently?" or "what changed last week?", the system resolves the expression to a concrete date window and applies a +0.25 score boost to memories whose created_at falls inside it — surfacing recent context over older memories with higher base scores.
Supported expressions: recently, last week, yesterday, this month, last N days, and more.
yourmemory-ask — query memory from the terminal
No Claude API call. No MCP client. Just ask directly against the local server:
yourmemory-ask "what database does this project use?"
yourmemory-ask "what did we decide about authentication?"Streams the answer back to stdout. Useful for scripts, debugging, or quickly checking what's stored before starting a session.
Memory dashboard — http://localhost:3033/ui
A local web UI that starts automatically alongside the MCP server. Shows all stored memories with:
- Strength bars — visualizes Ebbinghaus decay in real time (strong → fading → critical)
- Category filter — browse by
fact,strategy,assumption,failure - Sort by strength or recency
- Per-agent tabs — see memories scoped to each connected agent separately
No setup needed. Open it while Claude is running to watch memories form and decay.
created_at support in store_memory
Pass a timestamp when storing a memory — useful for backfilling historical context or seeding a database with past decisions.
store_memory(content="Switched to BM25 + vector hybrid retrieval", created_at="2026-05-17")Works across all three backends: SQLite, DuckDB, and Postgres.
noGraph ablation flag
New noGraph: true option on the retrieve endpoint skips entity graph expansion and returns BM25 + vector only. Useful for benchmarking, debugging, or low-latency use cases.
Benchmarks
LongMemEval-S — 89.4% Recall@5
500 questions, ~53 distractor sessions each. Full breakdown by question type:
| Question type | Recall@5 |
|---|---|
| single-session-user | 72.9% |
| single-session-assistant | 98.2% |
| multi-session | 95.5% |
| temporal-reasoning | 84.2% |
| knowledge-update | 90.0% |
Script: benchmarks/longmemeval_temporal.py
Temporal boost ablation — honest finding
The +0.25 boost adds 0pp on LongMemEval's temporal-reasoning questions. Those questions are event-anchored ("when did X happen?") not window-anchored ("recently"). The boost is designed for the latter — real assistant queries where the user says "recently" or "last week". Full write-up in BENCHMARKS.md.
Install / upgrade
pip install --upgrade yourmemory
yourmemory-setupThen open http://localhost:3033/ui to see the dashboard.
Full changelog
feattemporal reasoning boost insrc/services/temporal.pyfeatyourmemory-askCLI — query memory without Claude, streams to stdoutfeatmemory dashboard at/ui— strength bars, decay visualization, agent tabsfeatcreated_atfield onstore_memoryMCP tool + all three DB backendsfeatnoGraphflag on retrieve endpoint for BM25+vector-only modedocsLongMemEval benchmark results published to README and BENCHMARKS.mddocsREADME overhaul — Table of Contents, all badges, cleaner install flowchoreversion bump 1.4.25 → 1.4.26, published to PyPI
v1.3.0 — Hybrid Vector + Graph Engine
What's new in v1.3.0
Hybrid Vector + Graph Memory Engine
- Two-round retrieval: vector search (Round 1) + BFS graph expansion (Round 2) — surfaces related memories that score below the similarity cut-off
- Semantic edges: graph edges created by cosine similarity (≥ 0.4 threshold), not insertion order. Edge weight = similarity × verb weight
- Chain-aware pruning: a decayed memory is kept alive if any graph neighbour is still strong
- Recall propagation: recalling a memory boosts graph neighbours' recall count automatically
- NetworkX backend (zero setup, default) — persists at
~/.yourmemory/graph.pkl - Neo4j backend (opt-in) —
pip install 'yourmemory[neo4j]', setGRAPH_BACKEND=neo4j
Multi-Agent Shared & Private Memory
- API key authentication (
ym_prefix, SHA-256 hashed — plaintext never stored) - Per-memory
visibility:shared(all agents) orprivate(owner only) can_read/can_writescopes per agent registrationrevoke_agent()for instant key invalidation
License
Switched to CC-BY-NC-4.0 — free for personal, educational, and research use. Commercial use requires a separate agreement (mishrasachit1@gmail.com).
Install
pip install yourmemory==1.3.0v1.2.1 — DuckDB default, Cline support, Python 3.14 compatible
What's new
- DuckDB replaces SQLite as default backend — same recall quality as pgvector, zero setup
yourmemory-pathcommand — prints full executable path + ready-to-paste config for Cline, Cursor, Windsurf- Python 3.14 compatible — spaCy 3.8.13+ resolves Pydantic v1 issues
- Cline / Cursor support — full stdio MCP compatibility, importance validation fixed
- Optional deps —
pip install yourmemory[postgres]for pgvector,yourmemory[sse]for HTTP transport - Fixed stdout corruption (MCP JSON-RPC protocol fix)
Install
pip install yourmemory==1.2.1Quick start
pip install yourmemory
yourmemory-path # get your Cline/Cursor configv1.0.3 — SQLite default, zero-setup install
What's new
- Zero infrastructure: SQLite default backend, created automatically at
~/.yourmemory/memories.db - pip install yourmemory — two commands to full MCP memory
- Semantic deduplication with spaCy heuristics (reinforce / replace / merge)
- Dual backend: SQLite (default) · PostgreSQL + pgvector (opt-in via DATABASE_URL)
- Automatic 24h decay job — no cron needed
- +16pp better recall than Mem0 on LoCoMo benchmark