Repository navigation
Release 5.4.0 so the ForwardDiff extension issquare fix ships - #1131
Merged
ChrisRackauckas merged 1 commit intoAug 1, 2026
Merged
ChrisRackauckas merged 1 commit into
ChrisRackauckas merged 1 commit into
Conversation
LinearSolve 5.3.0 is the newest registered version and its ForwardDiff
extension is broken against SciMLBase >= 3.40: SciMLBase 3.40.0 dropped
`@reexport using SciMLOperators`, which is where
LinearSolveForwardDiffExt had been picking up `issquare`. Any
`solve(::LinearProblem{...Dual...})` on that combination throws
`UndefVarError: issquare not defined in LinearSolveForwardDiffExt`.
f1908b9 ("Import issquare from its owner in ForwardDiff extension",
SciML#1125) fixed it on master, but master still carries version 5.3.0, so
the fix is not installable. Bump to 5.4.0 (minor, since master also
gained the TriangularSolve-backed RecursiveFactorization extension and
the SupernodalLU work since 5.3.0) to get it registered.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
ChrisRackauckas
marked this pull request as ready for review
August 1, 2026 09:16
Member
Author
|
Downstream confirmation: Before (registered LinearSolve v5.3.0 + SciMLBase v3.41.0): After (same checkout, (times are inflated; the box was running ~100 concurrent Julia jobs) |
This was referenced Aug 7, 2026
3 tasks
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.
Please ignore this PR until it has been reviewed by @ChrisRackauckas.
Problem
The newest registered LinearSolve, v5.3.0, is broken against SciMLBase >= 3.40.0. Any
solveof aLinearProblemwithForwardDiff.Dualentries throws:Root cause:
LinearSolveForwardDiffExtusedissquareunqualified. It resolved only becauseusing SciMLBaseinside the extension pulled it in via SciMLBase's@reexport using SciMLOperators. SciMLBase v3.40.0 removed that re-export (it now goes through SciMLOperators as the owner of the operator API), so the name disappeared from the extension's scope.This is already fixed on master by f1908b9 (#1125), which adds
using SciMLOperators: issquareto the extension. The problem is that master still carriesversion = "5.3.0"— the same version already in the General registry — so the fix is not installable by anyone.What this PR does
Bumps the version to 5.4.0 so the fix can be registered. Minor rather than patch because master has also gained the TriangularSolve-backed
LinearSolveRecursiveFactorizationExt(new weakdep + extension trigger) and the SupernodalLU work since v5.3.0.Verification
Minimal reproduction (Julia 1.12.4):
UndefVarError: issquare not defined in LinearSolveForwardDiffExtDual{Nothing}(0.2,-0.12), Dual{Nothing}(0.6,0.04)), confirming SciMLBase 3.40.0 is the triggertest/Core/forwarddiff_overloads.jlrun against this branch with SciMLBase v3.41.0 passes (exit code 0), includingForwardDiff square-system initialization,DualLinearCachereuse/setu!/partials-validity, sparse, PureKLU and SupernodalLU dual cases.Downstream impact: this is what makes
SciML/PreallocationTools.jltest/core_nesteddual.jlerror on unmodified master today (DiffCache Nested Duals), since it solves stiff ODEs under nested ForwardDiff.Follow-up worth considering
v5.3.0 is broken in place for every user who resolves SciMLBase >= 3.40. A retroactive
[SciMLBase]compat cap of3.39on LinearSolve 5.3.0 in the General registry would stop new installs from landing on the broken combination.🤖 Generated with Claude Code
https://claude.ai/code/session_01Yb5kCpT5SRzTrhppKSh1n7