Skip to content

Raise LinearSolve and DiffEqBase downgrade floors - #4964

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:bump-downgrade-floors-linearsolve-diffeqbase
Aug 14, 2026
Merged

ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:bump-downgrade-floors-linearsolve-diffeqbase

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Please ignore this PR until it has been reviewed by @ChrisRackauckas.

What changed and why

Pure [compat] lower-bound bumps so Downgrade CI cannot pin the versions that are red on current master:

file entry before after
Project.toml DiffEqBase 7.4.2 7.12
Project.toml LinearSolve 3.66, 4, 5 3.66, 4, 5.4
lib/ModelingToolkitBase/Project.toml DiffEqBase 7.4.2 7.12
lib/ModelingToolkitBase/Project.toml LinearSolve 3.19.2, 4, 5 3.19.2, 4, 5.4

No solver code, tests, or package versions were changed.

Default-branch evidence

On 720acb0458 (current upstream/master):

This is not #4911 (@test_broken remake inference). The current master failures are different.

Parent Downgrade (InterfaceI)

Installed LinearSolve v5.2.0. The only test error:

AD through inline linear SCCs works: Error During Test at test/structural_transformation/tearing.jl:293
  Got exception outside of a @test
  UndefVarError: `issquare` not defined
  Stacktrace:
    [1] #solve_single_scc#8
      @ SCCNonlinearSolve ...

Same LinearSolve 5.0–5.3 ForwardDiff-extension bug as SciML/NonlinearSolve.jl#1143 / SciML/NonlinearSolve.jl#1163: ext/LinearSolveForwardDiffExt.jl calls bare issquare until 5.4 (using SciMLOperators: issquare).

MTKBase Downgrade

Installed DiffEqBase v7.10.0 + SciMLBase v3.44.0. The only test error:

InitializationSystem Test: Error During Test
  LoadError: type DEVerbosity has no field symbolic_diagnostic
    [2] check_error
      @ SciMLBase ~/.julia/packages/SciMLBase/bd9S4/src/integrator_interface.jl:1012
  in expression starting at lib/ModelingToolkitBase/test/initializationsystem.jl:679

symbolic_diagnostic exists on DEVerbosity from DiffEqBase 7.12.0; SciMLBase 3.38+ (including the MTKBase floor 3.44) reads that field.

Parent also depends on ModelingToolkitBase 1.63 (SciMLBase 3.44), so after the LinearSolve bump the parent job would hit the same DEVerbosity hole. Both floors go in this PR.

Verification (Julia 1.10.11)

Isolated Dual-LinearProblem jacobian, same issquare path:

# LinearSolve 5.2.0
FAIL-BEFORE LinearSolve 5.2: UndefVarError: UndefVarError(:issquare)

# LinearSolve 5.4.0
PASS-AFTER LinearSolve 5.4: jacobian=[-1.0 0.0; 0.0 -0.25]

Isolated DEVerbosity field access:

# DiffEqBase 7.10.0
fieldnames: (... no :symbolic_diagnostic ...)
FAIL-BEFORE DiffEqBase 7.10: ErrorException("type DEVerbosity has no field symbolic_diagnostic")

# DiffEqBase 7.12.0
has symbolic_diagnostic: true
symbolic_diagnostic=SciMLLogging.MessageLevel(3)
PASS-AFTER DiffEqBase 7.12

Developed this branch + added current LinearSolve/DiffEqBase:

Status
  DiffEqBase v7.14.0
  LinearSolve v5.10.0
  ModelingToolkit v11.39.0 (dev)
  ModelingToolkitBase v1.65.0 (dev)

Pinning DiffEqBase 7.10.0 against the new MTKBase floor:

Unsatisfiable requirements detected for package DiffEqBase [2b5f629d]:
 ├─restricted to versions 7.12.0-7 by ModelingToolkitBase [7771a370]
 └─restricted to versions 7.10.0 by an explicit requirement — no versions left

LinearSolve is an extra, so a top-level Pkg.add(LinearSolve@5.2) against a developed parent does not apply extras [compat]. Downgrade CI merges extras and will pin 5.4.0 after this change. The Dual jacobian above is the fail-before / pass-after for that extra.

What was not verified

Reviewer notes

  • 3.x / 4.x LinearSolve ranges are kept; only the 5.x lower bound moves, matching the installed 5.2.0 pin.
  • DiffEqBase 7.12 is the first release whose DEVerbosity has symbolic_diagnostic.

Downgrade on master installs LinearSolve 5.2.0 and DiffEqBase 7.10.0.
LinearSolve 5.0–5.3 use a bare `issquare` in the ForwardDiff extension,
and DiffEqBase 7.10's DEVerbosity lacks `symbolic_diagnostic` that
SciMLBase 3.44 reads. Raise those floors to 5.4 and 7.12.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 14, 2026 15:17
@ChrisRackauckas
ChrisRackauckas merged commit c00818d into SciML:master Aug 14, 2026
35 of 37 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