Skip to content

Latest commit

 

History

History
1775 lines (1190 loc) · 70.2 KB

File metadata and controls

1775 lines (1190 loc) · 70.2 KB

CHANGELOG

v0.15.2 (2025-10-14)

Features

  • #356: Add WebDAV upload command for cloud projects (5258f45)
    • New bm cloud upload command for uploading local files/directories to cloud projects
    • WebDAV-based file transfer with automatic directory creation
    • Support for .gitignore and .bmignore pattern filtering
    • Automatic project creation with --create-project flag
    • Optional post-upload sync with --sync flag (enabled by default)
    • Human-readable file size reporting (bytes, KB, MB)
    • Comprehensive test coverage (28 unit tests)

Migration Guide

No manual migration required. Upgrade with:

# Update via uv
uv tool upgrade basic-memory

# Or install fresh
uv tool install basic-memory

What's New:

  • Upload local files to cloud projects with bm cloud upload
  • Streamlined cloud project creation and management
  • Better file filtering with gitignore integration

Installation

# Latest stable release
uv tool install basic-memory

# Update existing installation
uv tool upgrade basic-memory

# Docker
docker pull ghcr.io/basicmachines-co/basic-memory:v0.15.2

v0.15.1 (2025-10-13)

Performance Improvements

  • #352: Optimize sync/indexing for 43% faster performance (c0538ad)

    • Significant performance improvements to file synchronization and indexing operations
    • 43% reduction in sync time for large knowledge bases
    • Optimized database queries and file processing
  • #350: Optimize directory operations for 10-100x performance improvement (00b73b0)

    • Dramatic performance improvements for directory listing operations
    • 10-100x faster directory traversal depending on knowledge base size
    • Reduced memory footprint for large directory structures
    • Exclude null fields from directory endpoint responses for smaller payloads

Bug Fixes

  • #355: Update view_note and ChatGPT tools for Claude Desktop compatibility (2b7008d)

    • Fix view_note tool formatting for better Claude Desktop rendering
    • Update ChatGPT tool integration for improved compatibility
    • Enhanced artifact display in Claude Desktop interface
  • #348: Add permalink normalization to project lookups in deps.py (a09066e)

    • Fix project lookup failures due to case sensitivity
    • Normalize permalinks consistently across project operations
    • Improve project switching reliability
  • #345: Project deletion failing with permalink normalization (be352ab)

    • Fix project deletion errors related to permalink handling
    • Ensure proper cleanup of project resources
    • Improve error messages for deletion failures
  • #341: Correct ProjectItem.home property to return path instead of name (3e876a7)

    • Fix ProjectItem.home to return correct project path
    • Resolve configuration issues with project paths
    • Improve project path resolution consistency
  • #339: Prevent nested project paths to avoid data conflicts (795e339)

    • Block creation of nested project paths that could cause data conflicts
    • Add validation to prevent project path hierarchy issues
    • Improve error messages for invalid project configurations
  • #338: Normalize paths to lowercase in cloud mode to prevent case collisions (07e304c)

    • Fix path case sensitivity issues in cloud deployments
    • Normalize paths consistently across cloud operations
    • Prevent data loss from case-insensitive filesystem collisions
  • #336: Cloud mode path validation and sanitization (bmc-issue-103) (2a1c06d)

    • Enhanced path validation for cloud deployments
    • Improved path sanitization to prevent security issues
    • Better error handling for invalid paths in cloud mode
  • #332: Cloud mode path validation and sanitization (7616b2b)

    • Additional cloud mode path fixes and improvements
    • Comprehensive path validation for cloud environments
    • Security enhancements for path handling

Features

  • #344: Async client context manager pattern for cloud consolidation (SPEC-16) (8d2e70c)

    • Refactor async client to use context manager pattern
    • Improve resource management and cleanup
    • Enable better dependency injection for cloud deployments
    • Foundation for cloud platform consolidation
  • #343: Add SPEC-15 for configuration persistence via Tigris (53438d1)

    • Design specification for persistent configuration storage
    • Foundation for cloud configuration management
    • Tigris S3-compatible storage integration planning
  • #334: Introduce BASIC_MEMORY_PROJECT_ROOT for path constraints (ccc4386)

    • Add environment variable for constraining project paths
    • Improve security by limiting project creation locations
    • Better control over project directory structure

Documentation

  • #335: v0.15.0 assistant guide updates (c6f93a0)

    • Update AI assistant guide for v0.15.0 features
    • Improve documentation for new MCP tools
    • Better examples and usage patterns
  • #339: Add tool use documentation to write_note for root folder usage (73202d1)

    • Document how to use empty string for root folder in write_note
    • Clarify folder parameter usage
    • Improve tool documentation clarity
  • Fix link in ai_assistant_guide resource (2a1c06d)

    • Correct broken documentation links
    • Improve resource accessibility

Refactoring

  • Add SPEC-17 and SPEC-18 documentation (962d88e)
    • New specification documents for future features
    • Architecture planning and design documentation

Breaking Changes

None - This release maintains full backward compatibility with v0.15.0

Migration Guide

No manual migration required. Upgrade with:

# Update via uv
uv tool upgrade basic-memory

# Or install fresh
uv tool install basic-memory

What's Fixed:

  • Significant performance improvements (43% faster sync, 10-100x faster directory operations)
  • Multiple cloud deployment stability fixes
  • Project path validation and normalization issues resolved
  • Better Claude Desktop and ChatGPT integration

What's New:

  • Context manager pattern for async clients (foundation for cloud consolidation)
  • BASIC_MEMORY_PROJECT_ROOT environment variable for path constraints
  • Enhanced cloud mode path handling and security
  • SPEC-15 and SPEC-16 architecture documentation

