Skip to content

Julia 1.13: KiteControllers.jl - #68

Closed
1-Bort-1 wants to merge 2 commits into
mainfrom
agent/67-julia-1-13-kitecontrollers-jl
Closed

1-Bort-1 wants to merge 2 commits into
mainfrom
agent/67-julia-1-13-kitecontrollers-jl

Conversation

@1-Bort-1

Copy link
Copy Markdown
Member

TL;DR

KiteControllers.jl tests Julia 1.12 and 1.13 instead of 1.11 and 1.12, and tracks a default manifest resolved under 1.13 in place of the one resolved under 1.11. The bin/ scripts move with it and stop setting the machine-wide juliaup default, which AGENTS.md §2 says no repo script may do.

What this repo had, of the shared procedure

All five steps, and the scripts were the bulk of it.

Matrix. CI.yml named '1.11' and '1.12'; Docs.yml is on '1' and stays. The cache step carried if: runner.os != 'Windows' || matrix.version != '1.11' — a workaround for one cell that no longer exists, so with the new matrix the condition is true everywhere and the line is gone.

Compat. julia = "1.11, 1.12" in the root Project.toml and the same entry in docs/Project.toml, both now "1.11, 1.12, 1.13" — the same range, with 1.13 named. Three more entries enumerate the same Julia minors and moved with them: Pkg and Printf in the root, Test in test/Project.toml. Those three were not required for the resolve, and I checked rather than assumed: a throwaway project pinning Pkg = "1.10, 1.11, 1.12" still resolves Pkg v1.13.0 under Julia 1.13, because Pkg does not apply compat bounds to bundled stdlibs. They are in the diff only so the lines do not read as stale.

Manifests. The minimal resolve of AGENTS.md §2, seeded from Manifest-v1.12.toml.default in a session on 1.13, moved stdlibs and JLLs and nothing else — Pkg 1.12.1 → 1.13.0, SHA, LibCURL, SparseArrays, LinearAlgebra, CompilerSupportLibraries_jll, MozillaCACerts_jll and friends — with project_hash unchanged. Most of the manifest's +822/−285 is not that: manifest_format goes 2.0 → 2.1, which writes a registries = "General" line under every dependency.

Scripts. bin/install loses 51 lines. Its interactive selector offers 1.12 and 1.13; the whole Julia-1.11 arm of the sub-project instantiation is gone; and the per-version manifest copy collapses to Manifest-v${julia_major}.toml.default now that both supported minors have a tracked default. bin/create_sys_image replaced its juliaup add/juliaup default 1.11 fallback with the same refusal bin/install gives. bin/update_default_manifest lost its 1.10 and 1.11 branches the same way. bin/autopilot picked thread flags per minor — 1.13 gets -t 1,0, the 1.12 spelling, rather than falling through to the default. .github/copilot-instructions.md named the two versions and the two manifests; .gitignore needed the 1.13 live manifest and install stamp.

One find rode along in .gitignore, since the diff had it open anyway: it ignored examples/LocalPreferences.toml but not the root one, which Julia writes whenever a preference is set. KiteUtils.jl, KiteModels.jl, SymbolicAWEModels.jl and VortexStepMethod.jl all ignore it unqualified, so this one now does too, and the examples/ line is redundant and gone.

Where a script used to run juliaup default it now exports JULIAUP_CHANNEL for its own process, which selects the channel without touching the box.

What went with the 1.11 arm, and what did not

The deleted 1.11 arm of bin/install carried a Linux-only check that warned when MakieControlPlots failed to load; the 1.12 arm never had it. It is not replaced, because the surviving path ends in julia --project=examples -e 'using KiteControllers, KiteViewers, MakieControlPlots, NOMAD', which fails the install outright rather than warning.

Where I would push back

CI.yml still carries fail-fast: false, which the gate calls a cleanup: PR of its own — the plan says explicitly not to fold it in here, so I did not.

Two things in bin/install are the same class of rule-break as the juliaup default this PR removes, and are not this PR's idea: it appends alias jl='bin/run_julia' to ~/.bashrc, and it Pkg.adds Revise into the shared global environment. Both are AGENTS.md §2 "nothing outside the repo". Worth a follow-up.

The docs build warns that KiteControllers.get_depower is in no manual page. warnonly = true in docs/make.jl keeps the build green, so the gate's "make.jl errors on undocumented exports" does not bite here. Pre-existing, not touched.

Verification

  • Reproduced first: n/a — a version bump, with nothing failing to reproduce. The one thing I did check before changing it is the stdlib-compat claim above.
  • test/runtests.jl under Julia 1.13.0, in the worktree's juliaserver session: Testing KiteControllers... | 232 Pass | 232 Total | 37.8s
  • Root project resolve + instantiate + precompile clean under 1.13 (31 deps precompiled); using KiteControllers in 2.1 s. test/ instantiates (130 deps precompiled, KiteViewers and MakieControlPlots included).
  • Docs build clean under 1.13 · GitHub CI: starts with this pull request — CI.yml and Docs.yml trigger on pull_request, not on a branch push, so the push alone produced no run
  • REUSE lint: not run — this repo has no bin/reuse_lint
  • Benchmark: n/a
  • Risk: the Windows cells. Nothing here was run on Windows, and the deleted cache if: was a Windows-only exclusion; if the 1.13 Windows cell is slow or flaky on the cache, that line is where to look.

Scope

+902 / −429 across 12 files, of which Manifest-v1.11.toml.default → Manifest-v1.13.toml.default is +822 / −285 and mostly the 2.0 → 2.1 format change. The hand-written part is +80 / −144 across 11 files. Unit kitecontrollers of plans/julia-1-13.md, 1-Bart-1/Agents#282; no stack — nothing open touches these files.

Closes #67 · task KiteControllers.jl-67

1-Bort-1 and others added 2 commits September 12, 2026 16:09
CI's matrix moves from 1.11/1.12 to 1.12/1.13 and the tracked default
manifest resolved under 1.11 is replaced by one resolved under 1.13.
bin/install, bin/create_sys_image and bin/update_default_manifest offer
and accept the same pair, and no longer move the machine-wide juliaup
default: they export JULIAUP_CHANNEL for their own run instead.

Unit `kitecontrollers` of plans/julia-1-13.md, 1-Bart-1/Agents#282.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014iySjM4uf9zc95zhvzTzCo
The root one was tracked-visible while examples/ was ignored; every
sibling repo in the fleet ignores it unqualified.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHQftAA8Y698UFeyRNcy7F
@1-Bort-1 1-Bort-1 added agent:running Agent task state agent:ci Agent task state and removed agent:running Agent task state labels Sep 12, 2026
@1-Bort-1

Copy link
Copy Markdown
Member Author

Local full suite: PASS (3 min, Julia 1.12.7, one cell of the matrix)

@1-Bort-1 1-Bort-1 added agent:review Agent task state and removed agent:ci Agent task state labels Sep 12, 2026
@1-Bort-1

Copy link
Copy Markdown
Member Author

Closing: Bart has taken this repo out of the Julia 1.13 plan (1-Bart-1/Agents#282) because @ufechner7 moves it to 1.13 himself. The branch stays in case any of it is useful.

@1-Bort-1 1-Bort-1 closed this Sep 16, 2026
@1-Bort-1 1-Bort-1 added agent:done Agent task state and removed agent:review Agent task state labels Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:done Agent task state

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Julia 1.13: KiteControllers.jl

1 participant