What's New
Remember Idempotency (SHA-256 Content Dedup)
Identical memories are never stored twice. Every remember() call now computes a content hash — if the same content already exists, it returns the existing memory ID instead of creating a duplicate. This makes the entire ingestion pipeline safe for retry, batch processing, and multi-agent scenarios.
Security Hardening
- API key validation with constant-time comparison
- Request size limits and input sanitization across all endpoints
- WebSocket authentication scoped per connection
- CORS and security headers on all responses
RocksDB Consolidation (20 → 3 DBs)
Column family migration reduced file descriptor usage by ~85%. Each user's data now lives in 3 RocksDB instances (storage, graph, shared) instead of 20 separate databases. Migration is lazy and transparent — old data directories are renamed on first access.
Zero-Config Local Setup
First run auto-generates an API key, downloads models (~38MB), and starts serving. No environment variables, no Docker, no configuration files needed.
Performance
remember() API response: <200ms (was 5-15s with sync processing)
- Fire-and-forget post-processing for embeddings, NER, and graph updates
- Shared RocksDB block cache capped at 256MB
- Entity embedding cache capped at 10K entries
- jemalloc enabled for RocksDB on Linux/macOS
Bug Fixes (40+)
- Fix retrieval_mode not skipping graph traversal in semantic recall
- Fix Windows MCP server spawn EINVAL and truncated UUIDs
- Fix read_memory returning 'undefined' when LLM sends
id instead of memory_id
- Fix stuck 429 rate limit on resource-constrained systems
- Fix mmap vector loading on Windows
- Fix backup/restore covering todos, reminders, facts, and audit logs
- Fix pre-migration directory cleanup across all modules
47 MCP Tools
Full GTD task management (todos, projects, subtasks, comments), reminders (time/duration/context triggers), backup/restore, and index health monitoring — all available to Claude, Cursor, and other MCP clients.
Updated TUI Dashboard
New recall view and projects/todos screenshots.
114 commits since v0.1.80. Full changelog: https://github.com/varun29ankuS/shodh-memory/compare/v0.1.80...v0.1.90
Install
# MCP (Claude Code / Cursor)
claude mcp add shodh-memory -- npx -y @shodh/memory-mcp
# Python
pip install shodh-memory==0.1.90
# Rust
cargo add [email protected]
# Docker
docker run -d -p 3030:3030 -v shodh-data:/data varunshodh/shodh-memory:0.1.90