diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b45a7d..804d485 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [3.2.0] — 2026-04-12 +### Packaging +- Remove `chromadb<0.7` upper bound — unblocks installs against chromadb 1.x palaces (#690) +- Bump version to 3.2.0 across `pyproject.toml`, `mempalace/version.py`, README badge, and OpenClaw SKILL (#761) + ### Security - Harden palace deletion, WAL redaction, and MCP search input handling (#739) - Consistent input validation, argument whitelisting, concurrency safety, and WAL fixes (#647) @@ -61,6 +65,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), - Remove global SSL verification bypass in convomem_bench (#176) ### Bug Fixes +- Parse Claude.ai privacy export with `messages` key and sender field (#685, #677) +- Detect mtime changes in `_get_client` to prevent stale HNSW index (#757) +- Hash full content in `tool_add_drawer` drawer ID — stable re-mines (#716) +- Remove 10k drawer cap from status display (#707, #603) +- Correct typo in entity_detector interactive classification prompt (#755) - Prevent convo_miner from re-processing 0-chunk files on every run (#732, #654) - Remove silent 8-line AI response truncation in convo_miner (#708, #692) - Store full AI response in convo_miner exchange chunking (#695) @@ -103,6 +112,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), - Add VitePress documentation site (#439) - Add warning about fake MemPalace websites (#598) - Fix stale org URLs and PR branch target in contributor docs (#679) +- Fix misaligned architecture diagram (#734, #733) - Add ROADMAP.md — v3.1.1 stability patch and v4.0.0-alpha plan ### Internal diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa4f177..2772b11 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,8 +5,11 @@ Thanks for wanting to help. MemPalace is open source and we welcome contribution ## Getting Started ```bash -git clone https://github.com/MemPalace/mempalace.git +# Fork the repo on GitHub first, then clone your fork +git clone https://github.com//mempalace.git cd mempalace +git remote add upstream https://github.com/MemPalace/mempalace.git + pip install -e ".[dev]" # installs with dev dependencies (pytest, build, twine) ``` diff --git a/integrations/openclaw/SKILL.md b/integrations/openclaw/SKILL.md index e2bfab6..31ae2cb 100644 --- a/integrations/openclaw/SKILL.md +++ b/integrations/openclaw/SKILL.md @@ -1,7 +1,7 @@ --- name: mempalace description: "MemPalace — Local AI memory with 96.6% recall. Semantic search, temporal knowledge graph, palace architecture (wings/rooms/drawers). Free, no cloud, no API keys." -version: 3.1.0 +version: 3.3.0 homepage: https://github.com/MemPalace/mempalace user-invocable: true metadata: diff --git a/mempalace/hooks_cli.py b/mempalace/hooks_cli.py index b6d2290..2ce13f4 100644 --- a/mempalace/hooks_cli.py +++ b/mempalace/hooks_cli.py @@ -18,18 +18,22 @@ SAVE_INTERVAL = 15 STATE_DIR = Path.home() / ".mempalace" / "hook_state" STOP_BLOCK_REASON = ( - "AUTO-SAVE checkpoint. Save key topics, decisions, quotes, and code " - "from this session to your memory system. Organize into appropriate " - "categories. Use verbatim quotes where possible. Continue conversation " - "after saving." + "AUTO-SAVE checkpoint (MemPalace). Save this session's key content:\n" + "1. mempalace_diary_write — AAAK-compressed session summary\n" + "2. mempalace_add_drawer — verbatim quotes, decisions, code snippets\n" + "3. mempalace_kg_add — entity relationships (optional)\n" + "Do NOT write to Claude Code's native auto-memory (.md files). " + "Continue conversation after saving." ) PRECOMPACT_BLOCK_REASON = ( - "COMPACTION IMMINENT. Save ALL topics, decisions, quotes, code, and " - "important context from this session to your memory system. Be thorough " - "\u2014 after compaction, detailed context will be lost. Organize into " - "appropriate categories. Use verbatim quotes where possible. Save " - "everything, then allow compaction to proceed." + "COMPACTION IMMINENT (MemPalace). Save ALL session content before context is lost:\n" + "1. mempalace_diary_write — thorough AAAK-compressed session summary\n" + "2. mempalace_add_drawer — ALL verbatim quotes, decisions, code, context\n" + "3. mempalace_kg_add — entity relationships (optional)\n" + "Be thorough \u2014 after compaction, detailed context will be lost. " + "Do NOT write to Claude Code's native auto-memory (.md files). " + "Save everything to MemPalace, then allow compaction to proceed." ) diff --git a/pyproject.toml b/pyproject.toml index d7df66f..2fac2f9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Topic :: Utilities", ] dependencies = [ - "chromadb>=0.5.0,<0.7", + "chromadb>=0.5.0", "pyyaml>=6.0,<7", ]