Skip to content

Releases: Yanvi-Robotics/mnemo

v1.3.8

Choose a tag to compare

@github-actions github-actions released this 22 May 20:46
864ab1e

Changelog

v1.3.7

Choose a tag to compare

@github-actions github-actions released this 13 May 16:53
1fb7d2a

Changelog

  • 1fb7d2a ci: publish formula under Formula directory (#18)

v1.3.6

Choose a tag to compare

@github-actions github-actions released this 13 May 16:44
65b5f21

Changelog

  • 65b5f21 ci: use separate token for homebrew tap (#17)

v1.3.4 — Security fixes

Choose a tag to compare

@0xRaghu 0xRaghu released this 09 Apr 16:56

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-go v0.43.2 → v0.47.1
  • github.com/mailru/easyjson v0.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=5m to prevent timeout failures

Full Changelog

v1.3.3...v1.3.4

v1.3.3

Choose a tag to compare

@0xRaghu 0xRaghu released this 18 Feb 07:01

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 add weren'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 add now uses atomic transactions
  • Session-per-document: Each indexed file gets its own session

📦 Dependencies

  • Added github.com/mattn/go-sqlite3 v1.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

Choose a tag to compare

@0xRaghu 0xRaghu released this 14 Feb 18:34

Fixed

  • Context injection returning empty for most prompts: extractKeywords joined FTS5 search terms with spaces (implicit AND), requiring ALL keywords to appear in a single message. Most natural language prompts returned zero results. Now uses OR operator 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: The helper mode's keyword filter is too restrictive — filters out legitimate developer prompts that don't contain hardcoded code keywords. Run mnemo configure assistant for reliable auto-injection.

Upgrade

brew upgrade mnemo

Or 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

Choose a tag to compare

@0xRaghu 0xRaghu released this 09 Feb 19:41

Fixed

  • Context injection not working: mnemo inject now reads the user prompt from stdin JSON (Claude Code hook protocol) instead of the non-existent CLAUDE_USER_PROMPT env var
  • Inject command hanging: Added read-only DB init (InitReadOnly) so inject doesn't block on write locks held by mnemo serve processes — reduced from timeout to ~0.8s
  • Headless mode: Added IsHeadless() with --non-interactive flag, CI/MNEMO_HEADLESS env vars, and stdin TTY detection for CI/CD environments
  • Raycast scripts: Use absolute mnemoPath directly 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.1

Full Changelog: v1.3.0...v1.3.1

v1.3.0 — QA Audit, Transactions, 73% Test Coverage

Choose a tag to compare

@0xRaghu 0xRaghu released this 09 Feb 06:57

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 every for 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

  • execer interface abstracting *sql.DB and *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

Choose a tag to compare

@0xRaghu 0xRaghu released this 07 Feb 21:16

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-memory
  • mnemo 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

Choose a tag to compare

@0xRaghu 0xRaghu released this 29 Jan 18:08

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 experience
  • mnemo install - Installation helper
  • mnemo add - Add new AI tools

New Packages

  • internal/db - SQLite database operations
  • internal/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@latest

Built with ❤️ by @Pilan_AI

"Plan panni pannanum" — but also index properly.