Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
This is **KiteControllers.jl**, a Julia package providing discrete controllers for kite power systems. It is part of the [Julia Kite Power Tools](https://github.com/aenarete/KiteSimulators.jl) ecosystem.

## Language & Runtime
- All source code is **Julia** (v1.12 or v1.13)
- All source code is **Julia** (v1.12 or v1.13; v1.14 is supported experimentally)
- Package manager is **Pkg.jl** with a workspace layout (`Project.toml`, `examples/`, `test/`)
- The workspace root is the repo root; sub-projects live in `examples/` and `test/`

Expand Down Expand Up @@ -45,7 +45,7 @@ bin/ # Helper scripts (create_sys_image, run_julia, etc.)
- Configuration is loaded from YAML files in `data/`

## Dependency Management
- The workspace uses **version-specific manifests**: `Manifest-v1.12.toml` and `Manifest-v1.13.toml`
- The workspace uses **version-specific manifests**: `Manifest-v1.12.toml`, `Manifest-v1.13.toml` and `Manifest-v1.14.toml`
- Compat bounds in `Project.toml` use the form `"major.minor.patch"` — only bump them when the required version is actually registered in the General registry
- When resolving `ERROR: empty intersection between Package@X and project compatibility Y`, check whether version Y is registered: `julia -e 'using Pkg; Pkg.Registry.update()'`, then inspect registry versions and delete the manifest if it is stale/conflicting (`rm Manifest-v1.12.toml; Pkg.resolve()`)
- If the manifest is stale/conflicting, deleting `Manifest-v1.12.toml` and running `Pkg.resolve()` forces a clean resolution
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 40
# Julia 1.14 is supported experimentally; its failures don't fail the workflow
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
Expand All @@ -28,13 +30,21 @@ jobs:
- windows-latest
arch:
- x64
experimental:
- false
include:
- version: '1.14'
os: ubuntu-latest
arch: x64
experimental: true

steps:
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
include-all-prereleases: ${{ matrix.experimental }}
- name: Remove plotting packages (Linux)
if: runner.os == 'Linux'
run: sed -i '/KiteViewers\|KitePlots\|NativeFileDialog\|Joysticks\|MakieControlPlots\|PyPlot/d' test/Project.toml
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ test/.CondaPkg/
output/jetls_20260620_150810.log
Manifest-v1.13.toml
install_version_1.13.txt
Manifest-v1.14.toml
install_version_1.14.txt
bin/kps-image-1.13.so
*.bak
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## Unreleased
### Added
- experimental support for Julia 1.14 (compat bounds, default manifest, `bin/create_sys_image` and a CI job on Linux that may fail without failing the workflow)

## KiteControllers v0.4.2 - 2026-10-24
### Changed
- the plot functions of the examples (before `examples/plot_functions.jl` and `examples/plot_helpers.jl`) moved to the new local package KitePlots in `lib/KitePlots`, which is part of the system image. Defined in `Main`, they could not be stored in it: the first plot of a log, e.g. with the OK button next to `plot_main` in the autopilot, took about 20 s to compile, mostly for the very large log type. The system image has to be created again with `bin/create_sys_image`
Expand Down
Loading
Loading