Installation

# Latest stable release
uv tool install basic-memory

# Update existing installation
uv tool upgrade basic-memory

# Docker
docker pull ghcr.io/basicmachines-co/basic-memory:v0.15.1

v0.15.0 (2025-10-04)

Critical Bug Fixes

  • Permalink Collision Data Loss Prevention - Fixed critical bug where creating similar entity names would overwrite existing files (2a050ed)
    • Issue: Creating "Node C" would overwrite "Node A.md" due to fuzzy search incorrectly matching similar file paths
    • Solution: Added strict=True parameter to link resolution, disabling fuzzy search fallback during entity creation
    • Impact: Prevents data loss from false positive path matching like "edge-cases/Node A.md" vs "edge-cases/Node C.md"
    • Testing: Comprehensive integration tests and MCP-level permalink collision tests added
    • Status: Manually verified fix prevents file overwrite in production scenarios

Bug Fixes

  • #330: Remove .env file loading from BasicMemoryConfig (f3b1945)

    • Clean up configuration initialization to prevent unintended environment variable loading
  • #329: Normalize underscores in memory:// URLs for build_context (f5a11f3)

    • Fix URL normalization to handle underscores consistently in memory:// protocol
    • Improve knowledge graph navigation with standardized URL handling
  • #328: Simplify entity upsert to use database-level conflict resolution (ee83b0e)

    • Leverage SQLite's native UPSERT for cleaner entity creation/update logic
    • Reduce application-level complexity by using database conflict resolution
  • #312: Add proper datetime JSON schema format annotations for MCP validation (a7bf42e)

    • Fix MCP schema validation errors with proper datetime format annotations
    • Ensure compatibility with strict MCP schema validators
  • #281: Fix move_note without file extension (3e168b9)

    • Allow moving notes by title alone without requiring .md extension
    • Improve move operation usability and error handling
  • #310: Remove obsolete update_current_project function and --project flag reference (17a6733)

    • Clean up deprecated project management code
    • Remove unused CLI flag references
  • #309: Make sync operations truly non-blocking with thread pool (1091e11)

    • Move sync operations to background thread pool for improved responsiveness
    • Prevent blocking during file synchronization operations

Features

  • #327: CLI Subscription Validation (SPEC-13 Phase 2) (ace6a0f)

    • Implement subscription validation for CLI operations
    • Foundation for future cloud billing integration
  • #322: Cloud CLI sync via rclone bisync (99a35a7)

    • Add bidirectional cloud synchronization using rclone
    • Enable local-cloud file sync with conflict detection
  • #315: Implement SPEC-11 API performance optimizations (5da97e4)

    • Comprehensive API performance improvements
    • Optimized database queries and response times
  • #314: Integrate ignore_utils to skip .gitignored files in sync process (33ee1e0)

    • Respect .gitignore patterns during file synchronization
    • Prevent syncing build artifacts and temporary files
  • #313: Add disable_permalinks config flag (9035913)

    • Optional permalink generation for users who don't need them
    • Improves flexibility for different knowledge management workflows
  • #306: Implement cloud mount CLI commands for local file access (2c5c606)

    • Mount cloud files locally using rclone for real-time editing
    • Three performance profiles: fast (5s), balanced (10-15s), safe (15s+)
    • Cross-platform rclone installer with package manager fallbacks
  • #305: ChatGPT tools for search and fetch (f40ab31)

    • Add ChatGPT-specific search and fetch tools
    • Expand AI assistant integration options
  • #298: Implement SPEC-6 Stateless Architecture for MCP Tools (a1d7792)

    • Redesign MCP tools for stateless operation
    • Enable cloud deployment with better scalability
  • #296: Basic Memory cloud upload (e0d8aeb)

    • Implement file upload capabilities for cloud storage
    • Foundation for cloud-hosted Basic Memory instances
  • #291: Merge Cloud auth (3a6baf8)

    • OAuth 2.1 authentication with Supabase integration
    • JWT-based tenant isolation for multi-user cloud deployments

Platform & Infrastructure

  • #331: Add Python 3.13 to test matrix (16d7edd)

    • Ensure compatibility with latest Python version
    • Expand CI/CD testing coverage
  • #316: Enable WAL mode and add Windows-specific SQLite optimizations (c83d567)

    • Enable Write-Ahead Logging for better concurrency
    • Platform-specific SQLite optimizations for Windows users
  • #320: Rework lifecycle management to optimize cloud deployment (ea2e93d)

    • Optimize application lifecycle for cloud environments
    • Improve startup time and resource management
  • #319: Resolve entity relations in background to prevent cold start blocking (324844a)

    • Move relation resolution to background processing
    • Faster MCP server cold starts
  • #318: Enforce minimum 1-day timeframe for recent_activity (f818702)

    • Fix timezone-related issues in recent activity queries
    • Ensure consistent behavior across time zones
  • #317: Critical cloud deployment fixes for MCP stability (2efd8f4)

    • Multiple stability improvements for cloud-hosted MCP servers
    • Enhanced error handling and recovery

Technical Improvements

  • Comprehensive Testing - Extensive test coverage for critical fixes

    • New permalink collision test suite with 4 MCP-level integration tests
    • Entity service test coverage expanded to reproduce fuzzy search bug
    • Manual testing verification of data loss prevention
    • All 55 entity service tests passing with new strict resolution
  • Windows Support Enhancements (7a8b08d, 9aa4024)

    • Fix Windows test failures and add Windows CI support
    • Address platform-specific issues for Windows users
    • Enhanced cross-platform compatibility
  • Docker Improvements (105bcaa)

    • Implement non-root Docker container to fix file ownership issues
    • Improved security and compatibility in containerized deployments
  • Code Quality

    • Enhanced filename sanitization with optional kebab case support
    • Improved character conflict detection for sync operations
    • Better error handling across the codebase
    • Path traversal security vulnerability fixes

