Skip to content

fix: Bump stale compat floors for EvoTrees, OffsetArrays, StatsBase#122

Open
sethaxen wants to merge 2 commits into
mainfrom
fix/downgrade-compat-floors
Open

fix: Bump stale compat floors for EvoTrees, OffsetArrays, StatsBase#122
sethaxen wants to merge 2 commits into
mainfrom
fix/downgrade-compat-floors

Conversation

@sethaxen

@sethaxen sethaxen commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

The Downgrade CI job (Julia min) has been failing on main with ERROR: LoadError: Unsatisfiable during the merged-resolution step. Reproduced locally with Pkg.resolve() (not just Resolver.jl's terse error) and traced it to three genuinely-unreachable compat floors, all confirmed against the General registry:

  • StatsBase = "0.33.7, 0.34""0.33.17, 0.34": PosteriorStats (weakdep, floor 0.3) requires StatsBase 0.33.17-0.34 starting at PosteriorStats v0.3.0, so our claimed 0.33.7 floor was never actually reachable alongside our own PosteriorStats floor.
  • OffsetArrays = "1""1.0.1": resolves to exactly 1.0.0, but Interpolations (pulled in transitively via PosteriorStats → KernelDensity → Interpolations) explicitly excludes 1.0.0 (compat: [0.10-0.11, 1.0.1-1]).
  • EvoTrees = "0.16""0.16.3": resolves to 0.16.0, where CUDA was still a hard dependency (not a weakdep), and that CUDA version's GPUCompiler requirement doesn't support Julia 1.10 (our julia floor). CUDA became a weakdep of EvoTrees starting at v0.16.3.

Since StatsBase is a weakdep (triggers InferenceObjectsPosteriorStatsExt) and its compat floor changed, this also bumps the patch version per repo convention.

Verification

  • Pkg.resolve() on the merged (extras-promoted) project now succeeds on Julia 1.10, where it previously errored with Unsatisfiable.
  • With [compat] pinned to the new floor versions on the real Project.toml (weakdeps/extensions intact), Pkg.test() passes cleanly: 2085 passed, 21 broken (pre-existing), 0 failed, 0 errored. All three packages resolve at exactly their new floors, and all three extensions (NCDatasets, MCMCDiagnosticTools, PosteriorStats) load correctly.
  • Normal Pkg.resolve() at latest versions still succeeds (only lower bounds changed).

Test plan

  • CI passes, in particular the Downgrade / Julia min - ubuntu-latest job

🤖 Generated with Claude Code

sethaxen and others added 2 commits July 7, 2026 11:32
These floors were unreachable together and broke the Downgrade CI job's
merged-resolution step ("Unsatisfiable"):

- StatsBase 0.33.7 -> 0.33.17: required by PosteriorStats>=0.3
- OffsetArrays 1 -> 1.0.1: Interpolations (via PosteriorStats -> KernelDensity)
  excludes exactly 1.0.0
- EvoTrees 0.16 -> 0.16.3: CUDA was a hard dep before 0.16.3, and that CUDA
  version's GPUCompiler requirement doesn't support Julia 1.10

Verified by resolving and running the full test suite with all deps pinned
to these floor versions on Julia 1.10.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
StatsBase is a weakdep, and its compat floor changed in the previous commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.16%. Comparing base (6eb1418) to head (a915414).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #122      +/-   ##
==========================================
+ Coverage   91.58%   92.16%   +0.57%     
==========================================
  Files          24       24              
  Lines         535      536       +1     
==========================================
+ Hits          490      494       +4     
+ Misses         45       42       -3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sethaxen sethaxen closed this Jul 7, 2026
@sethaxen sethaxen reopened this Jul 7, 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.

1 participant