> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs-beta.getzep.com/v3/changelog/2026/9/2/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server. ## 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