Repository navigation
Releases: Yanvi-Robotics/mnemo
Release list
v1.3.8
v1.3.7
v1.3.6
v1.3.4 — Security fixes
Security Fixes 🔒
Fixed CVE-2026-32285 (High severity)
Updated transitive dependencies to eliminate vulnerable github.com/buger/jsonparser v1.1.1:
github.com/mark3labs/mcp-gov0.43.2 → v0.47.1github.com/mailru/easyjsonv0.7.7 → v0.9.2
Impact: Prevents DoS via negative slice index panic
Closes: Dependabot alert #1
Removed unused HTTP proxy code
The experimental HTTP proxy had an authentication vulnerability where it read ANTHROPIC_API_KEY from environment and forwarded it with zero authentication, allowing any local process to consume API credits.
Since the proxy was never wired into the CLI and mnemo's architecture uses MCP server + hooks (not HTTP interception), we removed it entirely.
Closes: #5
Changes
- CI: Updated golangci-lint workflow with
--timeout=5mto prevent timeout failures
Full Changelog
v1.3.3
v1.3.3 - Bug Fixes & OpenCode SQLite Support
✨ What's New
This release fixes two community-reported issues and adds support for OpenCode 1.2.0+'s new SQLite format.
🐛 Fixed
mnemo add documents not appearing in search (#1)
- Problem: Documents indexed via
mnemo addweren't visible in search results - Root cause: Only messages were inserted without session records, causing
SearchGrouped()to skip results - Solution: Create session records for each indexed document
- Reported by: @markerikson (Redux maintainer!)
OpenCode 1.2.0+ SQLite format support (#2)
- Problem: OpenCode 1.2.0 migrated from JSON to SQLite, breaking mnemo indexing
- Solution: Added dual-format support with auto-detection
- Reported by: @slkiser
🚀 Added
- OpenCode SQLite reader: Reads sessions from
~/.local/share/opencode/opencode.db - Automatic format detection: Checks SQLite first, falls back to JSON
- Transaction support:
mnemo addnow uses atomic transactions - Session-per-document: Each indexed file gets its own session
📦 Dependencies
- Added
github.com/mattn/go-sqlite3v1.14.34
🔄 Upgrading
# Via Homebrew
brew upgrade mnemo
# Or build from source
git clone https://github.com/Pilan-AI/mnemo.git
cd mnemo
go build📝 Full Changelog
See CHANGELOG.md for complete details.
Full commit history: v1.3.2...v1.3.3
v1.3.2 — Fix context injection for most prompts
Fixed
- Context injection returning empty for most prompts:
extractKeywordsjoined FTS5 search terms with spaces (implicit AND), requiring ALL keywords to appear in a single message. Most natural language prompts returned zero results. Now usesORoperator so any matching keyword surfaces relevant sessions. - Too many keywords diluting search: Reduced max keywords from 10 to 5 for more focused FTS5 queries with better relevance.
Changed
- Recommended injection mode is now
assistant: Thehelpermode's keyword filter is too restrictive — filters out legitimate developer prompts that don't contain hardcoded code keywords. Runmnemo configure assistantfor reliable auto-injection.
Upgrade
brew upgrade mnemoOr download the binary from the assets below.
Full changelog: https://github.com/Pilan-AI/mnemo/blob/main/CHANGELOG.md
v1.3.1: Fix context injection hook
Fixed
- Context injection not working:
mnemo injectnow reads the user prompt from stdin JSON (Claude Code hook protocol) instead of the non-existentCLAUDE_USER_PROMPTenv var - Inject command hanging: Added read-only DB init (
InitReadOnly) so inject doesn't block on write locks held bymnemo serveprocesses — reduced from timeout to ~0.8s - Headless mode: Added
IsHeadless()with--non-interactiveflag,CI/MNEMO_HEADLESSenv vars, and stdin TTY detection for CI/CD environments - Raycast scripts: Use absolute
mnemoPathdirectly instead of PATH export workaround - Consolidated multiple
bufio.NewReader(os.Stdin)into single reader in onboarding - Fixed Go convention: tabs not spaces in
root.go
Upgrade
brew upgrade mnemo
# or
go install github.com/Pilan-AI/mnemo@v1.3.1Full Changelog: v1.3.0...v1.3.1
v1.3.0 — QA Audit, Transactions, 73% Test Coverage
What's New
Auto-Context Injection
New mnemo inject command integrates with Claude Code's UserPromptSubmit hook — every prompt you type automatically searches past sessions and injects relevant context. Three modes:
- off — no injection
- helper — AI sees past sessions as helper context
- assistant — AI sees past sessions as its own memory (recommended)
Configure with mnemo configure or during first-run onboarding.
QA Audit — 50 bugs fixed
Comprehensive audit covering error handling, type safety, and edge cases across all 35 source files.
Transaction Atomicity
All 12 indexers now use BeginTx() with atomic commit/rollback. No more partial session writes on errors.
Typed Return Structs
Replaced map[string]interface{} patterns with RecentSession, UsageStats, ToolUsageSummary, ModelUsageSummary — compile-time type safety for all callers.
Test Coverage
internal/db/— 73.1% (up from 17.9%)- 8 new test files, 70+ tests covering transactions, FTS5 triggers, search ranking, token tracking, and edge cases
Key Fixes
rows.Err()checked after everyfor rows.Next()loop- All
_ =patterns on fallible calls eliminated - Type assertion safety with comma-ok pattern throughout
- Temporal decay: zero-timestamp fallback, future clamping, density caps
- UTC normalization for all timestamp parsing
- Streaming JSONL parser for large files (replaces
io.ReadAll) - HTTP status code forwarding in proxy
- Directory permissions hardened to
0700 - UTF-8 safe string truncation
Architecture
execerinterface abstracting*sql.DBand*sql.Tx- Tx variants:
TxInsertSession,TxInsertMessage,TxInsertSessionSimple - Scan error logging with
log.Printf - Godoc comments on all exported functions
Full Changelog: v1.2.0...v1.3.0
v1.2.0 — Intelligent Search
What's New
Intelligent Search
- Session-grouped results — search returns sessions, not scattered messages
- Composite ranking — BM25 + temporal decay + match density + user-message preference (2x weight)
- Three output tiers: human CLI (compact cards), AI context injection (
--context, ~250 tokens), full JSON (--json) - <100ms search latency on 89K+ messages
12 AI Tools Supported
Added Codex, Crush, Antigravity, Kiro. Full list: Claude Code, Cursor, Gemini CLI, OpenCode, Codex, Amp, Crush, Kiro, Antigravity, Cline, Roo Code, Kilo Code.
Inline Onboarding
Replaced Bubble Tea TUI with inline terminal output. First run auto-detects tools, shows what it found, indexes everything.
MCP Server Improvements
- Session-grouped search results via MCP
- Token-efficient context format for AI assistants
- Four tools:
mnemo_search,mnemo_context,mnemo_recent,mnemo_tools
Plugins
mnemo install claude-code— installs pilan-plugins/mnemo-memorymnemo install opencode— configures MCP for OpenCode
Other
- Project directory management (
mnemo projects) - Background indexing status in
mnemo status - Fixed FTS5 query escaping for special characters
- Fixed timestamp parsing across all tool formats
Full Changelog: v1.1.0...v1.2.0
v1.1.0 - Onboarding TUI & SQLite Backend
mnemo v1.1.0
✨ New Features
🎨 Beautiful Onboarding TUI
- Stunning terminal experience for first-time setup
- Visual discovery of your AI coding history
- Project insights with smart icon mapping
- Statistics dashboard (sessions, messages, projects, days)
- Automatic detection of significant projects
💾 SQLite Database Backend
- Replaced JSON file storage with SQLite
- Full-text search with FTS5
- Much faster queries on large datasets
- Better data integrity and reliability
🔍 Improved Search
- FTS5 full-text search with snippet highlighting
- Search across all message content (not just metadata)
- Matched keywords highlighted in results
- Better result ranking and relevance
📊 Enhanced Indexing
- Multiple Claude Code location support:
~/.claude/projects(main location)~/.claude/transcripts(new location)~/.claude-backup/(for users who reinstalled)
- Force reindex flag:
mnemo index --force - Better error handling and warnings
- Warns if fewer than 100 sessions found
🛠️ Technical Changes
New Commands
mnemo onboard- Beautiful first-time setup experiencemnemo install- Installation helpermnemo add- Add new AI tools
New Packages
internal/db- SQLite database operationsinternal/tui- Terminal UI components with Bubble Tea
Enhancements
- Enhanced message parsing for multiple content formats
- Better project name extraction from paths
- Support for both old and new Claude Code formats
- Improved error messages and user guidance
📝 Breaking Changes
None! Fully backward compatible with v1.0.0
📈 Migration
Existing users can upgrade seamlessly:
# Upgrade via Homebrew
brew upgrade mnemo
# Or rebuild from source
go install github.com/Pilan-AI/mnemo@latest
# On first run, old JSON index is automatically migrated to SQLite
mnemo onboard🎯 What's Next?
See the roadmap for upcoming features:
- Cursor, Gemini CLI, Windsurf support
- Web UI for search and browsing
- Context export with AI summarization
- Cross-device sync
📦 Installation
# macOS / Linux
brew install mnemo
# Or build from source
go install github.com/Pilan-AI/mnemo@latestBuilt with ❤️ by @Pilan_AI
"Plan panni pannanum" — but also index properly.