Skip to content

Fix HomotopyContinuation downgrade resolution - #1075

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/fix-homotopy-downgrade-floors
Jul 15, 2026
Merged

Fix HomotopyContinuation downgrade resolution#1075
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/fix-homotopy-downgrade-floors

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • require registered NonlinearSolve 4.21 for the HomotopyContinuation test target
  • align the SciMLBase floor with NonlinearSolve 4.21
  • restore compatibility with the local NonlinearSolveBase LinearSolve 5 floor merged in Align source-tree downgrade dependency floors #1070

This PR should be ignored until reviewed by @ChrisRackauckas.

Cause

The downgrade action pins SciMLBase 3.33 and later Pkg.test resolves the NonlinearSolve test extra to 4.20.3. That registered release only accepts LinearSolve through 4, while the local NonlinearSolveBase 2.35 source now requires LinearSolve 5.

Verification

  • reproduced job 87327953938 locally with the exact Julia 1.10.11 downgrade action and strict allow_reresolve=false test command
  • reran the same downgrade action after the fix: SciMLBase 3.34.0, NonlinearSolve 4.21.0, and LinearSolve 5.0.0
  • exact HomotopyContinuation Core downgrade tests: AllRoots 169/169 and Single Root 50/50
  • Runic 1.7.0 check: 373/373 files
  • Project.toml parsed with TOML stdlib

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI note: the root Downgrade / Downgrade Tests - Core job reaches the same current-master Broyden baseline documented on #1071: 94 tests pass, the generalized Rosenbrock case fails for algorithm 4, Brown has a platform-dependent unexpected pass, and 19 are already broken. The clean-master reproduction/bisect points to the existing #1057 and #1056 work; this dependency-floor PR does not change or suppress those tests.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Verified this floor fix against the current Kantorovich feature branch (#1071), not only against clean master.

Using the deployed julia-downgrade-compat action at fab1def in alldeps mode, the #1071 branch stacked only on this commit resolves:

  • NonlinearSolve 4.21.0
  • in-tree NonlinearSolveBase 2.36.0
  • SciMLBase 3.34.0
  • SciMLLogging 2.0.3
  • LinearSolve 5.0.0

The subsequent strict Julia 1.10 test with force_latest_compatible_version=false and allow_reresolve=false passes AllRoots 169/169 and Single Root 50/50.

The exact clean-master comparator at 6264446f4 instead fails in the Pkg test sandbox before running tests: SciMLBase 3.33.0 constrains registered NonlinearSolve to at most 4.20.3 (LinearSolve at most 4.3), conflicting with in-tree NonlinearSolveBase 2.35.0 requiring LinearSolve 5. This confirms the two compat-floor changes here are sufficient for #1071; the independent root/Base floor PR #1079 is not part of that feature stack.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 15, 2026 20:01
@ChrisRackauckas
ChrisRackauckas merged commit cbabebe into SciML:master Jul 15, 2026
30 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants