Mem0 1.0.0 is a major release that modernizes the API, improves performance, and adds powerful new features. This guide will help you migrate your existing v0.x implementation to the new version.
from mem0 import Memory# These parameters are no longer supportedm = Memory()result = m.add( "I love pizza", user_id="alice", version="v1.0" # ❌ REMOVED)
# Response could be a list or dict depending on versionresult = m.add("I love coffee", user_id="alice")if isinstance(result, list): # Handle list format for item in result: print(item["memory"])else: # Handle dict format print(result["results"])
# Response is always a standardized dict with "results" keyresult = m.add("I love coffee", user_id="alice")# Always access via "results" keyfor item in result["results"]: print(item["memory"])
# Basic searchresults = m.search("What do I like?", user_id="alice")# With filtersresults = m.search( "What do I like?", user_id="alice", filters={"category": "food"})
from mem0 import MemoryClientclient = MemoryClient(api_key="your-key")# Had to explicitly set async_moderesult = client.add("I enjoy hiking", user_id="alice", async_mode=True)
from mem0 import MemoryClientclient = MemoryClient(api_key="your-key")# async_mode now defaults to True (best performance)result = client.add("I enjoy hiking", user_id="alice")# You can still override if needed for synchronous processingresult = client.add("I enjoy hiking", user_id="alice", async_mode=False)
try: result = m.add("memory", user_id="alice")except ValueError as e: if "v1.0 API format is no longer supported" in str(e): print("Please upgrade your code to use v1.1+ format") else: print(f"Error: {e}")except Exception as e: print(f"Unexpected error: {e}")
def test_basic_functionality(): m = Memory() # Test add result = m.add("I love testing", user_id="test_user") assert "results" in result assert len(result["results"]) > 0 # Test search search_results = m.search("testing", user_id="test_user") assert "results" in search_results # Test get_all all_memories = m.get_all(user_id="test_user") assert "results" in all_memories print("✅ Basic functionality test passed")test_basic_functionality()
# Test both versions side by sideimport mem0_v0 # Your old versionimport mem0 # New versiondef compare_results(query, user_id): old_results = mem0_v0.search(query, user_id=user_id) new_results = mem0.search(query, user_id=user_id) print("Old format:", old_results) print("New format:", new_results["results"])