Skip to content

Support DomainSets 0.8 (compat bumps; isolates DiffEq8 breakage)#565

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:claude/domainsets-0.8
Jun 4, 2026
Merged

Support DomainSets 0.8 (compat bumps; isolates DiffEq8 breakage)#565
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:claude/domainsets-0.8

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

This PR builds on the dependabot bump #564 (DomainSets 0.7 -> 0.8 + DifferentialEquations bump) and makes the changes needed to resolve the DomainSets 0.8 part of that group. It is branched off the dependabot branch, so it includes the dependabot compat bump.

Root cause of the #564 resolution failure

CI on #564 fails to even resolve:

ERROR: Unsatisfiable requirements detected for package PDEBase [a7812802]:
 └─restricted by compatibility requirements with DomainSets [5b8099bc] to versions: uninstalled
caused by: empty intersection between DomainSets@0.7.18 and project compatibility 0.8

MethodOfLines now requires DomainSets 0.8, but two of its (transitive) dependencies still pinned DomainSets to 0.7:

  1. PDEBase (DomainSets = "0.7")
  2. ModelingToolkitBase (the backend of ModelingToolkit 11; DomainSets = "0.6, 0.7")

Nothing can resolve until both admit 0.8. (Symbolics already supports DomainSets 0.8 since 7.18.1.)

Companion PRs (must merge + be released first)

This MoL PR cannot pass CI until PDEBase 0.1.25 and a ModelingToolkitBase with DomainSets 0.8 support are registered.

DomainSets 0.8 breaking changes vs. MethodOfLines usage

DomainSets v0.8.0 (DomainSets.jl#178): removed an old × type piracy (so DomainSets.× and LinearAlgebra.× differ) and unexported some internals now living in FunctionMaps.jl.

MethodOfLines only uses DomainSets through qualified, still-exported names — DomainSets.infimum, DomainSets.supremum, DomainSets.ClosedInterval, and Interval (re-exported via PDEBase). There is no bare × and no unexported-internal usage, so no MethodOfLines source changes are required. Verified against DomainSets 0.8.0:

DomainSets version: 0.8.0
infimum          defined=true exported=true
supremum         defined=true exported=true
Interval         defined=true exported=true
ClosedInterval   defined=true exported=true

Changes in this PR

  • Project.toml: DomainSets = "0.7, 0.8" (from the dependabot commit), bump PDEBase lower bound 0.1.20 -> 0.1.25, version 0.11.12 -> 0.11.13.

Local verification (Julia 1.11, DomainSets 0.8.0)

With the companion PDEBase/ModelingToolkitBase branches developed in, the environment resolves to DomainSets 0.8.0 and the full SciML stack precompiles cleanly. Resolved versions: DomainSets 0.8.0, Symbolics 7.26.0, ModelingToolkitBase 1.42.2, PDEBase 0.1.25.

Components group — all pass under DomainSets 0.8.0:

Test Summary:                                  | Pass  Broken  Total
MOLFiniteDifference Utils                      |   38       4     42
Discretization of space and grid types        |    8              8
Variable PDE mapping and interior construction |    9              9
Fornberg                                       |    9              9
ODEFunction                                    |    (constructs cleanly, no @test asserts)
Staggered constructors                         |    3              3
Discrete Callbacks                             |    1              1

(The "Discretization of space and grid types" set is the one that does using DomainSets and builds domains directly — it exercises DomainSets 0.8 most directly and passes.)

1D Linear Diffusion group — 99 pass, 6 errored:

Test Summary:        | Pass  Error  Total
1D Linear Diffusion  |   99      6    105

The 6 errors are NOT caused by DomainSets 0.8. They are caused by the other major-version bumps that the same dependabot group drags in (DifferentialEquations 7 -> 8, which pulls OrdinaryDiffEq 7.0.0, SciMLBase 3.17, RecursiveArrayTools 4.3):

  • Tests 05/06/07: UndefVarError: Rodas4 not definedusing OrdinaryDiffEq no longer re-exports Rodas4 in OrdinaryDiffEq 7 (the hint says import OrdinaryDiffEqRosenbrock).
  • Tests 10/12/13: MethodError: no method matching size(::Pair{Symbolics.Num, Matrix{Float64}}, ::Int64) inside RecursiveArrayTools.length(::PDETimeSeriesSolution) — a SciMLBase 3 / RecursiveArrayTools 4 change to solution length/size.

Evidence these are independent of DomainSets:

  • The same 6 errors reproduce with DomainSets pinned to 0.7 (same OrdinaryDiffEq 7 / SciMLBase 3 / RAT 4 stack) — see below.
  • MethodOfLines master CI is already red on the same Tests (1, Diffusion) / Tests (1, Integrals) jobs (2026-06-03), independent of this PR.

Controlled comparison — same environment (OrdinaryDiffEq 7.0.0, SciMLBase 3.17.0, RecursiveArrayTools 4.3.0, Symbolics 7.26.0), only DomainSets differs:

DomainSets 0.8.0:  1D Linear Diffusion | 99 pass, 6 error  (3x Rodas4 UndefVarError, 3x size(::Pair) MethodError)
DomainSets 0.7.18: 1D Linear Diffusion | 99 pass, 6 error  (3x Rodas4 UndefVarError, 3x size(::Pair) MethodError)

The pass/error counts and the exact error messages are identical whether DomainSets is 0.8.0 or 0.7.18 — proving the failures are unrelated to DomainSets.

Integrals group — passes under DomainSets 0.8.0 (this group constructs integral domains with DomainSets.ClosedInterval, so it exercises DomainSets 0.8 directly):

Test Summary:              | Pass  Broken  Total
Integrals (DomainSets 0.8) |    2       2      4

Scope note

This PR fixes only the DomainSets 0.8 blocker. The OrdinaryDiffEq 7 / SciMLBase 3 / RecursiveArrayTools 4 breakages introduced by the DifferentialEquations 8 bump in the same dependabot group are a separate, larger piece of work (they need MethodOfLines source/test updates for the new solver export layout and the new PDETimeSeriesSolution length/size semantics) and are intentionally not addressed here. They should be handled in their own PR; consider splitting #564 so the DomainSets bump can land independently of the DifferentialEquations 8 bump.

🤖 Generated with Claude Code

dependabot Bot and others added 2 commits June 4, 2026 08:37
Updates the requirements on [DomainSets](https://github.com/JuliaApproximation/DomainSets.jl) and [DifferentialEquations](https://github.com/SciML/DifferentialEquations.jl) to permit the latest version.

Updates `DomainSets` to 0.8.0
- [Release notes](https://github.com/JuliaApproximation/DomainSets.jl/releases)
- [Commits](JuliaApproximation/DomainSets.jl@v0.7.0...v0.8.0)

Updates `DomainSets` to 0.8.0
- [Release notes](https://github.com/JuliaApproximation/DomainSets.jl/releases)
- [Commits](JuliaApproximation/DomainSets.jl@v0.7.0...v0.8.0)

Updates `DifferentialEquations` to 8.0.0
- [Release notes](https://github.com/SciML/DifferentialEquations.jl/releases)
- [Changelog](https://github.com/SciML/DifferentialEquations.jl/blob/master/NEWS.md)
- [Commits](SciML/DifferentialEquations.jl@v7.0.0...v8.0.0)

---
updated-dependencies:
- dependency-name: DomainSets
  dependency-version: 0.8.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DomainSets
  dependency-version: 0.8.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DifferentialEquations
  dependency-version: 8.0.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
The dependabot bump (SciML#564) widened DomainSets to `0.7, 0.8`, but the
package could not resolve because PDEBase (and ModelingToolkitBase) still
pinned DomainSets to 0.7. Bump the PDEBase lower bound to 0.1.25, the
release that admits DomainSets 0.8. MethodOfLines's own source needs no
changes: all DomainSets usage is via qualified, still-exported names
(`DomainSets.infimum`, `DomainSets.supremum`, `DomainSets.ClosedInterval`,
and `Interval`), none of which are affected by the 0.8 breaking changes.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 4, 2026 10:51
@ChrisRackauckas ChrisRackauckas merged commit fe19454 into SciML:master Jun 4, 2026
3 of 59 checks passed
ChrisRackauckas added a commit that referenced this pull request Jun 4, 2026
…ffeq-7-sciml-3

Fix for OrdinaryDiffEq 7 / SciMLBase 3 / RecursiveArrayTools 4 (complements #565)
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.

2 participants