Skip to content

chore(deps): bump graphiti-core from 0.28.2 to 0.29.0#569

Open
dependabot[bot] wants to merge 1 commit into
stagingfrom
dependabot/uv/staging/graphiti-core-0.29.0
Open

chore(deps): bump graphiti-core from 0.28.2 to 0.29.0#569
dependabot[bot] wants to merge 1 commit into
stagingfrom
dependabot/uv/staging/graphiti-core-0.29.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 10, 2026

Bumps graphiti-core from 0.28.2 to 0.29.0.

Release notes

Sourced from graphiti-core's releases.

v0.29.0 - Major efficiency and Internal Architecture changes

Release Notes — graphiti-core 0.29.0

Summary

0.29.0 is the first of two releases focused on making ingestion meaningfully cheaper and the search pipeline easier to evolve. The headline changes:

Cheaper ingestion. A new combined node + edge extraction path lets a single LLM call cover what previously took two, and node/edge extraction can now batch multiple episodes into one prompt. Timestamp resolution (valid_at / invalid_at) has also been split into its own step so it doesn't compete with structural fact extraction. Search pipeline rework. A large internal restructure of graphiti_core/search/search.py lays the groundwork for upcoming search and reranker changes — no public API changes, but tracing coverage is much improved. New saga abstraction. A summarize_saga(saga_id) API on Graphiti, backed by SagaNode and a refreshed prompt, gives a first-class way to roll up multi-episode narratives. Quality-of-life. A fact_triple episode type, episode_metadata for filtering, safer attribute merging that no longer clobbers first-class fields, and a podcast example that runs against an embedded FalkorDB with no external DB. How this affects developers

Defaults are unchanged. Combined extraction is opt-in via use_combined_extraction=True on extract_nodes_and_edges_bulk. Existing ingestion code keeps working as-is. Episode indices are now 0-based. If you parse [Episode N] headers or rely on episode_indices from extraction results, update your offsets accordingly. Kuzu users — schema migration required. RelatesToNode_ now expects a reference_time TIMESTAMP column. New databases get it automatically; existing stores need a one-time ALTER TABLE RelatesToNode_ ADD reference_time TIMESTAMP. Custom attributes are now safer to set. Attribute dicts on nodes/edges no longer overwrite first-class fields (uuid, group_id, created_at, timestamps). If you were depending on that overwrite behavior, you'll need to set those fields directly. New public surface to know about: Graphiti.summarize_saga(saga_id), the fact_triple episode type, and EpisodicNode.episode_metadata for custom filtering keys. Highlights

Efficiency: fewer, smarter LLM calls during ingestion

Combined node + edge extraction (feature-flagged). A single LLM call can now produce both nodes and edges for an episode. Pass use_combined_extraction=True to extract_nodes_and_edges_bulk to opt in; default behavior is unchanged. Backed by a new prompts/extract_nodes_and_edges.py and utils/maintenance/combined_extraction.py. Multi-episode batched extraction. _extract_and_resolve_nodes and extract_edges now accept a list of episodes, build a shared prompt with [Episode N] headers (new concatenate_episodes helper), and attach episode_indices to each extracted node/edge so callers can map results back to their source episode. Decoupled timestamp resolution. New extract_timestamps / extract_timestamps_batch prompts let valid_at / invalid_at be resolved in a dedicated post-extraction step, so structural fact extraction is no longer entangled with date parsing. Architecture

Search pipeline rework. Major restructure of graphiti_core/search/search.py (~1k lines changed) and new tracing test coverage, paving the way for upcoming search/reranker changes. Sagas. New summarize_saga(saga_id) API on Graphiti, plus a refreshed summarize_sagas prompt and supporting helpers (saga_get_previous_episode_uuid, saga_get_episode_contents). fact_triple episode type and an episode_metadata dict on EpisodicNode for customer-defined filtering keys. Safer attribute merging on edges and nodes — first-class fields (uuid, group_id, created_at, timestamps) are no longer overwritten when an attribute dict happens to contain a matching key. reference_time preserved through bulk edge save, and added as a column on the Kuzu RelatesToNode schema. Existing Kuzu users may need a one-time ALTER TABLE RelatesToNode ADD reference_time TIMESTAMP. Prompt refinements

Dedup (nodes & edges): tightened scope, looser two-entity rule in the combined extraction path. Fact extraction: detail-preservation rule, broader entity capture for qualified objects. Refreshed summarize_sagas prompt. Examples / DX

examples/podcast/podcast_runner.py now runs against an embedded FalkorDB (falkordblite) with no external database, and exercises edge + node hybrid search post-ingest. Notable internal changes

Driver tweaks in graph_operations.py and record_parsers.py. Episode indexing is now 0-based (was 1-based in the first iteration of multi-episode extraction). pytest bumped to 9.0.3 in server/ and mcp_server/. Lockfile and dependency refreshes (uv group, voyageai, groq, google-genai, uvicorn, pyright, pytest-asyncio). Coming next

The next release will continue this architectural track — expect the combined extraction path to graduate toward the default ingestion mode, additional batching across edge resolution and dedup, and follow-on search-pipeline changes building on the rework that landed here.

Commits
  • 56cf7b3 Bump graphiti-core version to 0.29.0 (#1444)
  • 164030f feat: add custom edge type support to combined extraction prompt (#1443)
  • 9cdcc93 Bump the uv group across 4 directories with 2 updates (#1430)
  • 673902c forward-port: combined node+edge extraction + prompt refinements (#1432)
  • 0290e4d Potential fix for code scanning alert no. 26: Workflow does not contain permi...
  • c013eff Update groq requirement from >=0.2.0 to >=1.1.2 in /mcp_server (#1409)
  • 65c6c9f Update uvicorn requirement from >=0.30.6 to >=0.44.0 in /server (#1408)
  • 1ebc07b Update pyright requirement from >=1.1.404 to >=1.1.408 in /mcp_server (#1407)
  • ec69cb8 Update voyageai requirement from >=0.2.3 to >=0.3.7 in /mcp_server (#1405)
  • 0d5dcdf Update pytest-asyncio requirement from >=0.21.0 to >=1.3.0 in /mcp_server (#1...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [graphiti-core](https://github.com/getzep/graphiti) from 0.28.2 to 0.29.0.
- [Release notes](https://github.com/getzep/graphiti/releases)
- [Commits](getzep/graphiti@v0.28.2...v0.29.0)

---
updated-dependencies:
- dependency-name: graphiti-core
  dependency-version: 0.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels May 10, 2026
@github-actions
Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

uv.lock

PackageVersionLicenseIssue Type
graphiti-core0.29.0NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
pip/graphiti-core 0.29.0 UnknownUnknown

Scanned Files

  • uv.lock

@overcut-ai
Copy link
Copy Markdown

overcut-ai Bot commented May 10, 2026

Completed Working on "Code Review"

✅ Code review complete. No issues found - all changes look good! ✅

✅ Workflow completed successfully.


👉 View complete log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants