Skip to content

Breaking changes from dependency update in PR #1004 #1009

@ChrisRackauckas-Claude

Description

@ChrisRackauckas-Claude

Summary

PR #1004 updates the symbolic stack dependencies (Symbolics to 7.4, SymbolicUtils to 4.10, ModelingToolkit to 11.4) but introduces breaking changes that need attention.

Breaking Changes Encountered

1. build_expr function removed from Symbolics 7.x

The build_expr function was removed from Symbolics in version 7.x. NeuralPDE imports and uses this function in src/discretize.jl.

Fix: Add a local definition of build_expr in src/NeuralPDE.jl:

# build_expr was removed from Symbolics 7.x, so we define it locally
function build_expr(head::Symbol, args)
    ex = Expr(head)
    append!(ex.args, args)
    ex
end

And update the import statement:

using Symbolics: Symbolics, unwrap, arguments, operation, Num, expand_derivatives

(removing build_expr from the import list)

2. ModelingToolkit compat constraint

The dependabot PR sets ModelingToolkit = "9.46, 10, 11.5" but this only matches versions 11.5.x. Should be "9.46, 10, 11" to match all 11.x versions.

3. MethodOfLines blocking dependency (TEST DEPENDENCIES ONLY)

MethodOfLines (a test dependency) is constrained to:

  • ModelingToolkit = "10.1" (only version 10)
  • Symbolics = "6" (only version 6)
  • SymbolicUtils = "2, 3" (only versions 2 and 3)

This causes the test environment to downgrade the symbolic stack packages when running tests, preventing proper testing of the new versions.

Options

  1. Wait for MethodOfLines update - MethodOfLines needs to be updated to support Symbolics 7/SymbolicUtils 4/ModelingToolkit 11
  2. Temporarily remove MethodOfLines from test dependencies until it's updated
  3. Pin MethodOfLines tests to a separate CI workflow that uses the old symbolic stack

Suggested Next Steps

  1. Apply the build_expr fix and compat constraint fix to the PR
  2. Either wait for MethodOfLines to be updated, or temporarily exclude it from test dependencies
  3. Once MethodOfLines is updated, the tests should pass

Related

cc @ChrisRackauckas

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions