Skip to content

build(deps): move the SciMLBasev3, SDEv7, ODEv8#255

Merged
Datseris merged 3 commits into
JuliaDynamics:mainfrom
oameye:bump-ODE
May 13, 2026
Merged

build(deps): move the SciMLBasev3, SDEv7, ODEv8#255
Datseris merged 3 commits into
JuliaDynamics:mainfrom
oameye:bump-ODE

Conversation

@oameye

@oameye oameye commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

Brings DynamicalSystemsBase onto the SciMLBase v3 / OrdinaryDiffEq v7 wave: SciMLBase 3, OrdinaryDiffEqTsit5 2, StochasticDiffEq 7, Roots 3, ModelingToolkit 11 (tests), Julia 1.10.

Source changes

  • u_modified! -> derivative_discontinuity! (SciMLBase v3 rename) in src/core_systems/continuous_time_ode.jl, src/derived_systems/parallel_systems.jl, ext/StochasticSystemsBase.jl, ext/src/CoupledSDEs.jl
  • SciMLBase.DEProblem -> SciMLBase.AbstractDEProblem in src/core/dynamicalsystem_interface.jl (v3 drops the DEProblem alias; AbstractDEProblem works on both v2 and v3)

Compat

  • OrdinaryDiffEqTsit5 = "2"
  • SciMLBase = "3"
  • Roots = "2, 3"
  • StochasticDiffEq = "7"
  • julia = "1.10" (required by SciMLBase v3)
  • test/Project.toml: ModelingToolkit = "10, 11"

Test migrations (downstream API changes, not ours)

  • verbose = false -> verbose = None() in test/continuous.jl, test/stochastic.jl. OrdinaryDiffEq v7 rejects verbose::Bool at the API boundary.
  • ODEProblem(sys, [1.0, 1.0], tspan) / SDEProblem(sys, [1.0, 1.0], tspan) -> symbolic-map u0 in test/jacobian.jl. MTK 11 requires the operating point as a symbolic map.
  • Roessler model in test/mtk_integration.jl rewritten with the functional System / @mtkcompile form (the @mtkmodel DSL lives in SciCompDSL.jl now, separate from MTK).

Test results

1536 passed, 0 failed, 0 errored.

Downstream impact

DynamicalSystemsBase forwards the diffeq named tuple through to OrdinaryDiffEq / StochasticDiffEq. Users passing v6-era kwargs through this surface will now hit ArgumentErrors from the upstream packages:

  • verbose = true/false -> use verbose = None() / Standard() / DEVerbosity(...)
  • autodiff = true/false -> use AutoForwardDiff() / AutoFiniteDiff() etc. from ADTypes
  • alias_u0 = true -> use alias = ODEAliasSpecifier(alias_u0 = true)
  • PID controller kwargs (gamma, beta1, qmin, ...) -> use controller = PIController(...) / PIDController(...)

See the OrdinaryDiffEq v7 NEWS for the full list.

@codecov-commenter

codecov-commenter commented May 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.41%. Comparing base (6c98239) to head (f4bc3f9).
⚠️ Report is 62 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #255      +/-   ##
==========================================
+ Coverage   82.00%   83.41%   +1.41%     
==========================================
  Files          15       17       +2     
  Lines         717      971     +254     
==========================================
+ Hits          588      810     +222     
- Misses        129      161      +32     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Removed monthly downloads badge from README.
@Datseris

Copy link
Copy Markdown
Member

Thanks Orjan, will merge once test pass

@Datseris Datseris merged commit 0a6bd5f into JuliaDynamics:main May 13, 2026
3 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.

3 participants