Restore SciMLBase 3.39 compatibility for owner imports - #4066
Restore SciMLBase 3.39 compatibility for owner imports#4066ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
|
Final hosted-CI classification on exact head The compatibility/owner-import change itself remains locally verified on both sides of the boundary: the full Focused follow-ups already isolated:
The other failures are independent and are not being folded into this compatibility PR:
No CI-only workaround, skipped test, tolerance change, or unrelated dependency edit is included in #4066. |
The direct SciMLOperators imports do not require SciMLBase 3.40. Restore the four prior floors so monorepo tests remain resolvable before 3.40 is registered, and make affected tests import MatrixOperator and update_coefficients! from their public owner. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
b20dd67 to
661bd35
Compare
|
Rebase/final local-validation checkpoint for head
Passed testsets include Newton 6/6, sparse DAE init 27/27, nonlinear solver 44/44, linear solver 113/113, split ODE 10/10, mass matrix 225 pass/42 existing broken, W-operator 18/18, DAE init 19/19, CheckInit 4/4, nested AD 5/5, Jacobian reuse 11/11, homotopy 25/25, default homotopy init 16/16, sparse Jacobian 10/10, matrix-free W-operator 14/14, smoothed estimate 10/10, and stats 24/24. Immediately before pushing I fetched upstream and the fork. Upstream remained |
|
Terminal current-head CI audit for exact head
The branch is clean, matches the remote head exactly, and remains mergeable. This audit does not treat unrelated/prerequisite failures as fixed. |
|
The ModelingToolkit Julia 1.10 downstream initialization failures seen while validating this compatibility PR are now split:
This keeps the collector fix out of this focused SciMLBase-floor PR. |
|
[noblock] Exact SciMLSensitivity resolver-chain audit after JuliaRegistries/General#162820:
Therefore the OrdinaryDiffEqCore 4.11 cap is intentional and should not be reopened in General. The owner import is fixed in #4059/current OrdinaryDiffEqCore 4.12; this PR followed by registration of that fixed release is the correct unblock for the SciMLSensitivity endpoint. |
Ignore until reviewed by @ChrisRackauckas.
Summary
MatrixOperatorandupdate_coefficients!from their declaring public package, SciMLOperators, in the affected testsWhy
The first bad commit is d78527d (#4059). It switched the tests from SciMLBase reexports to direct SciMLOperators ownership, but also raised the four SciMLBase floors to 3.40. Current General has SciMLBase 3.39.1 as its newest registered release, so a fresh checkout of OrdinaryDiffEq master cannot resolve OrdinaryDiffEqCore 4.12.
The used SciMLOperators interfaces are already public and available with SciMLBase 3.39. These source versions (DiffEqBase 7.10.0, OrdinaryDiffEqCore 4.12.0, OrdinaryDiffEqDifferentiation 3.6.0, and OrdinaryDiffEqNonlinearSolve 2.6.0) are newer than their latest registered versions and already contain the owner-import fixes. Lowering their source floors is therefore independently safe: it controls the future registration of the fixed versions and does not alter compatibility metadata for older releases.
The pending General registry PR JuliaRegistries/General#162635 separately retro-caps affected older releases before SciMLBase 3.40 becomes available. It is not yet effective and is not a prerequisite for the fixed source versions to support both SciMLBase 3.39 and 3.40.
Investigation
Tests
GROUP=CoreforOrdinaryDiffEqNonlinearSolvewith registered SciMLBase 3.39.1 — passedGROUP=CoreforOrdinaryDiffEqNonlinearSolvewith local SciMLBase 3.40.1 — all affected suites passed; the run then reached the independentLinearSolveForwardDiffExtissquareerror described belowGROUP=SparseforOrdinaryDiffEqDifferentiationwith registered SciMLBase 3.39.1 — 2/2 passedgit diff --checkThe registered 3.39.1 Core run completed every testset and exited successfully. With the local SciMLBase 3.40.1 checkout, Newton, sparse DAE initialization, linear solver, split ODE, mass matrix, W-operator, DAE initialization, and CheckInit all passed. Nested AD then stopped with
UndefVarError: issquare not defined in LinearSolveForwardDiffExt(1 pass, 1 error). The same Nested AD suite passed 5/5 against registered SciMLBase 3.39.1, and the error is in LinearSolve's ForwardDiff extension after the SciMLBase reexport removal, not in this patch.Whole-tree Runic currently also reports formatting failures introduced on clean master by the independent DISCO merge. That clean-master regression is handled separately by #4064 and is not included here.