Skip to content

Bump stale Optim/StaticArrays/Mooncake compat floors#546

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:downgrade-compat-floors
Jun 14, 2026
Merged

Bump stale Optim/StaticArrays/Mooncake compat floors#546
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:downgrade-compat-floors

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Note

This PR should be ignored until reviewed by @ChrisRackauckas.

What

Three [compat] lower bounds predate the ForwardDiff 1 / Symbolics 7 modernization already reflected elsewhere in [compat], leaving the declared floors mutually unsatisfiable:

Dep Was Now Why
Optim 1.7.5, 2 1.12, 2 Optim 1.7.5 requires ForwardDiff 0.10, conflicting with the ForwardDiff = "1" floor. Optim 1.12 is the first release that supports ForwardDiff 1.
StaticArrays 1.9 1.9.7 1.9 (= 1.9.0) is too old for DifferentiationInterface 0.7, which Symbolics = "7.0.0" pulls in. DI 0.7.2+ requires StaticArrays = "1.9.7 - 1".
Mooncake 0.4, 0.5 0.4.175, 0.5 Mooncake 0.4.0 requires DifferentiationInterface ≤ 0.6.16, conflicting with the Symbolics = "7.0.0" floor (needs DI ≥ 0.7.12). The lowest Mooncake supporting that DI range is 0.4.175.

Verification (local, Pkg's resolver)

  • Floors resolve: pinned to the new minimums, the full test-dependency set resolves on Julia 1.10.8 → Optim 1.12.0, StaticArrays 1.9.7, Mooncake 0.4.175, Symbolics 7.0.0, DifferentiationInterface 0.7.15, ForwardDiff 1.0.0, NLSolversBase 7.10.0.
  • Ceiling unaffected: the normal test environment still resolves → Optim 2.1.0, StaticArrays 1.9.18, Mooncake 0.5.31, Symbolics 7.26.0, DifferentiationInterface 0.7.18, ForwardDiff 1.4.1.
  • Before this change, Pkg.resolve at the old floors fails with Optim 1.7.5 vs ForwardDiff 1, then StaticArrays 1.9.0 vs DI 0.7, then Mooncake 0.4.0 vs Symbolics 7 — all independent of the Julia version.

Scope / caveat

This PR fixes the genuinely-stale floors. It does not, on its own, turn the Downgrade CI job green. That job's remaining failure is driven by two separate issues, both outside this change:

  1. The downgrade action resolves at the Julia major.minor floor (1.10.0), and modern Mooncake (needed for the Symbolics 7 / DI 0.7 floors) requires Julia ≥ 1.10.8 — so the merged test-dep graph is unsatisfiable at 1.10.0 regardless of these floors (julia = "1.10" is intentionally kept here).
  2. The action's resolver (Resolver.jl, via julia-downgrade-compat Add Akima interpolation method #49's merged-extras path) reports Unsatisfiable even on graphs that Pkg.resolve resolves successfully (verified on the identical project file at Julia 1.10.8).

Those are upstream/tooling concerns to be handled separately; this PR is the correct-compat-floors piece and is independently valid.

🤖 Generated with Claude Code

These three [compat] lower bounds predate the ForwardDiff 1 / Symbolics 7
modernization already reflected elsewhere in [compat], so the declared
floors are mutually unsatisfiable. Verified locally with Pkg's resolver:

- Optim "1.7.5" requires ForwardDiff 0.10, conflicting with the
  ForwardDiff "1" floor. Optim 1.12 is the first release supporting
  ForwardDiff 1. Bump to "1.12, 2".
- StaticArrays "1.9" (= 1.9.0) is too old for DifferentiationInterface
  0.7, which Symbolics 7.0.0 requires; DI 0.7.2+ needs StaticArrays
  "1.9.7-1". Bump to "1.9.7".
- Mooncake "0.4" (= 0.4.0) requires DifferentiationInterface <= 0.6.16,
  conflicting with the Symbolics 7.0.0 floor (needs DI >= 0.7.12). The
  lowest Mooncake supporting that DI range is 0.4.175. Bump to
  "0.4.175, 0.5".

At these floors the test dependency set resolves on Julia 1.10.8
(Optim 1.12.0, StaticArrays 1.9.7, Mooncake 0.4.175, Symbolics 7.0.0,
DifferentiationInterface 0.7.15, ForwardDiff 1.0.0). The ceiling
(normal) test environment is unaffected.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 09:43
@ChrisRackauckas ChrisRackauckas merged commit 8beba9d into SciML:master Jun 14, 2026
5 of 6 checks passed
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.

2 participants