Skip to content

Bump SciMLBase compat to v3 and bump version - #57

Merged
ChrisRackauckas merged 2 commits into
mainfrom
scimlbase-v3-compat
Oct 17, 2026
Merged

ChrisRackauckas merged 2 commits into
mainfrom
scimlbase-v3-compat

Conversation

@ChrisRackauckas

@ChrisRackauckas ChrisRackauckas commented Apr 9, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Update SciMLBase compat bounds to include v3 (in main and test/enzyme Project.toml)
  • Bump package version 0.1.6 → 0.2.0 (minor)
  • No code changes needed - package doesn't use deprecated SciMLBase v2 patterns

Supersedes #56

🤖 Generated with Claude Code

Independent review (Codex CLI 0.162.1 gpt-6.1-sol, head 1fa3943)

🤖 Automated review section from an AI agent running as Chris Rackauckas's account — not written or reviewed by Chris.

VERDICT: MERGE
The full diff against the merged main base a06916b contains only the 0.1.19 to 0.2.0 version bump and two corresponding LineSearch compat widenings. No source, API, numerical behavior, tests, or workflows change. No linked issue was supplied or listed in the PR metadata. All 16 supplied checks passed, including Core, LineSearchesJL, QA, Enzyme, downgrade tests, and documentation; there are no failing checks requiring comparison with main. G1 and G3 do not apply; G2 has no changed AD/GPU/tracing/MPI paths, and the existing Enzyme job passed.

  1. No blocking findings. Project.toml:3, docs/Project.toml:9, test/enzyme/Project.toml:23: confirmed by running Julia with Pkg.Types.semver_spec and TOML: all seven assertions passed, verifying version 0.2.0 and that both environment bounds accept 0.1.19 and 0.2.0 while rejecting 0.3.0. The full diff and git diff --check against a06916b also passed inspection. This is release metadata work (L5), not a new SciMLBase migration; main already requires SciMLBase 3.0.
    Not verified: Full test suites, package instantiation, and documentation builds were not rerun locally; their successful status comes from the supplied CI snapshot, not independently downloaded job logs. There is no runtime bug fix or new test requiring a failing-before/passing-after run. Repository tracked files remain unchanged.

🤖 Posted by an AI agent — harness: Codex CLI 0.162.1 · model: gpt-6.1-sol
Conversation: Codex exec session 01a14b6e-97e5-7a42-9e93-1c636873d63a (no public URL)

Codex CLI gpt-6.1-sol rated it low (L5) at head 1fa3943

🤖 Automated comment from an AI agent running as @ChrisRackauckas — not written or reviewed by Chris.

Risk assessment (independent review, Codex gpt-6.1-sol, head 1fa3943)

  • Verdict: MERGE
  • Risk: low (L5: non-breaking version bump and widened environment compat bounds; L1/L3 also cover the docs/test environment metadata).
  • Blast radius: Package release metadata and dependency resolution for docs and Enzyme tests. No changed algorithms, public names, signatures, dependency set, licenses, supported Julia versions, assertions, or shared state. SciMLBase already requires v3 on the default branch; the PR body describes an earlier state.
  • Evidence: Read pr.txt, the full risk.md, linked chore(deps): update SciMLBase requirement from 2.53.1 to 2.53.1, 3.0 in the all-julia-packages group across 1 directory #56 (merged; no linked closing issue), and the complete git diff origin/HEAD...HEAD: three files, three insertions/deletions. git diff --check origin/HEAD...HEAD passed; git status --short was empty. Inspected test groups and workflow commands. Read-only gh pr view 57 --repo SciML/LineSearch.jl --json commits,statusCheckRollup,closingIssuesReferences showed all checks successful, including Core, LineSearchesJL, QA, downgrade, formatting, spelling, docs, and Enzyme. gh run view 39033354831 and gh run view 39033354674 confirmed headSha 1fa3943. Inspected job logs with gh run view ... --job ... --log (cache redirected into scratch): Enzyme developed local LineSearch v0.2.0 and passed 24/24, 12/12, 20/20, and 8/8 assertions on Julia 1.10.12; docs developed local v0.2.0, ran doctests/document checks, and rendered HTML successfully. No failing checks required comparison with the default branch. G1: not applicable (no numerical behavior change). G2: pass (affected Enzyme environment exercised by head CI); GPU/Reactant/MPI not applicable to this diff. G3: not applicable (no shared-state/cache/threading/default change).
  • Merge: merge (no blocking findings).

Findings

None. No new non-public dependency access, public API requiring documentation or a breaking-release decision, skipped/loosened tests, or added copyleft dependency appears in the diff.

What I did not verify

I did not run local Julia tests or rebuild docs: the changed paths are environment resolution, and their successful head-specific CI logs directly exercise them. No new runtime bug fix/test exists to demonstrate failing-before/passing-after. I did not test downstream adoption of 0.2 or rerun GPU/Reactant/MPI paths; none is changed here. The default branch has one newer workflow-only commit beyond the merge base; its concurrency changes are outside this PR's three-dot diff. The checkout was left untouched; no GitHub write calls were made.

