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
- Wait for MethodOfLines update - MethodOfLines needs to be updated to support Symbolics 7/SymbolicUtils 4/ModelingToolkit 11
- Temporarily remove MethodOfLines from test dependencies until it's updated
- Pin MethodOfLines tests to a separate CI workflow that uses the old symbolic stack
Suggested Next Steps
- Apply the
build_expr fix and compat constraint fix to the PR
- Either wait for MethodOfLines to be updated, or temporarily exclude it from test dependencies
- Once MethodOfLines is updated, the tests should pass
Related
cc @ChrisRackauckas
🤖 Generated with Claude Code
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_exprfunction removed from Symbolics 7.xThe
build_exprfunction was removed from Symbolics in version 7.x. NeuralPDE imports and uses this function insrc/discretize.jl.Fix: Add a local definition of
build_exprinsrc/NeuralPDE.jl:And update the import statement:
(removing
build_exprfrom 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
Suggested Next Steps
build_exprfix and compat constraint fix to the PRRelated
cc @ChrisRackauckas
🤖 Generated with Claude Code