Documentation

  • #321: Corrected dead links in README (fc38877)

    • Fix broken documentation links
    • Improve navigation and accessibility
  • #308: Update Claude Code GitHub Workflow (8c7e29e)

    • Enhanced GitHub integration documentation
    • Better Claude Code collaboration workflow

Breaking Changes

None - This release maintains full backward compatibility with v0.14.x

All changes are either:

  • Bug fixes that correct unintended behavior
  • New optional features that don't affect existing functionality
  • Internal optimizations that are transparent to users

Migration Guide

No manual migration required. Upgrade with:

# Update via uv
uv tool upgrade basic-memory

# Or install fresh
uv tool install basic-memory

What's Fixed:

  • Data loss bug from permalink collisions is completely resolved
  • Cloud deployment stability significantly improved
  • Windows platform compatibility enhanced
  • Better performance across all operations

What's New:

  • Cloud sync capabilities via rclone
  • Subscription validation foundation
  • Python 3.13 support
  • Enhanced security and stability

Installation

# Latest stable release
uv tool install basic-memory

# Update existing installation
uv tool upgrade basic-memory

# Docker
docker pull ghcr.io/basicmachines-co/basic-memory:v0.15.0

v0.14.2 (2025-07-03)

Bug Fixes

  • #204: Fix MCP Error with MCP-Hub integration (3621bb7)

    • Resolve compatibility issues with MCP-Hub
    • Improve error handling in project management tools
    • Ensure stable MCP tool integration across different environments
  • Modernize datetime handling and suppress SQLAlchemy warnings (f80ac0e)

    • Replace deprecated datetime.utcnow() with timezone-aware alternatives
    • Suppress SQLAlchemy deprecation warnings for cleaner output
    • Improve future compatibility with Python datetime best practices

v0.14.1 (2025-07-03)

Bug Fixes

  • #203: Constrain fastmcp version to prevent breaking changes (827f7cf)

    • Pin fastmcp to compatible version range to avoid API breaking changes
    • Ensure stable MCP server functionality across updates
    • Improve dependency management for production deployments
  • #190: Fix Problems with MCP integration
    (bd4f551)

    • Resolve MCP server initialization and communication issues
    • Improve error handling and recovery in MCP operations
    • Enhance stability for AI assistant integrations

Features

  • Add Cursor IDE integration button - One-click setup for Cursor IDE users (5360005)

    • Direct installation button for Cursor IDE in README
    • Streamlined setup process for Cursor users
    • Enhanced developer experience for AI-powered coding
  • Add Homebrew installation instructions - Official Homebrew tap support (39f811f)

    • Official Homebrew formula in basicmachines-co/basic-memory tap
    • Simplified installation process for macOS users
    • Package manager integration for easier dependency management

v0.14.0 (2025-06-26)

Features

  • Docker Container Registry Migration - Switch from Docker Hub to GitHub Container Registry for better security and integration
    (616c1f0)

    • Automated Docker image publishing via GitHub Actions CI/CD pipeline
    • Enhanced container security with GitHub's integrated vulnerability scanning
    • Streamlined container deployment workflow for production environments
  • Enhanced Search Documentation - Comprehensive search syntax examples for improved user experience (a589f8b)

    • Detailed examples for Boolean search operators (AND, OR, NOT)
    • Advanced search patterns including phrase matching and field-specific queries
    • User-friendly documentation for complex search scenarios
  • Cross-Project File Management - Intelligent move operations with project boundary detection (db5ef7d)

    • Automatic detection of cross-project move attempts with helpful guidance
    • Clear error messages when attempting unsupported cross-project operations

Bug Fixes

  • #184: Preserve permalinks when editing notes without frontmatter permalinks (c2f4b63)

    • Fix permalink preservation during note editing operations
    • Ensure consistent permalink handling across different note formats
    • Maintain note identity and searchability during incremental edits
  • #183: Implement project-specific sync status checks for MCP tools (12b5152)

    • Fix sync status reporting to correctly reflect current project state
    • Resolve inconsistencies where sync status showed global instead of project-specific information
    • Improve project isolation for sync operations and status reporting
  • #180: Handle Boolean search syntax with hyphenated terms (546e3cd)

    • Fix search parsing issues with hyphenated terms in Boolean queries
    • Improve search query tokenization for complex term structures
    • Enhanced search reliability for technical documentation and multi-word concepts
  • #174: Respect BASIC_MEMORY_HOME environment variable in Docker containers (9f1db23)

    • Fix Docker container configuration to properly honor custom home directory settings
    • Improve containerized deployment flexibility with environment variable support
    • Ensure consistent behavior between local and containerized installations
  • #168: Scope entity queries by project_id in upsert_entity method (2a3adc1)

    • Fix entity isolation issues in multi-project setups
    • Prevent cross-project entity conflicts during database operations
    • Strengthen project boundary enforcement at the database level
  • #166: Handle None from_entity in Context API RelationSummary (8a065c3)

    • Fix null pointer exceptions in relation processing
    • Improve error handling for incomplete relation data
    • Enhanced stability for knowledge graph traversal operations
  • #164: Remove log level configuration from mcp_server.run() (224e4bf)

    • Simplify MCP server startup by removing redundant log level settings
    • Fix potential logging configuration conflicts
    • Streamline server initialization process
  • #162: Ensure permalinks are generated for entities with null permalinks during move operations (f506507)

    • Fix move operations for entities without existing permalinks
    • Automatic permalink generation during file move operations
    • Maintain database consistency during file reorganization

