Fix LinearAlgebra compat pin (stdlib version tracks Julia); bump to 0.3.4 - #15
Merged
Merged
Conversation
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
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
[compat]hadLinearAlgebra = "1.12.0"alongsidejulia = "1.6". LinearAlgebra is a standard library whose version tracks the Julia release it ships with, so Pkg reads that entry asLinearAlgebra >= 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 withUnsatisfiable requirements detected for package LinearAlgebra.The package's only use of LinearAlgebra is
using LinearAlgebrainsrc/SMLMFrameConnection.jlfor a backslash solve, available since Julia 1.0.Fix
LinearAlgebra = "1.12.0"→LinearAlgebra = "1"in[compat](matches every 1.x stdlib)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.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