Repository navigation
Releases: Dream-Pixels-Forge/memorius
Releases · Dream-Pixels-Forge/memorius
Release list
v0.9.2
Fixed
memorius servesingle-instance guard — exclusiveflockon<storage.path>/serve.lockstamped with the incumbent PID (#43)
Changed
- Dropped the
sentence-transformersFutureWarning by migrating to the current task-label API (#45) - Planning docs consolidated under
dev-notes/(#42, #45, #47) - Repo-wide pyright cleanup: 152 → 0 errors across
memorius/andtests/— zero behavior change (#46) - Walkable first-person vault library with realistic shelves (#50)
- Bookcase page/run instructions
v0.9.1 — Serve guard, warning drop, pyright zero
Maintenance release after v0.9.0 (bookcase).
Fixed
memorius servesingle-instance guard (#43) — exclusiveflockon<storage.path>/serve.lockstamped with the incumbent PID. A secondmemorius servenow fails fast (exit 1, under 5s) naming the incumbent instead of deadlocking on SQLite WAL contention. Dead holders are stolen automatically via kernel flock release; platforms withoutfcntlgracefully no-op.
Changed
- Dropped the
sentence-transformersFutureWarning by migrating to the current task-label API (#45); planning docs consolidated underdev-notes/(#42, #45, #47). - Repo-wide pyright cleanup: 152 → 0 errors across
memorius/andtests/— zero behavior change (annotations, narrowing intermediates, casts, rule-specific ignores) (#46).
Full Changelog: https://github.com/Dream-Pixels-Forge/memorius/blob/main/CHANGELOG.md
v0.9.0 - Bookcase: see your vault in 3D
What's new in v0.9.0
memorius bookcase— open your vault as a 3D bookcase in the browser: one book per memory (spine = shelf/folder/note path, thickness ∝ content length, colour = recency), OrbitControls scene, two layouts (by shelf / by recency), camera fly-to on search, and a librarian voice tour (Web Speech API: greeting, search narration with shelf locations, hold-to-talk input, voice picker, text fallback). Loopback-only.GET /vaults— new REST endpoint returning per-vault memory counts; backed byVaultEngine.list_vaults(). CORS unchanged.- Docs: CLI reference + Getting Started "See your vault in 3D" section.
Try it:
memorius bookcasememorius v0.8.6 — repair + --json
v0.8.6
New Features
memorius repair(#21) — reconciles the Chroma vector store with the authoritativememory_metatable: removes orphaned vectors, optionally re-embeds missing ones (--reindex).--dry-run,--vault,--jsonsupported. Doctor's drift warning now points to it.--jsonflag onstatsandstatus— deterministic machine-readable output.
Bug Fixes
- Stale 0.8.3 system-site-packages distribution shadowing the pipx venv — resolved.
Released: 2026-10-16
v0.8.5 - hooks mine_dir NameError fix
Bug Fixes
hooks/engine.py:_action_mine_dirraisedNameError: name 'vault' is not definedon everymine_dirhook execution — it assigned the configured vault tovault_cfgbut passed the undefinedvaulttoengine.mine(). Fixed to usevault_cfg.- Added regression suite
tests/test_hooks_engine_mine_dir.py(5 cases, stubbedVaultEngine) covering default vault, custom vault from action config, missing-path skip, nonexistent-path skip, and directory-mode mining.
v0.8.2
Learning module with 7 categories, 6 MCP tools, 5 CLI commands
v0.8.1
v0.8.1 (2026-08-15)
Fixed
- Storage verification — \store()\ now verifies that memories are actually persisted to both the vector store and meta store after writing. Raises \RuntimeError\ if either verification fails, preventing silent storage failures.
v0.8.0: Temporal Graph, Heat Scores, Auto-Consolidation, BM25 Hybrid
v0.8.0 — AI Memory Landscape 2026 Features
Temporal Graph Edges
- valid/ invalid columns for historical edge queries
- invalidate_edge() for soft-delete edge invalidation
- Active edge filtering in get_linked() and �xpand_graph()
- Temporal conflict resolution in link_memories()
- get_edges_at_time() and get_active_edge_count() helpers
Heat-Score Promotion
- heat_score column on memory_meta (0.0–1.0)
- calculate_heat_score() with recency/frequency/freshness weighting
- classify_tier() for hot/warm/cold/archived classification
- Tier-boosted search ranking (+0.15 hot, -0.15 archived)
- Automatic heat score updates on memory access
On-Write Deduplication
- Semantic dedup check on store (cosine similarity > 0.92)
- duplicate_of metadata for flagged duplicates
- Best-effort dedup that never blocks storage
Auto-Consolidation Daemon
- ConsolidationDaemon background thread
- Opt-in via consolidation.enabled: true in config
- Configurable interval and consolidation parameters
- VaultEngine lifecycle integration
BM25 Hybrid Retrieval
- FTS5 virtual table with auto-sync triggers
- �m25_search() method on SQLiteStore
- Hybrid search: 60% vector + 40% BM25
- Score normalization and blending
v0.7.2 — Comprehensive Security Fixes
Security Hardening (Comprehensive Audit)
HIGH
- H1: Path traversal on graph export — �ault.py:export_graph_html validates destination stays within storage directory
- H2: Prompt injection trust model — MCP tool descriptions document that memory content is untrusted data
MEDIUM
- M1: HTML injection — graph_visualizer.py escapes title via html.escape()
- M2: Command injection — Windows daemon startup uses environment variables instead of string interpolation
- M3: LLM extraction trust model — System/user message split isolates extraction rules from user content
- M4: Template injection — _substitute_templates recursion depth limited to 10
- M5: Path traversal — CLI obsidian export validates output paths stay within export directory
- M6: Dependency pinning — Minimum versions for chromadb, sentence-transformers, httpx, openai, pyyaml
LOW
- L1: Rate limiter memory — Sweep every 200 requests + IP count cap (10,000)
- L2: UUID validation — MCP handlers validate memory_id format
- L3: Path validation docstring —
esolve_vault_path documentation - L5: API key security — README documents OpenAI API key handling
Other Changes
- Dependency consolidation (sentence-transformers, openai, sqlite-vec now core)
- Knowledge Graph Visualizer (standalone HTML, CLI, MCP, REST)
v0.7.1 — Knowledge Graph Visualizer + Code Review Fixes
v0.7.1 (2026-08-15)
Features
- Knowledge Graph Visualizer — standalone interactive HTML visualization with force-directed canvas layout, shelf/relation filtering, search, node inspector sidebar, and zoom/pan
- CLI: \memorius graph view, \memorius graph export-html, \memorius graph stats, \memorius graph json\
- MCP: \memorius_graph_export\ tool (json/html format)
- REST: \GET /graph/data, \GET /graph/view\
- Dependency consolidation — \sentence-transformers, \openai, and \sqlite-vec\ moved from optional extras to core. \pip install memorius\ now includes all features out of the box.
Security Hardening
- SQL PRAGMA whitelist via \rozenset\ in _get_columns()\
- UUID validation on \get_memory_meta_batch()\ WHERE IN clause
- Scoped \VaultEngine.close()\ via \close_connection(db_path)\
Code Quality
- Typed \SearchModule/\StoreModule\ \meta\ parameter as \SQLiteStore\ (was \Any)
- Lazy %s\ logger formatting in \meta_store.py\
- Numpy array conversion in \ChromaDefaultProvider.embed()\
- \VectorStore\ type annotation on \VaultEngine.vector\ property
- README version alignment to v0.7.1
- Install instruction cleanup (removed \pip install memorius[...]\ references)
Tests
- 5 new tests for graph visualizer and endpoints (\ est_graph_visualizer.py)
Full Changelog: https://github.com/Dream-Pixels-Forge/memorius/blob/main/CHANGELOG.md