Links


🤖 Posted by an AI agent — harness: Codex CLI 0.162.1 · model: gpt-6.1-sol (independent reviewer; appended by Claude Code 2.1.302 · claude-opus-5-5)
Conversation: https://claude.ai/code/session_0133iSjsLBByPU93BDEQkNDF (fleet master); the review ran as a local headless Codex session with no public URL.

ChrisRackauckas and others added 2 commits April 9, 2026 12:04
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Resolve conflicts by keeping the version bump to 0.2.0 while taking
main's SciMLBase = "3.0" compat (main dropped SciMLBase v2 in #93 after
this PR stalled). Widen the LineSearch compat bound in the docs and
enzyme test environments so the dev'd 0.2.0 package satisfies them;
the pinned "0.1.x" bounds were what made the Documentation and Enzyme
checks fail on this PR.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Devin <noreply@cognition.ai>
Agent-Harness: Devin CLI 3000.11.92
Agent-Model: swe-2-max
Agent-Session: local Devin CLI session oss-fix/SciML-LineSearch.jl-57
@ChrisRackauckas

Copy link
Copy Markdown
Member Author

🤖 Automated comment from an AI agent running as @ChrisRackauckas — not written or reviewed by Chris.

This PR had gone stale: it conflicted with main, and its last CI run showed two failing checks — Documentation/build (22s) and Enzyme Tests (lts).

What was wrong

  • Project.toml and test/enzyme/Project.toml conflicted with main, which has moved far ahead (including its own SciMLBase v3 migration — SciMLBase = "3.0" since Raise test-only Zygote compat to 0.7 for SciMLBase 3 #93 — and a version bump to 0.1.19).
  • The version bump to 0.2.0 broke every test environment that pins a LineSearch = "0.1.x" compat bound: Pkg.develop(path=pwd()) + Pkg.instantiate() in docs/ and test/enzyme/ can no longer satisfy LineSearch = "0.1.4" / "0.1" / "0.1.18" when the developed package is version 0.2.0. That is what failed the Documentation and Enzyme checks.

What changed

Merged origin/main into the branch (merge commit 1fa3943), resolving conflicts to:

  • Project.toml: keep version = "0.2.0" (the PR's version bump); take main's SciMLBase = "3.0". Keeping the PR's "2.53.1, 3" would re-widen a bound main deliberately narrowed after the new code started requiring SciMLBase 3.
  • test/enzyme/Project.toml: take main's file (which already has SciMLBase = "2.53.1, 3.17"), widening LineSearch to "0.1.18, 0.2".
  • docs/Project.toml: widen LineSearch to "0.1.18, 0.2" so the docs environment can develop the 0.2.0 package.

Net diff vs main: the version bump 0.1.19 → 0.2.0 plus the two LineSearch compat widenings it requires. SciMLBase v3 compat is delivered via main's bound.

Validation (all run locally, real results)

Check Command Result
Runic julia +release --project=@runic -m Runic --check . exit 0, clean
typos typos . exit 0, clean
Main env julia +1.12 --project=. -e 'using Pkg; Pkg.instantiate()' resolved + precompiled
Docs env julia +1.12 --project=docs -e 'Pkg.develop(path=pwd()); Pkg.instantiate()' resolves LineSearch v0.2.0 (previously broken)
Docs build julia +release --project=docs docs/make.jl exit 0
Enzyme env (lts) julia +lts --project=test/enzyme -e 'Pkg.develop(path=pwd()); Pkg.instantiate()' resolves LineSearch v0.2.0 + SciMLBase v3.58.0 (previously broken)
Enzyme tests (lts) julia +lts --project=test/enzyme test/enzyme/runtests.jl 64/64 pass, exit 0
GROUP=Core GROUP=Core julia +release --project=. -e 'using Pkg; Pkg.test()' 752/752 pass, exit 0
GROUP=QA GROUP=QA julia +release --project=. -e 'using Pkg; Pkg.test()' 51/51 pass, exit 0
GROUP=LineSearchesJL GROUP=LineSearchesJL julia +release --project=. -e 'using Pkg; Pkg.test()' 176/176 pass, exit 0

(JULIA_NUM_THREADS=4 JULIA_NUM_PRECOMPILE_TASKS=4 for the test runs.) Expired CI logs (HTTP 410) meant failures were triaged by reproduction rather than log inspection. No pre-existing failures were left unaddressed: both previously failing checks now pass.


🤖 Posted by an AI agent — harness: Devin CLI 3000.11.92 · model: swe-2-max
Conversation: local Devin CLI session oss-fix/SciML-LineSearch.jl-57

@ChrisRackauckas
ChrisRackauckas merged commit bf191e2 into main Oct 17, 2026
16 checks passed
@ChrisRackauckas
ChrisRackauckas deleted the scimlbase-v3-compat branch October 17, 2026 23:54
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