Skip to content

chore(deps): update DiffEqBase requirement from 6.119 to 6.119, 7.0 in the all-julia-packages group across 1 directory#207

Merged
ChrisRackauckas merged 1 commit into
mainfrom
dependabot/julia/all-julia-packages-e38786ef1e
Apr 28, 2026
Merged

chore(deps): update DiffEqBase requirement from 6.119 to 6.119, 7.0 in the all-julia-packages group across 1 directory#207
ChrisRackauckas merged 1 commit into
mainfrom
dependabot/julia/all-julia-packages-e38786ef1e

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 22, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on DiffEqBase to permit the latest version.
Updates DiffEqBase to 7.0.0

Release notes

Sourced from DiffEqBase's releases.

v7.0.0

OrdinaryDiffEq v7.0.0

Diff since v6.211.0

Many breaking changes. The complete migration story is detailed in https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md

Merged pull requests:

... (truncated)

Changelog

Sourced from DiffEqBase's changelog.

OrdinaryDiffEq.jl v7 Breaking Changes

This release bumps to SciMLBase v3, RecursiveArrayTools v4, and includes breaking changes across DiffEqBase, OrdinaryDiffEqCore, and all solver sublibraries.

Themes of the v7 release

Most of the breaking changes fall into a small set of recurring themes. Keep these in mind while reading the migration table — they explain why an individual change exists and often suggest the right migration direction:

  • Time to first solve (TTFS) reduction. Direct deps on Static.jl, StaticArrayInterface.jl, Polyester.jl, and StaticArrays.jl were dropped; using OrdinaryDiffEq now loads only the default solver set; ODEFunction switched to AutoSpecialize. All of this means less code loaded and more precompilation caching on first solve.
  • Type stability everywhere. All Bool solver/solve keyword arguments (autodiff, verbose, alias, lazy, …) were replaced by typed objects. Passing a Bool no longer changes dispatch in ways the compiler cannot specialize on, and the reverse is no longer allowed to silently fall back through slow generic paths.
  • Generality beyond ForwardDiff. chunk_size, diff_type, standardtag, etc. encoded ForwardDiff-specific or FiniteDiff-specific knobs on every solver. They are replaced by the ADTypes interface (AutoForwardDiff, AutoFiniteDiff, AutoEnzyme, AutoZygote, …) so every solver automatically generalizes to any AD backend.
  • Controller is now an object, not a pile of solve kwargs. gamma, beta1, beta2, qmin, qmax, qsteady_min, qsteady_max, qoldinit were moved onto concrete PIController / PIDController / IController / PredictiveController structs, and EEst moved to the controller cache. This is prep work for pluggable controllers and removes a large amount of dead state from the integrator struct.
  • Cleanup of old re-exports / deprecations. Functions like has_destats (now has_stats), sol.destats (now sol.stats), DEAlgorithm/DEProblem/DESolution abstract types, tuples()/intervals(), QuadratureProblem, fastpow, concrete_solve, etc. were on a deprecation path for one or more minor releases. v7 removes them.

Recommended upgrade path

The cleanest path is not to jump straight from an old environment onto v7. Most renamed APIs (e.g. DEAlgorithmAbstractDEAlgorithm, u_modified!derivative_discontinuity!, has_destatshas_stats, sol.destatssol.stats, the construct* tableau functions, alias_u0/alias_du0, beta1/beta2, PID kwargs) already exist under their new names in SciMLBase v2 / OrdinaryDiffEq v6 with deprecation warnings. The recommended sequence is:

  1. Stay on SciMLBase v2 / OrdinaryDiffEq v6. Update your code to the new names (has_stats, sol.stats, AbstractDEAlgorithm, derivative_discontinuity!, ODEAliasSpecifier, ODEVerbosity, ADTypes-based autodiff, explicit controller = … objects, new tableau names) while the deprecation shims still exist.
  2. Verify your tests pass on v6 with no deprecation warnings.
  3. Then bump to v7. At this point your code should compile and run against v7 without further changes aside from the genuinely new breakage (RAT v4 array semantics, ensemble prob_func/output_func signature, struct type parameter removals, kwargs that truly no longer exist, default changes like CheckInit and williamson_condition=false).

