From ac401ea254726e146eb5f05eef9cbf1d05f06a30 Mon Sep 17 00:00:00 2001 From: phernandez Date: Wed, 11 Jun 2025 08:36:30 -0500 Subject: [PATCH] chore: prepare for v0.13.0 release by removing release notes file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The release notes content has been integrated into CHANGELOG.md. Removing the standalone RELEASE_NOTES_v0.13.0.md file as it's no longer needed. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CHANGELOG.md | 265 ++++++++++++++++++++++++++++++--------- RELEASE_NOTES_v0.13.0.md | 241 ----------------------------------- 2 files changed, 208 insertions(+), 298 deletions(-) delete mode 100644 RELEASE_NOTES_v0.13.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index a79ccbe1..3ea11da1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,80 +1,231 @@ # CHANGELOG +## v0.13.0 (2025-06-11) -## v0.13.0 (2025-06-03) +### Overview -### Features +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. -- **Multi-Project Management System** - Switch between projects instantly during conversations - ([`993e88a`](https://github.com/basicmachines-co/basic-memory/commit/993e88a)) - - Instant project switching with session context - - Project-specific operations and isolation - - Project discovery and management tools +**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 -- **Advanced Note Editing** - Incremental editing with append, prepend, find/replace, and section operations - ([`6fc3904`](https://github.com/basicmachines-co/basic-memory/commit/6fc3904)) - - `edit_note` tool with multiple operation types - - Smart frontmatter-aware editing - - Validation and error handling +**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 -- **Smart File Management** - Move notes with database consistency and search reindexing - ([`9fb931c`](https://github.com/basicmachines-co/basic-memory/commit/9fb931c)) - - `move_note` tool with rollback protection - - Automatic folder creation and permalink updates - - Full database consistency maintenance +### Major Features -- **Enhanced Search Capabilities** - Frontmatter tags now searchable, improved content discovery - ([`3f5368e`](https://github.com/basicmachines-co/basic-memory/commit/3f5368e)) - - YAML frontmatter tag indexing - - Improved FTS5 search functionality - - Project-scoped search operations +#### 1. Multiple Project Management -- **Production Features** - OAuth authentication, development builds, comprehensive testing - ([`5f8d945`](https://github.com/basicmachines-co/basic-memory/commit/5f8d945)) - - Development build automation - - MCP integration testing framework - - Enhanced CI/CD pipeline +**Switch between projects instantly during conversations:** -### Bug Fixes +``` +💬 "What projects do I have?" +🤖 Available projects: + • main (current, default) + • work-notes + • personal-journal + • code-snippets -- **#118**: Fix YAML tag formatting to follow standard specification - ([`2dc7e27`](https://github.com/basicmachines-co/basic-memory/commit/2dc7e27)) +💬 "Switch to work-notes" +🤖 ✓ Switched to work-notes project + + Project Summary: + • 47 entities + • 125 observations + • 23 relations -- **#110**: Make --project flag work consistently across CLI commands - ([`02dd91a`](https://github.com/basicmachines-co/basic-memory/commit/02dd91a)) +💬 "What did I work on yesterday?" +🤖 [Shows recent activity from work-notes project] +``` -- **#93**: Respect custom permalinks in frontmatter for write_note - ([`6b6fd76`](https://github.com/basicmachines-co/basic-memory/commit/6b6fd76)) +**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 -- Fix list_directory path display to not include leading slash - ([`6057126`](https://github.com/basicmachines-co/basic-memory/commit/6057126)) +#### 2. Advanced Note Editing -### Technical Improvements +**Edit notes incrementally without rewriting entire documents:** -- **Unified Database Architecture** - Single app-level database for better performance - - Migration from per-project databases to unified structure - - Project isolation with foreign key relationships - - Optimized queries and reduced file I/O +```python +# Append new sections to existing notes +edit_note("project-planning", "append", "\n## New Requirements\n- Feature X\n- Feature Y") -- **Comprehensive Testing** - 100% test coverage with integration testing - ([`468a22f`](https://github.com/basicmachines-co/basic-memory/commit/468a22f)) - - MCP integration test suite - - End-to-end testing framework - - Performance and edge case validation +# Prepend timestamps to meeting notes +edit_note("meeting-notes", "prepend", "## 2025-05-27 Update\n- Progress update...") -### Documentation +# Replace specific sections under headers +edit_note("api-spec", "replace_section", "New implementation details", section="## Implementation") -- Add comprehensive testing documentation (TESTING.md) -- Update project management guides (PROJECT_MANAGEMENT.md) -- Enhanced note editing documentation (EDIT_NOTE.md) -- Updated release workflow documentation +# Find and replace with validation +edit_note("config", "find_replace", "v0.13.0", find_text="v0.12.0", expected_replacements=2) +``` -### Breaking Changes +**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:** + +```python +# 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:** +```yaml +--- +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:** + +```bash +# 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 +- [Project Management Guide](docs/Project%20Management.md) - Multi-project workflows +- [Note Editing Guide](docs/Note%20Editing.md) - Advanced editing techniques + +#### Updated Documentation +- [README.md](README.md) - Installation options and beta build instructions +- [CONTRIBUTING.md](CONTRIBUTING.md) - Release process and version management +- [CLAUDE.md](CLAUDE.md) - Development workflow and CI/CD documentation +- [Claude.ai Integration](docs/Claude.ai%20Integration.md) - Updated MCP tool examples + +#### 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")] +``` -- **Database Migration**: Automatic migration from per-project to unified database. - Data will be re-index from the filesystem, resulting in no data loss. -- **Configuration Changes**: Projects now synced between config.json and database -- **Full Backward Compatibility**: All existing setups continue to work seamlessly ## v0.12.3 (2025-04-17) @@ -861,4 +1012,4 @@ Co-authored-by: phernandez ### Chores - Remove basic-foundation src ref in pyproject.toml - ([`29fce8b`](https://github.com/basicmachines-co/basic-memory/commit/29fce8b0b922d54d7799bf2534107ee6cfb961b8)) + ([`29fce8b`](https://github.com/basicmachines-co/basic-memory/commit/29fce8b0b922d54d7799bf2534107ee6cfb961b8)) \ No newline at end of file diff --git a/RELEASE_NOTES_v0.13.0.md b/RELEASE_NOTES_v0.13.0.md deleted file mode 100644 index fa2aab13..00000000 --- a/RELEASE_NOTES_v0.13.0.md +++ /dev/null @@ -1,241 +0,0 @@ -# Release Notes v0.13.0 - -## 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:** - -```python -# 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:** - -```python -# 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:** -```yaml ---- -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:** - -```bash -# 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 -- [Project Management Guide](docs/Project%20Management.md) - Multi-project workflows -- [Note Editing Guide](docs/Note%20Editing.md) - Advanced editing techniques - -### Updated Documentation -- [README.md](README.md) - Installation options and beta build instructions -- [CONTRIBUTING.md](CONTRIBUTING.md) - Release process and version management -- [CLAUDE.md](CLAUDE.md) - Development workflow and CI/CD documentation -- [Claude.ai Integration](docs/Claude.ai%20Integration.md) - Updated MCP tool examples - -### 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")] -``` - - -### Getting Updates -```bash -# Stable releases -uv tool upgrade basic-memory - -# Beta releases -uv tool install basic-memory --pre --force-reinstall - -# Latest development -uv tool install basic-memory --pre --force-reinstall -``` \ No newline at end of file