Skip to content

build: restore Julia 1.10 LTS support - #148

Merged
oameye merged 2 commits into
mainfrom
restore-lts
Jul 26, 2026
Merged

build: restore Julia 1.10 LTS support#148
oameye merged 2 commits into
mainfrom
restore-lts

Conversation

@oameye

@oameye oameye commented Jul 26, 2026

Copy link
Copy Markdown
Member

Lowers julia compat back to "1.10" (also in docs/Project.toml) and bumps the version to 0.5.2. Every dependency still declares julia = "1.10.0 - 1", and the full test suite passes on 1.10.11 locally.

Two problems that only the 1.10 job surfaces are fixed here as well:

  • unwrap is owned by SymbolicUtils but was imported from Symbolics and accessed as Symbolics.unwrap in six places. Base.which resolves the owner differently on 1.10, so check_all_explicit_imports_via_owners and check_all_qualified_accesses_via_owners both fail there.
  • get_variables(::Result) repeated the ::Vector{Num} return annotation that the HomotopyContinuationProblem method already declares. That extra convert is one JET cannot prove away on 1.10. Base.return_types gives Vector{Num} either way, so nothing changes at runtime. Worth noting that test/code_quality.jl gates the JET testset on VERSION < v\"1.12.0-beta\", so JET has not run in CI at all since the matrix went 1.12-only.

The lts entry in the CI matrix is deliberately not restored yet: test/runtests.jl loads HarmonicBalance, and no registered HarmonicBalance version supports 1.10 until 0.17.1 is out. It follows in a separate PR.

oameye added 2 commits July 26, 2026 10:04
HarmonicBalance 0.17.0 is registered, so the [sources] pin to the
now-deleted source branch is no longer needed.
Lower the julia compat back to 1.10. All dependencies still support it
and the full test suite passes there.

Two things that only the 1.10 job catches are fixed alongside:

  - `unwrap` is owned by SymbolicUtils but was imported from, and
    accessed through, Symbolics. `Base.which` resolves the owner
    differently on 1.10, so ExplicitImports rejects it there.
  - `get_variables(::Result)` repeated the `::Vector{Num}` return
    annotation already declared on the `HomotopyContinuationProblem`
    method. The redundant `convert` is one JET cannot prove away on
    1.10, and inference gives `Vector{Num}` without it.

The lts entry in the CI matrix comes back once HarmonicBalance 0.17.1
is registered, since no released HarmonicBalance supports 1.10 yet.
@oameye
oameye merged commit e91b07a into main Jul 26, 2026
7 checks passed
@oameye
oameye deleted the restore-lts branch July 26, 2026 09:16
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