Skip to content

Commit ee060af

Browse files
Migrate to SciMLBase v3 / DiffEqBase v7 / RecursiveArrayTools v4
Replace removed `DiffEqBase.DESolution` type alias (dropped in SciMLBase v3) with the concrete `SciMLBase.AbstractTimeseriesSolution` supertype used by `ODESolution` and friends. Switch the successful-retcode check to `SciMLBase.successful_retcode` directly now that the `DiffEqBase.SciMLBase` re-export namespace is no longer guaranteed. Fix a latent RecursiveArrayTools v4 breakage in the DataDrivenDMD `linear_forced` test: `length(sol_cont)` previously returned the number of timesteps, but under RAT v4 `AbstractVectorOfArray <: AbstractArray` it returns `prod(size(sol))` (total elements). Switch to `length(sol_cont.t)` which is the stable way to get the timestep count. Widen `Project.toml` compats across the main package and every `lib/*/Project.toml`: - `DiffEqBase = "6.211, 7"` (root) - `SciMLBase = "2.155, 3"` (root; new direct dep to access `AbstractTimeseriesSolution`) - `OrdinaryDiffEqTsit5 = "1, 2"` (test extra) - `OrdinaryDiffEq = "6, 7"` in DataDrivenDMD / DataDrivenSparse / DataDrivenLux test targets - Pin subpackage `DataDrivenDiffEq` compat to `"1.14"` so they pull in this release Bumps: - DataDrivenDiffEq: 1.13.0 -> 1.14.0 - DataDrivenDMD: 0.1.2 -> 0.1.3 - DataDrivenSparse: 0.1.3 -> 0.1.4 - DataDrivenSR: 0.1.3 -> 0.1.4 - DataDrivenLux: 0.2.2 -> 0.2.3 Supersedes Dependabot PR #594, which only widened the `DiffEqBase` compat without handling the code-level breaking changes. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 28be18b commit ee060af

9 files changed

Lines changed: 22 additions & 16 deletions

File tree

Project.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "DataDrivenDiffEq"
22
uuid = "2445eb08-9709-466a-b3fc-47e12bd697a2"
33
authors = ["Julius Martensen <julius.martensen@gmail.com>"]
4-
version = "1.13.0"
4+
version = "1.14.0"
55

66
[deps]
77
CommonSolve = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
@@ -18,6 +18,7 @@ QuadGK = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
1818
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1919
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
2020
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
21+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2122
SciMLStructures = "53ae85a6-f571-4167-b2af-e1d143709226"
2223
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
2324
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
@@ -28,17 +29,18 @@ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
2829
[compat]
2930
CommonSolve = "0.2"
3031
DataInterpolations = "4, 5, 6, 7, 8"
31-
DiffEqBase = "6"
32+
DiffEqBase = "6.211, 7"
3233
DocStringExtensions = "0.7, 0.8, 0.9"
3334
MLUtils = "0.3, 0.4"
3435
ModelingToolkit = "11"
35-
OrdinaryDiffEqTsit5 = "1"
36+
OrdinaryDiffEqTsit5 = "1, 2"
3637
Parameters = "0.12"
3738
PrecompileTools = "1"
3839
ProgressMeter = "1.6"
3940
QuadGK = "2.4"
4041
RecipesBase = "1"
4142
Reexport = "1.0"
43+
SciMLBase = "2.155, 3"
4244
SciMLStructures = "1"
4345
Setfield = "1"
4446
Statistics = "1"

lib/DataDrivenDMD/Project.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
name = "DataDrivenDMD"
22
uuid = "3c9adf31-5280-42ff-b439-b71cc6b07807"
33
authors = ["JuliusMartensen <julius.martensen@gmail.com>"]
4-
version = "0.1.2"
4+
version = "0.1.3"
55

66
[deps]
77
DataDrivenDiffEq = "2445eb08-9709-466a-b3fc-47e12bd697a2"
88
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
99

1010
[compat]
11-
DataDrivenDiffEq = "1"
11+
DataDrivenDiffEq = "1.14"
12+
OrdinaryDiffEq = "6, 7"
1213
julia = "1.10"
1314

1415
[extras]

