Skip to content

CompatHelper: bump compat for SciMLBase to 3, (keep existing compat)#1134

Open
github-actions[bot] wants to merge 1 commit intomainfrom
compathelper/new_version/2026-04-09-00-42-42-439-02806376912
Open

CompatHelper: bump compat for SciMLBase to 3, (keep existing compat)#1134
github-actions[bot] wants to merge 1 commit intomainfrom
compathelper/new_version/2026-04-09-00-42-42-439-02806376912

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Apr 9, 2026

This pull request changes the compat entry for the SciMLBase package from 2 to 2, 3.
This keeps the compat entries for earlier versions.

Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.

@sloede sloede force-pushed the compathelper/new_version/2026-04-09-00-42-42-439-02806376912 branch from ee3c4ac to ef14ed7 Compare April 9, 2026 00:42
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.71%. Comparing base (2277802) to head (ef14ed7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1134      +/-   ##
==========================================
- Coverage   88.72%   88.71%   -0.02%     
==========================================
  Files         128      128              
  Lines        9745     9745              
==========================================
- Hits         8646     8645       -1     
- Misses       1099     1100       +1     
Flag Coverage Δ
total 88.71% <ø> (-0.02%) ⬇️
unit 66.98% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@svchb svchb added the DONOTMERGE Do not merge PR is not ready label Apr 9, 2026
@svchb
Copy link
Copy Markdown
Collaborator

svchb commented Apr 9, 2026

Looking at the changelog https://github.com/SciML/SciMLBase.jl/releases/tag/v3.0.0 there are several changes that actually require fixing for v3

Test only pass because there is a version conflict with something else and we don't get V3 in the test runs.

@svchb svchb added the breaking changes This change will break the public API and requires a new major release label Apr 9, 2026
@ChrisRackauckas-Claude
Copy link
Copy Markdown

Courtesy note from the SciMLBase v3 ecosystem sweep: this compat bump has a non-trivial v3 surface area to check before merging.

14 u_modified! call sites in src/, with the package importing u_modified! directly from SciMLBase at src/TrixiParticles.jl:26. Hottest sites:

  • src/preprocessing/particle_packing/system.jl:275, :382
  • src/schemes/boundary/open_boundary/system.jl:345
  • src/schemes/fluid/shifting_techniques.jl:514
  • src/callbacks/sorting.jl:97

SciMLBase v3 renamed u_modified!derivative_discontinuity! with an @deprecate shim, so existing calls still work but emit deprecation warnings.

Suggested pattern (matches SciML/DiffEqCallbacks.jl#300):

@static if isdefined(SciMLBase, :derivative_discontinuity!)
    using SciMLBase: derivative_discontinuity!
else
    const derivative_discontinuity! = SciMLBase.u_modified!
end

That replaces the direct using SciMLBase: u_modified! at src/TrixiParticles.jl:26 and lets the file load cleanly under both SciMLBase v2 and v3 without a minimum-version bump. The 14 call sites then just need a find-and-replace from u_modified! to derivative_discontinuity!.

Resolution caveat: CI will currently fail at Pkg.add on any env pulling SciMLBase 3.1 because OrdinaryDiffEq still pins RecursiveArrayTools ≤ 3.54. This will self-resolve once OrdinaryDiffEq bumps.

Other v3 flags in src/test came up clean: no DEProblem refs, no 3-arg ensemble prob_func, no single-int timeseries sol[i] indexing.

cc @ChrisRackauckas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking changes This change will break the public API and requires a new major release DONOTMERGE Do not merge PR is not ready

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants