Skip to content

Commit 157da34

Browse files
Remove all default algorithm selection and make minimal meta-package (v8.0.0)
This PR removes all default algorithm selection logic from DifferentialEquations.jl and transforms it into a minimal meta-package that only re-exports the core ODE solver ecosystem. Closes #1086 ## Major Changes (v8.0.0 - Breaking Release) ### Removed source files (9): - ❌ `src/default_solve.jl` - ❌ `src/default_arg_parsing.jl` - ❌ `src/sde_default_alg.jl` - ❌ `src/dae_default_alg.jl` - ❌ `src/dde_default_alg.jl` - ❌ `src/discrete_default_alg.jl` - ❌ `src/rode_default_alg.jl` - ❌ `src/steady_state_default_alg.jl` - ❌ `src/bvp_default_alg.jl` ### Removed test files (7): - ❌ All `test/default_*_alg_test.jl` files ### Minimal dependencies: **Before (17 deps):** BoundaryValueDiffEq, DelayDiffEq, DiffEqBase, DiffEqCallbacks, DiffEqNoiseProcess, JumpProcesses, LinearAlgebra, LinearSolve, NonlinearSolve, OrdinaryDiffEq, Random, RecursiveArrayTools, Reexport, SciMLBase, SteadyStateDiffEq, StochasticDiffEq, Sundials **After (3 deps):** OrdinaryDiffEq, Reexport, SciMLBase ### Updated: - ✏️ `src/DifferentialEquations.jl` - Now only re-exports SciMLBase and OrdinaryDiffEq - ✏️ `Project.toml` - Version bumped to 8.0.0, minimal dependencies - ✏️ `test/runtests.jl` - Minimal test suite - ✏️ Julia compat bumped to 1.10 ## Context DifferentialEquations.jl is now a minimal meta-package. Default algorithm selection is handled directly in each solver package via `__init` and `__solve` dispatches. Users requiring other solver types (SDEs, DDEs, DAEs, BVPs, etc.) should now directly depend on and import the specific solver packages: - `StochasticDiffEq` for SDEs - `DelayDiffEq` for DDEs - `BoundaryValueDiffEq` for BVPs - etc. ## Related PRs - **SDE:** SciML/StochasticDiffEq.jl#633 - **DDE:** SciML/DelayDiffEq.jl#326, #334 ## Breaking Changes - **Version 8.0.0** - Major breaking release - No longer re-exports all solver packages - Users must explicitly add and import solver packages they need - `using DifferentialEquations` now only provides ODE solving capabilities 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 5040e37 commit 157da34

19 files changed

+6
-439
lines changed

Project.toml

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,18 @@
11
name = "DifferentialEquations"
22
uuid = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
33
authors = ["Chris Rackauckas <accounts@chrisrackauckas.com>"]
4-
version = "7.16.1"
4+
version = "8.0.0"
55

66
[deps]
7-
BoundaryValueDiffEq = "764a87c0-6b3e-53db-9096-fe964310641d"
8-
DelayDiffEq = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb"
9-
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
10-
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
11-
DiffEqNoiseProcess = "77a26b50-5914-5dd7-bc55-306e6241c503"
12-
JumpProcesses = "ccbc3e58-028d-4f4c-8cd5-9ae44345cda5"
13-
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
14-
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
15-
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
167
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
17-
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
18-
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
198
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
209
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
21-
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
22-
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
23-
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
2410

2511
[compat]
26-
BoundaryValueDiffEq = "5"
27-
DelayDiffEq = "5.42.0"
28-
DiffEqBase = "6.125.0"
29-
DiffEqCallbacks = "2.26, 3, 4"
30-
DiffEqNoiseProcess = "5.17"
31-
JumpProcesses = "9.6"
32-
LinearSolve = "2.1.12, 3"
33-
NonlinearSolve = "3, 4"
3412
OrdinaryDiffEq = "6.53"
35-
RecursiveArrayTools = "3"
3613
Reexport = "1.0"
3714
SciMLBase = "2.51"
38-
SteadyStateDiffEq = "2"
39-
StochasticDiffEq = "6.69"
40-
Sundials = "4.19"
41-
julia = "1.9"
15+
julia = "1.10"
4216

4317
[extras]
4418
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

src/DifferentialEquations.jl

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,7 @@ module DifferentialEquations
22

33
using Reexport
44

5-
@reexport using DiffEqBase
6-
@reexport using DiffEqNoiseProcess
7-
@reexport using RecursiveArrayTools
8-
9-
@reexport using SteadyStateDiffEq
10-
@reexport using StochasticDiffEq
5+
@reexport using SciMLBase
116
@reexport using OrdinaryDiffEq
12-
@reexport using BoundaryValueDiffEq
13-
using Sundials
14-
@reexport using DelayDiffEq
15-
16-
@reexport using DiffEqCallbacks
17-
@reexport using JumpProcesses
18-
19-
using LinearAlgebra
20-
21-
import DiffEqBase: solve
22-
@reexport using LinearSolve
23-
using NonlinearSolve
24-
import SciMLBase
25-
26-
include("default_solve.jl")
27-
include("default_arg_parsing.jl")
28-
include("sde_default_alg.jl")
29-
include("dae_default_alg.jl")
30-
include("dde_default_alg.jl")
31-
include("discrete_default_alg.jl")
32-
include("rode_default_alg.jl")
33-
include("steady_state_default_alg.jl")
34-
include("bvp_default_alg.jl")
357

368
end # module

src/bvp_default_alg.jl

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/dae_default_alg.jl

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/dde_default_alg.jl

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/default_arg_parsing.jl

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/default_solve.jl

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/discrete_default_alg.jl

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/rode_default_alg.jl

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/sde_default_alg.jl

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)