Repository navigation
Raise the skrub floor to 0.10.1 to fix the highest-resolution CI legs - #1367
aniruddhaadak80 wants to merge 2 commits into
Conversation
joblib 1.6.0 stopped vendoring cloudpickle and now depends on it as a regular requirement, so `joblib.externals.cloudpickle` no longer exists. skrub versions below 0.10.1 import it from there in skrub/_data_ops/_utils.py, which makes `import tabpfn` fail with ImportError on every `--resolution highest` leg. skrub 0.10.1 imports cloudpickle directly, so pinning the floor there fixes the resolution. The lowest-direct legs were never affected: they resolve joblib 1.2.0, which still ships the vendored copy. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018cs3ut9LQr8f3KojMikV12
Uses the `changed` category, matching changelog/1231.changed.md, which was the previous edit to the same dependency line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018cs3ut9LQr8f3KojMikV12
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 697184b. Configure here.
| "lightgbm>=4.4", | ||
| # Capped: skrub is pre-1.0 and its minor releases change transformer behavior. | ||
| "skrub>=0.7,<0.11", | ||
| "skrub>=0.10.1,<0.11", |
There was a problem hiding this comment.
Skrub floor raised to 0.10.1
Medium Severity
The skrub lower bound is raised from 0.7 to 0.10.1. The supported pin is skrub>=0.7,<0.11; this floor bump was already superseded, and the joblib 1.6 hole stays with the environment that still holds older skrub rather than being closed here.
Triggered by learned rule: skrub>=0.7,<0.11; no extra joblib pin
Reviewed by Cursor Bugbot for commit 697184b. Configure here.
| @@ -0,0 +1 @@ | |||
| Raise the minimum `skrub` version from 0.7 to 0.10.1. joblib 1.6.0 stopped vendoring cloudpickle, so `joblib.externals.cloudpickle` no longer exists, and skrub versions below 0.10.1 import it from there. Installing TabPFN alongside joblib 1.6.0 and an older skrub made `import tabpfn` fail with an `ImportError`. | |||
There was a problem hiding this comment.
Changelog diagnoses the joblib incident
Low Severity
The towncrier fragment retells the joblib 1.6 cloudpickle break, names joblib.externals.cloudpickle, and narrates install history. That is incident diagnosis and internals. The change is CI plumbing for the highest-resolution legs, not a user-facing API change.
Triggered by learned rule: Towncrier fragments: user-facing change only; keep concise
Reviewed by Cursor Bugbot for commit 697184b. Configure here.
|
I think it's better for us to remain as widely compatible as possible, than try to prevent this incompatiblity on the behalf of skrub that's people's agents can easily debug + fix (unless we see lots of reports of it). |


Supersedes local branch fix/skrub-floor-joblib-cloudpickle. See commit history for details.