|
1 | 1 | # CHANGELOG |
2 | 2 |
|
| 3 | +## v0.13.0 (2025-06-11) |
| 4 | + |
| 5 | +### Overview |
| 6 | + |
| 7 | +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. |
3 | 8 |
|
4 | | -## v0.13.0 (2025-06-03) |
| 9 | +**What's New for Users:** |
| 10 | +- 🎯 **Switch between projects instantly** during conversations with Claude |
| 11 | +- ✏️ **Edit notes incrementally** without rewriting entire documents |
| 12 | +- 📁 **Move and organize notes** with full database consistency |
| 13 | +- 📖 **View notes as formatted artifacts** for better readability in Claude Desktop |
| 14 | +- 🔍 **Search frontmatter tags** to discover content more easily |
| 15 | +- 🔐 **OAuth authentication** for secure remote access |
| 16 | +- ⚡ **Development builds** automatically published for beta testing |
5 | 17 |
|
6 | | -### Features |
| 18 | +**Key v0.13.0 Accomplishments:** |
| 19 | +- ✅ **Complete Project Management System** - Project switching and project-specific operations |
| 20 | +- ✅ **Advanced Note Editing** - Incremental editing with append, prepend, find/replace, and section operations |
| 21 | +- ✅ **View Notes as Artifacts in Claude Desktop/Web** - Use the view_note tool to view a note as an artifact |
| 22 | +- ✅ **File Management System** - Full move operations with database consistency and rollback protection |
| 23 | +- ✅ **Enhanced Search Capabilities** - Frontmatter tags now searchable, improved content discoverability |
| 24 | +- ✅ **Unified Database Architecture** - Single app-level database for better performance and project management |
| 25 | + |
| 26 | +### Major Features |
| 27 | + |
| 28 | +#### 1. Multiple Project Management |
7 | 29 |
|
8 | | -- **Multi-Project Management System** - Switch between projects instantly during conversations |
9 | | - ([`993e88a`](https://github.com/basicmachines-co/basic-memory/commit/993e88a)) |
10 | | - - Instant project switching with session context |
11 | | - - Project-specific operations and isolation |
12 | | - - Project discovery and management tools |
| 30 | +**Switch between projects instantly during conversations:** |
| 31 | + |
| 32 | +``` |
| 33 | +💬 "What projects do I have?" |
| 34 | +🤖 Available projects: |
| 35 | + • main (current, default) |
| 36 | + • work-notes |
| 37 | + • personal-journal |
| 38 | + • code-snippets |
| 39 | +
|
| 40 | +💬 "Switch to work-notes" |
| 41 | +🤖 ✓ Switched to work-notes project |
| 42 | + |
| 43 | + Project Summary: |
| 44 | + • 47 entities |
| 45 | + • 125 observations |
| 46 | + • 23 relations |
| 47 | +
|
| 48 | +💬 "What did I work on yesterday?" |
| 49 | +🤖 [Shows recent activity from work-notes project] |
| 50 | +``` |
| 51 | + |
| 52 | +**Key Capabilities:** |
| 53 | +- **Instant Project Switching**: Change project context mid-conversation without restart |
| 54 | +- **Project-Specific Operations**: Operations work within the currently active project context |
| 55 | +- **Project Discovery**: List all available projects with status indicators |
| 56 | +- **Session Context**: Maintains active project throughout conversation |
| 57 | +- **Backward Compatibility**: Existing single-project setups continue to work seamlessly |
13 | 58 |
|
14 | | -- **Advanced Note Editing** - Incremental editing with append, prepend, find/replace, and section operations |
15 | | - ([`6fc3904`](https://github.com/basicmachines-co/basic-memory/commit/6fc3904)) |
16 | | - - `edit_note` tool with multiple operation types |
17 | | - - Smart frontmatter-aware editing |
18 | | - - Validation and error handling |
| 59 | +#### 2. Advanced Note Editing |
19 | 60 |
|
20 | | -- **Smart File Management** - Move notes with database consistency and search reindexing |
21 | | - ([`9fb931c`](https://github.com/basicmachines-co/basic-memory/commit/9fb931c)) |
22 | | - - `move_note` tool with rollback protection |
23 | | - - Automatic folder creation and permalink updates |
24 | | - - Full database consistency maintenance |
| 61 | +**Edit notes incrementally without rewriting entire documents:** |
25 | 62 |
|
26 | | -- **Enhanced Search Capabilities** - Frontmatter tags now searchable, improved content discovery |
27 | | - ([`3f5368e`](https://github.com/basicmachines-co/basic-memory/commit/3f5368e)) |
28 | | - - YAML frontmatter tag indexing |
29 | | - - Improved FTS5 search functionality |
30 | | - - Project-scoped search operations |
| 63 | +```python |
| 64 | +# Append new sections to existing notes |
| 65 | +edit_note("project-planning", "append", "\n## New Requirements\n- Feature X\n- Feature Y") |
31 | 66 |
|
32 | | -- **Production Features** - OAuth authentication, development builds, comprehensive testing |
33 | | - ([`5f8d945`](https://github.com/basicmachines-co/basic-memory/commit/5f8d945)) |
34 | | - - Development build automation |
35 | | - - MCP integration testing framework |
36 | | - - Enhanced CI/CD pipeline |
| 67 | +# Prepend timestamps to meeting notes |
| 68 | +edit_note("meeting-notes", "prepend", "## 2025-05-27 Update\n- Progress update...") |
37 | 69 |
|
38 | | -### Bug Fixes |
| 70 | +# Replace specific sections under headers |
| 71 | +edit_note("api-spec", "replace_section", "New implementation details", section="## Implementation") |
39 | 72 |
|
40 | | -- **#118**: Fix YAML tag formatting to follow standard specification |
41 | | - ([`2dc7e27`](https://github.com/basicmachines-co/basic-memory/commit/2dc7e27)) |
| 73 | +# Find and replace with validation |
| 74 | +edit_note("config", "find_replace", "v0.13.0", find_text="v0.12.0", expected_replacements=2) |
| 75 | +``` |
42 | 76 |
|
43 | | -- **#110**: Make --project flag work consistently across CLI commands |
44 | | - ([`02dd91a`](https://github.com/basicmachines-co/basic-memory/commit/02dd91a)) |
| 77 | +**Key Capabilities:** |
| 78 | +- **Append Operations**: Add content to end of notes (most common use case) |
| 79 | +- **Prepend Operations**: Add content to beginning of notes |
| 80 | +- **Section Replacement**: Replace content under specific markdown headers |
| 81 | +- **Find & Replace**: Simple text replacements with occurrence counting |
| 82 | +- **Smart Error Handling**: Helpful guidance when operations fail |
| 83 | +- **Project Context**: Works within the active project with session awareness |
45 | 84 |
|
46 | | -- **#93**: Respect custom permalinks in frontmatter for write_note |
47 | | - ([`6b6fd76`](https://github.com/basicmachines-co/basic-memory/commit/6b6fd76)) |
| 85 | +#### 3. Smart File Management |
48 | 86 |
|
49 | | -- Fix list_directory path display to not include leading slash |
50 | | - ([`6057126`](https://github.com/basicmachines-co/basic-memory/commit/6057126)) |
| 87 | +**Move and organize notes:** |
51 | 88 |
|
52 | | -### Technical Improvements |
| 89 | +```python |
| 90 | +# Simple moves with automatic folder creation |
| 91 | +move_note("my-note", "work/projects/my-note.md") |
53 | 92 |
|
54 | | -- **Unified Database Architecture** - Single app-level database for better performance |
55 | | - - Migration from per-project databases to unified structure |
56 | | - - Project isolation with foreign key relationships |
57 | | - - Optimized queries and reduced file I/O |
| 93 | +# Organize within the active project |
| 94 | +move_note("shared-doc", "archive/old-docs/shared-doc.md") |
58 | 95 |
|
59 | | -- **Comprehensive Testing** - 100% test coverage with integration testing |
60 | | - ([`468a22f`](https://github.com/basicmachines-co/basic-memory/commit/468a22f)) |
61 | | - - MCP integration test suite |
62 | | - - End-to-end testing framework |
63 | | - - Performance and edge case validation |
| 96 | +# Rename operations |
| 97 | +move_note("old-name", "same-folder/new-name.md") |
| 98 | +``` |
64 | 99 |
|
65 | | -### Documentation |
| 100 | +**Key Capabilities:** |
| 101 | +- **Database Consistency**: Updates file paths, permalinks, and checksums automatically |
| 102 | +- **Search Reindexing**: Maintains search functionality after moves |
| 103 | +- **Folder Creation**: Automatically creates destination directories |
| 104 | +- **Project Isolation**: Operates within the currently active project |
| 105 | +- **Link Preservation**: Maintains internal links and references |
| 106 | + |
| 107 | +#### 4. Enhanced Search & Discovery |
| 108 | + |
| 109 | +**Find content more easily with improved search capabilities:** |
| 110 | + |
| 111 | +- **Frontmatter Tag Search**: Tags from YAML frontmatter are now indexed and searchable |
| 112 | +- **Improved Content Discovery**: Search across titles, content, tags, and metadata |
| 113 | +- **Project-Scoped Search**: Search within the currently active project |
| 114 | +- **Better Search Quality**: Enhanced FTS5 indexing with tag content inclusion |
| 115 | + |
| 116 | +**Example:** |
| 117 | +```yaml |
| 118 | +--- |
| 119 | +title: Coffee Brewing Methods |
| 120 | +tags: [coffee, brewing, equipment] |
| 121 | +--- |
| 122 | +``` |
| 123 | +Now searchable by: "coffee", "brewing", "equipment", or "Coffee Brewing Methods" |
| 124 | + |
| 125 | +#### 5. Unified Database Architecture |
| 126 | + |
| 127 | +**Single app-level database for better performance and project management:** |
| 128 | + |
| 129 | +- **Migration from Per-Project DBs**: Moved from multiple SQLite files to single app database |
| 130 | +- **Project Isolation**: Proper data separation with project_id foreign keys |
| 131 | +- **Better Performance**: Optimized queries and reduced file I/O |
| 132 | + |
| 133 | +### Complete MCP Tool Suite |
| 134 | + |
| 135 | +#### New Project Management Tools |
| 136 | +- **`list_projects()`** - Discover and list all available projects with status |
| 137 | +- **`switch_project(project_name)`** - Change active project context during conversations |
| 138 | +- **`get_current_project()`** - Show currently active project with statistics |
| 139 | +- **`set_default_project(project_name)`** - Update default project configuration |
| 140 | +- **`sync_status()`** - Check file synchronization status and background operations |
| 141 | + |
| 142 | +#### New Note Operations Tools |
| 143 | +- **`edit_note()`** - Incremental note editing (append, prepend, find/replace, section replace) |
| 144 | +- **`move_note()`** - Move notes with database consistency and search reindexing |
| 145 | +- **`view_note()`** - Display notes as formatted artifacts for better readability in Claude Desktop |
| 146 | + |
| 147 | +#### Enhanced Existing Tools |
| 148 | +All existing tools now support: |
| 149 | +- **Session context awareness** (operates within the currently active project) |
| 150 | +- **Enhanced error messages** with project context metadata |
| 151 | +- **Improved response formatting** with project information footers |
| 152 | +- **Project isolation** ensures operations stay within the correct project boundaries |
| 153 | + |
| 154 | + |
| 155 | +### User Experience Improvements |
| 156 | + |
| 157 | +#### Installation Options |
| 158 | + |
| 159 | +**Multiple ways to install and test Basic Memory:** |
| 160 | + |
| 161 | +```bash |
| 162 | +# Stable release |
| 163 | +uv tool install basic-memory |
| 164 | + |
| 165 | +# Beta/pre-releases |
| 166 | +uv tool install basic-memory --pre |
| 167 | +``` |
| 168 | + |
| 169 | + |
| 170 | +#### Bug Fixes & Quality Improvements |
| 171 | + |
| 172 | +**Major issues resolved in v0.13.0:** |
| 173 | + |
| 174 | +- **#118**: Fixed YAML tag formatting to follow standard specification |
| 175 | +- **#110**: Fixed `--project` flag consistency across all CLI commands |
| 176 | +- **#107**: Fixed write_note update failures with existing notes |
| 177 | +- **#93**: Fixed custom permalink handling in frontmatter |
| 178 | +- **#52**: Enhanced search capabilities with frontmatter tag indexing |
| 179 | +- **FTS5 Search**: Fixed special character handling in search queries |
| 180 | +- **Error Handling**: Improved error messages and validation across all tools |
| 181 | + |
| 182 | +### Breaking Changes & Migration |
| 183 | + |
| 184 | +#### For Existing Users |
| 185 | + |
| 186 | +**Automatic Migration**: First run will automatically migrate existing data to the new unified database structure. No manual action required. |
| 187 | + |
| 188 | +**What Changes:** |
| 189 | +- Database location: Moved to `~/.basic-memory/memory.db` (unified across projects) |
| 190 | +- Configuration: Projects defined in `~/.basic-memory/config.json` are synced with database |
| 191 | + |
| 192 | +**What Stays the Same:** |
| 193 | +- All existing notes and data remain unchanged |
| 194 | +- Default project behavior maintained for single-project users |
| 195 | +- All existing MCP tools continue to work without modification |
| 196 | + |
| 197 | +### Documentation & Resources |
| 198 | + |
| 199 | +#### New Documentation |
| 200 | +- [Project Management Guide](docs/Project%20Management.md) - Multi-project workflows |
| 201 | +- [Note Editing Guide](docs/Note%20Editing.md) - Advanced editing techniques |
| 202 | + |
| 203 | +#### Updated Documentation |
| 204 | +- [README.md](README.md) - Installation options and beta build instructions |
| 205 | +- [CONTRIBUTING.md](CONTRIBUTING.md) - Release process and version management |
| 206 | +- [CLAUDE.md](CLAUDE.md) - Development workflow and CI/CD documentation |
| 207 | +- [Claude.ai Integration](docs/Claude.ai%20Integration.md) - Updated MCP tool examples |
| 208 | + |
| 209 | +#### Quick Start Examples |
| 210 | + |
| 211 | +**Project Switching:** |
| 212 | +``` |
| 213 | +💬 "Switch to my work project and show recent activity" |
| 214 | +🤖 [Calls switch_project("work") then recent_activity()] |
| 215 | +``` |
66 | 216 |
|
67 | | -- Add comprehensive testing documentation (TESTING.md) |
68 | | -- Update project management guides (PROJECT_MANAGEMENT.md) |
69 | | -- Enhanced note editing documentation (EDIT_NOTE.md) |
70 | | -- Updated release workflow documentation |
| 217 | +**Note Editing:** |
| 218 | +``` |
| 219 | +💬 "Add a section about deployment to my API docs" |
| 220 | +🤖 [Calls edit_note("api-docs", "append", "## Deployment\n...")] |
| 221 | +``` |
71 | 222 |
|
72 | | -### Breaking Changes |
| 223 | +**File Organization:** |
| 224 | +``` |
| 225 | +💬 "Move my old meeting notes to the archive folder" |
| 226 | +🤖 [Calls move_note("meeting-notes", "archive/old-meetings.md")] |
| 227 | +``` |
73 | 228 |
|
74 | | -- **Database Migration**: Automatic migration from per-project to unified database. |
75 | | - Data will be re-index from the filesystem, resulting in no data loss. |
76 | | -- **Configuration Changes**: Projects now synced between config.json and database |
77 | | -- **Full Backward Compatibility**: All existing setups continue to work seamlessly |
78 | 229 |
|
79 | 230 |
|
80 | 231 | ## v0.12.3 (2025-04-17) |
|
861 | 1012 | ### Chores |
862 | 1013 |
|
863 | 1014 | - Remove basic-foundation src ref in pyproject.toml |
864 | | - ([`29fce8b`](https://github.com/basicmachines-co/basic-memory/commit/29fce8b0b922d54d7799bf2534107ee6cfb961b8)) |
| 1015 | + ([`29fce8b`](https://github.com/basicmachines-co/basic-memory/commit/29fce8b0b922d54d7799bf2534107ee6cfb961b8)) |
0 commit comments