From 42cd630b504d0c6fcf916712eb108c86c3d686bc Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sun, 28 Jun 2026 12:45:59 -0400 Subject: [PATCH] Downgrade: raise OrdinaryDiffEqNonlinearSolve floor to 1.15 The Downgrade (lts) lane fails at precompile with: MethodError: no method matching init(::NonlinearProblem, ::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithm; abstol, verbose) OrdinaryDiffEqNonlinearSolve's compat floor of "1" lets the downgrade resolver pick 1.14.1, which pulls NonlinearSolve 4.10.0. NonlinearSolve 4.10's loose compat (NonlinearSolveBase = "1.4.0 - 1", NonlinearSolveFirstOrder = "1.2.0 - 1") permits the inconsistent pair NonlinearSolveFirstOrder 1.7.0 + NonlinearSolveBase 1.14.0. The init(::AbstractNonlinearProblem, ::AbstractNonlinearSolveAlgorithm) method NonlinearSolveFirstOrder relies on only exists from NonlinearSolveBase 1.15.0 onward (NonlinearSolveFirstOrder 1.8 bumped its own floor to 1.15.0 for exactly this reason), so the pair fails to precompile. OrdinaryDiffEqNonlinearSolve 1.15 requires NonlinearSolve "4.12.0 - 4", which requires NonlinearSolveBase "2", eliminating the broken option. Verified on Julia 1.10 LTS by running the real julia-downgrade-compat@v2 action against the patched Project.toml: it resolves a consistent set (OrdinaryDiffEqNonlinearSolve 1.15.0, NonlinearSolve 4.12.0, NonlinearSolveBase 2.2.0, NonlinearSolveFirstOrder 1.11.1) and the full test environment precompiles cleanly. Co-Authored-By: Chris Rackauckas --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index c5e8f731..52a438a4 100644 --- a/Project.toml +++ b/Project.toml @@ -28,7 +28,7 @@ ModelingToolkitBase = "1" OrdinaryDiffEq = "6, 7" OrdinaryDiffEqBDF = "1, 2" OrdinaryDiffEqDefault = "1, 2" -OrdinaryDiffEqNonlinearSolve = "1, 2" +OrdinaryDiffEqNonlinearSolve = "1.15, 2" OrdinaryDiffEqRosenbrock = "1, 2" OrdinaryDiffEqSDIRK = "1, 2" PreallocationTools = "0.4.27, 1"