Doing it in two steps keeps the diff small per step and lets the deprecation warnings on v6 point you at the exact call sites that will break on v7.

Fallback for RAT v4 indexing

If you cannot update sol[i] / length(sol) / eachindex(sol) call sites yet (see the RAT v4 table below), you can opt back into v3 semantics on a per-solution basis by converting the container type to the ragged variant:

using RecursiveArrayToolsRaggedArrays
sol_old = RaggedVectorOfArray(sol)   # indexes like v3: sol_old[i] is the i-th timestep

RecursiveArrayToolsRaggedArrays.jl preserves the previous AbstractVectorOfArray indexing behavior (timestep-first, not element-first). This is the escape hatch for code that assumes sol[i] returns the i-th timestep. It is, however, recommended that you update to the sol.u[i] / sol[:, i] style — the ragged wrapper is a compatibility layer, not the canonical API going forward.


RecursiveArrayTools v4

ODESolution is now an AbstractArray

AbstractVectorOfArray (the parent type of ODESolution, RODESolution, DAESolution, etc.) now subtypes AbstractArray. This changes the semantics of several common operations:

Operation v3 (old) v4 (new) Migration
sol[i] Returns i-th timestep (Vector) Returns i-th scalar element (column-major) Use sol.u[i] or sol[:, i]
length(sol) Number of timesteps prod(size(sol)) (total elements) Use length(sol.t) or length(sol.u)
eachindex(sol) 1:nsteps CartesianIndices(size(sol)) Use eachindex(sol.u)
iterate(sol) Iterates over timesteps Iterates over scalar elements Use for u in sol.u
first(sol) / last(sol) First/last timestep First/last scalar element Use first(sol.u) / last(sol.u)

... (truncated)

Commits
  • f3ce496 Merge pull request #3567 from SciML/drop-unused-rosenbrock-tableaus-dep
  • 02763e7 Drop unused OrdinaryDiffEqRosenbrockTableaus from top-level deps
  • a0a61e0 Update version to 7.0.0 in Project.toml
  • 68c304d Merge pull request #3566 from SciML/fix-delaydiffeq-extras-uuids
  • 7c87e5a Fix three wrong UUIDs in DelayDiffEq's [extras]
  • b3359fb Merge pull request #3565 from SciML/revert-core-ddt-bumps
  • cfb94cd Revert OrdinaryDiffEqCore and DiffEqDevTools major bumps from #3562
  • 5b867b8 Merge pull request #3563 from ChrisRackauckas-Claude/drop-old-majors-v7-stack
  • a8419de Revert out-of-scope deps additions in Rosenbrock/Tsit5 QA test envs
  • 260775b Drop old majors from v7-coupled stack compat
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels Apr 22, 2026
@dependabot @github

dependabot Bot commented on behalf of github Apr 24, 2026

Copy link
Copy Markdown
Contributor Author

Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting @dependabot recreate.

Updates the requirements on [DiffEqBase](https://github.com/SciML/OrdinaryDiffEq.jl) to permit the latest version.

Updates `DiffEqBase` to 7.0.0
- [Release notes](https://github.com/SciML/OrdinaryDiffEq.jl/releases)
- [Changelog](https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md)
- [Commits](SciML/OrdinaryDiffEq.jl@v6.119.0...v7.0.0)

---
updated-dependencies:
- dependency-name: DiffEqBase
  dependency-version: 7.0.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/julia/all-julia-packages-e38786ef1e branch from fa8e591 to d9c4a5c Compare April 28, 2026 00:04
@ChrisRackauckas ChrisRackauckas merged commit 295f0d2 into main Apr 28, 2026
3 of 9 checks passed
@ChrisRackauckas ChrisRackauckas deleted the dependabot/julia/all-julia-packages-e38786ef1e branch April 28, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant