From ff385d0ea6b9afed714a5ae7f33056ef9ddd218f Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 13 Jun 2026 07:10:47 -0400 Subject: [PATCH] Downgrade: raise SciMLBase floor to 3 (SciMLBase 2.x method collision breaks LTS precompile) The Downgrade workflow (Julia 1.10 LTS floor) failed because the SciMLBase compat floor of "2.152" allowed SciMLBase 2.x. SciMLBase 2.x still defines RecursiveArrayTools.tuples(::DEIntegrator) and tuples(::AbstractTimeseriesSolution) in its integrator/solution interface; SciMLIterators imports RecursiveArrayTools.tuples and redefines those exact methods (the utilities were extracted out of SciMLBase into this package). At SciMLBase 2.x this is a method overwrite, which is fatal during module precompilation on Julia 1.10: ERROR: Method overwriting is not permitted during Module precompilation. The half-precompiled module then loses later-defined exports, so the tests fail with "UndefVarError: TimeChoiceIterator not defined". SciMLBase 3.x removed those tuples(::DEIntegrator / ::AbstractTimeseriesSolution) definitions, so there is no collision. SciMLIterators' source therefore requires SciMLBase 3. Raising the floor to "3" forces the co-required OrdinaryDiffEq floor to "7" (OrdinaryDiffEq 7 requires SciMLBase 3) and RecursiveArrayTools to "4" (OrdinaryDiffEq 7 needs RecursiveArrayTools 4.x); SciMLBase 2.x / OrdinaryDiffEq 6 are genuinely uninstallable for a SciMLBase-3-only package, so these are real minimums. Verified on Julia 1.10 (LTS downgrade floor) with the actual julia-actions/julia-downgrade-compat (Resolver.jl --min=@deps): the merged test env resolves to SciMLBase 3.0.0, OrdinaryDiffEq 7.0.0, RecursiveArrayTools 4.0.0, and the full downgrade test suite (Pkg.test) now passes; previously it errored with the precompile method overwrite leading to UndefVarError. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- Project.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index c333c51..365b693 100644 --- a/Project.toml +++ b/Project.toml @@ -8,9 +8,9 @@ RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] -OrdinaryDiffEq = "6, 7" -RecursiveArrayTools = "3, 4" -SciMLBase = "2.152, 3" +OrdinaryDiffEq = "7" +RecursiveArrayTools = "4" +SciMLBase = "3" Test = "1" julia = "1.10"