From 87f9d36b62912fa295bae743d915cf452b488e90 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Wed, 22 Apr 2026 01:24:30 -0400 Subject: [PATCH] Bump RecursiveArrayTools and SciMLBase compat to also allow 4 and 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `DynamicQuantitiesRecursiveArrayToolsExt` and `DynamicQuantitiesSciMLBaseExt` were added in #201 with `RecursiveArrayTools = "3"` / `SciMLBase = "2"` in compat. The SciML ecosystem has since moved to RecursiveArrayTools 4 and SciMLBase 3, which forces Pkg to resolve DynamicQuantities back to v1.11.0 (the last version without the weak-dep constraint) in any environment pulling recent DifferentialEquations. That in turn means neither extension loads and downstream solvers trip over `zero(::Type{<:Quantity})` / `recursive_unitless_bottom_eltype(::Type{<:Quantity})` returning a still-unitful type. The extensions touch only `SciMLBase.value` / `unitfulvalue` and `RecursiveArrayTools.recursive_unitless_(bottom_)eltype` — all stable APIs across these major versions. Verified: `test/test_sciml.jl` passes on a fork that pulls `RecursiveArrayTools v4.2.0` and `SciMLBase v3.3.0`. This lets downstream packages (OrdinaryDiffEq.jl in particular — see SciML/OrdinaryDiffEq.jl#3493) drop their in-tree DQ-wrapper-stripping workarounds once a DQ patch with this bump is released. Co-Authored-By: Claude Opus 4.7 (1M context) Co-Authored-By: Chris Rackauckas --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 15ad73ed..2cd51396 100644 --- a/Project.toml +++ b/Project.toml @@ -30,8 +30,8 @@ DispatchDoctor = "0.4" LinearAlgebra = "1" Measurements = "2" PrecompileTools = "1" -RecursiveArrayTools = "3" -SciMLBase = "2" +RecursiveArrayTools = "3, 4" +SciMLBase = "2, 3" ScientificTypes = "3" TestItems = "0.1, 1" Tricks = "0.1.9"