Technical Improvements

  • Comprehensive Test Coverage - Extensive test suites for new features and edge cases

    • Enhanced test coverage for project-specific sync status functionality
    • Additional test scenarios for search syntax validation and edge cases
    • Integration tests for Docker CI workflow and container publishing
    • Comprehensive move operations testing with project boundary validation
  • Docker CI/CD Pipeline - Production-ready automated container publishing (74847cc)

    • Automated Docker image building and publishing on release
    • Multi-architecture container support for AMD64 and ARM64 platforms
    • Integrated security scanning and vulnerability assessments
    • Streamlined deployment pipeline for production environments
  • Release Process Improvements - Enhanced automation and quality gates (a52ce1c)

    • Homebrew formula updates limited to stable releases only
    • Improved release automation with better quality control
    • Enhanced CI/CD pipeline reliability and error handling
  • Code Quality Enhancements - Improved error handling and validation

    • Better null safety in entity and relation processing
    • Enhanced project isolation validation throughout the codebase
    • Improved error messages and user guidance for edge cases
    • Strengthened database consistency guarantees across operations

Infrastructure

  • GitHub Container Registry Integration - Modern container infrastructure

    • Migration from Docker Hub to GitHub Container Registry (ghcr.io)
    • Improved security with integrated vulnerability scanning
    • Better integration with GitHub-based development workflow
    • Enhanced container versioning and artifact management
  • Enhanced CI/CD Workflows - Robust automated testing and deployment

    • Automated Docker image publishing on releases
    • Comprehensive test coverage validation before deployment
    • Multi-platform container building and publishing
    • Integration with GitHub's security and monitoring tools

Migration Guide

This release includes several behind-the-scenes improvements and fixes. All changes are backward compatible:

  • Docker Users: Container images now served from ghcr.io/basicmachines-co/basic-memory instead of Docker Hub
  • Search Users: Enhanced search syntax handling - existing queries continue to work unchanged
  • Multi-Project Users: Improved project isolation - all existing projects remain fully functional
  • All Users: Enhanced stability and error handling - no breaking changes to existing workflows

Installation

# Latest stable release
uv tool install basic-memory

# Update existing installation  
uv tool upgrade basic-memory

# Docker (new registry)
docker pull ghcr.io/basicmachines-co/basic-memory:latest

v0.13.7 (2025-06-19)

Bug Fixes

  • Homebrew Integration - Automatic Homebrew formula updates
  • Documentation - Add git sign-off reminder to development guide

v0.13.6 (2025-06-18)

Bug Fixes

  • Custom Entity Types - Support for custom entity types in write_note (7789864)

    • Fixed entity_type parameter for write_note MCP tool to respect value passed in
    • Frontmatter type field automatically respected when no explicit parameter provided
    • Maintains backward compatibility with default "note" type
  • #139: Fix "UNIQUE constraint failed: entity.permalink" database error (c6215fd)

    • Implement SQLAlchemy UPSERT strategy to handle permalink conflicts gracefully
    • Eliminates crashes when creating notes with existing titles in same folders
    • Seamlessly updates existing entities instead of failing with constraint errors
  • Database Migration Performance - Eliminate redundant migration initialization (84d2aaf)

    • Fix duplicate migration calls that slowed system startup
    • Improve performance with multiple projects (tested with 28+ projects)
    • Add migration deduplication safeguards with comprehensive test coverage
  • User Experience - Correct spelling error in continue_conversation prompt (b4c26a6)

    • Fix "Chose a folder" → "Choose a folder" in MCP prompt instructions
    • Improve grammar and clarity in user-facing prompt text

Documentation

  • Website Updates - Add new website and community links to README (3fdce68)

  • Project Documentation - Update README.md and CLAUDE.md with latest project information (782cb2d)

Technical Improvements

  • Comprehensive Test Coverage - Add extensive test suites for new features

    • Custom entity type validation with 8 new test scenarios
    • UPSERT behavior testing with edge case coverage
    • Migration deduplication testing with 6 test scenarios
    • Database constraint handling validation
  • Code Quality - Enhanced error handling and validation

    • Improved SQLAlchemy patterns with modern UPSERT operations
    • Better conflict resolution strategies for entity management
    • Strengthened database consistency guarantees

Performance

  • Database Operations - Faster startup and improved scalability
    • Reduced migration overhead for multi-project setups
    • Optimized conflict resolution for entity creation
    • Enhanced performance with growing knowledge bases

Migration Guide

This release includes automatic database improvements. No manual migration required:

  • Existing notes and entity types continue working unchanged
  • New entity_type parameter is optional and backward compatible
  • Database performance improvements apply automatically
  • All existing MCP tool behavior preserved

Installation

# Latest stable release
uv tool install basic-memory

# Update existing installation
uv tool upgrade basic-memory

v0.13.5 (2025-06-11)

Bug Fixes

  • MCP Tools: Renamed create_project tool to create_memory_project for namespace isolation
  • Namespace: Continued namespace isolation effort to prevent conflicts with other MCP servers

Changes

  • Tool functionality remains identical - only the name changed from create_project to create_memory_project
  • All integration tests updated to use the new tool name
  • Completes namespace isolation for project management tools alongside list_memory_projects

v0.13.4 (2025-06-11)

Bug Fixes

  • MCP Tools: Renamed list_projects tool to list_memory_projects to avoid naming conflicts with other MCP servers
  • Namespace: Improved tool naming specificity for better MCP server integration and isolation

