Skip to content

Raise the skrub floor to 0.10.1 to fix the highest-resolution CI legs - #1367

Closed
aniruddhaadak80 wants to merge 2 commits into
PriorLabs:mainfrom
aniruddhaadak80:fix/skrub-floor-joblib-cloudpickle
Closed

aniruddhaadak80 wants to merge 2 commits into
PriorLabs:mainfrom
aniruddhaadak80:fix/skrub-floor-joblib-cloudpickle

Conversation

@aniruddhaadak80

Copy link
Copy Markdown
Contributor

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

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
Copilot AI balanced review requested due to automatic review settings October 9, 2026 05:10

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions
github-actions Bot requested a review from oscarkey October 9, 2026 05:10

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ 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.

Comment thread pyproject.toml
"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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Fix in Cursor Fix in Web

Triggered by learned rule: skrub>=0.7,<0.11; no extra joblib pin

Reviewed by Cursor Bugbot for commit 697184b. Configure here.

Comment thread changelog/1248.changed.md
@@ -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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Fix in Cursor Fix in Web

Triggered by learned rule: Towncrier fragments: user-facing change only; keep concise

Reviewed by Cursor Bugbot for commit 697184b. Configure here.

@oscarkey

Copy link
Copy Markdown
Contributor

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).

@oscarkey oscarkey closed this Oct 14, 2026
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.

4 participants