Skip to content

fix: require falkordb>=1.7 so redis 8.1 installs are not broken - #298

Open
galshubeli wants to merge 2 commits into
mainfrom
fix/redis-8.1-connection-kwargs
Open

fix: require falkordb>=1.7 so redis 8.1 installs are not broken#298
galshubeli wants to merge 2 commits into
mainfrom
fix/redis-8.1-connection-kwargs

Conversation

@galshubeli

@galshubeli galshubeli commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Replaces #295, which GitHub locked after a force-push and won't reopen.

Problem

Fresh installs failed on the first query:

TypeError: Redis.__init__() got an unexpected keyword argument 'himport_registry'
→ DatabaseUnavailableError

ping() still returned True, so health checks passed and only real work broke.

Cause

falkordb's cluster probe copied connection_kwargs off the async pool and forwarded them to the sync redis.Redis() constructor, which rejects the pool-internal keys redis 8.1 added. falkordb 1.5.0 had also dropped its redis<8.0.0 ceiling, so pip walked forward into 8.1.0.

Fix

Fixed upstream in falkordb 1.7.0 (filters the kwargs, bounds redis<8.2). This PR is the one-line consequence: falkordb>=1.0,<2falkordb>=1.7,<2.

The bump is what makes the upstream fix guaranteed rather than incidental — >=1.0 still allowed 1.6.x, which declares an unbounded redis>=7.1.0 and can resolve against the broken redis. A fresh install happens to pick 1.7.0, but a lockfile or explicit falkordb==1.6.x reintroduces the bug.

redis is not declared here: falkordb owns it, and 1.7 bounds it to >=7.2,<8.2.

Verification

Live FalkorDB, connect → create → query → delete:

redis falkordb 1.6.2 falkordb 1.7.0
8.1.0 ✗ TypeError
8.0.1
7.4.1
7.2.0

Full suite on falkordb 1.7.0 + redis 8.1.0: 1096 passed, 40 skipped. No source changes, no new tests.

Follow-ups (separate)

  • python-dotenv is a core dep with zero imports anywhere; docs/getting-started.md:60 tells users to load .env themselves.
  • transformers is imported (coref_resolvers.py:100) but declared nowhere, relying on gliner/fastcoref — same shape as this bug, though guarded with a working fallback.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Improved compatibility with Redis 8.1 on fresh installations.
    • Updated the minimum supported FalkorDB version to ensure reliable Redis connections.
  • Documentation

    • Added an Unreleased changelog entry documenting the compatibility fix.

falkordb's cluster probe forwarded async-pool connection_kwargs to the
sync redis.Redis() constructor, which rejects the pool-internal keys
redis 8.1 added. The first query failed with a TypeError surfaced as
DatabaseUnavailableError; ping() still returned True, so health checks
passed and only real work broke.

Fixed upstream in falkordb 1.7.0. Moving our floor to >=1.7 is what
makes that guaranteed: >=1.0 still allowed 1.6.x, which declares an
unbounded redis>=7.1.0 and can resolve against the broken redis.

redis stays undeclared — falkordb owns it, and 1.7 bounds it to
>=7.2,<8.2.

Verified end-to-end against a live FalkorDB on redis 7.2.0, 7.4.1,
8.0.1 and 8.1.0. Full suite: 1096 passed, 40 skipped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 13, 2026 13:47
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5a06bc77-173f-4a41-80cd-4d18e7b3589b

📥 Commits

Reviewing files that changed from the base of the PR and between 532db8f and c44b46d.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • graphrag_sdk/pyproject.toml

📝 Walkthrough

Walkthrough

The PR raises the minimum falkordb version to >=1.7,<2 and documents the Redis 8.1 compatibility fix in the changelog.

Changes

Redis 8.1 compatibility

Layer / File(s) Summary
Raise the falkordb dependency floor
graphrag_sdk/pyproject.toml, CHANGELOG.md
The dependency now requires falkordb>=1.7,<2. Comments and an Unreleased changelog entry document the Redis 8.1 compatibility constraint.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Mergeability Score: ⚪ Minimal · up to c44b4

The PR raises the minimum FalkorDB version to ensure compatible dependency resolution; no actionable merge-blocking risk remains after normal checks and review.

Possibly related issues

Possibly related PRs

Suggested reviewers: naseem77

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the dependency update that fixes Redis 8.1 installation compatibility.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/redis-8.1-connection-kwargs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR pins the minimum falkordb version to ensure fresh installs don’t break when redis 8.1.x is resolved transitively, aligning GraphRAG-SDK’s dependency floor with the upstream fix in falkordb 1.7.0.

Changes:

  • Raise the falkordb dependency floor from >=1.0,<2 to >=1.7,<2 to guarantee compatibility with redis 8.1.x.
  • Add an Unreleased changelog entry documenting the redis 8.1 failure mode and the rationale for the new falkordb minimum.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
graphrag_sdk/pyproject.toml Bumps falkordb minimum to 1.7 and documents why redis isn’t directly declared.
CHANGELOG.md Documents the install-time breakage and the dependency-floor fix under “Unreleased”.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants