Update to 26.10 - #23305
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis release update changes project versions from 26.08 to 26.10, updates RAPIDS dependency pins, refreshes Java and Python package metadata, and moves development containers and CI workflows to 26.10 images. Changes26.10 release alignment
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@conda/environments/all_cuda-129_arch-aarch64.yaml`:
- Line 49: Update the librapidsmpf dependency pin from 26.8.* to 26.10.* in this
environment and all matching CUDA environment files, keeping the existing
version constraint format. If it must remain on 26.8.*, document the intentional
compatibility reason instead.
In `@conda/environments/all_cuda-129_arch-x86_64.yaml`:
- Line 49: Update depends_on_librapidsmpf in dependencies.yaml from 26.8.* to
26.10.*, then regenerate all derived metadata. Ensure the regenerated values are
26.10.* in conda/environments/all_cuda-129_arch-x86_64.yaml:49-49,
conda/environments/all_cuda-133_arch-aarch64.yaml:49-49, and both occurrences in
python/libcudf_streaming/pyproject.toml:30-30 and 72-72.
In `@conda/environments/all_cuda-133_arch-x86_64.yaml`:
- Around line 46-51: Complete the 26.10 RAPIDS dependency bump by changing the
remaining 26.8.* pins to 26.10.*: update librapidsmpf in
conda/environments/all_cuda-133_arch-x86_64.yaml and both conda/CUDA-suffixed
entries in dependencies.yaml, libcudf-streaming-tests in dependencies.yaml, and
libcudf-streaming in python/cudf_streaming/pyproject.toml; document any
intentional exception instead.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 9b7fa90c-ec60-4e3f-992e-b01c46bc3f20
📒 Files selected for processing (29)
.devcontainer/cuda12.9-conda/devcontainer.json.devcontainer/cuda12.9-pip/devcontainer.json.devcontainer/cuda13.3-conda/devcontainer.json.devcontainer/cuda13.3-pip/devcontainer.json.github/workflows/build.yaml.github/workflows/compute-sanitizer-run.yaml.github/workflows/pandas-tests.yaml.github/workflows/pr.yaml.github/workflows/test.yaml.pre-commit-config.yamlVERSIONconda/environments/all_cuda-129_arch-aarch64.yamlconda/environments/all_cuda-129_arch-x86_64.yamlconda/environments/all_cuda-133_arch-aarch64.yamlconda/environments/all_cuda-133_arch-x86_64.yamldependencies.yamljava/ci/README.mdjava/pom.xmlpython/cudf/cudf/VERSIONpython/cudf/cudf_pandas_tests/third_party_integration_tests/dependencies.yamlpython/cudf/pyproject.tomlpython/cudf_kafka/pyproject.tomlpython/cudf_polars/pyproject.tomlpython/cudf_streaming/pyproject.tomlpython/custreamz/pyproject.tomlpython/dask_cudf/pyproject.tomlpython/libcudf/pyproject.tomlpython/libcudf_streaming/pyproject.tomlpython/pylibcudf/pyproject.toml
| - libkvikio==26.10.*,>=0.0.0a0 | ||
| - libnvcomp-dev==5.2.0.10 | ||
| - libnvjitlink-dev | ||
| - librapidsmpf==26.8.*,>=0.0.0a0 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
set -euo pipefail
printf '\n== target file excerpt ==\n'
nl -ba conda/environments/all_cuda-129_arch-aarch64.yaml | sed -n '35,60p'
printf '\n== pins across conda/environments ==\n'
rg -n "librapidsmpf|rapidsmpf|librmm|libkvikio" conda/environments -g '*.yaml'Repository: rapidsai/cudf
Length of output: 218
🏁 Script executed:
python3 - <<'PY'
from pathlib import Path
import re
target = Path("conda/environments/all_cuda-129_arch-aarch64.yaml")
lines = target.read_text().splitlines()
print("== target file excerpt ==")
for i in range(35, min(60, len(lines)) + 1):
print(f"{i:4d}: {lines[i-1]}")
print("\n== pins across conda/environments ==")
for path in sorted(Path("conda/environments").glob("*.yaml")):
text = path.read_text().splitlines()
for i, line in enumerate(text, 1):
if any(k in line for k in ("librapidsmpf", "rapidsmpf", "librmm", "libkvikio")):
print(f"{path}:{i}: {line}")
PYRepository: rapidsai/cudf
Length of output: 2215
Align librapidsmpf with the 26.10. release pins*
librapidsmpf is still pinned to 26.8.* while libkvikio, librmm, and rapidsmpf are on 26.10.*. Update this pin here and in the matching CUDA env files, or document why it intentionally lags behind.
🤖 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 `@conda/environments/all_cuda-129_arch-aarch64.yaml` at line 49, Update the
librapidsmpf dependency pin from 26.8.* to 26.10.* in this environment and all
matching CUDA environment files, keeping the existing version constraint format.
If it must remain on 26.8.*, document the intentional compatibility reason
instead.
| - libkvikio==26.10.*,>=0.0.0a0 | ||
| - libnvcomp-dev==5.2.0.10 | ||
| - libnvjitlink-dev | ||
| - librapidsmpf==26.8.*,>=0.0.0a0 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== Targeted file excerpts ==\n'
for f in conda/environments/all_cuda-129_arch-x86_64.yaml conda/environments/all_cuda-133_arch-aarch64.yaml python/libcudf_streaming/pyproject.toml; do
echo "--- $f"
nl -ba "$f" | sed -n '1,120p'
done
printf '\n== Search for librapidsmpf and 26.10 pins ==\n'
rg -n "librapidsmpf|26\.10\.\*|26\.8\.\*" conda python -S
printf '\n== Search for related package/version references ==\n'
rg -n "libcudf_streaming|librapidsmpf|rapidsmpf|26\.10|26\.8" -S .Repository: rapidsai/cudf
Length of output: 274
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "No-op placeholder to trigger result retrieval."Repository: rapidsai/cudf
Length of output: 198
🏁 Script executed:
#!/bin/bash
set -euo pipefail
nl -ba conda/environments/all_cuda-129_arch-x86_64.yaml | sed -n '40,60p'
echo '---'
nl -ba conda/environments/all_cuda-133_arch-aarch64.yaml | sed -n '40,60p'
echo '---'
nl -ba python/libcudf_streaming/pyproject.toml | sed -n '1,110p'
echo '---'
rg -n "librapidsmpf|26\.10\.\*|26\.8\.\*" conda python -SRepository: rapidsai/cudf
Length of output: 191
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
for path in [
Path("conda/environments/all_cuda-129_arch-x86_64.yaml"),
Path("conda/environments/all_cuda-133_arch-aarch64.yaml"),
Path("python/libcudf_streaming/pyproject.toml"),
]:
print(f"== {path} ==")
text = path.read_text()
for i, line in enumerate(text.splitlines(), 1):
if "librapidsmpf" in line or "26.10" in line or "26.8" in line:
start = max(1, i-2)
end = min(len(text.splitlines()), i+2)
for j in range(start, end+1):
print(f"{j:>4}: {text.splitlines()[j-1]}")
print()
PYRepository: rapidsai/cudf
Length of output: 3737
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
paths = [p for p in Path('.').rglob('*') if p.is_file()]
for p in paths:
try:
text = p.read_text()
except Exception:
continue
if "librapidsmpf" in text or "rapidsmpf" in text or "26.10.*" in text or "26.8.*" in text:
if p.name in {"dependencies.yaml", "dependencies.yml", "version.txt"} or "dependencies" in str(p):
print(f"== {p} ==")
for i, line in enumerate(text.splitlines(), 1):
if "librapidsmpf" in line or "rapidsmpf" in line or "26.10.*" in line or "26.8.*" in line:
print(f"{i:>4}: {line}")
print()
PYRepository: rapidsai/cudf
Length of output: 3604
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
for path in [
Path("conda/environments/all_cuda-129_arch-x86_64.yaml"),
Path("conda/environments/all_cuda-133_arch-aarch64.yaml"),
Path("python/libcudf_streaming/pyproject.toml"),
Path("dependencies.yaml"),
]:
print(f"== {path} ==")
text = path.read_text().splitlines()
for i, line in enumerate(text[:20], 1):
print(f"{i:>4}: {line}")
print()
PYRepository: rapidsai/cudf
Length of output: 2998
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
path = Path("dependencies.yaml")
lines = path.read_text().splitlines()
targets = [1523, 1552, 1009]
for target in targets:
print(f"== {path} around {target} ==")
for i in range(max(1, target-6), min(len(lines), target+10)+1):
print(f"{i:>4}: {lines[i-1]}")
print()
PYRepository: rapidsai/cudf
Length of output: 2260
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
for path in [
Path("conda/environments/all_cuda-129_arch-x86_64.yaml"),
Path("conda/environments/all_cuda-133_arch-aarch64.yaml"),
Path("dependencies.yaml"),
]:
print(f"== {path} head ==")
lines = path.read_text().splitlines()
for i, line in enumerate(lines[:25], 1):
print(f"{i:>4}: {line}")
print()
PYRepository: rapidsai/cudf
Length of output: 2476
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
path = Path("dependencies.yaml")
lines = path.read_text().splitlines()
for target in [1006, 1498, 1523, 1552]:
print(f"== around line {target} ==")
for i in range(max(1, target-4), min(len(lines), target+14)+1):
print(f"{i:>4}: {lines[i-1]}")
print()
PYRepository: rapidsai/cudf
Length of output: 3183
Update depends_on_librapidsmpf in dependencies.yaml to 26.10.* and regenerate the derived files. The generated conda envs and python/libcudf_streaming/pyproject.toml still inherit librapidsmpf==26.8.*, so the release metadata is out of sync with the rest of the 26.10.* set.
📍 Affects 3 files
conda/environments/all_cuda-129_arch-x86_64.yaml#L49-L49(this comment)conda/environments/all_cuda-133_arch-aarch64.yaml#L49-L49python/libcudf_streaming/pyproject.toml#L30-L30python/libcudf_streaming/pyproject.toml#L72-L72
🤖 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 `@conda/environments/all_cuda-129_arch-x86_64.yaml` at line 49, Update
depends_on_librapidsmpf in dependencies.yaml from 26.8.* to 26.10.*, then
regenerate all derived metadata. Ensure the regenerated values are 26.10.* in
conda/environments/all_cuda-129_arch-x86_64.yaml:49-49,
conda/environments/all_cuda-133_arch-aarch64.yaml:49-49, and both occurrences in
python/libcudf_streaming/pyproject.toml:30-30 and 72-72.
| - libkvikio==26.10.*,>=0.0.0a0 | ||
| - libnvcomp-dev==5.2.0.10 | ||
| - libnvjitlink-dev | ||
| - librapidsmpf==26.8.*,>=0.0.0a0 | ||
| - librdkafka<2.15.0a0 | ||
| - librmm==26.8.*,>=0.0.0a0 | ||
| - librmm==26.10.*,>=0.0.0a0 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== file presence ==\n'
git ls-files 'conda/environments/all_cuda-133_arch-x86_64.yaml' 'dependencies.yaml' 'python/cudf_streaming/pyproject.toml'
printf '\n== relevant snippets ==\n'
for f in conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml; do
echo "--- $f ---"
nl -ba "$f" | sed -n '1,220p' | rg -n 'librapidsmpf|libcudf-streaming|libcudf-streaming-tests|rapidsmpf|26\.8|26\.10|26\.9'
done
printf '\n== broader searches for these package pins ==\n'
rg -n 'librapidsmpf==26\.8|librapidsmpf==26\.10|rapidsmpf==26\.8|rapidsmpf==26\.10|libcudf-streaming-tests==26\.8|libcudf-streaming-tests==26\.10|libcudf-streaming==26\.8|libcudf-streaming==26\.10' conda dependencies.yaml python -g '!**/.git/**'
printf '\n== codespell (if available) on the cited files ==\n'
if command -v codespell >/dev/null 2>&1; then
codespell conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml || true
else
echo "codespell not installed"
fiRepository: rapidsai/cudf
Length of output: 395
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
files = [
"conda/environments/all_cuda-133_arch-x86_64.yaml",
"dependencies.yaml",
"python/cudf_streaming/pyproject.toml",
]
targets = {
"conda/environments/all_cuda-133_arch-x86_64.yaml": (38, 60),
"dependencies.yaml": (995, 1012),
"dependencies.yaml#2": (1490, 1550),
"python/cudf_streaming/pyproject.toml": (1, 40),
}
for key, (start, end) in targets.items():
file = key.split("#", 1)[0]
print(f"\n--- {key} ({start}-{end}) ---")
lines = Path(file).read_text().splitlines()
for i in range(start, min(end, len(lines)) + 1):
print(f"{i:4d}: {lines[i-1]}")
PY
printf '\n== package/version search ==\n'
rg -n 'librapidsmpf|libcudf-streaming-tests|libcudf-streaming|rapidsmpf|26\.8\.\*|26\.10\.\*' \
conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml
printf '\n== codespell (if available) ==\n'
if command -v codespell >/dev/null 2>&1; then
codespell conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml || true
else
echo "codespell not installed"
fiRepository: rapidsai/cudf
Length of output: 11435
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
targets = {
"conda/environments/all_cuda-133_arch-x86_64.yaml": (38, 60),
"dependencies.yaml": (995, 1012),
"dependencies.yaml#2": (1490, 1550),
"python/cudf_streaming/pyproject.toml": (1, 40),
}
for key, (start, end) in targets.items():
file = key.split("#", 1)[0]
print(f"\n--- {key} ({start}-{end}) ---")
lines = Path(file).read_text().splitlines()
for i in range(start, min(end, len(lines)) + 1):
print(f"{i:4d}: {lines[i-1]}")
PY
printf '\n== package/version search ==\n'
rg -n 'librapidsmpf|libcudf-streaming-tests|libcudf-streaming|rapidsmpf|26\.8\.\*|26\.10\.\*' \
conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml
printf '\n== codespell (if available) ==\n'
if command -v codespell >/dev/null 2>&1; then
codespell conda/environments/all_cuda-133_arch-x86_64.yaml dependencies.yaml python/cudf_streaming/pyproject.toml || true
else
echo "codespell not installed"
fiRepository: rapidsai/cudf
Length of output: 11435
Finish the 26.10 dependency bump.
A few RAPIDS pins are still on 26.8.*, which can leave generated envs and builds mixing release series:
conda/environments/all_cuda-133_arch-x86_64.yaml#L46-L51:librapidsmpfis still26.8.*.dependencies.yaml#L1006-L1009:libcudf-streaming-testsis still26.8.*.dependencies.yaml#L1523-L1544:librapidsmpfis still26.8.*in the conda and CUDA-suffixed entries.python/cudf_streaming/pyproject.toml#L21-L22:libcudf-streamingis still26.8.*.
Update these pins to 26.10.*, or document any intentional exception.
📍 Affects 3 files
conda/environments/all_cuda-133_arch-x86_64.yaml#L46-L51(this comment)dependencies.yaml#L1003-L1008dependencies.yaml#L1499-L1519python/cudf_streaming/pyproject.toml#L23-L25
🤖 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 `@conda/environments/all_cuda-133_arch-x86_64.yaml` around lines 46 - 51,
Complete the 26.10 RAPIDS dependency bump by changing the remaining 26.8.* pins
to 26.10.*: update librapidsmpf in
conda/environments/all_cuda-133_arch-x86_64.yaml and both conda/CUDA-suffixed
entries in dependencies.yaml, libcudf-streaming-tests in dependencies.yaml, and
libcudf-streaming in python/cudf_streaming/pyproject.toml; document any
intentional exception instead.
This PR updates the repository to version 26.10. This is part of the 26.08 release burndown process.
This PR updates the repository to version 26.10.
This is part of the 26.08 release burndown process.