Downgrade: raise RecursiveArrayTools compat floor to 4.2.0 (InterfaceI downgrade resolve)#3750
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Conversation
…t floor unresolvable at downgrade minimum) The root package listed RecursiveArrayTools only as a test dependency ([extras]/[targets]) with no [compat] entry, so julia-downgrade-compat pinned it to the bare major floor 4.0.0. Every in-tree sublibrary (OrdinaryDiffEqTsit5, etc., pulled in via [sources] and therefore skipped from downgrade) requires RecursiveArrayTools >= 4.2.0, so the InterfaceI downgrade resolve was Unsatisfiable: RecursiveArrayTools restricted to 4.2.0-4 by OrdinaryDiffEqTsit5, but restricted to 4.0.0 by an explicit requirement -> no versions left. Adding an explicit [compat] floor of 4.2.0 makes the downgrade pin the smallest RecursiveArrayTools that is co-installable with the sublibraries. Verified with julia-downgrade-compat (Resolver.jl --min=@deps) on Julia 1.10 (LTS floor): the merged InterfaceI resolve now selects RecursiveArrayTools 4.2.0 instead of 4.0.0. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
Downgradeworkflow (Downgrade Tests - InterfaceI) fails at resolution with:RecursiveArrayToolsis declared in the rootOrdinaryDiffEqProject.toml only as atest dependency (
[extras]/[targets].test) with no[compat]entry. As a resultjulia-downgrade-compatpins it to the bare major floor4.0.0.Every in-tree sublibrary (
OrdinaryDiffEqTsit5,OrdinaryDiffEqRosenbrock, etc.) ispulled in via
[sources]path-deps and is therefore skipped from downgrade — it staysat its current version, which requires
RecursiveArrayTools >= 4.2.0. So the downgradepin of
4.0.0is below what the sublibraries require, and the resolve has no solution.The conflict is downgrade-specific: the latest-versions CI does not fail in
InterfaceIfor this reason (the resolver picks a modern
RecursiveArrayToolsthere).Fix
Add an explicit
[compat] RecursiveArrayTools = "4.2.0"to the root Project.toml.4.2.0is the smallest
RecursiveArrayToolsco-installable with the sublibraries (which all pin>= 4.2.0), so it is a genuine minimum, not an arbitrary bump. No upper bound is touched.Verification (resolution only, not full test suite)
Ran the actual
julia-actions/julia-downgrade-compat(Resolver.jl --min=@deps) onJulia 1.10 (the LTS downgrade floor), with the same effective skip list the SciML
centralized workflow uses (stdlibs ∪ all
[sources]sublib names):RecursiveArrayToolscompat): the merged InterfaceI resolve selectsRecursiveArrayTools 4.0.0, which is incompatible with the in-treeOrdinaryDiffEqTsit5(>= 4.2.0).RecursiveArrayTools = "4.2.0"): the merged resolve selectsRecursiveArrayTools 4.2.0, co-installable with the sublibraries.CI will confirm the full build/test.
This PR should be ignored until reviewed by @ChrisRackauckas.
🤖 Generated with Claude Code