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

Batch API jobs now send a single completion webhook

Batch API jobs now emit exactly one completion webhook. Previously a job could send both a graph-scoped completion webhook and the Batch API’s own webhook, so integrations received duplicate completion notifications for the same job. Non-batch ingestion is unaffected.

Read the docs
batchbug-fixgraphdocs

Strict ontology documentation

Strict ontology was documented on the Customizing Graph Structure page: setting strict_ontology on an add-data request restricts extraction to your configured entity and edge types instead of adding non-matching entities and edges under generic types.

Read the docs
batchbug-fixgraphdocs

Data ingestion guides

Guides for preparing data for ingestion and building an ingestion pipeline were added to the Adding Context section.

Read the docs
batchbug-fixgraphdocs

Sort graph node and edge lists by valid time

You can now order graph node and edge lists by valid time (valid_at), ascending or descending, in addition to the default creation-time ordering. Results page through an opaque page token, and date filters accept is_null as an alias for IS NULL.

Read the docs
graphsdkdashboardsecuritybug-fixdocs

Start an Enterprise trial when you sign up with a company domain

Signing up with a company email domain now places your account on a credit-limited 30-day Enterprise trial; personal-email sign-ups remain on the Free plan. When a trial ends, the account reverts to Free.

graphsdkdashboardsecuritybug-fixdocs

Access control now applies to graph edge and episode changes

Attribute-based access control constraints are now enforced when you update, delete, or bulk-delete graph edges and episodes, matching the enforcement already applied to reads. Previously, an API key restricted to a subset of objects could modify or delete edges and episodes outside that subset even though it could not read them. Accounts without attribute-based access control are unaffected.

graphsdkdashboardsecuritybug-fixdocs

Fixed episodes stuck pending in mixed-role message batches

When you added a group of messages that mixed ignored roles (such as assistant messages) with processed ones, the ignored messages could remain pending indefinitely. They are now marked processed once the rest of the group is ingested.

Read the docs
graphsdkdashboardsecuritybug-fixdocs

Installing the Zep plugin in Cursor and other agents

Installing the Build with Zep plugin in Cursor and other agent tools was documented on the Implement Zep with agents page.

Read the docs
graphsdkdashboardsecuritybug-fixdocs

Zep assigns node and fact UUIDs

graph.add_nodes no longer accepts a node uuid, and graph.add_fact_triple no longer accepts a fact_uuid. Zep assigns these UUIDs and returns them: node UUIDs come back on the add_nodes response, and the fact’s UUID is returned as edge_uuid in the task params once the task completes. A request that supplies a node uuid is rejected with a 400; a fact_uuid on add_fact_triple is ignored and the call is accepted.

graphsdkbreaking-change

Backfilled conversations are dated at the timestamp you provide

When you add thread messages through the Batch API with a created_at, the episodes and facts derived from those messages are now dated at the timestamp you supply. Previously the message kept your timestamp but its episode and any extracted facts were dated at ingestion time, so backfilled history read back with the wrong dates.

Read the docs
batchgraphdashboardbug-fixdocs

Filtered graph search returns more complete results

Graph search now applies your filters to candidates before ranking and limiting them. Eligible results that could previously be missed when the candidate pool filled up with non-matching entries are now returned, and filtered searches also run faster.

Read the docs
batchgraphdashboardbug-fixdocs

Batch status reports canceled items after a graph is deleted

If you delete a graph while a batch is still processing, the batch now reports that graph’s remaining items as canceled instead of succeeded. Previously items that were never ingested were counted as successful.

Read the docs
batchgraphdashboardbug-fixdocs

Dashboard sign-in no longer loops back to the login screen

Signing in to the dashboard no longer occasionally redirects to an invalid address and sends you back to log in again. Sign-in now reliably returns you to the dashboard.

batchgraphdashboardbug-fixdocs

Batch source_description documentation

The batch ingestion documentation now scopes the source_description field to graph episode items, the only batch item type that stores it, under Adding context.

Read the docs
batchgraphdashboardbug-fixdocs

Arrays of scalars in metadata and the CONTAINS filter documentation

Graph search documentation now covers arrays of scalars in episode and fact-triple metadata and adds the CONTAINS operator to the property-filter and episode-metadata-filter operator tables, under Working with graphs.

Read the docs
graphdocsmcpdashboardsecuritybug-fix

Streamlined Memory MCP server setup in the dashboard

Connecting the Memory MCP server through Google Workspace is now a single step. After you authorize Google Workspace, Zep verifies and creates the connection automatically, and the setup resumes if you reload the page partway through. Configured connections also display a labeled, copyable endpoint URL for both Google Workspace and custom OIDC.

Read the docs
graphdocsmcpdashboardsecuritybug-fix

Read a user summary from the Memory MCP server

You can now read a user’s summary as a resource from the Memory MCP server. The read-only zep://user/summary resource returns the synthesized overview for the authenticated user, so clients can load it directly instead of calling a tool. The summary is a high-level overview; use graph search for broader user or business context.

Read the docs
graphdocsmcpdashboardsecuritybug-fix

Subset matching for attribute-based access control

You can now relax attribute matching in access-control policy sets with an opt-in subset_match option. When enabled, a constraint is satisfied when its required values are a subset of an object’s attributes, rather than requiring an exact match. It is off by default, so existing policy sets are unchanged.

Read the docs
graphdocsmcpdashboardsecuritybug-fix

Larger graph clones no longer time out

Cloning a large graph no longer fails at 30 seconds. Graphs within the clone size limits that previously timed out now run to completion.

Read the docs
graphdocsmcpdashboardsecuritybug-fix

Project creators get admin access to the projects they create

When you create a project you are now automatically assigned the Project Admin role on it, so you can configure the project, invite collaborators, and manage its API keys right away. Previously, projects created through the setup wizard skipped this grant, leaving the creator unable to manage what they had just created.

Read the docs
dashboardbatchdocsbug-fix