Skip to content

Releases: basicmachines-co/basic-memory

v0.16.3

20 Dec 15:54

Choose a tag to compare

What's Changed

  • fix: handle periods in kebab_filenames mode by @divideby0 in #424
  • feat: Add PostgreSQL database backend support by @phernandez in #439
  • feat: Implement API v2 with ID-based endpoints (Phase 1) by @jope-bm in #441
  • fix: respect --project flag in background sync (fixes #434) by @divideby0 in #436
  • Replace py-pglite with testcontainers for Postgres testing by @phernandez in #449
  • chore: Cloud compatibility fixes and performance improvements by @phernandez in #454
  • chore: more Tenantless fixes by @phernandez in #457
  • fix: await background sync task cancellation in lifespan shutdown by @phernandez in #456
  • test: Add integration test for issue #416 (read_note with underscored folders) by @phernandez in #453
  • fix: Reduce watch service CPU usage by increasing reload interval by @phernandez in #458
  • fix: Pin FastMCP to 2.12.3 to fix MCP tools visibility by @groksrc in #464

New Contributors

Full Changelog: v0.16.2...v0.16.3

v0.16.2

17 Nov 03:31

Choose a tag to compare

What's Changed

  • fix: main project always recreated on project list command by @bdmayes in #421
  • fix: Add rclone installation checks for Windows bisync commands by @groksrc in #427
  • fix: Use platform-native path separators in config.json by @groksrc in #429

Full Changelog: v0.16.1...v0.16.2

v0.16.1

11 Nov 15:22

Choose a tag to compare

What's Changed

Full Changelog: v0.16.0...v0.16.1

v0.16.0

11 Nov 01:20

Choose a tag to compare

What's Changed

  • fix: Handle None text values in Claude conversations importer by @phernandez in #353
  • fix: Make project creation endpoint idempotent by @phernandez in #357
  • feat: Add --verbose and --no-gitignore options to cloud upload by @phernandez in #362
  • feat: Add circuit breaker for file sync failures by @phernandez in #364
  • fix: Terminate sync immediately when project is deleted by @phernandez in #366
  • fix: Resolve UNIQUE constraint violation in entity upsert with observations (#187) by @phernandez in #367
  • fix: Handle YAML parsing errors and missing entity_type in markdown files by @phernandez in #368
  • fix: Use filesystem timestamps for entity sync instead of database operation time (#138) by @phernandez in #369
  • fix: Prevent deleted projects from being recreated by background sync (#193) by @phernandez in #370
  • fix: preserve mtime webdav upload 376 by @phernandez in #377
  • fix: Optimize sync memory usage to prevent OOM on large projects by @phernandez in #380
  • fix: Handle YAML parsing errors gracefully in update_frontmatter (#378) by @phernandez in #379
  • feat: Streaming Foundation & Async I/O Consolidation (SPEC-19) by @phernandez in #384
  • fix: Handle null, empty, and string 'None' title in markdown frontmatter (#387) by @phernandez in #389
  • feat: Add delete_notes parameter to remove project endpoint by @phernandez in #391
  • fix: Normalize YAML frontmatter types to prevent AttributeError (#236) by @phernandez in #402
  • feat: SPEC-20 Simplified Project-Scoped Rclone Sync by @phernandez in #405
  • fix: Windows CLI Unicode encoding errors by @groksrc in #411
  • fix: Various rclone fixes for cloud sync on Windows by @bdmayes in #410
  • fix: Strip duplicate headers in edit_note replace_section by @phernandez in #396
  • feat: Add run_in_background parameter to sync endpoint with tests by @jope-bm in #417
  • fix: Handle dict objects in write_resource endpoint by @phernandez in #415
  • fix: Replace Unicode arrows with ASCII for Windows compatibility by @groksrc in #414
  • fix: Simplify search_notes schema by removing Optional wrappers by @phernandez in #395
  • fix: Add explicit type annotations to MCP tool parameters by @phernandez in #394
  • fix: Quote string values in YAML frontmatter to handle special characters by @phernandez in #418
  • fix: Rename write_note entity_type to note_type for clarity by @phernandez in #419
  • fix: skip archive files during cloud upload by @phernandez in #420

Full Changelog: v0.15.2...v0.16.0

v0.15.2

14 Oct 14:37

Choose a tag to compare

What's Changed

  • feat: Add WebDAV upload command for cloud projects by @phernandez in #356

Full Changelog: v0.15.1...v0.15.2

v0.15.1

13 Oct 16:05

Choose a tag to compare

What's Changed

  • fix: cloud mode path validation and sanitization (bmc-issue-103) by @phernandez in #332
  • feat: introduce BASIC_MEMORY_PROJECT_ROOT for path constraints by @phernandez in #334
  • chore: v0.15.0 assistant guide by @phernandez in #335
  • fix: normalize paths to lowercase in cloud mode to prevent case collisions by @phernandez in #336
  • fix: prevent nested project paths to avoid data conflicts by @phernandez in #338
  • fix: add tool use doc to write note for using empty string or "/" for root folder by @phernandez in #339
  • fix: correct ProjectItem.home property to return path instead of name by @phernandez in #341
  • feat: Add SPEC-15 for configuration persistence via Tigris by @phernandez in #343
  • refactor: async client context manager pattern for cloud consolidation by @phernandez in #344
  • fix: Project deletion failing with permalink normalization by @groksrc in #345
  • fix: Add permalink normalization to project lookups in deps.py by @jope-bm in #348
  • feat: Optimize directory operations for 10-100x performance improvement by @phernandez in #350
  • perf: Optimize sync/indexing for 43% faster performance by @phernandez in #352
  • fix: Update view_note and ChatGPT tools for Claude Desktop compatibility by @phernandez in #355

Full Changelog: v0.15.0...v0.15.1

v0.15.0

04 Oct 20:02

Choose a tag to compare

What's Changed

  • chore: apply lint and formatting fixes for 0.14.4 release by @jope-bm in #290
  • feat: Merge Cloud auth by @jope-bm in #291
  • fix: rename MCP prompt names to avoid slash command parsing issues by @groksrc in #289
  • fix: replace deprecated json_encoders with Pydantic V2 field serializers by @phernandez in #295
  • fix: Sanitize folder names and properly join paths by @bdmayes in #292
  • feat: Basic memory cloud upload by @phernandez in #296
  • feat: Implement SPEC-6 Stateless Architecture for MCP Tools by @phernandez in #298
  • feat: Implement cloud mount CLI commands for local file access by @phernandez in #306
  • chore: Update Claude Code GitHub Workflow by @phernandez in #308
  • feat: chatgpt tools for search and fetch by @phernandez in #305
  • fix: Make sync operations truly non-blocking with thread pool by @phernandez in #309
  • fix: move_note without file extension by @groksrc in #281
  • fix: remove obsolete update_current_project function and --project flag reference by @phernandez in #310
  • feat: implement SPEC-11 API performance optimizations by @phernandez in #315
  • fix: critical cloud deployment fixes for MCP stability by @phernandez in #317
  • fix: enforce minimum 1-day timeframe for recent_activity to handle timezone issues by @phernandez in #318
  • fix: resolve entity relations in background to prevent cold start blocking by @phernandez in #319
  • fix: rework lifecycle management to optimize cloud deployment by @phernandez in #320
  • feat: Cloud CLI cloud sync via rclone bisync by @phernandez in #322
  • Fix: Corrected dead links in README by @jonathan-d-nguyen in #321
  • feat: CLI Subscription Validation (SPEC-13 Phase 2) by @phernandez in #327
  • fix: enable WAL mode and add Windows-specific SQLite optimizations by @phernandez in #316
  • feat: integrate ignore_utils to skip .gitignored files in sync process by @phernandez in #314
  • feat: Add disable_permalinks config flag by @phernandez in #313
  • fix: Add proper datetime JSON schema format annotations for MCP validation by @phernandez in #312
  • fix: simplify entity upsert to use database-level conflict resolution by @phernandez in #328
  • fix: normalize underscores in memory:// URLs for build_context by @phernandez in #329
  • ci: Add Python 3.13 to test matrix by @phernandez in #331
  • fix: remove .env file loading from BasicMemoryConfig by @phernandez in #330

New Contributors

Full Changelog: v0.14.4...v0.15.0

v0.14.4

04 Sep 20:03

Choose a tag to compare

What's Changed

  • fix: Critical search index bug - prevent note disappearing on edit by @jope-bm in #257
  • fix: Add missing foreign key constraints for project removal (#254) by @jope-bm in #258
  • fix: Enable string-to-integer conversion for build_context depth parameter by @jope-bm in #259
  • fix: handle vim atomic write DELETE events without ADD by @phernandez in #249
  • fix: Add project isolation to ContextService.find_related() method (#261) by @jope-bm in #262
  • fix: Respect BASIC_MEMORY_LOG_LEVEL and BASIC_MEMORY_CONSOLE_LOGGING environment variables by @jope-bm in #264
  • fix: Use discriminated unions for MCP schema validation in build_context by @jope-bm in #266
  • fix: Ensure all datetime operations return timezone-aware objects by @jope-bm in #268
  • fix: Fix observation parsing to exclude markdown and wiki links by @jope-bm in #269
  • fix: Add ISO datetime serialization to MCP schema models by @jope-bm in #270
  • Addressed issues when running basic-memory on the Windows platform by @manuelbliemel in #252
  • fix: Windows test failures and add Windows CI support by @groksrc in #273
  • fix: Sanitize filenames and allow optional kebab case by @bdmayes in #260
  • feat: implement non-root Docker container to fix file ownership issues by @phernandez in #277
  • fix: complete project management special character support (#272) by @jope-bm in #279
  • fix: Update YAML frontmatter tag formatting for Obsidian compatibility by @groksrc in #280

New Contributors

Full Changelog: v0.14.3...v0.14.4

v0.14.3

02 Aug 03:07

Choose a tag to compare

What's Changed

  • chore: Cloud auth by @phernandez in #213
  • docs: improve virtual environment setup instructions by @jope-bm in #222
  • fix: path traversal security vulnerability in mcp tools by @jope-bm in #223
  • fix: basic memory home env var not respected when project path is changed. by @jope-bm in #239
  • fix: handle missing 'name' key in memory JSON import by @jope-bm in #241
  • chore: minor cleanup by @groksrc in #228
  • fix: replace recursive _traverse_messages with iterative approach to handle deep conversation threads by @phernandez in #235
  • fix: enhance character conflict detection and error handling for sync operations by @phernandez in #201

New Contributors

Full Changelog: v0.14.2...v0.14.3

v0.14.2

03 Jul 22:31

Choose a tag to compare

What's Changed

  • fix: replace deprecated datetime.utcnow() with timezone-aware alternatives and suppress SQLAlchemy warnings by @groksrc in #211
  • fix: MCP Error with MCP-Hub #204 by @groksrc in #212

Full Changelog: v0.14.1...v0.14.2