Spaces:
Running
Running
| # Changelog | |
| All notable changes to agentmemory-python are documented here. | |
| The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions track the Python reimplementation, not the upstream Node.js agentmemory releases. | |
| --- | |
| ## [Unreleased] | |
| --- | |
| ## [1.0.0] β 2026-06-09 | |
| Initial public release of the Python reimplementation. | |
| ### Added | |
| - **Flask REST server** (`src/app.py`) β full API surface matching the agentmemory wire format: sessions, observations, memories, lessons, slots, relations, actions, replay, context, search, MCP | |
| - **SQLite storage** (`src/db.py`) β `StateKV` backed by a single WAL-mode SQLite file at `~/.agentmemory/agentmemory.db`; replaces Dolt SQL Server | |
| - **Audit log** β `audit_log(id, ts, agent_id, message)` table replaces Dolt git versioning; every write is tracked | |
| - **BM25 search** (`src/search.py`) β custom Porter stemmer, in-memory index, persisted to DB in 2MB shards | |
| - **Vector search** (`src/search.py`) β Gemini `text-embedding-004` 768-dim cosine similarity; enabled by `GEMINI_API_KEY` | |
| - **Hybrid search** β RRF fusion of BM25 + vector (k=60), session-diversified (max 3 per session) | |
| - **MCP tools endpoint** β 16 tools via `GET/POST /agentmemory/mcp/tools` | |
| - **WebSocket live stream** β `/stream/mem-live/viewer` broadcasts all observations in real time | |
| - **Built-in viewer** (`src/viewer/index.html`) β single-file HTML dashboard: Dashboard, Sessions, Memories, Graph, Timeline, Lessons, Slots, Replay tabs | |
| - **Knowledge graph visualization** β Graph tab shows project folders as nodes with unique hash-based HSL colors; edges represent shared concepts or common parent paths | |
| - **4-tier memory consolidation** β Working β Episodic β Semantic β Procedural; enabled by `CONSOLIDATION_ENABLED=true` + LLM key | |
| - **Lessons system** β confidence-scored, fingerprinted by SHA-256, duplicate saves strengthen confidence, weekly decay, auto-evict below 0.1 | |
| - **Memory versioning** β Jaccard similarity check; memories with > 0.7 overlap supersede each other with `parentId` linkage | |
| - **Session lifecycle** β start, end, commit with summary; auto-close dangling active sessions on new session start | |
| - **HuggingFace Space support** β `Dockerfile`, `start.sh`, `sync.py` for deploy-and-forget on HF Spaces | |
| - **Sync with fingerprinting** (`sync.py`) β mtime+size hash prevents redundant uploads; only backs up when DB actually changed | |
| - **Privacy filtering** β API keys, secrets, `<private>` tags stripped before storage | |
| - **Bearer token auth** β timing-safe `hmac.compare_digest` check on all endpoints when `AGENTMEMORY_SECRET` is set | |
| - **Agent scope isolation** β `AGENTMEMORY_AGENT_SCOPE=isolated` filters all reads to the current `AGENT_ID` | |
| ### Migrated | |
| - `migrate_dolt_to_sqlite.py` β one-time migration script that reads all rows from a local Dolt SQL server and writes them to SQLite; migrated 7502 rows (19.6MB) from the original deployment | |
| ### Removed | |
| - Dolt SQL server dependency β no more `dolt sql-server`, no more `pymysql`, no more Dolt install in Dockerfile | |
| - Node.js / iii-engine dependency β the entire iii-engine binary and worker model is gone | |
| - `start.sh` Dolt startup block β `sleep 5`, `DOLT_*` env vars, migration step all removed | |
| ### Dependencies (6 total) | |
| ``` | |
| flask>=3.0.0 | |
| flask-sock>=0.7.0 | |
| requests>=2.31.0 | |
| websockets>=12.0 | |
| python-dateutil>=2.8.2 | |
| huggingface_hub>=0.20.0 | |
| ``` | |
| --- | |
| ## Format | |
| - **Added** β new features | |
| - **Changed** β changes to existing behavior | |
| - **Fixed** β bug fixes | |
| - **Removed** β removed features | |
| - **Security** β security fixes | |
| - **Migrated** β data or infrastructure migrations | |