Skip to content

Releases: CaviraOSS/OpenMemory

Beta v1.3.0

20 Dec 16:45

Choose a tag to compare

Beta v1.3.0 Pre-release
Pre-release

Changelog

api simplification

  • python sdk: simplified to zero-config Memory() api matching javascript
    • from openmemory.client import Memorymem = Memory()
    • works out of the box with sensible defaults (in-memory sqlite, fast tier, synthetic embeddings)
    • optional configuration via environment variables or constructor
    • breaking change: moved from OpenMemory class to Memory class

benchmark suite rewrite

  • implemented comprehensive benchmark suite in temp/benchmarks/
    • typescript-based using tsx for execution
    • supports longmemeval dataset evaluation
    • multi-backend comparison (openmemory, mem0, zep, supermemory)
  • created src/main.ts consolidated benchmark runner
    • environment validation
    • backend instantiation checks
    • sequential benchmark execution with detailed logging

✨ features

core improvements

  • Memory.wipe(): added database wipe functionality for testing

    • clear_all implementation in db.ts for postgres and sqlite
    • clears memories, vectors, waypoints, and users tables
    • useful for benchmark isolation and test cleanup
  • environment variable overrides:

    • OM_OLLAMA_MODEL: override ollama embedding model
    • OM_OPENAI_MODEL: override openai embedding model
    • OM_VEC_DIM: configure vector dimension (critical for embedding compatibility)
    • OM_DB_PATH: sqlite database path (supports :memory:)

vector store enhancements

  • added comprehensive logging to PostgresVectorStore
    • logs vector storage operations with id, sector, dimension
    • logs search operations with sector and result count
    • aids in debugging retrieval issues

🐛 bug fixes

  • embedding configuration:

    • fixed models.ts to respect OM_OLLAMA_MODEL environment variable
    • resolved dimension mismatch issues (768 vs 1536) for embeddinggemma
    • ensured OM_TIER=deep uses semantic embeddings (not synthetic fallback)
  • benchmark data isolation:

    • implemented proper database reset between benchmark runs
    • fixed simhash collision issues causing cross-user contamination
    • added resetUser() functionality calling Memory.wipe()
  • configuration loading:

    • fixed dotenv timing issues in benchmark suite
    • ensured environment variables load before openmemory-js initialization
    • corrected dataset path resolution (longmemeval_s.json)

📚 documentation

  • comprehensive readme updates:

    • root README.md: language-agnostic, showcases both python & javascript sdks
    • packages/openmemory-js/README.md: complete api reference, mcp integration, examples
    • packages/openmemory-py/README.md: zero-config usage, all embedding providers
  • api documentation:

    • environment variables with descriptions
    • cognitive sectors explanation
    • performance tiers breakdown
    • embedding provider configurations

🔧 internal improvements

  • type safety: added lint error handling in benchmark adapters
  • code organization: separated generator, judge, and backend interfaces
  • debug tooling: created dimension check script (check_dim.ts)
  • logging standardization: consistent [Component] prefix pattern

⚠️ breaking changes

  • python sdk now uses from openmemory.client import Memory instead of from openmemory import OpenMemory
  • Memory() constructor signature changed to accept optional parameters (was required)
  • benchmark suite moved to typescript (was python)

New Contributors

Full Changelog: v1.2.3...v1.3.0

v1.2.3

12 Dec 15:32

Choose a tag to compare

1.2.3 - 2025-12-14

Added

  • Temporal Filtering: Enables precise time-based memory retrieval
    • Added startTime and endTime filters to query method across Backend, JS SDK, and Python SDK.
    • Allows filtering memories by creation time range.
    • Fully integrated into hsg_query logic.

Fixed

  • JavaScript SDK Types: Fixed IngestURLResult import error and v.v property access bug in VectorStore integration.
  • Python SDK Filtering: Fixed missing implementation of user_id and temporal filters in hsg_query loop.

What's Changed

  • fix: Add PATCH to CORS allowed methods by @aziham in #93

New Contributors

Full Changelog: v1.2.2...v1.2.3

v1.2.2

06 Dec 14:42
8ac5744

Choose a tag to compare

Fixed

  • MCP Server Path Resolution: Fixed ENOENT error in stdio mode (Claude Desktop)

    • Enforced absolute path resolution for SQLite database
    • Ensures correct data directory creation regardless of working directory
    • Critical fix for local desktop client integration
  • VectorStore Refactor: Fixed build regressions in backend

    • Migrated deprecated q vector operations to VectorStore interface
    • Fixed users.ts, memory.ts, graph.ts, mcp.ts, and decay.ts
    • Removed partial SQL updates in favor of unified vector store methods

Added

  • Valkey VectorStore Enhancements: Improved compatibility and performance
    • Refined vector storage implementation for Valkey backend
    • Optimized vector retrieval and storage operations

Changed

  • IDE Extension:

    • Updates to Dashboard UI (DashboardPanel.ts) and extension activation logic (extension.ts)
    • Configuration and dependency updates
  • Python SDK:

    • Refinements to embedding logic (embed.py)
    • Project configuration updates in pyproject.toml
  • Backend Maintenance:

    • Dockerfile updates for improved containerization
    • Updates to CLI tool (bin/opm.js)

New Contributors

