From bacdbb76bd9107143f3d1c9389f2bcf12f827589 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 27 Apr 2026 07:38:26 -0400 Subject: [PATCH] Bump OrdinaryDiffEqCore compat to 3.17 for JumpProcessesOrdinaryDiffEqCoreExt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The JumpProcessesOrdinaryDiffEqCoreExt imports StochasticDiffEqAlgorithm and StochasticDiffEqRODEAlgorithm directly from OrdinaryDiffEqCore: import OrdinaryDiffEqCore: OrdinaryDiffEqAlgorithm, DAEAlgorithm, StochasticDiffEqAlgorithm, StochasticDiffEqRODEAlgorithm These abstract types were first introduced into OrdinaryDiffEqCore in v3.17.0 (commit "Move SDE abstract algorithm types to OrdinaryDiffEqCore"). The previous compat of "3, 4" permitted OrdinaryDiffEqCore as old as 3.0.0, which predates the introduction of these types. When a downstream package like MinimallyDisruptiveCurves.jl has a dependency tree that resolves to OrdinaryDiffEqCore 3.1.0-3.16.x (e.g., because it pins OrdinaryDiffEq 6.x in its Manifest), loading the JumpProcessesOrdinaryDiffEqCoreExt fails with: WARNING: Imported binding OrdinaryDiffEqCore.StochasticDiffEqAlgorithm was undeclared at import time during import to JumpProcessesOrdinaryDiffEqCoreExt. ERROR: UndefVarError: `StochasticDiffEqAlgorithm` not defined in `JumpProcessesOrdinaryDiffEqCoreExt` StochasticDiffEq's own CI does not expose this because StochasticDiffEq 7.x requires OrdinaryDiffEqCore "4" and StochasticDiffEq 6.x defines these types locally — so JumpProcesses always resolves to >= 3.17 in StochasticDiffEq's test environment. Fixes: SciML/MinimallyDisruptiveCurves.jl#50 Co-Authored-By: Chris Rackauckas --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 70a4ca03..6b5ae892 100644 --- a/Project.toml +++ b/Project.toml @@ -46,7 +46,7 @@ KernelAbstractions = "0.9" LinearAlgebra = "1" LinearSolve = "3" OrdinaryDiffEq = "6" -OrdinaryDiffEqCore = "3, 4" +OrdinaryDiffEqCore = "3.17, 4" Pkg = "1" PoissonRandom = "0.4" Random = "1"