Skip to content

Declare Julia floor 1.10, bound Statistics, and test the floor in CI - #16

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

kalidke merged 1 commit into
mainfrom
fix/julia-floor-compat

Conversation

@kalidke

@kalidke kalidke commented Sep 6, 2026

Copy link
Copy Markdown
Member

Problem

Follow-up to #15, completing the compat cleanup so 0.3.4 declares accurate version requirements before registration.

  • julia = "1.6" 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 with this package.
  • Statistics had no compat entry, so a future breaking Statistics 2 could be picked up silently (it is an upgradable stdlib on Julia 1.11+).
  • CI tested only 1 and nightly, so the declared floor was never exercised. That gap is what let the LinearAlgebra = "1.12.0" pin survive four releases.

Fix

  • julia = "1.6" → julia = "1.10" (current LTS; matches what SMLMAnalysis pins and tests)
  • Add Statistics = "1" to [compat]
  • Add '1.10' to the CI matrix alongside '1' and 'nightly'

Version stays at the unregistered 0.3.4: no released 0.3.x ever installed below Julia 1.12, so raising the declared floor drops no working configuration.

Tests

Full Pkg.test() on this branch:

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

Do not register from this PR without review. Once merged, 0.3.4 is ready for JuliaRegistrator; SMLMAnalysis will then pin SMLMFrameConnection = "0.3.4".

🤖 Generated with Claude Code

…loor in CI

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>
@kalidke
kalidke merged commit 969c156 into main Sep 6, 2026
8 checks passed
@kalidke
kalidke deleted the fix/julia-floor-compat branch September 6, 2026 15:52
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