lib/DataDrivenDMD/test/linear_forced.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ rng = StableRNG(42)
1717
u0 = [1.0; 1.0]
1818
prob_cont = ODEProblem(linear, u0, (0.0, 30.0))
1919
sol_cont = solve(prob_cont, Tsit5())
20-
U = reshape(map(t -> sin(t), sol_cont.t), 1, length(sol_cont))
20+
U = reshape(map(t -> sin(t), sol_cont.t), 1, length(sol_cont.t))
2121

2222
ddprob = DataDrivenProblem(sol_cont, U = U, use_interpolation = true)
2323

lib/DataDrivenLux/Project.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DataDrivenLux"
22
uuid = "47881146-99d0-492a-8425-8f2f33327637"
3-
version = "0.2.2"
3+
version = "0.2.3"
44
authors = ["JuliusMartensen <julius.martensen@gmail.com>"]
55

66
[deps]
@@ -36,7 +36,8 @@ ChainRulesCore = "1.15"
3636
CommonSolve = "0.2.4"
3737
ComponentArrays = "0.15"
3838
ConcreteStructs = "0.2.3"
39-
DataDrivenDiffEq = "1"
39+
DataDrivenDiffEq = "1.14"
40+
OrdinaryDiffEq = "6, 7"
4041
Distributions = "0.25"
4142
DistributionsAD = "0.6"
4243
DocStringExtensions = "0.9.3"

lib/DataDrivenSR/Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "DataDrivenSR"
22
uuid = "7fed8a53-d475-4873-af3a-ba53cceea094"
33
authors = ["JuliusMartensen <julius.martensen@gmail.com>"]
4-
version = "0.1.3"
4+
version = "0.1.4"
55

66
[deps]
77
DataDrivenDiffEq = "2445eb08-9709-466a-b3fc-47e12bd697a2"
@@ -10,7 +10,7 @@ SymbolicRegression = "8254be44-1295-4e6a-a16d-46603ac705cb"
1010

1111
[compat]
1212
Reexport = "1.2"
13-
DataDrivenDiffEq = "1"
13+
DataDrivenDiffEq = "1.14"
1414
SymbolicRegression = "1"
1515
julia = "1.10"
1616

lib/DataDrivenSparse/Project.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "DataDrivenSparse"
22
uuid = "5b588203-7d8b-4fab-a537-c31a7f73f46b"
33
authors = ["JuliusMartensen <julius.martensen@gmail.com>"]
4-
version = "0.1.3"
4+
version = "0.1.4"
55

66
[deps]
77
DataDrivenDiffEq = "2445eb08-9709-466a-b3fc-47e12bd697a2"
@@ -12,7 +12,8 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1212

1313
[compat]
1414
julia = "1.10"
15-
DataDrivenDiffEq = "1"
15+
DataDrivenDiffEq = "1.14"
16+
OrdinaryDiffEq = "6, 7"
1617
Reexport = "1.2"
1718

1819
[extras]

src/DataDrivenDiffEq.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module DataDrivenDiffEq
66
using LinearAlgebra
77

88
using DiffEqBase
9+
using SciMLBase: SciMLBase, AbstractTimeseriesSolution
910
using CommonSolve
1011
using Reexport
1112

src/problem/set.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ end
3939
function DataDrivenDataset(
4040
solutions::Vararg{T, N}; name = gensym(:DDSet),
4141
kwargs...
42-
) where {T <: DiffEqBase.DESolution, N}
42+
) where {T <: SciMLBase.AbstractTimeseriesSolution, N}
4343
probs = map(solutions) do s
4444
DataDrivenProblem(s; kwargs...)
4545
end

src/problem/type.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,13 +512,13 @@ macro is_applicable(problem, basis, dx)
512512
end
513513
end
514514

515-
## DESolution dispatch
515+
## AbstractTimeseriesSolution dispatch (was DESolution in SciMLBase v2)
516516

517517
function DataDrivenProblem(
518518
sol::T; use_interpolation = false,
519519
kwargs...
520-
) where {T <: DiffEqBase.DESolution}
521-
if !DiffEqBase.SciMLBase.successful_retcode(sol)
520+
) where {T <: SciMLBase.AbstractTimeseriesSolution}
521+
if !SciMLBase.successful_retcode(sol)
522522
throw(AssertionError("The solution is not successful. Abort."))
523523
return
524524
end

0 commit comments

Comments
 (0)