Skip to content
Merged
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
24 changes: 23 additions & 1 deletion BREAKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,29 @@

This document describes breaking changes in CTModels releases and how to migrate your code.

## [0.19.0-beta] - unreleased
## [0.19.1-beta] - unreleased

### No Breaking Changes

The Makie plotting backend reached feature parity with the Plots backend
([#408](https://github.com/control-toolbox/CTModels.jl/issues/408)):
`Makie.plot!(sol)` / `Makie.plot!(f, sol)` now overlay onto a `Makie.Figure` (they
previously threw `NotImplemented`), a zero-argument `Makie.plot(; kwargs...)`
empty-canvas figure was added, and reference-line decorations and step controls now
render. All additive — no public signature, type or name changed; no migration
required.

`ext/case/plot.jl` was folded into `ext/CTModelsPlots.jl` and the `ext/case/`
directory removed. The `_plot` / `_plot!` plumbing stays in the `CTModelsPlots`
extension module, reachable exactly as before — this is an internal file move only.

#### Compatibility

- The parity backend needs **`CTBase` ≥ 0.30.1-beta** (`CTBaseMakie` with
`render!`, decorations and `seriestype` dispatch). `[compat]` stays
`CTBase = "0.30"`; `0.30.1-beta` is the effective lower bound.

## [0.19.0-beta] - 2026-08-27

### Plotting case-layer helpers moved to `CTModels.PlotCase`

Expand Down
48 changes: 47 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,53 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.19.0-beta] - unreleased
## [0.19.1-beta] - unreleased

### ✨ Added

- **Makie plotting backend — parity with the Plots backend**
([#408](https://github.com/control-toolbox/CTModels.jl/issues/408)). The
`CTModelsMakie` extension now matches `CTModelsPlots` on the full reference
matrix:
- **`Makie.plot!`** — `plot!(f::Makie.Figure, sol, …)` and `plot!(sol, …)` (onto
`Makie.current_figure()`) overlay a solution onto an existing figure. Previously
threw `NotImplemented`.
- **`Makie.plot(; kwargs...)`** — a zero-argument empty-canvas figure mirroring
`Plots.plot(; size=…)`, for the `f = plot(; size=…); plot!(f, sol)` workflow.
- **Reference-line decorations** (box bounds, initial/final-time markers) and
**constant controls drawn as steps** now render on the Makie backend, matching
the Plots output.
- Needs `CTBase` 0.30.1-beta or later for the `CTBaseMakie` parity backend
(`[compat]` stays `CTBase = "0.30"`; 0.30.1-beta is the effective floor).

### 🔧 Fixed

- **`:split` layout: a user `label=` now shows the legend** (via CTBase
0.30.1-beta), on both the Plots and Makie backends, so overlaid solutions can be
told apart. Previously the label was accepted but never displayed.

### ♻️ Internal

- `ext/case/plot.jl` folded into `ext/CTModelsPlots.jl` and the `ext/case/`
directory removed — all four extensions are now flat single files, consistent
with `CTModelsJLD` / `CTModelsJSON`. `Plots.plot(sol)` behaviour, signatures and
defaults are unchanged.

### 📚 Documentation

- The plotting guide's Makie section is now executed `@example`s (including a
`plot!` overlay); `serialization/overview.md`, `model/display.md` and `index.md`
name the Makie backend; `serialization/plotting.md` links the CTBase *Plotting
Engine* guide's "User Attributes: Series vs Axis" section for the per-backend
keyword-argument rules. `CairoMakie` added to the docs build.

### ✅ Compatibility

- **No breaking changes**: `Makie.plot!` methods that previously threw
`NotImplemented` now succeed; nothing is removed or renamed. The internal
helpers listed for 0.19.0-beta keep their `CTModels.PlotCase` location.

## [0.19.0-beta] - 2026-08-27

### ✨ Added

Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "CTModels"
uuid = "34c4fa32-2049-4079-8329-de33c2a22e2d"
version = "0.19.0-beta"
version = "0.19.1-beta"
authors = ["Olivier Cots <olivier.cots@toulouse-inp.fr>"]

[deps]
Expand Down
Loading