Full Changelog: 1.2.1...v1.2.2

openmemorye

V1.2.1

23 Nov 12:20

Choose a tag to compare

1.2.1 - Standalone Sdk

Added

  • Python SDK (sdk-py/): SDK Overhaul, it can now perform as a standalone version of OpenMemory

    • Full feature parity with Backend
    • Local-first architecture with SQLite backend
    • Multi-sector memory (episodic, semantic, procedural, emotional, reflective)
    • All embedding providers: synthetic, OpenAI, Gemini, Ollama, AWS
    • Advanced features: decay, compression, reflection
    • Comprehensive test suite (sdk-py/tests/test_sdk_py.py)
  • JavaScript SDK Enhancements (sdk-js/): SDK Overhaul, it can now perform as a standalone version of OpenMemory

    • Full feature parity with Backend
    • Local-first architecture with SQLite backend
    • Multi-sector memory (episodic, semantic, procedural, emotional, reflective)
    • All embedding providers: synthetic, OpenAI, Gemini, Ollama, AWS
    • Advanced features: decay, compression, reflection
  • Examples: Complete rewrite of both JS and Python examples

    • examples/js-sdk/basic-usage.js - CRUD operations
    • examples/js-sdk/advanced-features.js - Decay, compression, reflection
    • examples/js-sdk/brain-sectors.js - Multi-sector demonstration
    • examples/py-sdk/basic_usage.py - Python CRUD operations
    • examples/py-sdk/advanced_features.py - Advanced configuration
    • examples/py-sdk/brain_sectors.py - Sector demonstration
    • examples/py-sdk/performance_benchmark.py - Performance testing
  • Tests: Comprehensive test suites for both SDKs

    • tests/js-sdk/js-sdk.test.js - Full SDK validation
    • tests/py-sdk/test-sdk.py - Python SDK validation
    • Tests cover: initialisation, CRUD, sectors, advanced features
  • Architecture Documentation

    • Mermaid diagram in main README showing complete data flow
    • Covers all 5 cognitive sectors
    • Shows embedding engine, storage layer, and recall engine
    • Includes temporal knowledge graph integration
    • Node.js script to regenerate diagrams

1.2.0

05 Nov 16:42

Choose a tag to compare

What's New

  • Web UI to control OpenMemory
  • HYBRID Tier Performance Mode
  • Memory Compression Engine

What's Changed

  • Decay system
  • perf(vector): Optimized the aggregateVectors function by @DKB0512 in #26
  • perf(embedding): Optimize embedWithLocal by @DKB0512 in #29
  • perf(chunk): Optimized the combineChunk function by @DKB0512 in #27
  • Add permissions for content read access by @recabasic in #31

New Contributors

Full Changelog: 1.1.1...1.2.0

1.1.1

30 Oct 14:47

Choose a tag to compare

Changelog

Added

  • Memory Compression Engine: Auto-compresses chat/memory content to reduce tokens and latency

    • 5 compression algorithms: whitespace, filler, semantic, aggressive, balanced
    • Auto-selects optimal algorithm based on content analysis
    • Batch compression support for multiple texts
    • Live savings metrics (tokens saved, latency reduction, compression ratio)
    • Real-time statistics tracking across all compressions
    • Integrated into memory storage with automatic compression
    • REST API endpoints: /api/compression/compress, /api/compression/batch, /api/compression/analyze, /api/compression/stats
    • Example usage in examples/backend/compression-examples.mjs
  • VS Code Extension with AI Auto-Link

    • Auto-links OpenMemory to 6 AI tools: Cursor, Claude, Windsurf, GitHub Copilot, Codex
    • Dual mode support: Direct HTTP or MCP (Model Context Protocol)
    • Status bar UI with clickable menu for easy control
    • Toggle between HTTP/MCP mode in real-time
    • Zero-config setup - automatically detects backend and writes configs
    • Performance optimizations:
      • ESH (Event Signature Hash): Deduplicates ~70% redundant saves
      • HCR (Hybrid Context Recall): Sub-80ms queries with sector filtering
      • MVC (Micro-Vector Cache): 32-entry LRU cache saves ~60% embedding calls
    • Settings for backend URL, API key, MCP mode toggle
    • Postinstall script for automatic setup
  • API Authentication & Security

    • API key authentication with timing-safe comparison
    • Rate limiting middleware (configurable, default 100 req/min)
    • Compact 75-line auth implementation
    • Environment-based configuration
  • CI/CD

    • GitHub Action for automated Docker build testing
    • Ensures Docker images build successfully on every push

Changed

  • Optimized all compression code for maximum efficiency

1.1.0

26 Oct 10:04

Choose a tag to compare

  • Add Pluggable vector dbs and PostgreSQL support

Full Changelog: 1.0.0...1.1.0

MCP

26 Oct 07:29
77902ef

Choose a tag to compare

MCP

What's Changed

  • Add Model Context Protocol (MCP)
  • Add Tag and Metadata Filtering to HSG + API Query by @ammesonb in #1
  • refactor: Dockerfile to install all dependencies and prune dev by @josephgoksu in #4
  • Fix Docker build by @pc-quiknode in #5

New Contributors

Full Changelog: https://github.com/CaviraOSS/OpenMemory/commits/1.0.0