|
1 | 1 | # CHANGELOG |
2 | 2 |
|
| 3 | +## v0.15.0 (2025-10-04) |
| 4 | + |
| 5 | +### Critical Bug Fixes |
| 6 | + |
| 7 | +- **Permalink Collision Data Loss Prevention** - Fixed critical bug where creating similar entity names would overwrite existing files |
| 8 | + ([`2a050ed`](https://github.com/basicmachines-co/basic-memory/commit/2a050edee42b07294f5199902a60b626bfc47be8)) |
| 9 | + - **Issue**: Creating "Node C" would overwrite "Node A.md" due to fuzzy search incorrectly matching similar file paths |
| 10 | + - **Solution**: Added `strict=True` parameter to link resolution, disabling fuzzy search fallback during entity creation |
| 11 | + - **Impact**: Prevents data loss from false positive path matching like "edge-cases/Node A.md" vs "edge-cases/Node C.md" |
| 12 | + - **Testing**: Comprehensive integration tests and MCP-level permalink collision tests added |
| 13 | + - **Status**: Manually verified fix prevents file overwrite in production scenarios |
| 14 | + |
| 15 | +### Bug Fixes |
| 16 | + |
| 17 | +- **#330**: Remove .env file loading from BasicMemoryConfig |
| 18 | + ([`f3b1945`](https://github.com/basicmachines-co/basic-memory/commit/f3b1945e4c0070d0282eaf98c085ef188c8edd2d)) |
| 19 | + - Clean up configuration initialization to prevent unintended environment variable loading |
| 20 | + |
| 21 | +- **#329**: Normalize underscores in memory:// URLs for build_context |
| 22 | + ([`f5a11f3`](https://github.com/basicmachines-co/basic-memory/commit/f5a11f3911edda55bee6970ed9e7c38f7fd7a059)) |
| 23 | + - Fix URL normalization to handle underscores consistently in memory:// protocol |
| 24 | + - Improve knowledge graph navigation with standardized URL handling |
| 25 | + |
| 26 | +- **#328**: Simplify entity upsert to use database-level conflict resolution |
| 27 | + ([`ee83b0e`](https://github.com/basicmachines-co/basic-memory/commit/ee83b0e5a8f00cdcc8e24a0f8c9449c6eaddf649)) |
| 28 | + - Leverage SQLite's native UPSERT for cleaner entity creation/update logic |
| 29 | + - Reduce application-level complexity by using database conflict resolution |
| 30 | + |
| 31 | +- **#312**: Add proper datetime JSON schema format annotations for MCP validation |
| 32 | + ([`a7bf42e`](https://github.com/basicmachines-co/basic-memory/commit/a7bf42ef495a3e2c66230985c3445cab5c52c408)) |
| 33 | + - Fix MCP schema validation errors with proper datetime format annotations |
| 34 | + - Ensure compatibility with strict MCP schema validators |
| 35 | + |
| 36 | +- **#281**: Fix move_note without file extension |
| 37 | + ([`3e168b9`](https://github.com/basicmachines-co/basic-memory/commit/3e168b98f3962681799f4537eb86ded47e771665)) |
| 38 | + - Allow moving notes by title alone without requiring .md extension |
| 39 | + - Improve move operation usability and error handling |
| 40 | + |
| 41 | +- **#310**: Remove obsolete update_current_project function and --project flag reference |
| 42 | + ([`17a6733`](https://github.com/basicmachines-co/basic-memory/commit/17a6733c9d280def922e37c2cd171e3ee44fce21)) |
| 43 | + - Clean up deprecated project management code |
| 44 | + - Remove unused CLI flag references |
| 45 | + |
| 46 | +- **#309**: Make sync operations truly non-blocking with thread pool |
| 47 | + ([`1091e11`](https://github.com/basicmachines-co/basic-memory/commit/1091e113227c86f10f574e56a262aff72f728113)) |
| 48 | + - Move sync operations to background thread pool for improved responsiveness |
| 49 | + - Prevent blocking during file synchronization operations |
| 50 | + |
| 51 | +### Features |
| 52 | + |
| 53 | +- **#327**: CLI Subscription Validation (SPEC-13 Phase 2) |
| 54 | + ([`ace6a0f`](https://github.com/basicmachines-co/basic-memory/commit/ace6a0f50d8d0b4ea31fb526361c2d9616271740)) |
| 55 | + - Implement subscription validation for CLI operations |
| 56 | + - Foundation for future cloud billing integration |
| 57 | + |
| 58 | +- **#322**: Cloud CLI sync via rclone bisync |
| 59 | + ([`99a35a7`](https://github.com/basicmachines-co/basic-memory/commit/99a35a7fb410ef88c50050e666e4244350e44a6e)) |
| 60 | + - Add bidirectional cloud synchronization using rclone |
| 61 | + - Enable local-cloud file sync with conflict detection |
| 62 | + |
| 63 | +- **#315**: Implement SPEC-11 API performance optimizations |
| 64 | + ([`5da97e4`](https://github.com/basicmachines-co/basic-memory/commit/5da97e482052907d68a2a3604e255c3f2c42c5ed)) |
| 65 | + - Comprehensive API performance improvements |
| 66 | + - Optimized database queries and response times |
| 67 | + |
| 68 | +- **#314**: Integrate ignore_utils to skip .gitignored files in sync process |
| 69 | + ([`33ee1e0`](https://github.com/basicmachines-co/basic-memory/commit/33ee1e0831d2060587de2c9886e74ff111b04583)) |
| 70 | + - Respect .gitignore patterns during file synchronization |
| 71 | + - Prevent syncing build artifacts and temporary files |
| 72 | + |
| 73 | +- **#313**: Add disable_permalinks config flag |
| 74 | + ([`9035913`](https://github.com/basicmachines-co/basic-memory/commit/903591384dffeba9996a18463818bdb8b28ca03e)) |
| 75 | + - Optional permalink generation for users who don't need them |
| 76 | + - Improves flexibility for different knowledge management workflows |
| 77 | + |
| 78 | +- **#306**: Implement cloud mount CLI commands for local file access |
| 79 | + ([`2c5c606`](https://github.com/basicmachines-co/basic-memory/commit/2c5c606a394ab994334c8fd307b30370037bbf39)) |
| 80 | + - Mount cloud files locally using rclone for real-time editing |
| 81 | + - Three performance profiles: fast (5s), balanced (10-15s), safe (15s+) |
| 82 | + - Cross-platform rclone installer with package manager fallbacks |
| 83 | + |
| 84 | +- **#305**: ChatGPT tools for search and fetch |
| 85 | + ([`f40ab31`](https://github.com/basicmachines-co/basic-memory/commit/f40ab31685a9510a07f5d87bf24436c0df80680f)) |
| 86 | + - Add ChatGPT-specific search and fetch tools |
| 87 | + - Expand AI assistant integration options |
| 88 | + |
| 89 | +- **#298**: Implement SPEC-6 Stateless Architecture for MCP Tools |
| 90 | + ([`a1d7792`](https://github.com/basicmachines-co/basic-memory/commit/a1d7792bdb6f71c4943b861d1c237f6ac7021247)) |
| 91 | + - Redesign MCP tools for stateless operation |
| 92 | + - Enable cloud deployment with better scalability |
| 93 | + |
| 94 | +- **#296**: Basic Memory cloud upload |
| 95 | + ([`e0d8aeb`](https://github.com/basicmachines-co/basic-memory/commit/e0d8aeb14913f3471b9716d0c60c61adb1d74687)) |
| 96 | + - Implement file upload capabilities for cloud storage |
| 97 | + - Foundation for cloud-hosted Basic Memory instances |
| 98 | + |
| 99 | +- **#291**: Merge Cloud auth |
| 100 | + ([`3a6baf8`](https://github.com/basicmachines-co/basic-memory/commit/3a6baf80fc6012e9434e06b1605f9a8b198d8688)) |
| 101 | + - OAuth 2.1 authentication with Supabase integration |
| 102 | + - JWT-based tenant isolation for multi-user cloud deployments |
| 103 | + |
| 104 | +### Platform & Infrastructure |
| 105 | + |
| 106 | +- **#331**: Add Python 3.13 to test matrix |
| 107 | + ([`16d7edd`](https://github.com/basicmachines-co/basic-memory/commit/16d7eddbf704abfe53373663e80d05ecdde15aa7)) |
| 108 | + - Ensure compatibility with latest Python version |
| 109 | + - Expand CI/CD testing coverage |
| 110 | + |
| 111 | +- **#316**: Enable WAL mode and add Windows-specific SQLite optimizations |
| 112 | + ([`c83d567`](https://github.com/basicmachines-co/basic-memory/commit/c83d567917267bb3d52708f4b38d2daf36c1f135)) |
| 113 | + - Enable Write-Ahead Logging for better concurrency |
| 114 | + - Platform-specific SQLite optimizations for Windows users |
| 115 | + |
| 116 | +- **#320**: Rework lifecycle management to optimize cloud deployment |
| 117 | + ([`ea2e93d`](https://github.com/basicmachines-co/basic-memory/commit/ea2e93d9265bfa366d2d3796f99f579ab2aed48c)) |
| 118 | + - Optimize application lifecycle for cloud environments |
| 119 | + - Improve startup time and resource management |
| 120 | + |
| 121 | +- **#319**: Resolve entity relations in background to prevent cold start blocking |
| 122 | + ([`324844a`](https://github.com/basicmachines-co/basic-memory/commit/324844a670d874410c634db520a68c09149045ea)) |
| 123 | + - Move relation resolution to background processing |
| 124 | + - Faster MCP server cold starts |
| 125 | + |
| 126 | +- **#318**: Enforce minimum 1-day timeframe for recent_activity |
| 127 | + ([`f818702`](https://github.com/basicmachines-co/basic-memory/commit/f818702ab7f8d2d706178e7b0ed3467501c9c4a2)) |
| 128 | + - Fix timezone-related issues in recent activity queries |
| 129 | + - Ensure consistent behavior across time zones |
| 130 | + |
| 131 | +- **#317**: Critical cloud deployment fixes for MCP stability |
| 132 | + ([`2efd8f4`](https://github.com/basicmachines-co/basic-memory/commit/2efd8f44e2d0259079ed5105fea34308875c0e10)) |
| 133 | + - Multiple stability improvements for cloud-hosted MCP servers |
| 134 | + - Enhanced error handling and recovery |
| 135 | + |
| 136 | +### Technical Improvements |
| 137 | + |
| 138 | +- **Comprehensive Testing** - Extensive test coverage for critical fixes |
| 139 | + - New permalink collision test suite with 4 MCP-level integration tests |
| 140 | + - Entity service test coverage expanded to reproduce fuzzy search bug |
| 141 | + - Manual testing verification of data loss prevention |
| 142 | + - All 55 entity service tests passing with new strict resolution |
| 143 | + |
| 144 | +- **Windows Support Enhancements** |
| 145 | + ([`7a8b08d`](https://github.com/basicmachines-co/basic-memory/commit/7a8b08d11ee627b54af6f5ea7ab4ef9fcd8cf4ed), |
| 146 | + [`9aa4024`](https://github.com/basicmachines-co/basic-memory/commit/9aa40246a8ad1c3cef82b32e1ca7ce8ea23e1e05)) |
| 147 | + - Fix Windows test failures and add Windows CI support |
| 148 | + - Address platform-specific issues for Windows users |
| 149 | + - Enhanced cross-platform compatibility |
| 150 | + |
| 151 | +- **Docker Improvements** |
| 152 | + ([`105bcaa`](https://github.com/basicmachines-co/basic-memory/commit/105bcaa025576a06f889183baded6c18f3782696)) |
| 153 | + - Implement non-root Docker container to fix file ownership issues |
| 154 | + - Improved security and compatibility in containerized deployments |
| 155 | + |
| 156 | +- **Code Quality** |
| 157 | + - Enhanced filename sanitization with optional kebab case support |
| 158 | + - Improved character conflict detection for sync operations |
| 159 | + - Better error handling across the codebase |
| 160 | + - Path traversal security vulnerability fixes |
| 161 | + |
| 162 | +### Documentation |
| 163 | + |
| 164 | +- **#321**: Corrected dead links in README |
| 165 | + ([`fc38877`](https://github.com/basicmachines-co/basic-memory/commit/fc38877008cd8c762116f7ff4b2573495b4e5c0f)) |
| 166 | + - Fix broken documentation links |
| 167 | + - Improve navigation and accessibility |
| 168 | + |
| 169 | +- **#308**: Update Claude Code GitHub Workflow |
| 170 | + ([`8c7e29e`](https://github.com/basicmachines-co/basic-memory/commit/8c7e29e325f36a67bdefe8811637493bef4bbf56)) |
| 171 | + - Enhanced GitHub integration documentation |
| 172 | + - Better Claude Code collaboration workflow |
| 173 | + |
| 174 | +### Breaking Changes |
| 175 | + |
| 176 | +**None** - This release maintains full backward compatibility with v0.14.x |
| 177 | + |
| 178 | +All changes are either: |
| 179 | +- Bug fixes that correct unintended behavior |
| 180 | +- New optional features that don't affect existing functionality |
| 181 | +- Internal optimizations that are transparent to users |
| 182 | + |
| 183 | +### Migration Guide |
| 184 | + |
| 185 | +No manual migration required. Upgrade with: |
| 186 | + |
| 187 | +```bash |
| 188 | +# Update via uv |
| 189 | +uv tool upgrade basic-memory |
| 190 | + |
| 191 | +# Or install fresh |
| 192 | +uv tool install basic-memory |
| 193 | +``` |
| 194 | + |
| 195 | +**What's Fixed:** |
| 196 | +- Data loss bug from permalink collisions is completely resolved |
| 197 | +- Cloud deployment stability significantly improved |
| 198 | +- Windows platform compatibility enhanced |
| 199 | +- Better performance across all operations |
| 200 | + |
| 201 | +**What's New:** |
| 202 | +- Cloud sync capabilities via rclone |
| 203 | +- Subscription validation foundation |
| 204 | +- Python 3.13 support |
| 205 | +- Enhanced security and stability |
| 206 | + |
| 207 | +### Installation |
| 208 | + |
| 209 | +```bash |
| 210 | +# Latest stable release |
| 211 | +uv tool install basic-memory |
| 212 | + |
| 213 | +# Update existing installation |
| 214 | +uv tool upgrade basic-memory |
| 215 | + |
| 216 | +# Docker |
| 217 | +docker pull ghcr.io/basicmachines-co/basic-memory:v0.15.0 |
| 218 | +``` |
| 219 | + |
3 | 220 | ## v0.14.2 (2025-07-03) |
4 | 221 |
|
5 | 222 | ### Bug Fixes |
|
0 commit comments