Downgrade: raise Optim compat floor to 1.12 (ForwardDiff 1 incompatible below)#545
Merged
ChrisRackauckas merged 2 commits intoJun 15, 2026
Merged
Conversation
…able at downgrade minimum) At the downgrade minimum, ForwardDiff is pinned to its floor (1.x) while Optim is pinned to its floor 1.7.5. Optim 1.5-1.11 declare `ForwardDiff = "0.10"` (no ForwardDiff 1.x support); only Optim >= 1.12 declares `ForwardDiff = ["0.10", "1"]`. So Optim 1.7.5 cannot co-install with ForwardDiff 1, giving an Unsatisfiable in the merged downgrade test project. Optim 1.12 is the first release compatible with ForwardDiff 1, so it is the smallest co-installable floor. The upper bound (2) is unchanged. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…loor) # Conflicts: # Project.toml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The MINIMUM-VERSION (downgrade) job fails at the
julia-downgrade-compatresolve step with a bareUnsatisfiable. Reproduced locally on Julia 1.10 (the LTS downgrade floor); the real conflict is:Why the old floor was impossible
ForwardDiff = "1", so at the downgrade minimum ForwardDiff is in the 1.x band.1.5 - 1.11declareForwardDiff = "0.10"(no ForwardDiff 1 support). OnlyOptim >= 1.12declaresForwardDiff = ["0.10", "1"].Optim = "1.7.5"therefore cannot co-install withForwardDiff = 1: Optim 1.7.5 sits in the gap between the two ForwardDiff-compatible Optim bands and is dropped, leaving no Optim version.Fix
Raise the lower bound:
Optim = "1.7.5, 2"->Optim = "1.12, 2". 1.12 is the smallest Optim release that supports ForwardDiff 1, i.e. the smallest co-installable floor. The upper bound is unchanged; no test logic or tolerances touched.Resolve verification (local, Julia 1.10 LTS)
Mimicking
julia-downgrade-compat --minon the merged test project (all[compat]entries pinned to their lower bounds):Optim = 1.7.5->Unsatisfiable(reproduces CI).Optim = 1.12.0->RESOLVE SUCCEEDED(full add/resolve completed, exit 0).Resolution only — the full test suite was not run locally; PR CI confirms.
Ignore until reviewed by @ChrisRackauckas.