Skip to content

chore(deps): update redis requirement from >=5.0.0 to >=8.1.0 in /backend - #705

Closed
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/pip/backend/redis-gte-8.1.0
Closed

chore(deps): update redis requirement from >=5.0.0 to >=8.1.0 in /backend#705
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/pip/backend/redis-gte-8.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 2, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on redis to permit the latest version.

Release notes

Sourced from redis's releases.

8.1.0

Changes

✨ Highlights

Async maintenance notifications

redis-py now supports server-pushed maintenance notifications in the asyncio stack for both standalone and cluster clients, bringing the async client to parity with the sync implementation. When a Redis deployment signals maintenance events (such as node migration or failover windows), the async client reacts through the maintenance-notifications handler (redis/maint_notifications.py and its async integration under redis/asyncio/), allowing applications to adapt connection handling during maintenance without downtime. (#4177)

Expanded command coverage

This release adds a batch of new command surfaces across core data types and modules:

  • ListsLMOVEM / BLMOVEM for moving multiple elements between lists (#4174).
  • SetsSDIFFCARD and SUNIONCARD cardinality commands (#4171).
  • StreamsMAXCOUNT / MAXSIZE options for XREAD and XREADGROUP (#4173).
  • Time SeriesTS.READ (#4170), TS.QUERYLABELS (#4197), TS.NRANGE / TS.NREVRANGE (#4163), and an exclude_empty (EXCLUDEEMPTY) option for TS.MRANGE / TS.MREVRANGE (#4188).
  • SearchFT.ALIASLIST (#4198) and a COLLECT reducer for aggregations (#4179).
  • Sentinel — replica sentinel aliases (#4127).

🚀 New Features

  • Add replica sentinel aliases (#4127)
  • Add TS.NRANGE and TS.NREVRANGE support to the timeseries command surface (#4163)
  • feat: add TS.READ command support to the timeseries module (#4170)
  • feat: add SDIFFCARD and SUNIONCARD command support (#4171)
  • feat: add MAXCOUNT/MAXSIZE support to XREAD and XREADGROUP (#4173)
  • feat: add LMOVEM and BLMOVEM commands for moving multiple list elements (#4174)
  • feat: add async maintenance-notifications support for standalone and cluster clients (#4177)
  • feat: add COLLECT reducer support to search aggregations (#4179)
  • feat: add exclude_empty (EXCLUDEEMPTY) option to TS.MRANGE and TS.MREVRANGE (#4188)
  • feat: add TS.QUERYLABELS support to the timeseries command surface (#4197)
  • feat: add FT.ALIASLIST support (#4198)

⚠️ Experimental

  • feat: add client-side HIMPORT fieldset support for standalone and cluster clients (#4205)

The feature considered unstable and public API might be changed in the future minor version

🐛 Bug Fixes

  • fix: detect closed pooled connection without consuming pending push data (RESP3 + hiredis) (#4156)
  • Fix Sentinel pool capacity loss after failover (#4193)

... (truncated)

Commits
  • e013126 Testing with 8.10 GA (#4227)
  • 059d1e9 Fixed TS.NRANGE commands to correctly apply aggregators (#4225)
  • d486a0a Fix FIELDNAME alias dropping first character of un-prefixed fields (#4224)
  • fb93104 feat: add client-side HIMPORT fieldset support for standalone and cluster cli...
  • 9197609 Fix lat/lon swap in search querystring geo() helper (#4223)
  • 14714a0 fix: Fixed double decoding issue with unquote() (#4222)
  • 227280a Update lib version to 8.1.0
  • 88d16d0 Decode ACL LOG string values on the default RESP3 legacy callback (#4201)
  • 599fd75 feat: add FT.ALIASLIST support (#4198)
  • 71e275e test: add VectorField RERANK serialization tests for sync and async search (#...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 2, 2026
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 83a4fd02-d2be-474d-82d3-ab5c57928a73

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

프로젝트의 redis 최소 요구 버전을 5.0.0에서 8.1.0으로 상향했습니다.

Changes

Redis 의존성 업데이트

Layer / File(s) Summary
Redis 최소 버전 선언
backend/pyproject.toml
redis 의 최소 요구 버전을 8.1.0으로 변경했습니다.

Estimated code review effort: 1 (매우 낮음) | ~2분

Suggested reviewers: seonghobae

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 backend의 redis 최소 요구 버전을 >=5.0.0에서 >=8.1.0으로 변경하는 주요 내용을 정확하고 간결하게 설명합니다.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/pip/backend/redis-gte-8.1.0

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@backend/pyproject.toml`:
- Line 26: Update the dependency lockfiles to resolve redis at version 8.1.0 or
later, matching the redis>=8.1.0 declaration in pyproject.toml; regenerate both
lockfiles and refresh their associated hashes so CI and Docker install the
declared version.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d8a40edc-d1c9-4ca4-878b-6a7a8917a2ef

📥 Commits

Reviewing files that changed from the base of the PR and between 5b7d8d6 and c5e4e62.

📒 Files selected for processing (1)
  • backend/pyproject.toml

Comment thread backend/pyproject.toml
"httpx>=0.28.1",
"python-jose[cryptography]>=3.5.0",
"redis>=5.0.0",
"redis>=8.1.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- tracked files ---'
git ls-files 'backend/pyproject.toml' 'backend/requirements.lock' 'backend/requirements-dev.lock'
printf '%s\n' '--- dependency declarations ---'
rg -n -C 3 '(^|\[|")redis|redis[=<>!~]' backend/pyproject.toml backend/requirements.lock backend/requirements-dev.lock
printf '%s\n' '--- lockfile metadata and redis sections ---'
sed -n '1,80p' backend/requirements.lock
sed -n '1275,1320p' backend/requirements.lock
rg -n -C 5 '^redis([=<>!~]|$)|^    redis([=<>!~]|$)' backend/requirements-dev.lock || true
printf '%s\n' '--- relevant configuration and source references ---'
rg -n -C 3 'redis(\.asyncio)?|requirements(-dev)?\.lock|uv|pip-tools|compile' backend/pyproject.toml backend backend/.github .github 2>/dev/null || true

Repository: ContextualWisdomLab/pg-erd-cloud

Length of output: 33788


🏁 Script executed:

#!/bin/bash
set -eu
python3 - <<'PY'
from pathlib import Path
import re
import tomllib

project = tomllib.loads(Path("backend/pyproject.toml").read_text())
declared = next(
    item for item in project["project"]["dependencies"]
    if item.lower().startswith("redis")
)
print("declared:", declared)

for name in ("backend/requirements.lock", "backend/requirements-dev.lock"):
    text = Path(name).read_text()
    matches = re.findall(r"(?m)^redis==([^\s\\]+)\\s*\\\\$", text)
    print(name, "redis pins:", matches)
    assert len(matches) == 1, (name, matches)
    assert tuple(map(int, matches[0].split("."))) < (8, 1, 0), matches[0]
print("result: both hash-locked files pin a version below the declared minimum")
PY
printf '%s\n' '--- exact project dependency context ---'
cat -n backend/pyproject.toml | sed -n '15,34p'
printf '%s\n' '--- lockfile install commands ---'
cat -n .github/workflows/ci.yml | sed -n '24,35p'
cat -n backend/Dockerfile | sed -n '5,15p'
printf '%s\n' '--- PyPI release metadata for redis 8.1.0 ---'
python3 - <<'PY'
import json, urllib.request
data = json.load(urllib.request.urlopen("https://pypi.org/pypi/redis/json", timeout=10))
for version in ("8.0.0", "8.1.0"):
    release = data["releases"].get(version)
    print(version, "files:", len(release or []), "yanked:", [f["yanked"] for f in (release or [])])
PY

Repository: ContextualWisdomLab/pg-erd-cloud

Length of output: 290


🏁 Script executed:

#!/bin/bash
set -u
python3 - <<'PY'
from pathlib import Path
import re

project_text = Path("backend/pyproject.toml").read_text()
declared = re.search(r'"redis(>=|==|~=|>|<|!=)[^"]+"', project_text)
print("declared:", declared.group(0) if declared else "not found")

for name in ("backend/requirements.lock", "backend/requirements-dev.lock"):
    text = Path(name).read_text()
    matches = re.findall(r"(?m)^redis==([^\s\\]+)\s*\\$", text)
    print(name, "redis pins:", matches)
PY
printf '%s\n' '--- lockfile install commands ---'
cat -n .github/workflows/ci.yml | sed -n '24,35p'
cat -n backend/Dockerfile | sed -n '5,15p'
printf '%s\n' '--- PyPI release metadata for redis 8.1.0 ---'
python3 - <<'PY'
import json
import urllib.request

try:
    data = json.load(urllib.request.urlopen("https://pypi.org/pypi/redis/json", timeout=10))
    for version in ("8.0.0", "8.1.0"):
        release = data["releases"].get(version)
        print(version, "files:", len(release or []), "yanked:", [f["yanked"] for f in (release or [])])
except Exception as exc:
    print(type(exc).__name__ + ":", exc)
PY

Repository: ContextualWisdomLab/pg-erd-cloud

Length of output: 1498


Lockfile의 redis 버전을 선언과 일치시키세요.

CI와 Docker는 lockfile을 직접 설치하므로 redis==8.0.0을 설치합니다. backend/pyproject.tomlredis>=8.1.0을 선언합니다. 두 lockfile을 다시 생성하고 관련 해시를 갱신하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@backend/pyproject.toml` at line 26, Update the dependency lockfiles to
resolve redis at version 8.1.0 or later, matching the redis>=8.1.0 declaration
in pyproject.toml; regenerate both lockfiles and refresh their associated hashes
so CI and Docker install the declared version.

Source: Coding guidelines

Copy link
Copy Markdown
Collaborator

@dependabot rebase

Copy link
Copy Markdown
Collaborator

@jules Please make this dependency update operationally complete before merge:

  1. The application and CI do not install backend dependencies from pyproject.toml; production installs backend/requirements.lock and CI installs backend/requirements-dev.lock with --require-hashes. Both currently pin redis==8.0.0, so this PR's green checks would still test and ship the old version while declaring redis>=8.1.0.
  2. Regenerate both lockfiles from the updated backend/pyproject.toml using the exact uv pip compile commands documented in their headers, targeting Python 3.10 and preserving hashes. Verify both lockfiles resolve redis==8.1.0 or a later compatible release.
  3. Install each regenerated lockfile with python -m pip install --require-hashes, then run backend mypy and the full pytest suite. Also verify the production Docker build/install path succeeds from requirements.lock.
  4. Keep the change scoped to the dependency declaration and the two generated lockfiles; do not hand-edit hashes.

Updates the requirements on [redis](https://github.com/redis/redis-py) to permit the latest version.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](redis/redis-py@v5.0.0...v8.1.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 8.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/backend/redis-gte-8.1.0 branch from c5e4e62 to 3d82d4f Compare August 3, 2026 01:52
@seonghobae
seonghobae self-requested a review as a code owner August 3, 2026 05:06
@seonghobae
seonghobae marked this pull request as draft August 3, 2026 05:07

Copy link
Copy Markdown
Collaborator

Closing as superseded by #706. Both PRs modify backend/pyproject.toml and the same hash-locked environments; #706 now contains the combined FastAPI and Redis minimum-version upgrades and a single verified lockfile-regeneration path. Keeping both open would duplicate validation and create avoidable merge conflicts.

@seonghobae seonghobae closed this Aug 3, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/pip/backend/redis-gte-8.1.0 branch August 3, 2026 07:34
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 Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant