Skip to navigation

Changelog

Some features listed below may be pending rollout and not immediately available yet.

Extraction uses the most recent episodes in large graphs

This change applies to a graph with more than 1,000 episodes. When Zep extracts facts from a new episode, Zep now uses the most recent episodes as context. Before, Zep could use older episodes as context.

Read the docs
graphbug-fix

Dashboard visual design update

The dashboard has a new visual design. The dashboard copy now uses the word context in place of memory on these pages:

  • The sign-in page
  • The onboarding wizard
  • The dashboard tour
  • The Playground
dashboardgraphbatchsdkbug-fix

Batch extraction reads skipped messages as context

A batch can have thread messages with an ignored role between other messages. Zep now uses these skipped messages as context during extraction. Zep reads the messages in their original order. Before, extraction did not read these messages.

Read the docs
dashboardgraphbatchsdkbug-fix

A user ID cannot equal the UUID of an existing user

When you create or clone a user, the user_id cannot equal the UUID of an existing user in the project. The API returns a 400 error for this request.

Read the docs
dashboardgraphbatchsdkbug-fix

Webhook payloads include graph and user UUIDs

Every webhook payload that identifies a graph now includes graph_uuid. A payload for a user graph also includes user_uuid. The existing payload fields do not change.

Read the docs
graph

Account members list updates after a change

The Account > Members page in the dashboard now shows an added or removed member immediately. Before, the change appeared only after you reloaded the page.

Read the docs
dashboarddocsbug-fix

Inactive free-plan accounts are deleted

Zep now deletes free-plan accounts that have no API or dashboard activity for 90 days. The Account Owner receives warning emails before the deletion, starting after 60 days of inactivity. The deletion applies only to free-plan accounts that are hosted in the Zep Cloud US region. Accounts in other Zep Cloud regions, paid accounts, enterprise accounts, and BYOC accounts are not affected.

dashboarddocsbug-fix

SDK reference names the replacement methods

The SDK reference descriptions of the deprecated graph.episode.get_nodes_and_edges and graph.node.get_edges methods now name the replacement SDK methods.

Read the docs
dashboarddocsbug-fix

Agent Skills appear only for eligible accounts

The memory MCP server now lists Agent Skills only when Agent Memory is enabled for the account. Accounts without access no longer see methods they cannot use.

graphdashboardbug-fixmcp

Custom edge types match their declared entity types

Zep now checks the source and target entity types before it assigns a custom edge type. If the types do not match, strict ontology omits the edge; otherwise, Zep keeps it as a general relationship.

Read the docs
graphdashboardbug-fixmcp

Open an episode from a graph edge

In the dashboard graph visualizer, you can now select a loaded episode from an edge’s details to focus its node on the canvas. The visualizer shows the episode first if episode nodes are hidden.

graphdashboardbug-fixmcp

Order node lists by degree

You can now pass order_by: "degree" to the node list methods to rank the entities in a graph by how connected they are. Each returned node then carries a degree field with the count of live entity edges that touch the node. The v3 SDKs 3.30.0 and later include the parameter.

Read the docs
graphsdkmcpbug-fixdocs

The User entity type stays active when the default ontology is disabled

Zep now keeps the User entity type on a user graph when disable_default_ontology is set. Before this fix, the speaker in a conversation could become a second unlabeled node instead of the user node.

Read the docs
graphsdkmcpbug-fixdocs

Entity summaries rebuild once after multiple episode deletions

When you delete several episodes from one graph in a short time, Zep now rebuilds the affected entity summaries in one pass. The rebuild starts about one minute after the last deletion. Before this change, each deletion started a separate rebuild, and many concurrent rebuilds on one graph could reject other requests.

graphsdkmcpbug-fixdocs

The memory MCP server accepts a resource list request with null parameters

The memory MCP server no longer fails when an MCP client sends a resources/list request with "params": null. Before this fix, the request could interrupt other in-flight requests.

Read the docs
graphsdkmcpbug-fixdocs

Documents documentation

The Documents page and related guides now state that document_id and the document methods are available in the v3 SDKs 3.29.0 and later.

Read the docs
graphsdkmcpbug-fixdocs

Entity nodes list their source episodes

Every entity node now reports the episodes that mention it in the episodes field (episode_uuids in the v4 API). When a node has 100 or fewer mention episodes, the list is complete and newest first. When a node has more, the list holds the newest 100 and episodes_truncated (v4: episode_uuids_truncated) is true. Read the full set with an episode list call filtered by mentioned_node_uuids.

graphsdkdocs

GPT-6 Luna is a verified BYOM model

You can now select GPT-6 Luna as a Bring Your Own LLM (BYOM) model for OpenAI and Azure OpenAI providers.

Read the docs
graphsdkdocs

Episode list filters accept episode UUIDs

The mentioned_node_uuids filter on the episode list APIs now documents that the list can also contain episode UUIDs. An episode UUID matches that episode, so one request can return a known set of episodes.

Read the docs
graphsdkdocs

Context Lake documentation

A Context Lake page was added to the documentation.

Read the docs
graphsdkdocs