-
-
Notifications
You must be signed in to change notification settings - Fork 233
Description
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
endAnd 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_exprfix 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
- PR build(deps): bump the all-julia-packages group across 2 directories with 3 updates #1004 - The dependency update PR
- MethodOfLines.jl - Needs to be updated to support the new symbolic stack
🤖 Generated with Claude Code