Changes

  • Tool functionality remains identical - only the name changed from list_projects to list_memory_projects
  • All integration tests updated to use the new tool name
  • Better namespace isolation for Basic Memory MCP tools

v0.13.3 (2025-06-11)

Bug Fixes

  • Projects: Fixed case-insensitive project switching where switching succeeded but subsequent operations failed due to session state inconsistency
  • Config: Enhanced config manager with case-insensitive project lookup using permalink-based matching
  • MCP Tools: Updated project management tools to store canonical project names from database instead of user input
  • API: Improved project service to handle both name and permalink lookups consistently

Technical Improvements

  • Added comprehensive case-insensitive project switching test coverage with 5 new integration test scenarios
  • Fixed permalink generation inconsistencies where different case inputs could generate different permalinks
  • Enhanced project URL construction to use permalinks consistently across all API calls
  • Improved error handling and session state management for project operations

Changes

  • Project switching now preserves canonical project names from database in session state
  • All project operations use permalink-based lookups for case-insensitive matching
  • Enhanced test coverage ensures reliable case-insensitive project operations

v0.13.2 (2025-06-11)

Features

  • Release Management: Added automated release management system with version control in __init__.py
  • Automation: Implemented justfile targets for release and beta commands with comprehensive quality gates
  • CI/CD: Enhanced release process with automatic version updates, git tagging, and GitHub release creation

Development Experience

  • Added .claude/commands/release/ directory with automation documentation
  • Implemented release validation including lint, type-check, and test execution
  • Streamlined release workflow from manual process to single-command automation

Technical Improvements

  • Updated package version management to use actual version numbers instead of dynamic versioning
  • Added release process documentation and command references
  • Enhanced justfile with comprehensive release automation targets

v0.13.1 (2025-06-11)

