> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.getzep.com/_mcp/server.

# Changelog

## October 1, 2026

## 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

## September 30, 2026

## 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

## 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

## 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

## September 29, 2026

## 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

## September 28, 2026

## 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

## 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.

## 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

## September 25, 2026

## 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.

## 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

## 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.

## September 24, 2026

## 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

## 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

## 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.

## 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

## 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

## September 23, 2026

## 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`.

Read the docs

## 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

## 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

## Context Lake documentation

A Context Lake page was added to the documentation.

Read the docs

## Source traceability documentation

A Source traceability page was added to the Governance section.

Read the docs

## September 19, 2026

## Rate limit documentation for status polling and webhooks

A section about status polling and completion webhooks was added to the Rate
limits page.

Read the docs

## September 18, 2026

## Grant Zep Support read-only access to your account

You can now give Zep Support read-only access to your account for 72 hours. The
access ends automatically, and you can extend it or revoke it at any time. In
the dashboard, go to **Account** > **Members** and find the **Invite Zep
Support** card.

Read the docs

## Thread message list returns the total count on an empty page

A page after the last page of a thread message list now returns the total
message count of the thread. Before this change, an empty page returned a
total count of 0.

Read the docs

## September 17, 2026

## Enter a custom model ID for a bring-your-own LLM provider

The model dropdown for a bring-your-own LLM provider now has an **Other**
option. Select it to enter a model ID that is not in the list of verified
models, for example a model that a gateway exposes. Before this change, a
provider with verified models accepted only the models in the list. In the
dashboard, go to **Settings** > **LLM Providers**.

Read the docs

## September 16, 2026

## The graph visualizer assistant resolves follow-up questions

A follow-up question that referred to an earlier answer, such as "when did
she move there?", was searched as written and often returned results that
did not match the conversation. The assistant now rewrites a follow-up
question into a standalone question before it searches the graph. The panel
shows this rewrite as the first step of the turn.

Read the docs

## September 15, 2026

## BYOM webhooks name the provider that rejected your credential

A `byom.request_failed` webhook event reported the primary provider and model
for every failure, also when the fallback provider ran. The event now names the
provider and model that produced the failure, and a rejected credential now
reports `BYOM_CREDENTIALS_INVALID`. Ingestion no longer retries a request that
a provider rejected because of the credential, so the failure reaches you on the
first attempt.

Read the docs

## September 14, 2026

## Episode lists show the client-set message time

An episode list showed the ingestion time for a message that was added with its
own `created_at`. The list now shows the time you set.

Read the docs

## September 11, 2026

## User summaries update after fact triples, node adds, and batch ingestion

A user summary stayed at its initial text when the user graph changed through
fact triples, node adds, or batch ingestion. Zep now rebuilds the summary with
the episodes added since the last update.

Read the docs

## Batched thread messages ingest with the thread user

A thread message ingested through the Batch API did not carry the speaker and
the user identity that `thread.add_messages` adds during extraction, so the
same conversation produced a different graph. Both paths now produce the same
graph. Reads return the content you sent, and usage is metered on that content.

Read the docs

## Connect Gemini Enterprise to the MCP server

Enterprise accounts can create pre-registered OAuth clients for Gemini
Enterprise from the **MCP Server** page. The page shows the client secret once
and lists and deletes existing clients. Listing and deletion stay available on
every plan.

## September 8, 2026

## Ask questions about a graph in the visualizer

The graph visualizer in the dashboard has an assistant that answers read-only
questions about the graph you are viewing. It shows each retrieval step and
cites the facts and entities behind the answer. The assistant is in limited
rollout, so **Ask graph** is shown only when it is enabled for your account.

Read the docs

## Gemini 3.8 Flash is available for bring your own model

You can now select `gemini-3.8-flash` for Vertex AI and Gemini in **LLM
Providers**.

Read the docs

## Fact triple edge attributes are kept

Custom edge attributes on a fact triple were cleared on every triple after the
first one added to a graph. The attributes are now kept.

Read the docs

## September 2, 2026

## Thread message metadata is episode metadata

Metadata on a thread message now behaves the same as metadata added through
`graph.add`. Zep projects it onto the facts, entities, and summaries derived
from the message, graph search filters on it, and source-based access control
evaluates it. Message metadata accepts at most 10 keys with scalar or
array-of-scalar values. On an update, a key set to `null` is removed.

Read the docs

## Batch ingestion honors the default ontology setting

Batch ingestion ignored the setting that disables the default ontology, so the
same content could receive different entity and edge types when it entered
through a batch. Batch ingestion now applies the setting in the same way as
`graph.add` and `thread.add_messages`.

Read the docs

## Self-referencing facts are kept

Extraction dropped a fact whose source and target are the same entity, which
lost personal states and routines. Those facts are now kept in the graph.

## Ingestion Traces replace reasoning traces

The debug mode **Reasoning** tab is now **Ingestion Traces**. A trace explains
why each traced ingestion stage produced its decision. Tracing does not change
the stage output or the graph. Zep retains traces for 30 days.

Read the docs

## August 31, 2026

## Document and thread episode lists return their episodes

`graph.get_episodes_for_document` and the thread episode list returned no
episodes for documents and threads that had them. Both endpoints now return the
episodes, including those ingested before this fix.

Read the docs

## Retried batch episodes keep their document

An episode that failed during batch ingestion and was retried lost its
`document_id`, so it completed ingestion without document membership and did not
appear in the document's episode list. A retried episode now keeps the
`document_id` and the other ingestion options from the original request.

Read the docs

## GPT-5.6 Luna is available for bring your own model

