Bump DiffEqBase compat to include v7#151
Merged
ChrisRackauckas merged 1 commit intoSciML:masterfrom Apr 22, 2026
Merged
Conversation
Widen `DiffEqBase = "6.144"` → `"6.144, 7"` so ParameterizedFunctions resolves alongside the v7 OrdinaryDiffEq stack (lib/DiffEqBase 7.0.0). Version bump 5.23.0 → 5.24.0. SciMLBase `"2.15, 3.0"` already covers v3. ModelingToolkit `"11"` covers the MTK 11.22.0 compat-widened release in flight (SciML/ModelingToolkit.jl#4467). Source uses `DiffEqBase.AbstractParameterizedFunction` (still defined in lib/DiffEqBase v7 under the `@static if isdefined(SciMLBase, :AbstractParameterizedFunction)` delegation/fallback block) and nothing else from DiffEqBase. None of the symbols removed in the v7 NEWS or SciMLBase v3 breaking notes appear in `src/`: `u_modified!`, `has_destats`, `.destats`, `concrete_solve`, `fastpow`, `RECOMPILE_BY_DEFAULT`, `DEStats`, `QuadratureProblem`, `tuples()`, `intervals()`, standalone `DEAlgorithm`/`DEProblem`/`DESolution`. Not a direct blocker of OrdinaryDiffEq's own CI (ParameterizedFunctions is a test-only dep of DiffEqDevTools, not a runtime dep) — included in the same v7-compat-widening set as DiffEqCallbacks#303, DiffEqNoiseProcess#271, DiffEqProblemLibrary#182, JumpProcesses#580, ModelingToolkit#4467, StateSelection#71 so downstream users can install ParameterizedFunctions together with the v7 stack. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
This was referenced Apr 22, 2026
ChrisRackauckas
added a commit
to SciML/OrdinaryDiffEq.jl
that referenced
this pull request
Apr 22, 2026
The DiffEqDevTools test environment failed to resolve on PR #3502 because registered versions of several test-only deps cap `DiffEqBase` at v6, while the monorepo's `[sources]` pins `DiffEqBase` to the path-sourced v7. Blockers and fixes in `lib/DiffEqDevTools/Project.toml`: - `BoundaryValueDiffEq = "5"` — registered BVDE 5.20 caps `DiffEqBase = "6.183 - 6"`. There is no BVDE release that admits DiffEqBase v7 yet, so the BVDE + `BVProblemLibrary` deps are dropped from the test env, and the single BVP benchmark block in `test/benchmark_tests.jl` is disabled with a note. - `StochasticDelayDiffEq = "1"` — registered SDDE caps `DiffEqBase` at 6 and the package is declared deprecated (see NEWS.md). Dropped; the sole SDDE test is migrated to use `DelayDiffEq` + `StochasticDiffEq` per the v7 migration guide. The SDDE branch of `analyticless_convergence_tests.jl` is commented out pending a `DelayDiffEq` dispatch for `AbstractSDDEProblem + AbstractMethodOfStepsAlgorithm` (currently only `AbstractDDEProblem` is wired through `MethodOfSteps`). - `DelayDiffEq`, `StochasticDiffEq` — registered versions cap `DiffEqBase` at 6; switched to path-sourced from `../DelayDiffEq` and `../StochasticDiffEq`. - `StochasticDiffEqCore`, `StochasticDiffEqLowOrder`, …, `ImplicitDiscreteSolve`, `OrdinaryDiffEqCore`, `OrdinaryDiffEqNonlinearSolve` — these are transitive deps of the path-sourced `StochasticDiffEq`; a sublibrary's own `[sources]` does not cascade into a downstream test sandbox, so they are added to DiffEqDevTools' `[sources]` + `[extras]` + test target to keep them on the monorepo path. - `ODEProblemLibrary = "0.1"` → `"1"`, `SDEProblemLibrary = "0.1"` → `"1"`, `OrdinaryDiffEq = "6, 7"` → `"7"` (the prior bumps from PR #3502, rolled into this PR so master also resolves). - `ParameterizedFunctions` floored to `"5.24"` (first release admitting DiffEqBase v7 per SciML/ParameterizedFunctions.jl#151). - `NonlinearSolve` floored to `"4.17.1"` (first release admitting SciMLBase v3). Test files updated for the v7-era monorepo layout where `OrdinaryDiffEq` no longer reexports every algorithm. `benchmark_tests.jl` now imports `RK4`, `Euler`, `BS3`, `Midpoint`, `BS5`, `DP5`, `Tsit5`, `Vern{6,7,9}`, `Rodas{4,5}`, `RosShamp4`, `RadauIIA5`, `DFBDF`, `NLFunctional` from their specific OrdinaryDiffEq sublibraries. `prob_func` / `output_func` signatures were updated from `(prob, i, repeat)` / `(sol, i)` to the new `(prob, ctx)` / `(sol, ctx)` SciMLBase v3 shape. An `EnsembleProblem`-based weak-convergence assertion is now `@test_broken` pending investigation of `remake(prob, seed=…)` semantics under SciMLBase v3. Local `Pkg.test()` on Julia 1.11 now reaches the full test suite — the resolve succeeds and the benchmark, ODE-appxtrue, convergence, stability and plot-recipe groups run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
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.
Summary
Widen
DiffEqBase = "6.144"→"6.144, 7"so ParameterizedFunctions resolves alongsidelib/DiffEqBase7.0.0 (shipping with OrdinaryDiffEq v7). Bumps 5.23.0 → 5.24.0.SciMLBase = "2.15, 3.0"already covers v3.ModelingToolkit = "11"covers the MTK 11.22.0 compat-widened release in flight (SciML/ModelingToolkit.jl#4467).Why this is source-level safe
src/uses onlyDiffEqBase.AbstractParameterizedFunctionfrom DiffEqBase; that symbol is still defined inlib/DiffEqBasev7 via the@static if isdefined(SciMLBase, :AbstractParameterizedFunction)delegation/fallback block.Grepped
src/for every symbol removed in the v7 NEWS / SciMLBase v3 breaking notes:u_modified!,has_destats,.destats,concrete_solve,fastpow,RECOMPILE_BY_DEFAULT,DEStats,QuadratureProblem,tuples(),intervals(), standaloneDEAlgorithm/DEProblem/DESolution— zero matches.Scope
Not a direct blocker of OrdinaryDiffEq.jl#3488's own test matrix — ParameterizedFunctions is a test-only
[extras]dep of DiffEqDevTools (not a runtime[deps]), so OrdinaryDiffEq tests don't pull it in. Included in the same compat-widening set as DiffEqCallbacks#303, DiffEqNoiseProcess#271, DiffEqProblemLibrary#182, JumpProcesses#580, ModelingToolkit#4467, StateSelection#71 so downstream users can install ParameterizedFunctions with the v7 stack once it's registered.Co-Authored-By: Chris Rackauckas accounts@chrisrackauckas.com