Skip to content

build: migrate to Symbolics 7 / SciMLBase 3 / MTKBase stack#125

Open
oameye wants to merge 1 commit into
mainfrom
symbolicsv7-upgrade
Open

build: migrate to Symbolics 7 / SciMLBase 3 / MTKBase stack#125
oameye wants to merge 1 commit into
mainfrom
symbolicsv7-upgrade

Conversation

@oameye

@oameye oameye commented May 25, 2026

Copy link
Copy Markdown
Member

Compat bumps: Symbolics 7, SymbolicUtils 4, SciMLBase 3, OrdinaryDiffEqTsit5 2, OrdinaryDiffEqRosenbrock 2, ModelingToolkitBase 1, HarmonicBalance 0.17, QuestBase 0.4. LinearSolve, NonlinearSolve, and SteadyStateDiffEq are pinned to the versions that widen their SciMLBase compat to 3 (3.75 / 4.17 / 2.10). Bump HSS itself to v0.5.0.

ModelingToolkit weakdep is replaced with ModelingToolkitBase across the SteadyStateDiffEq extension test, which now uses mtkcompile instead of the removed structural_simplify.

Latexify is no longer re-exported from Symbolics 7, so it is added as a direct weakdep and the PlotsExt trigger becomes [Plots, Latexify].

QuantumCumulants extension and its tests (input_output.jl) are temporarily disabled because the latest QC release (0.4.3) caps SymbolicUtils at 3 and SciMLBase at 2. Re-enable when QC supports the new stack.

Symbolics 7's substitute no longer auto-folds numeric Const wrappers, so the numerical extraction points (transform_solutions, Lorentzian_spectrum, LinearResponse response.jl, and TimeEvolution ODEProblem) now go through Symbolics.substitute(...; fold=Val{true}()) plus Symbolics.value (or SymbolicUtils.unwrap_const) to return concrete Float64s.

A [sources] block points test sandboxes at the local HarmonicBalance and QuestBase clones so the upgrade can be validated end to end without registering the bumped versions first.

Checklist

Thank you for contributing to HarmonicSteadyState.jl! Please make sure you have finished the following tasks before finishing the PR.

  • Appropriate tests were added and tested locally by running: make test.
  • Any code changes should be julia formatted by running: make format.
  • All documents (in docs/ folder) related to code changes were updated and able to build locally by running: make docs.

Request for a review after you have completed all the tasks. If you have not finished them all, you can also open a Draft Pull Request to let the others know this on-going work.

Description

Describe the proposed change here.

Related issues or PRs

Please mention the related issues or PRs here. If the PR fixes an issue, use the keyword close/closes/closed/fix/fixes/fixed/resolve/resolves/resolved followed by the issue id, e.g. fix #[id]

Additional context

Compat bumps: Symbolics 7, SymbolicUtils 4, SciMLBase 3, OrdinaryDiffEqTsit5 2,
OrdinaryDiffEqRosenbrock 2, ModelingToolkitBase 1, HarmonicBalance 0.17,
QuestBase 0.4. LinearSolve, NonlinearSolve, and SteadyStateDiffEq are pinned
to the versions that widen their SciMLBase compat to 3 (3.75 / 4.17 / 2.10).
Bump HSS itself to v0.5.0.

ModelingToolkit weakdep is replaced with ModelingToolkitBase across the
SteadyStateDiffEq extension test, which now uses `mtkcompile` instead of the
removed `structural_simplify`.

Latexify is no longer re-exported from Symbolics 7, so it is added as a
direct weakdep and the PlotsExt trigger becomes `[Plots, Latexify]`.

QuantumCumulants extension and its tests (`input_output.jl`) are temporarily
disabled because the latest QC release (0.4.3) caps SymbolicUtils at 3 and
SciMLBase at 2. Re-enable when QC supports the new stack.

Symbolics 7's `substitute` no longer auto-folds numeric Const wrappers, so
the numerical extraction points (`transform_solutions`, `Lorentzian_spectrum`,
LinearResponse `response.jl`, and TimeEvolution `ODEProblem`) now go through
`Symbolics.substitute(...; fold=Val{true}())` plus `Symbolics.value` (or
`SymbolicUtils.unwrap_const`) to return concrete `Float64`s.

A `[sources]` block points test sandboxes at the local HarmonicBalance and
QuestBase clones so the upgrade can be validated end to end without
registering the bumped versions first.
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.

1 participant