From f643b6a6d7dd5829eda2a06ca4965eab990472e3 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sun, 28 Jun 2026 13:20:03 -0400 Subject: [PATCH] Raise OrdinaryDiffEqNonlinearSolve downgrade floor to 1.15.0 The Downgrade Core lane errored in test/saving_tests.jl ("fail gracefully" testset) with: MethodError: no method matching _initialize_dae!( ...DFBDF..., ..., ::DiffEqBase.BrownFullBasicInit, ::Val{false}) At the resolved floor, OrdinaryDiffEqNonlinearSolve dispatched _initialize_dae! on its own OrdinaryDiffEqCore.BrownFullBasicInit init type, while the test (and DiffEqBase) pass a DiffEqBase.BrownFullBasicInit. OrdinaryDiffEqNonlinearSolve 1.15.0 is the first registered version that unifies the DAE-init algorithms onto the DiffEqBase-owned types (it imports BrownFullBasicInit from OrdinaryDiffEqCore, which itself re-exports DiffEqBase's), so its _initialize_dae! methods dispatch on DiffEqBase.BrownFullBasicInit. The previous floor 1.5.0 still defined and dispatched on the OrdinaryDiffEqCore-owned type, so passing DiffEqBase's hit no method. Verified on Julia 1.10 (LTS) by reproducing the downgrade resolution (julia-downgrade-compat deps mode + Pkg.test GROUP=Core, allow_reresolve =false): with the floor at 1.15.0 the resolver picks OrdinaryDiffEqNonlinearSolve 1.15.0 and Core/saving_tests.jl passes 112/112 (the previously-erroring testset now passes); the full Core group reports "Testing DiffEqCallbacks tests passed". Co-Authored-By: Chris Rackauckas --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index ff6e1b8f..0dea906b 100644 --- a/Project.toml +++ b/Project.toml @@ -38,7 +38,7 @@ NonlinearSolve = "3.14, 4" ODEProblemLibrary = "1.0.0" OrdinaryDiffEqBDF = "1.7.0, 2" OrdinaryDiffEqLowOrderRK = "1.2.0, 2" -OrdinaryDiffEqNonlinearSolve = "1.5.0, 2" +OrdinaryDiffEqNonlinearSolve = "1.15.0, 2" OrdinaryDiffEqRosenbrock = "1.8.0, 2" OrdinaryDiffEqTsit5 = "1.1.0, 2" OrdinaryDiffEqVerner = "1.1.1, 2"