Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
92eb6ea
QA: run_qa v1.6 form + ExplicitImports (root + sublibs)
ChrisRackauckas Jun 25, 2026
3dbc8c4
QA: drop now-redundant umbrella public-API EI ignore-list
ChrisRackauckas Jun 26, 2026
7b07cdf
QA: finish public-API EI cleanup for released SciMLBase 3.27 / DiffEq…
ChrisRackauckas Jun 27, 2026
df3c392
DiffEqDevTools QA: replace blanket EI ei_broken with tight ignores
ChrisRackauckas Jun 29, 2026
da84540
QA: minimize EI exceptions for OrdinaryDiffEqHighOrderRK
ChrisRackauckas Jun 29, 2026
595f233
OrdinaryDiffEqAdamsBashforthMoulton: minimize EI exceptions
ChrisRackauckas Jun 29, 2026
2068238
Minimize EI exceptions for OrdinaryDiffEqFeagin
claude Jun 29, 2026
1692d10
Minimize EI exceptions for OrdinaryDiffEqFunctionMap
ChrisRackauckas Jun 29, 2026
6e77bd1
Minimize EI exceptions for OrdinaryDiffEqLowOrderRK
ChrisRackauckas Jun 29, 2026
2e9940a
OrdinaryDiffEqExplicitRK: minimize EI exceptions (drop blanket ei_bro…
ChrisRackauckas Jun 29, 2026
14d802d
OrdinaryDiffEqLowStorageRK: minimize EI exceptions
ChrisRackauckas Jun 29, 2026
22e2c69
ImplicitDiscreteSolve: minimize EI exceptions (drop blanket ei_broken)
ChrisRackauckas Jun 29, 2026
5a9cc21
Minimize EI exceptions for OrdinaryDiffEqLinear
ChrisRackauckas Jun 29, 2026
75de87e
Minimize EI exceptions for OrdinaryDiffEqIMEXMultistep
ChrisRackauckas Jun 29, 2026
1f230df
Minimize EI exceptions for OrdinaryDiffEqExtrapolation
ChrisRackauckas Jun 29, 2026
3848b3d
OrdinaryDiffEqDifferentiation: minimize EI exceptions in QA
ChrisRackauckas Jun 29, 2026
78095d8
Minimize EI exceptions for OrdinaryDiffEqQPRK
ChrisRackauckas Jun 29, 2026
7b67787
OrdinaryDiffEqPRK: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
853ec9e
OrdinaryDiffEqRKN: minimize EI exceptions in QA
ChrisRackauckas Jun 29, 2026
d8c9ae7
OrdinaryDiffEqNordsieck: minimize ExplicitImports exceptions
ChrisRackauckas Jun 29, 2026
8b4da39
ExponentialRK: minimize EI exceptions, drop blanket ei_broken
ChrisRackauckas Jun 29, 2026
c1668fe
Minimize EI exceptions for OrdinaryDiffEqPDIRK
ChrisRackauckas Jun 29, 2026
cfb1236
OrdinaryDiffEqSSPRK: minimize EI exceptions, drop blanket ei_broken
ChrisRackauckas Jun 29, 2026
ed3c743
OrdinaryDiffEqSymplecticRK: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
46bcc7b
OrdinaryDiffEqCore: minimize ExplicitImports exceptions in QA
ChrisRackauckas Jun 29, 2026
8a8d7ef
Minimize EI exceptions for OrdinaryDiffEqTsit5
ChrisRackauckas Jun 29, 2026
756bfd7
OrdinaryDiffEqRosenbrock: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
a09cb05
Minimize EI exceptions for OrdinaryDiffEqStabilizedRK
ChrisRackauckas Jun 29, 2026
1e197a0
OrdinaryDiffEqTaylorSeries: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
6305d33
OrdinaryDiffEqVerner: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
2245280
Minimize EI exceptions for OrdinaryDiffEqStabilizedIRK QA
ChrisRackauckas Jun 29, 2026
17c273a
StochasticDiffEqHighOrder: minimize EI exceptions, drop blanket ei_br…
ChrisRackauckas Jun 29, 2026
e32e5b0
OrdinaryDiffEqFIRK: minimize EI exceptions in run_qa
ChrisRackauckas Jun 29, 2026
9b25812
StochasticDiffEqImplicit: minimize ExplicitImports exceptions
ChrisRackauckas Jun 29, 2026
990d5bd
OrdinaryDiffEqNonlinearSolve: minimize ExplicitImports exceptions
ChrisRackauckas Jun 29, 2026
aec2fe1
StochasticDiffEqCore: minimize EI exceptions, drop blanket ei_broken
ChrisRackauckas Jun 29, 2026
b5a83d8
OrdinaryDiffEqBDF: minimize ExplicitImports exceptions
ChrisRackauckas Jun 29, 2026
d1089a7
StochasticDiffEqIIF: minimize ExplicitImports exceptions in QA
ChrisRackauckas Jun 29, 2026
3c192a8
Minimize EI exceptions for StochasticDiffEqLeaping
ChrisRackauckas Jun 29, 2026
f1ede33
OrdinaryDiffEqDefault: minimize EI exceptions in QA
ChrisRackauckas Jun 29, 2026
ec5d182
DelayDiffEq: minimize EI exceptions in QA
ChrisRackauckas Jun 29, 2026
1d77615
OrdinaryDiffEqSDIRK: minimize EI exceptions (drop blanket ei_broken)
ChrisRackauckas Jun 29, 2026
9bb1400
DiffEqBase: declare curated solver-author extension API `public`
ChrisRackauckas Jun 29, 2026
9f5bfc8
Declare OrdinaryDiffEqNonlinearSolve solver-author extension API public
ChrisRackauckas Jun 29, 2026
038909b
OrdinaryDiffEqDifferentiation: declare solver-author extension API pu…
ChrisRackauckas Jun 29, 2026
f5ef299
Declare solver-author extension API public in OrdinaryDiffEqCore
ChrisRackauckas Jun 29, 2026
f25f10f
Re-clean OrdinaryDiffEqExplicitRK QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
82c8ce5
Re-clean OrdinaryDiffEqFeagin QA ExplicitImports ignore list
ChrisRackauckas Jul 2, 2026
9874f9c
Re-clean OrdinaryDiffEqLowStorageRK QA ignore lists after public decls
ChrisRackauckas Jul 2, 2026
320b8bc
Re-clean OrdinaryDiffEqFunctionMap QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
ccd08df
Re-clean OrdinaryDiffEqNordsieck QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
0a62ff2
Re-clean OrdinaryDiffEqPRK QA EI ignore list (PHASE B)
ChrisRackauckas Jul 2, 2026
878fcc6
Re-clean OrdinaryDiffEqLowOrderRK QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
bb01731
Re-clean OrdinaryDiffEqAdamsBashforthMoulton QA ignore lists after pu…
ChrisRackauckas Jul 2, 2026
b4b2add
ImplicitDiscreteSolve: re-clean QA EI ignore lists after make-public
ChrisRackauckas Jul 2, 2026
79f5c1c
Re-clean OrdinaryDiffEqCore QA EI ignore lists after public decls
ChrisRackauckas Jul 2, 2026
270ee8f
Re-clean OrdinaryDiffEqHighOrderRK QA explicit-imports ignore lists
ChrisRackauckas Jul 2, 2026
5d778f4
Re-clean OrdinaryDiffEqLinear QA ignore list to genuine residual
ChrisRackauckas Jul 2, 2026
338978b
Re-clean OrdinaryDiffEqExtrapolation QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
1ad25ba
Re-clean OrdinaryDiffEqIMEXMultistep QA ExplicitImports ignore list
ChrisRackauckas Jul 2, 2026
32833a5
OrdinaryDiffEqRKN: re-clean QA EI ignore list after PHASE A public decls
ChrisRackauckas Jul 2, 2026
d7b70aa
Re-clean OrdinaryDiffEqBDF QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
9281f61
Re-clean OrdinaryDiffEqSymplecticRK QA ignore list post make-public
ChrisRackauckas Jul 2, 2026
6b7a24e
Trim OrdinaryDiffEqFIRK QA ignore list to genuine residual
ChrisRackauckas Jul 2, 2026
7a49176
Re-clean OrdinaryDiffEqSSPRK QA ignore lists after public-API decls
ChrisRackauckas Jul 2, 2026
defe662
QPRK QA: re-clean EI ignore list to genuine residual (PHASE B)
ChrisRackauckas Jul 2, 2026
90cc3ea
Re-clean OrdinaryDiffEqStabilizedIRK QA EI ignore list (PHASE B)
ChrisRackauckas Jul 2, 2026
7d293cd
Re-clean OrdinaryDiffEqStabilizedRK QA EI ignore list after public decls
ChrisRackauckas Jul 2, 2026
58743b5
Re-clean OrdinaryDiffEqSDIRK QA ignore list after PHASE A public decls
ChrisRackauckas Jul 2, 2026
091dfaa
Re-clean OrdinaryDiffEqDifferentiation QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
1d83d39
StochasticDiffEqHighOrder: re-clean qa EI ignore lists after PHASE A …
ChrisRackauckas Jul 2, 2026
41455b3
Re-clean OrdinaryDiffEqTsit5 QA ExplicitImports ignore list
ChrisRackauckas Jul 2, 2026
eddf57c
Re-clean StochasticDiffEqLeaping QA EI ignore lists (PHASE B)
ChrisRackauckas Jul 2, 2026
f7e9283
StochasticDiffEqIIF QA: re-clean EI ignore list after PHASE A public …
ChrisRackauckas Jul 2, 2026
7a94d06
StochasticDiffEqImplicit QA: re-clean EI ignore lists after PHASE A p…
ChrisRackauckas Jul 2, 2026
e06bec8
Re-clean OrdinaryDiffEqNonlinearSolve QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
797a687
Re-clean OrdinaryDiffEqPDIRK QA explicit-imports ignore list
ChrisRackauckas Jul 2, 2026
deddb7d
Re-clean OrdinaryDiffEqTaylorSeries QA ignore list to genuine residual
ChrisRackauckas Jul 2, 2026
803005c
Re-clean StochasticDiffEqCore QA ExplicitImports ignore lists
ChrisRackauckas Jul 2, 2026
2cbe0d7
Re-clean OrdinaryDiffEqVerner QA ExplicitImports ignore list
ChrisRackauckas Jul 2, 2026
59bb694
Make @cache public in StochasticDiffEqCore (solver-author cache API)
ChrisRackauckas Jul 2, 2026
9bcb23f
Publicize OrdinaryDiffEqCore round-2 cross-sublib extension API
ChrisRackauckas Jul 2, 2026
6f3ece2
QA: mark cross-sublibrary cache/tableau types public
ChrisRackauckas Jul 2, 2026
56ef321
ImplicitDiscreteSolve QA: re-clean EI ignores after PHASE A make-public
ChrisRackauckas Jul 2, 2026
4c76ac1
DiffEqDevTools QA: re-clean EI ignore list after public-API decls
ChrisRackauckas Jul 2, 2026
e1269b2
Re-clean OrdinaryDiffEqFunctionMap QA ignore list after public decls
ChrisRackauckas Jul 2, 2026
75eb4b8
Re-clean OrdinaryDiffEqExplicitRK QA EI ignore lists after round-2 pu…
ChrisRackauckas Jul 2, 2026
3854e15
Drop now-public DECache from OrdinaryDiffEqCore QA EI ignore list
ChrisRackauckas Jul 2, 2026
b6b5adb
Re-clean OrdinaryDiffEqHighOrderRK QA explicit-imports ignore lists (…
ChrisRackauckas Jul 2, 2026
c70c393
QA: re-clean AdamsBashforthMoulton EI ignores after LowOrderRK public…
ChrisRackauckas Jul 2, 2026
8375888
Re-clean OrdinaryDiffEqExtrapolation QA EI ignore list (PHASE B)
ChrisRackauckas Jul 2, 2026
a7f6c8a
Re-clean OrdinaryDiffEqExponentialRK QA explicit-imports ignore list
ChrisRackauckas Jul 2, 2026
fac5047
OrdinaryDiffEqRKN: tighten QA EI ignore to genuine residual (phase B)
ChrisRackauckas Jul 2, 2026
dfef6d5
Re-clean OrdinaryDiffEqPDIRK QA ignore list after PHASE A public decls
ChrisRackauckas Jul 2, 2026
0704bcb
Re-clean OrdinaryDiffEqSymplecticRK QA EI ignore list (PHASE B)
ChrisRackauckas Jul 2, 2026
e42bae5
Drop now-public OrdinaryDiffEqCore names from StabilizedIRK QA EI ign…
ChrisRackauckas Jul 2, 2026
bb73357
Tighten OrdinaryDiffEqTsit5 QA ExplicitImports ignore list to residual
ChrisRackauckas Jul 2, 2026
c3ff14d
Re-clean OrdinaryDiffEqStabilizedRK QA EI ignore list to residual
ChrisRackauckas Jul 2, 2026
6b8215c
StochasticDiffEqHighOrder: drop now-public @cache from QA EI ignore
ChrisRackauckas Jul 2, 2026
32fd403
Drop now-public OrdinaryDiffEqCore names from OrdinaryDiffEqTaylorSer…
ChrisRackauckas Jul 2, 2026
d1398f6
QA: re-clean OrdinaryDiffEqSDIRK EI ignores after base-lib public decls
ChrisRackauckas Jul 2, 2026
6ffbaba
StochasticDiffEqIIF QA: drop now-public EI ignore list (PHASE B re-cl…
ChrisRackauckas Jul 2, 2026
9c54645
QA: re-clean OrdinaryDiffEqRosenbrock EI ignores after public-API dec…
ChrisRackauckas Jul 2, 2026
cb9634a
OrdinaryDiffEqNonlinearSolve QA: drop now-public names from EI ignore…
ChrisRackauckas Jul 2, 2026
79a4655
Re-clean OrdinaryDiffEqBDF QA EI ignore list after PHASE A public decls
ChrisRackauckas Jul 2, 2026
d9fe7f9
QA: re-clean DelayDiffEq EI ignore lists after solver-author API made…
ChrisRackauckas Jul 2, 2026
48a7289
QA: re-clean OrdinaryDiffEqFIRK EI ignore list after solver-author AP…
ChrisRackauckas Jul 2, 2026
299dccb
QA: re-clean OrdinaryDiffEqDefault EI ignore lists after make-public
ChrisRackauckas Jul 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ OrdinaryDiffEqVerner = "2"
RecursiveArrayTools = "4.2.0"
SciMLBase = "3"
SciMLLogging = "2.0.0"
SciMLTesting = "1"
SciMLTesting = "1.7"
julia = "1.10"

[extras]
Expand Down
6 changes: 3 additions & 3 deletions lib/DelayDiffEq/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ DiffEqBase = "7"
DiffEqCallbacks = "4.17.0"
DiffEqDevTools = "3"
DiffEqNoiseProcess = "5.30.0"
ExplicitImports = "1.13.1"
FastBroadcast = "1.3"
FiniteDiff = "2.27"
ForwardDiff = "1.3.3"
Expand All @@ -93,6 +92,7 @@ RecursiveArrayTools = "4.2.0"
Reexport = "1.2.2"
SafeTestsets = "0.1.0"
SciMLBase = "3.10.0"
SciMLTesting = "1.7"
SparseArrays = "<0.0.1, 1, 2"
StochasticDiffEqCore = "2"
StochasticDiffEqHighOrder = "2"
Expand All @@ -119,7 +119,6 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
DDEProblemLibrary = "f42792ee-6ffc-4e2a-ae83-8ee2f22de800"
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
Expand All @@ -134,8 +133,9 @@ OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"

[targets]
test = ["ADTypes", "Aqua", "DDEProblemLibrary", "DiffEqCallbacks", "DiffEqDevTools", "ExplicitImports", "FiniteDiff", "LinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Random", "RecursiveArrayTools", "SafeTestsets", "SparseArrays", "StochasticDiffEqCore", "StochasticDiffEqHighOrder", "StochasticDiffEqImplicit", "StochasticDiffEqLowOrder", "StochasticDiffEqROCK", "Test", "Unitful"]
test = ["ADTypes", "Aqua", "DDEProblemLibrary", "DiffEqCallbacks", "DiffEqDevTools", "FiniteDiff", "LinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Random", "RecursiveArrayTools", "SafeTestsets", "SciMLTesting", "SparseArrays", "StochasticDiffEqCore", "StochasticDiffEqHighOrder", "StochasticDiffEqImplicit", "StochasticDiffEqLowOrder", "StochasticDiffEqROCK", "Test", "Unitful"]
5 changes: 3 additions & 2 deletions lib/DelayDiffEq/src/DelayDiffEq.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ import FastBroadcast: @..

using OrdinaryDiffEqNonlinearSolve: NLAnderson, NLFunctional
using OrdinaryDiffEqCore: AbstractNLSolverCache, SlowConvergence,
alg_extrapolates, alg_maximum_order, initialize!
alg_extrapolates, alg_maximum_order
using OrdinaryDiffEqCore: StochasticDiffEqAlgorithm,
StochasticDiffEqRODEAlgorithm
using OrdinaryDiffEqRosenbrock: RosenbrockMutableCache
using OrdinaryDiffEqFunctionMap: FunctionMap
# using OrdinaryDiffEqDifferentiation: resize_grad_config!, resize_jac_config!

using DiffEqBase: is_diagonal_noise, DEVerbosity
using SciMLBase: is_diagonal_noise
using DiffEqBase: DEVerbosity

# Explicit imports for functions
using OrdinaryDiffEqCore: AutoSwitch, CompositeAlgorithm
Expand Down
2 changes: 1 addition & 1 deletion lib/DelayDiffEq/src/solve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ struct DDEDefaultInit <: SciMLBase.DAEInitializationAlgorithm end
function SciMLBase.initialize_dae!(integrator::DDEIntegrator, initializealg = integrator.initializealg)
return OrdinaryDiffEqCore._initialize_dae!(
integrator, integrator.sol.prob, initializealg,
Val(DiffEqBase.isinplace(integrator.sol.prob))
Val(SciMLBase.isinplace(integrator.sol.prob))
)
end

Expand Down
98 changes: 64 additions & 34 deletions lib/DelayDiffEq/test/qa/qa_tests.jl
Original file line number Diff line number Diff line change
@@ -1,38 +1,68 @@
using DelayDiffEq, Test
using SciMLTesting, DelayDiffEq, Test
import SciMLBase
using OrdinaryDiffEqCore: OrdinaryDiffEqAlgorithm, StochasticDiffEqAlgorithm,
StochasticDiffEqRODEAlgorithm,
StochasticDiffEqConstantCache, StochasticDiffEqMutableCache

@testset "Aqua Tests" begin
using Aqua
# Names that are non-public in their owning package on the registered releases
# resolved here. The OrdinaryDiffEqCore/Differentiation/NonlinearSolve/DiffEqBase
# solver-author extension API is now declared `public` on this branch, so those
# names are dropped from the ignore lists below. What remains is the genuine
# residual: DDE-specific integrator hooks that OrdinaryDiffEqCore has not made
# public, the SciMLBase problem/function/solution abstract types still pending a
# `public` declaration (SciML/SciMLBase.jl#1412), and true external internals.
const QUALIFIED_INTERNAL = (
# SciMLBase abstract problem/function types, pending SciMLBase#1412.
:AbstractDDEFunction, :AbstractHistoryFunction, :AbstractSDDEFunction,
:AbstractSDEFunction, :DAEInitializationAlgorithm,
# SciMLBase init/save/step plumbing not yet public (make-public candidates).
:get_save_idxs_and_saved_subsystem, :has_initializeprob, :last_step_failed,
:postamble!, :save_discretes_if_enabled!, :unwrap_cache,
# DiffEqBase internal stats type.
:Stats,
# OrdinaryDiffEqCore DDE-specific integrator stepping / discontinuity /
# tstop / saveat hooks — reached by the DDE integrator but not part of the
# OrdinaryDiffEqCore public extension surface declared on this branch.
:_change_t_via_interpolation!, :current_interpolant!,
:determine_controller_datatype, :first_discontinuity, :get_chunksize_int,
:_get_next_step_tstop, :_get_tstop_target, :handle_discontinuities!,
:handle_dt!, :handle_starting_time_discontinuity!, :handle_tstop!,
:has_discontinuity, :initialize_callbacks!, :initialize_d_discontinuities,
:initialize_saveat, :initialize_tstops, :init_ith_default_cache,
:_loopfooter!, :loopfooter!, :loopheader!, :modify_dt_for_tstops!,
:pop_discontinuity!, :_postamble!, :_savevalues!, :_set_tstop_flag!,
:shift_past_discontinuity!, :update_uprev!,
# ForwardDiff internal type used in discontinuity tracking.
:Dual,
)

Aqua.test_all(
DelayDiffEq; ambiguities = false, piracies = false,
stale_deps = false, deps_compat = false
)
Aqua.test_ambiguities(DelayDiffEq; recursive = false)
Aqua.test_stale_deps(DelayDiffEq)
Aqua.test_deps_compat(DelayDiffEq)
# Allow piracy for the default solver methods and SDE integration
using OrdinaryDiffEqCore: OrdinaryDiffEqAlgorithm, StochasticDiffEqAlgorithm,
StochasticDiffEqRODEAlgorithm,
StochasticDiffEqConstantCache, StochasticDiffEqMutableCache
Aqua.test_piracies(
DelayDiffEq;
treat_as_own = [
SciMLBase.DDEProblem,
OrdinaryDiffEqAlgorithm,
StochasticDiffEqAlgorithm,
StochasticDiffEqRODEAlgorithm,
StochasticDiffEqConstantCache,
StochasticDiffEqMutableCache,
]
)
end
# Explicit `using A: name` of names non-public in `A`.
const EXPLICIT_INTERNAL = (
# SciMLBase abstract algorithm/problem types + pairing error, pending
# SciMLBase#1412.
:AbstractDDEAlgorithm, :AbstractSDDEProblem, :ProblemSolverPairingError,
)

@testset "Explicit Imports Tests" begin
using ExplicitImports

@test check_no_implicit_imports(DelayDiffEq; skip = (Base, Core), ignore = (Symbol("@reexport"),)) ===
nothing
@test check_no_stale_explicit_imports(DelayDiffEq, ignore = (:AbstractVerbositySpecifier, :Standard)) === nothing
@test check_all_qualified_accesses_via_owners(DelayDiffEq) === nothing
end
run_qa(
DelayDiffEq;
aqua_kwargs = (;
ambiguities = (; recursive = false),
# piracy is allowed for the default solver methods and SDE integration
piracies = (;
treat_as_own = [
SciMLBase.DDEProblem,
OrdinaryDiffEqAlgorithm,
StochasticDiffEqAlgorithm,
StochasticDiffEqRODEAlgorithm,
StochasticDiffEqConstantCache,
StochasticDiffEqMutableCache,
],
),
),
explicit_imports = true,
ei_kwargs = (;
no_implicit_imports = (; skip = (Base, Core)),
all_qualified_accesses_are_public = (; ignore = QUALIFIED_INTERNAL),
all_explicit_imports_are_public = (; ignore = EXPLICIT_INTERNAL),
),
)
2 changes: 1 addition & 1 deletion lib/DiffEqBase/Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "DiffEqBase"
uuid = "2b5f629d-d688-5b77-993f-72d75c75574e"
authors = ["Chris Rackauckas <accounts@chrisrackauckas.com>"]
version = "7.6.0"
version = "7.6.1"

[deps]
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
Expand Down
16 changes: 13 additions & 3 deletions lib/DiffEqBase/src/DiffEqBase.jl
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,23 @@ export SensitivityADPassThrough
Expr(
:public,
:get_tstops, :get_tstops_array, :get_tstops_max,
:ExplicitRKTableau, :DECostFunction, :merge_problem_kwargs,
:ExplicitRKTableau, :ImplicitRKTableau, :DECostFunction, :merge_problem_kwargs,
# Callback API (DiffEqBase-owned shared functionality used by downstream solvers)
:apply_callback!, :apply_discrete_callback!, :CallbackCache,
:find_first_continuous_callback, :find_callback_time,
:max_vector_callback_length, :get_condition,
:max_vector_callback_length, :max_vector_callback_length_int, :get_condition,
# Default-callback API (integrator defaults overridable via solver keywords)
:ODE_DEFAULT_NORM, :ODE_DEFAULT_ISOUTOFDOMAIN, :ODE_DEFAULT_PROG_MESSAGE
:ODE_DEFAULT_NORM, :ODE_DEFAULT_ISOUTOFDOMAIN, :ODE_DEFAULT_PROG_MESSAGE,
:ODE_DEFAULT_UNSTABLE_CHECK,
# Tableau extension supertypes downstream tableau packages subtype
:Tableau, :ODERKTableau,
# Error-estimate residual hooks solvers call/extend
:calculate_residuals, :calculate_residuals!,
# Algorithm/dt setup hooks solvers specialize
:prepare_alg, :prob2dtmin, :timedepentdtmin, :check_prob_alg_pairing,
:default_factorize, :stripunits,
# Solver-author wrapper/tag types and convergence-testing entry type
:EvalFunc, :OrdinaryDiffEqTag, :ConvergenceSetup
)
)
end
Expand Down
4 changes: 3 additions & 1 deletion lib/DiffEqDevTools/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ authors = ["Chris Rackauckas <accounts@chrisrackauckas.com>"]
version = "3.1.2"

[deps]
CommonSolve = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DiffEqNoiseProcess = "77a26b50-5914-5dd7-bc55-306e6241c503"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
Expand Down Expand Up @@ -48,6 +49,7 @@ StochasticDiffEqWeak = {path = "../StochasticDiffEqWeak"}
[compat]
BVProblemLibrary = "0.1"
BoundaryValueDiffEq = "5"
CommonSolve = "0.2.4"
DDEProblemLibrary = "0.1"
DelayDiffEq = "6"
DiffEqBase = "7"
Expand All @@ -74,7 +76,7 @@ RecipesBase = "1.3.4"
RecursiveArrayTools = "4.2.0"
RootedTrees = "2"
SDEProblemLibrary = "1"
SciMLBase = "3.10.0"
SciMLBase = "3.30"
SciMLLogging = "2"
SimpleNonlinearSolve = "2"
Statistics = "1.10.0"
Expand Down
45 changes: 31 additions & 14 deletions lib/DiffEqDevTools/src/DiffEqDevTools.jl
Original file line number Diff line number Diff line change
@@ -1,22 +1,39 @@
module DiffEqDevTools

using DiffEqBase: AbstractODEAlgorithm
using DiffEqBase, RecipesBase, RecursiveArrayTools, DiffEqNoiseProcess, StructArrays
using SimpleNonlinearSolve, LinearAlgebra, RootedTrees

using LinearAlgebra, Distributed

using Statistics
import DiffEqBase
using DiffEqBase: ExplicitRKTableau, ImplicitRKTableau
import RecipesBase
using RecipesBase: @recipe, @series
import RecursiveArrayTools
using RecursiveArrayTools: recursive_mean, vecvecapply
using DiffEqNoiseProcess: NoiseGrid, NoiseWrapper
import StructArrays
using StructArrays: StructArray
import SciMLBase
using SciMLBase: AbstractODEAlgorithm, AbstractODEProblem,
AbstractSDEProblem, AbstractEnsembleProblem, AbstractDAEProblem,
AbstractDEAlgorithm, AbstractTimeseriesSolution,
DAEProblem, EnsembleProblem, EnsembleSolution, EnsembleThreads,
NonlinearProblem, ODEProblem, ReturnCode, SDDEProblem, SDEProblem, remake
using CommonSolve: init, solve, step!
import SimpleNonlinearSolve
using SimpleNonlinearSolve: SimpleTrustRegion, AutoFiniteDiff
import LinearAlgebra
import RootedTrees
using RootedTrees: RootedTreeIterator, RungeKuttaMethod, residual_order_condition
import Distributed
import Statistics
using Statistics: mean, std

import Base: length

import DiffEqBase: AbstractODEProblem, AbstractDDEProblem, AbstractDDEAlgorithm,
AbstractODESolution, AbstractRODEProblem, AbstractSDEProblem,
AbstractSDDEProblem, AbstractEnsembleProblem,
AbstractDAEProblem, AbstractBVProblem, @def, ConvergenceSetup,
AbstractDEAlgorithm,
ODERKTableau, AbstractTimeseriesSolution, ExplicitRKTableau,
ImplicitRKTableau
# These problem/solution/algorithm abstracts and `@def` are owned by SciMLBase but
# not yet declared `public` there; accessed via SciMLBase (their owner).
using SciMLBase: AbstractDDEAlgorithm, AbstractODESolution, AbstractRODEProblem,
AbstractSDDEProblem, AbstractBVProblem, @def
# `ConvergenceSetup` and `ODERKTableau` are defined and owned only in DiffEqBase
# (not re-exported by SciMLBase) and are not declared `public` there.
using DiffEqBase: ConvergenceSetup, ODERKTableau

import LinearAlgebra: norm, I

Expand Down
Loading
Loading