Skip to content

Fix LinearAlgebra compat pin (stdlib version tracks Julia); bump to 0.3.4 - #15

Merged
kalidke merged 1 commit into
mainfrom
fix/linearalgebra-compat
Sep 6, 2026
Merged

kalidke merged 1 commit into
mainfrom
fix/linearalgebra-compat

Conversation

@kalidke

@kalidke kalidke commented Sep 6, 2026

Copy link
Copy Markdown
Member

Problem

[compat] had LinearAlgebra = "1.12.0" alongside julia = "1.6". LinearAlgebra is a standard library whose version tracks the Julia release it ships with, so Pkg reads that entry as LinearAlgebra >= 1.12.0, < 2, which only the Julia 1.12 stdlib satisfies. The pin therefore silently meant "Julia >= 1.12": versions 0.3.0–0.3.3 cannot be installed on Julia 1.10 or 1.11. SMLMAnalysis's Julia 1.10 CI job fails at resolve with Unsatisfiable requirements detected for package LinearAlgebra.

The package's only use of LinearAlgebra is using LinearAlgebra in src/SMLMFrameConnection.jl for a backslash solve, available since Julia 1.0.

Fix

  • LinearAlgebra = "1.12.0" → LinearAlgebra = "1" in [compat] (matches every 1.x stdlib)
  • Version bump 0.3.3 → 0.3.4 (patch release)

No source changes.

Tests

Full Pkg.test() run on both Julia versions with this branch checked out.

Julia Pass Total Result
1.10.11 224 224 passed
1.12.6 224 224 passed

On 1.10 the package resolved cleanly in a fresh environment (SMLMData v0.7.0, Optim v2.3.1, Hungarian v0.7.0, NearestNeighbors v0.4.29, StatsBase v0.34.13), confirming the compat fix removes the resolve failure.

Do not merge or register from this PR without review. This is item B1 of SMLMAnalysis's registration-readiness review; once 0.3.4 is registered, SMLMAnalysis will pin SMLMFrameConnection = "0.3.4".

🤖 Generated with Claude Code

LinearAlgebra is a standard library, so its version number tracks the
Julia version it ships with rather than an independent release cycle. The
previous [compat] entry `LinearAlgebra = "1.12.0"` therefore did not mean
"any LinearAlgebra 1.x" as intended: Pkg reads it as "LinearAlgebra
>= 1.12.0, < 2", which only the Julia 1.12 stdlib satisfies. Versions
0.3.0-0.3.3 were thus uninstallable on Julia 1.10 and 1.11 despite the
declared `julia = "1.6"` lower bound (downstream resolve failed with
"Unsatisfiable requirements detected for package LinearAlgebra"). The
package's only use of LinearAlgebra is the backslash solve, available
since Julia 1.0, so the entry is loosened to `"1"`, which matches every
1.x stdlib. Version bumped 0.3.3 -> 0.3.4 as a patch release.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kalidke
kalidke merged commit ff6994b into main Sep 6, 2026
6 checks passed
@kalidke
kalidke deleted the fix/linearalgebra-compat branch September 6, 2026 15:15
kalidke added a commit that referenced this pull request Sep 6, 2026
…loor in CI (#16)

Completes the compat cleanup started in #15. The declared `julia = "1.6"`
lower bound was never achievable: SMLMData 0.7 requires Julia >= 1.9, and
the current releases of Optim 2.x, NearestNeighbors 0.4.26+, and StatsBase
0.34.5+ all require Julia >= 1.10. Julia 1.9 would only resolve against
years-old dependency releases that have never been tested here, so the
floor is set to 1.10 (the current LTS, and the version SMLMAnalysis pins
and tests). Because no released 0.3.x ever installed below Julia 1.12,
raising the floor drops no working configuration, so the version stays at
the unregistered 0.3.4.

Statistics gets an explicit `"1"` compat entry so a future breaking
Statistics 2 cannot be picked up silently (it is an upgradable stdlib on
Julia 1.11+). AutoMerge exempts stdlibs, so this is hygiene rather than a
registration requirement.

CI now runs the 1.10 floor alongside `1` and `nightly`, so the declared
lower bound is an exercised claim rather than an aspiration. The untested
floor is what let the LinearAlgebra pin survive four releases.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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