Skip to content

v0.4.0 - Async, Postgres & Qdrant Support

Choose a tag to compare

@scream4ik scream4ik released this 18 Dec 20:47
· 9 commits to main since this release

πŸŽ‰ MemState is now in Beta!
This release represents a massive architectural leap. MemState is no longer just for local scripts β€” it is now ready for high-concurrency FastAPI applications and production deployments.

⚑ Full Async Support

Blocking I/O is a killer for AI agents. v0.4.0 introduces a complete asynchronous stack:

  • AsyncMemoryStore: Use await store.commit() for non-blocking operations.
  • Async Backends: AsyncSQLiteStorage (via aiosqlite), AsyncPostgresStorage, AsyncRedisStorage.
  • Async Hooks: Native support for AsyncQdrantClient and AsyncChromaHttpClient.

🐘 PostgreSQL Backend

We added a native PostgreSQL backend using SQLAlchemy + psycopg.

  • Uses JSONB for high-performance querying of nested fields.
  • Supports efficient indexing for Singleton constraints.

🌌 Qdrant Integration

Added QdrantSyncHook with built-in FastEmbed support.

  • Automatically generates embeddings on the fly (CPU or GPU).
  • Supports both Sync and Async clients.

πŸ›‘οΈ Hardened Reliability

  • Surgical Rollback: The rollback() logic was rewritten to be multi-user safe. It now isolates transactions by session_id and removes specific entries by UUID, preventing history corruption.
  • Safe Updates: The update() method now enforces Schema Re-validation. If you try to patch a record with data that violates the Pydantic schema, the operation is rejected before touching the DB.

πŸ“˜ New Documentation

We launched a comprehensive documentation site with guides for LangGraph, Integrations, and Best Practices.
πŸ‘‰ Read the Docs