You can now select `gpt-5.6-luna` for OpenAI and Azure OpenAI in **LLM
Providers**. Zep sends OpenAI requests for this model with reasoning disabled.
An Azure deployment name must match `gpt-5.6-luna`.

Read the docs

## Connect Memory MCP during onboarding

Onboarding offers an **MCP server** option beside the SDK snippets in the wire-up
step. It links the setup guide for each supported host and gives the endpoint for
other MCP clients. Enable an MCP connection for the project first.

Read the docs

## The dashboard returns you to the project you were viewing

Opening an account page and then returning to your projects opened the first
project in your list, not the project you were working in. The dashboard now
remembers the project you viewed last and returns you to it. It falls back to
the first project you can access when that project is gone.

## Memory security documentation

A guide on how to keep retrieved context out of privileged model instructions
was added to Best Practices.

Read the docs

## Document ID documentation

Guidance on when to give episodes a shared `document_id` was added to the
Documents page.

Read the docs

## Backfill documentation

Backfill guidance for polling one episode per graph and for importing several
graphs in parallel was added to the batch ingestion, ingestion pipeline, and
ingestion status pages.

Read the docs

## Memory MCP quickstart covers both setup paths

The Memory MCP quickstart now documents the Zep Memory Plug-In path and the
direct MCP server path for other clients.

Read the docs

## Rate limit documentation moved

Rate limit guidance is now a Best Practices page, and the experimental pattern
detection page was removed.

Read the docs

## Documentation accuracy corrections

Corrections to guide text and code examples were made across the v3 documentation.

Read the docs

## August 26, 2026

## Filter episode lists by metadata

`graph.episode.list_by_graph_id` and `graph.episode.list_by_user_id` now accept
`episode_metadata_filters`, using the same filter structure and limits as node
and edge listing. Listing every episode and filtering the results yourself is no
longer necessary.

Read the docs

## Apply a strict ontology to a batch

Batch create accepts `strict_ontology`, the same switch `graph.add` and
`thread.add_messages` already expose. Zep applies it to every item in the batch,
so bulk ingestion classifies data with your ontology instead of falling back to
generic entity types.

Read the docs

## Manage User Groups with a project API key

UserGroup create, update, delete, and membership operations now accept a project
API key, so the SDK methods work without an account-admin token. Attaching and
detaching policy sets still requires an account admin.

Read the docs

## Batch ingestion honors ignore\_roles

Bulk and batch ingestion extracted entities and edges from every turn, ignoring
`ignore_roles`. Ignored turns are now stored and returned but skipped during
extraction, matching `thread.add_messages`.

Read the docs

## Signing up again after leaving your last account

An email address and identity-provider login stayed reserved after a member was
removed from their last Zep account, so signing up again with the same
credentials failed. Those identifiers are now released when the last membership
is removed.

## The billing portal is shown only to accounts with a billing record

The billing page offered **Open Billing Portal** to accounts that had never been
billed, and selecting it could not open a portal. The button is now shown when
the account has a billing record, including Free accounts that paid in the past,
and hidden otherwise.

## Billing statement and tax ID documentation

Answers about retrieving previous billing statements and updating a tax ID or
VAT number were added to the FAQ.

Read the docs

## August 21, 2026

## Delete an unprocessed batch from the dashboard

You can now delete a `draft` or `invalid` batch from the dashboard, from either
the batch list or the batch detail page. Deleting a batch removes its items and
the data staged with them. Batches that have started processing cannot be
deleted, and deleting is not the same as cancelling a run.

Read the docs

## Deleting an account no longer signs members out of other accounts

A member who belongs to more than one Zep account lost their sign-in everywhere
when any one of those accounts was deleted. Sign-in is now removed only after
the member's last remaining account is gone.

## Buy More is hidden on plans without credit bundles

The billing page showed a **Buy More** control next to the credit balance on
plans that do not sell credit bundles, and selecting it opened plan checkout
rather than a credit purchase. The control is now shown only on plans where
credit bundles can be bought; on other plans extra credits come from automatic
top-up.

## Grouping ingested data with documents

Grouping related data with `document_id` was documented in the Adding business
data, Prepare data for ingestion, and Batch ingestion guides.

Read the docs

## August 20, 2026

## A failed batch item no longer stops the rest of the batch

A batch that hit an item Zep could not ingest abandoned the items behind it.
Processing now continues past a failed item, retries only the part that failed,
and keeps the results already produced. `batch.list_items` reports an error for
each item that did not ingest.

Read the docs

## Large batches start processing without timing out

`batch.process` now returns as soon as the batch is queued and prepares the
batch in the background. Processing a large draft previously ran past the
request timeout and left the batch unstarted.

Read the docs

## Batch usage is counted when processing starts

Batch items are counted against your episode usage when you call
`batch.process`, not when you add them, so a draft you delete without
processing is no longer billed. Each item is counted on its own, matching
`graph.add`, so a batch of many short items consumes more than it did before.

Read the docs

## Policy-based access control for Memory MCP standalone graphs

Enterprise accounts on Zep managed cloud can now move a Memory MCP connection
from project-wide standalone graph access to UserGroup access control, where a
user reaches a standalone graph only through an enforced policy grant. The move
is one-way; open **Settings ▸ MCP** to review and enable it.

Read the docs

## Zep Memory plugin documentation for Claude Code and Codex

Instructions for installing the Zep Memory plugin in Claude Code and Codex were
added to Use Zep in Claude / ChatGPT / Cursor.

Read the docs

_Showing the 20 most recent of 56 entries. Append `/llms.txt` to the changelog URL for the complete index._