Skip to content

Raise ModelingToolkitBase SymbolicUtils floor to 4.35.3 - #4739

Merged
AayushSabharwal merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/symbolicutils-4353-floor
Jul 13, 2026
Merged

Raise ModelingToolkitBase SymbolicUtils floor to 4.35.3#4739
AayushSabharwal merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/symbolicutils-4353-floor

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Important

Ignore this PR until it has been reviewed by @ChrisRackauckas.

Summary

  • Raise the ModelingToolkitBase SymbolicUtils floor from 4.35.2 to 4.35.3.
  • Keep the existing discrete-system @test_nowarn assertion unchanged; it is the focused regression for this dependency-floor failure.
  • Make no source-code or test bypass changes.

Cause and boundary

The ModelingToolkit floor change was introduced by SciML/ModelingToolkit.jl commit ab3a1fb, which changed the minimum from 4.34.1 to 4.35.2 while leaving the relevant test unchanged.

SymbolicUtils v4.35.2 still calls deprecated get_canonical_expr(ir, idx) in src/faster_code.jl, including the call reported at line 578 by the downgrade test. JuliaSymbolics/SymbolicUtils.jl commit df29cb30804d4ccacdb35297d3dc07e7c0c4ccea replaces all three calls with get_canonical_expr!. v4.35.3 is the first release tag containing that commit.

No existing ModelingToolkit issue or PR for the 4.35.3 floor was found before opening this PR.

Verification

Clean downgraded reproduction before the change:

  • GROUP=InterfaceII with SymbolicUtils 4.35.2 failed the existing Passing nothing to u0 @test_nowarn assertion at lib/ModelingToolkitBase/test/discrete_system.jl:287.
  • Captured stderr was the get_canonical_expr deprecation from SymbolicUtils src/faster_code.jl:578.

After raising the floor:

  • The exact minimum resolver selected SymbolicUtils 4.35.3, JumpProcesses 9.28.0, and OffsetArrays 1.13.0.
  • Full official GROUP=InterfaceII result: 7,235 passed, 0 failed, 2 errored, 4 broken in 50m29.5s.
  • Discrete System passed 24/24.
  • Implicit Discrete System passed 18/18.
  • JumpSystem passed 4,204/4,204.
  • After rebasing onto upstream master at 1f408df, the focused original constructor/solve regression passed 2/2, including absence of the deprecated stderr and a successful solve retcode.
  • Repository-wide Runic --check . passed after the rebase.
  • git diff --check passed.

The two full-group errors are the same independent BoundaryValueDiffEqMIRK ForwardDiff Dual-to-Float64 blocker already tracked in SciML/BoundaryValueDiffEq.jl#556 and addressed by draft SciML/BoundaryValueDiffEq.jl#559. No test was disabled, silenced, or loosened here.

Process

I reproduced the minimum-version workflow locally, inspected the ModelingToolkit compat history and unchanged regression across the introducing commit, inspected the SymbolicUtils commit/tag boundary, reran the official group, rebased onto the latest upstream master, and reran the focused regression plus formatting checks.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@AayushSabharwal
AayushSabharwal marked this pull request as ready for review July 13, 2026 11:01
@AayushSabharwal
AayushSabharwal merged commit c3f2fed into SciML:master Jul 13, 2026
78 of 90 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.

3 participants