Bug Fixes

  • CLI: Fixed basic-memory project project management commands that were not working in v0.13.0 (#129)
  • Projects: Resolved case sensitivity issues when switching between projects that caused "Project not found" errors (#127)
  • API: Standardized CLI project command endpoints and improved error handling
  • Core: Implemented consistent project name handling using permalinks to avoid case-related conflicts

Changes

  • Renamed basic-memory project sync command to basic-memory project sync-config for clarity
  • Improved project switching reliability across different case variations
  • Removed redundant server status messages from CLI error outputs

v0.13.0 (2025-06-11)

Overview

Basic Memory v0.13.0 is a major release that transforms Basic Memory into a true multi-project knowledge management system. This release introduces fluid project switching, advanced note editing capabilities, robust file management, and production-ready OAuth authentication - all while maintaining full backward compatibility.

What's New for Users:

  • 🎯 Switch between projects instantly during conversations with Claude
  • ✏️ Edit notes incrementally without rewriting entire documents
  • 📁 Move and organize notes with full database consistency
  • 📖 View notes as formatted artifacts for better readability in Claude Desktop
  • 🔍 Search frontmatter tags to discover content more easily
  • 🔐 OAuth authentication for secure remote access
  • Development builds automatically published for beta testing

Key v0.13.0 Accomplishments:

  • Complete Project Management System - Project switching and project-specific operations
  • Advanced Note Editing - Incremental editing with append, prepend, find/replace, and section operations
  • View Notes as Artifacts in Claude Desktop/Web - Use the view_note tool to view a note as an artifact
  • File Management System - Full move operations with database consistency and rollback protection
  • Enhanced Search Capabilities - Frontmatter tags now searchable, improved content discoverability
  • Unified Database Architecture - Single app-level database for better performance and project management

Major Features

1. Multiple Project Management

Switch between projects instantly during conversations:

💬 "What projects do I have?"
🤖 Available projects:
   • main (current, default)
   • work-notes
   • personal-journal
   • code-snippets

💬 "Switch to work-notes"
🤖 ✓ Switched to work-notes project
   
   Project Summary:
   • 47 entities
   • 125 observations  
   • 23 relations

💬 "What did I work on yesterday?"
🤖 [Shows recent activity from work-notes project]

Key Capabilities:

  • Instant Project Switching: Change project context mid-conversation without restart
  • Project-Specific Operations: Operations work within the currently active project context
  • Project Discovery: List all available projects with status indicators
  • Session Context: Maintains active project throughout conversation
  • Backward Compatibility: Existing single-project setups continue to work seamlessly

2. Advanced Note Editing

Edit notes incrementally without rewriting entire documents:

# Append new sections to existing notes
edit_note("project-planning", "append", "\n## New Requirements\n- Feature X\n- Feature Y")

# Prepend timestamps to meeting notes
edit_note("meeting-notes", "prepend", "## 2025-05-27 Update\n- Progress update...")

# Replace specific sections under headers
edit_note("api-spec", "replace_section", "New implementation details", section="## Implementation")

# Find and replace with validation
edit_note("config", "find_replace", "v0.13.0", find_text="v0.12.0", expected_replacements=2)

Key Capabilities:

  • Append Operations: Add content to end of notes (most common use case)
  • Prepend Operations: Add content to beginning of notes
  • Section Replacement: Replace content under specific markdown headers
  • Find & Replace: Simple text replacements with occurrence counting
  • Smart Error Handling: Helpful guidance when operations fail
  • Project Context: Works within the active project with session awareness

3. Smart File Management

Move and organize notes:

# Simple moves with automatic folder creation
move_note("my-note", "work/projects/my-note.md")

# Organize within the active project
move_note("shared-doc", "archive/old-docs/shared-doc.md")

# Rename operations
move_note("old-name", "same-folder/new-name.md")

Key Capabilities:

  • Database Consistency: Updates file paths, permalinks, and checksums automatically
  • Search Reindexing: Maintains search functionality after moves
  • Folder Creation: Automatically creates destination directories
  • Project Isolation: Operates within the currently active project
  • Link Preservation: Maintains internal links and references

4. Enhanced Search & Discovery

Find content more easily with improved search capabilities:

  • Frontmatter Tag Search: Tags from YAML frontmatter are now indexed and searchable
  • Improved Content Discovery: Search across titles, content, tags, and metadata
  • Project-Scoped Search: Search within the currently active project
  • Better Search Quality: Enhanced FTS5 indexing with tag content inclusion

Example:

---
title: Coffee Brewing Methods
tags: [coffee, brewing, equipment]
---

Now searchable by: "coffee", "brewing", "equipment", or "Coffee Brewing Methods"

5. Unified Database Architecture

Single app-level database for better performance and project management:

  • Migration from Per-Project DBs: Moved from multiple SQLite files to single app database
  • Project Isolation: Proper data separation with project_id foreign keys
  • Better Performance: Optimized queries and reduced file I/O

Complete MCP Tool Suite

New Project Management Tools

  • list_projects() - Discover and list all available projects with status
  • switch_project(project_name) - Change active project context during conversations
  • get_current_project() - Show currently active project with statistics
  • set_default_project(project_name) - Update default project configuration
  • sync_status() - Check file synchronization status and background operations

New Note Operations Tools

  • edit_note() - Incremental note editing (append, prepend, find/replace, section replace)
  • move_note() - Move notes with database consistency and search reindexing
  • view_note() - Display notes as formatted artifacts for better readability in Claude Desktop

Enhanced Existing Tools

All existing tools now support:

  • Session context awareness (operates within the currently active project)
  • Enhanced error messages with project context metadata
  • Improved response formatting with project information footers
  • Project isolation ensures operations stay within the correct project boundaries

User Experience Improvements

Installation Options

Multiple ways to install and test Basic Memory:

# Stable release
uv tool install basic-memory

# Beta/pre-releases
uv tool install basic-memory --pre

Bug Fixes & Quality Improvements

Major issues resolved in v0.13.0:

  • #118: Fixed YAML tag formatting to follow standard specification
  • #110: Fixed --project flag consistency across all CLI commands
  • #107: Fixed write_note update failures with existing notes
  • #93: Fixed custom permalink handling in frontmatter
  • #52: Enhanced search capabilities with frontmatter tag indexing
  • FTS5 Search: Fixed special character handling in search queries
  • Error Handling: Improved error messages and validation across all tools

Breaking Changes & Migration

For Existing Users

Automatic Migration: First run will automatically migrate existing data to the new unified database structure. No manual action required.

What Changes:

  • Database location: Moved to ~/.basic-memory/memory.db (unified across projects)
  • Configuration: Projects defined in ~/.basic-memory/config.json are synced with database

What Stays the Same:

  • All existing notes and data remain unchanged
  • Default project behavior maintained for single-project users
  • All existing MCP tools continue to work without modification

Documentation & Resources

New Documentation

Updated Documentation

Quick Start Examples

Project Switching:

💬 "Switch to my work project and show recent activity"
🤖 [Calls switch_project("work") then recent_activity()]

Note Editing:

💬 "Add a section about deployment to my API docs"
🤖 [Calls edit_note("api-docs", "append", "## Deployment\n...")]

File Organization:

💬 "Move my old meeting notes to the archive folder"
🤖 [Calls move_note("meeting-notes", "archive/old-meetings.md")]

v0.12.3 (2025-04-17)

Bug Fixes

  • Add extra logic for permalink generation with mixed Latin unicode and Chinese characters (73ea91f)

Signed-off-by: phernandez paul@basicmachines.co

  • Modify recent_activity args to be strings instead of enums (3c1cc34)

Signed-off-by: phernandez paul@basicmachines.co

v0.12.2 (2025-04-08)

Bug Fixes

  • Utf8 for all file reads/write/open instead of default platform encoding (#91, 2934176)

Signed-off-by: phernandez paul@basicmachines.co

v0.12.1 (2025-04-07)

Bug Fixes

  • Run migrations and sync when starting mcp (#88, 78a3412)

v0.12.0 (2025-04-06)

Bug Fixes

  • [bug] # character accumulation in markdown frontmatter tags prop (#79, 6c19c9e)

  • [bug] Cursor has errors calling search tool (#78, 9d581ce)

  • [bug] Some notes never exit "modified" status (#77, 7930ddb)

  • [bug] write_note Tool Fails to Update Existing Files in Some Situations. (#80, 9bff1f7)

  • Set default mcp log level to ERROR (#81, 248214c)

  • Write_note preserves frontmatter fields in content (#84, 3f4d9e4)

Documentation

  • Add VS Code instructions to README (#76, 43cbb7b)

  • Updated basicmachines.co links to be https (#69, 40ea28b)

Features

  • Add watch to mcp process (#83, 00c8633)

  • Permalink enhancements (#82, 617e60b)

  • Avoiding "useless permalink values" for files without metadata - Enable permalinks to be updated on move via config setting

v0.11.0 (2025-03-29)

Bug Fixes

  • Just delete db for reset db instead of using migrations. (#65, 0743ade)

Signed-off-by: phernandez paul@basicmachines.co

  • Make logs for each process - mcp, sync, cli (#64, f1c9570)

Signed-off-by: phernandez paul@basicmachines.co

Documentation

  • Update broken "Multiple Projects" link in README.md (#55, 3c68b7d)

Features

  • Add bm command alias for basic-memory (#67, 069c0a2)

Signed-off-by: phernandez paul@basicmachines.co

  • Rename search tool to search_notes (#66, b278276)

Signed-off-by: phernandez paul@basicmachines.co

v0.10.1 (2025-03-25)

Bug Fixes

  • Make set_default_project also activate project for current session to fix #37 (cbe72be)

This change makes the 'basic-memory project default ' command both: 1. Set the default project for future invocations (persistent change) 2. Activate the project for the current session (immediate change)

Added tests to verify this behavior, which resolves issue #37 where the project name and path weren't changing properly when the default project was changed.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • Make set_default_project also activate project for current session to fix #37 (46c4fd2)

This change makes the 'basic-memory project default ' command both: 1. Set the default project for future invocations (persistent change) 2. Activate the project for the current session (immediate change)

Added tests to verify this behavior, which resolves issue #37 where the project name and path weren't changing properly when the default project was changed.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Signed-off-by: phernandez paul@basicmachines.co

  • Move ai_assistant_guide.md into package resources to fix #39 (390ff9d)

This change relocates the AI assistant guide from the static directory into the package resources directory, ensuring it gets properly included in the distribution package and is accessible when installed via pip/uv.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • Move ai_assistant_guide.md into package resources to fix #39 (cc2cae7)

This change relocates the AI assistant guide from the static directory into the package resources directory, ensuring it gets properly included in the distribution package and is accessible when installed via pip/uv.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Signed-off-by: phernandez paul@basicmachines.co

  • Preserve custom frontmatter fields when updating notes (78f234b)

Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when notes are updated through the write_note MCP tool.

Added test case that verifies this behavior by creating a note with custom frontmatter and then updating it.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

  • Preserve custom frontmatter fields when updating notes (e716946)

Fixes #36 by modifying entity_service.update_entity() to read existing frontmatter from files before updating them. Custom metadata fields such as Status, Priority, and Version are now preserved when notes are updated through the write_note MCP tool.

Added test case that verifies this behavior by creating a note with custom frontmatter and then updating it.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Signed-off-by: phernandez paul@basicmachines.co

Chores

  • Remove duplicate code in entity_service.py from bad merge (681af5d)

Signed-off-by: phernandez paul@basicmachines.co

Documentation

  • Add help docs to mcp cli tools (731b502)

Signed-off-by: phernandez paul@basicmachines.co

  • Add mcp badge, update cli reference, llms-install.md (b26afa9)

Signed-off-by: phernandez paul@basicmachines.co

fix spelling in CLAUDE.md: enviroment -> environment Signed-off-by: Ikko Eltociear Ashimine eltociear@gmail.com

Refactoring

  • Move project stats into projct subcommand (2a881b1)

Signed-off-by: phernandez paul@basicmachines.co

v0.10.0 (2025-03-15)

Bug Fixes

  • Ai_resource_guide.md path (da97353)

Signed-off-by: phernandez paul@basicmachines.co

  • Ai_resource_guide.md path (c4732a4)

  • Ai_resource_guide.md path (2e9d673)

Signed-off-by: phernandez paul@basicmachines.co

Fixes #30

Signed-off-by: phernandez paul@basicmachines.co

  • Drop search_index table on db reindex (31cca6f)

Signed-off-by: phernandez paul@basicmachines.co

  • Improve utf-8 support for file reading/writing (#32, eb5e4ec)

fixes #29

Signed-off-by: phernandez paul@basicmachines.co

Chores

Signed-off-by: phernandez paul@basicmachines.co

Documentation

  • Add glama badge. Fix typos in README.md (#28, 9af913d)

Signed-off-by: phernandez paul@basicmachines.co

  • Update CLAUDE.md with GitHub integration capabilities (#25, fea2f40)

This PR updates the CLAUDE.md file to document the GitHub integration capabilities that enable Claude to participate directly in the development workflow.

Features

  • Add Smithery integration for easier installation (#24, eb1e7b6)

This PR adds support for deploying Basic Memory on the Smithery platform.

Signed-off-by: bm-claudeai claude@basicmachines.co

v0.9.0 (2025-03-07)

Chores

fix: drop search_index table on db reindex

fix: ai_resource_guide.md path

chore: remove logfire

Signed-off-by: phernandez paul@basicmachines.co

Documentation

  • Update README.md and CLAUDE.md (182ec78)

Features

Signed-off-by: phernandez paul@basicmachines.co

feat: Add multiple projects support

feat: enhanced read_note for when initial result is not found

fix: merge frontmatter when updating note

fix: handle directory removed on sync watch

v0.8.0 (2025-02-28)

Chores

Features

  • Add enhanced prompts and resources (#15, 093dab5)

Summary - Add comprehensive documentation to all MCP prompt modules - Enhance search prompt with

detailed contextual output formatting - Implement consistent logging and docstring patterns across prompt utilities - Fix type checking in prompt modules

Prompts Added/Enhanced - search.py: New formatted output with relevance scores, excerpts, and

next steps - recent_activity.py: Enhanced with better metadata handling and documentation - continue_conversation.py: Improved context management

Resources Added/Enhanced - ai_assistant_guide: Resource with description to give to LLM to

understand how to use the tools

Technical improvements - Added detailed docstrings to all prompt modules explaining their purpose

and usage - Enhanced the search prompt with rich contextual output that helps LLMs understand results - Created a consistent pattern for formatting output across prompts - Improved error handling in metadata extraction - Standardized import organization and naming conventions - Fixed various type checking issues across the codebase

This PR is part of our ongoing effort to improve the MCP's interaction quality with LLMs, making the system more helpful and intuitive for AI assistants to navigate knowledge bases.

🤖 Generated with Claude Code


Co-authored-by: phernandez phernandez@basicmachines.co

  • Add new canvas tool to create json canvas files in obsidian. (#14, 0d7b0b3)

Add new canvas tool to create json canvas files in obsidian.


Co-authored-by: phernandez phernandez@basicmachines.co

  • Incremental sync on watch (#13, 37a01b8)

  • incremental sync on watch - sync non-markdown files in knowledge base - experimental read_resource tool for reading non-markdown files in raw form (pdf, image)

v0.7.0 (2025-02-19)

Bug Fixes

  • Add logfire instrumentation to tools (3e8e3e8)

  • Add logfire spans to cli (00d23a5)

  • Add logfire spans to cli (812136c)

  • Search query pagination params (bc9ca07)

Chores

Features

  • Add cli commands for mcp tools (f5a7541)

  • Add pagination to build_context and recent_activity (0123544)

  • Add pagination to read_notes (02f8e86)

v0.6.0 (2025-02-18)

Chores

  • Re-add sync status console on watch (66b57e6)

Features

Co-authored-by: phernandez phernandez@basicmachines.co

v0.5.0 (2025-02-18)

Features

  • Return semantic info in markdown after write_note (#11, 0689e7a)

Co-authored-by: phernandez phernandez@basicmachines.co

v0.4.3 (2025-02-18)

Bug Fixes

Co-authored-by: phernandez phernandez@basicmachines.co

v0.4.2 (2025-02-17)

v0.4.1 (2025-02-17)

Bug Fixes

v0.4.0 (2025-02-16)

Features

  • Import chatgpt conversation data (#9, 56f47d6)

Co-authored-by: phernandez phernandez@basicmachines.co

Import Claude.ai conversation and project data to basic-memory Markdown format.


Co-authored-by: phernandez phernandez@basicmachines.co

v0.3.0 (2025-02-15)

Bug Fixes

  • Refactor db schema migrate handling (ca632be)

v0.2.21 (2025-02-15)

Bug Fixes

  • Fix osx installer github action (65ebe5d)

  • Handle memory:// url format in read_note tool (e080373)

  • Remove create schema from init_db (674dd1f)

Features

  • Set version in var, output version at startup (a91da13)

v0.2.20 (2025-02-14)

Bug Fixes

v0.2.19 (2025-02-14)

Bug Fixes

  • Get app artifact for installer (fe8c3d8)

v0.2.18 (2025-02-14)

Bug Fixes

  • Don't zip app on release (8664c57)

v0.2.17 (2025-02-14)

Bug Fixes

  • Fix app zip in installer release (8fa197e)

v0.2.16 (2025-02-14)

Bug Fixes

  • Debug inspect build on ci (1d6054d)

v0.2.15 (2025-02-14)

Bug Fixes

v0.2.14 (2025-02-14)

v0.2.13 (2025-02-14)

Bug Fixes

  • Refactor release.yml installer (a152657)

  • Try using symlinks in installer build (8dd923d)

v0.2.12 (2025-02-14)

Bug Fixes

  • Fix cx_freeze options for installer (854cf83)

v0.2.11 (2025-02-14)

Bug Fixes

  • Ci installer app fix #37 (2e215fe)

v0.2.10 (2025-02-14)

Bug Fixes

  • Fix build on github ci for app installer (29a2594)

v0.2.9 (2025-02-14)

v0.2.8 (2025-02-14)

Bug Fixes

  • Fix installer on ci, maybe (edbc04b)

v0.2.7 (2025-02-14)

Bug Fixes

  • Try to fix installer ci (230738e)

v0.2.6 (2025-02-14)

Bug Fixes

  • Bump project patch version (01d4672)

  • Fix installer setup.py change ci to use make (3e78fcc)

v0.2.5 (2025-02-14)

Bug Fixes

  • Refix vitual env in installer build (052f491)

v0.2.4 (2025-02-14)

v0.2.3 (2025-02-14)

Bug Fixes

  • Workaround unsigned app (41d4d81)

v0.2.2 (2025-02-14)

Bug Fixes

  • Fix path to intaller app artifact (53d220d)

v0.2.1 (2025-02-14)

Bug Fixes

  • Activate vitualenv in installer build (d4c8293)

  • Trigger installer build on release (f11bf78)

v0.2.0 (2025-02-14)

Features

  • Build installer via github action (#7, 7c381a5)
  • feat(ci): build installer via github action

  • enforce conventional commits in PR titles

  • feat: add icon to installer


Co-authored-by: phernandez phernandez@basicmachines.co

v0.1.2 (2025-02-14)

Bug Fixes

  • Fix installer for mac (dde9ff2)

  • Remove unused FileChange dataclass (eb3360c)

  • Update uv installer url (2f9178b)

v0.1.1 (2025-02-07)

v0.1.0 (2025-02-07)

Bug Fixes

  • Create virtual env in test workflow (8092e6d)

  • Fix permalink uniqueness violations on create/update/sync (135bec1)

  • Fix recent activity bug (3d2c0c8)

  • Install fastapi deps after removing basic-foundation (51a741e)

  • Recreate search index on db reset (1fee436)

  • Remove basic-foundation from deps (b8d0c71)

  • Run tests via uv (4eec820)

Chores

Features

  • Add memory-json importer, tweak observation content (3484e26)

v0.0.1 (2025-02-04)

Bug Fixes

  • Fix versioning for 0.0.1 release (ba1e494)

v0.0.0 (2025-02-04)

Chores

  • Remove basic-foundation src ref in pyproject.toml (29fce8b)