Restore SciMLOperators 1.24.4 compatibility floor - #3983
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Commit |
|
CI follow-up: all targeted InterfaceIII lanes passed (Julia release, LTS, and prerelease). Runic and Runic Suggestions also passed. The red downgrade jobs reproduce the existing lower-bound resolver failures tracked in #3917 / SciML/.github#118; for example, the Rosenbrock job pins LinearSolve 3.75 while its resolved NonlinearSolveBase requires LinearSolve >=4.3. No unrelated compatibility changes are included here. |
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Added commit e0dea9c to cover the duplicated StochasticDiffEq Interface3 expectation. Clean upstream master 8fc48e6, Julia 1.12, SciMLOperators 1.24.4, LinearSolve 4.3.0: The only failures were utility_tests.jl:66/68: both obsolete inequality assertions received the exact current matrix and solve result. This is the same behavior change introduced by SciMLOperators d1f46ec. The new test stays on public behavior: it verifies calc_W! leaves the operator Jacobian update callback untouched, then verifies public concretization and factorization produce the expected W matrix. It removes the direct _concrete_form mutation and jacobian2W! call. With this branch: Whole-repository Runic --inplace and --check both exited successfully. |
PR #3983 added SciMLOperators to [extras] and the test target but not to [compat]. The Downgrade workflow floors uncapped test deps to their lowest registered version (SciMLOperators 1.15.0), which conflicts with the in-repo path sublibraries (OrdinaryDiffEqDifferentiation requires SciMLOperators >= 1.24.4), making the test-target environment unsatisfiable. Adding the compat floor fixes the umbrella Downgrade CI, red on master since #3983. Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Summary
OrdinaryDiffEqDifferentiationSciMLOperators floor from 1.24.3 to 1.24.4 and bump the package from 3.4.0 to 3.4.1WOperator._concrete_formwith public behavioral checkscalc_W!does not invoke an operator Jacobian's update callback, while public concretization and factorization produce the current W matrixMatrixOperatorfrom its owning packageRoot cause
SciMLOperators commit
d1f46ec/ v1.24.4 intentionally changed in-placeWOperatorconcretization for operator-typed Jacobians. No OrdinaryDiffEq caller maintains the internal concrete form for that case, so v1.24.3 returned the stale matrix constructed atgamma = 0; concrete linear solvers could consequently factorize anInfmatrix and silently compute incorrect implicit solutions. V1.24.4 reconstructs the public matrix representation at the current gamma.The OrdinaryDiffEq companion commit
28e7eb52originally required SciMLOperators 1.24.4, but the later downgrade-floor change6b10b916lowered the constraint to 1.24.3. The old InterfaceIII test also encoded the obsolete behavior and accessed the dependency's private_concrete_formfield.This is independent of LinearSolve 5. Untouched master reproduced with LinearSolve 4.3.0 and SciMLOperators 1.24.4.
Introducing-commit check
The same WOperator probe was run against the introducing commit and its direct parent:
Validation
Untouched master at
8fc48e69d5:Both failures were the stale
convert(AbstractMatrix, W) != concrete_Wand stale-solve assertions.This branch:
Whole-repository formatting:
Both Runic commands exited successfully.