Skip to content

Commit 379b945

Browse files
committed
Bump to v0.19.0-beta and document CTModels.Utils integration
- Version bump: 0.18.15-beta → 0.19.0-beta - CHANGELOGS.md: Added comprehensive entry for Interpolation module and Core utilities - BREAKINGS.md: Added non-breaking note documenting no breaking changes
1 parent 9c082d9 commit 379b945

3 files changed

Lines changed: 59 additions & 1 deletion

File tree

BREAKINGS.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
This document outlines all breaking changes introduced in CTBase v0.18.0-beta compared to v0.17.4. Use this guide to migrate your code and understand the impact of these changes.
44

5+
## Non-breaking note (0.19.0-beta)
6+
7+
- **Interpolation module**: Added new `Interpolation` module with interpolation utilities migrated from CTModels.Utils
8+
- `ctinterpolate`: linear interpolation with flat extrapolation
9+
- `ctinterpolate_constant`: piecewise-constant (steppost) interpolation
10+
- `Interpolant{Linear}` and `Interpolant{Constant}` parametric types with type-stable call methods
11+
- Custom `show` methods for interpolant display
12+
- **Core utilities**: Extended `Core` module with utilities from CTModels.Utils
13+
- `matrix2vec`: public utility for matrix-to-vector conversion
14+
- `to_out_of_place`: private utility for out-of-place function transformation
15+
- `@ensure`: private macro for argument validation
16+
- **Documentation**: Updated `docs/api_reference.jl` to include new Interpolation module and Core utilities
17+
- **Tests**: Added comprehensive test suites for interpolation (56 tests), function_utils (18 tests), macros (14 tests), and matrix_utils (26 tests)
18+
- **No breaking changes**: All additions are new public API; existing CTBase API unchanged. No migration required.
19+
520
## Non-breaking note (0.18.15-beta)
621

722
- **Philosophy documentation**: Added comprehensive code philosophy documentation in `dev/philosophy/` covering modules, types/traits, exceptions, docstrings, testing, and documentation standards. No API changes; purely documentation additions.

CHANGELOGS.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,49 @@ All notable changes to CTBase will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.19.0-beta] - 2026-06-11
9+
10+
### ✨ New Features
11+
12+
#### **Interpolation Module**
13+
14+
- **New module**: Added `Interpolation` module with interpolation utilities migrated from CTModels.Utils (issue #445)
15+
- **Linear interpolation**: `ctinterpolate(x, f)` creates a linear interpolant with flat extrapolation beyond bounds
16+
- **Constant interpolation**: `ctinterpolate_constant(x, f)` creates a right-continuous piecewise-constant (steppost) interpolant
17+
- **Typed interpolants**: `Interpolant{Linear}` and `Interpolant{Constant}` parametric types with type-stable call methods
18+
- **Custom display**: Added `show` methods for interpolants showing method type and node count
19+
- **Optimal control support**: Constant interpolation implements standard steppost behavior for control applications
20+
21+
#### **Core Utilities**
22+
23+
- **Matrix utilities**: Extended `Core` module with `matrix2vec` for matrix-to-vector conversion (public)
24+
- **Function utilities**: Added `to_out_of_place` for out-of-place function transformation (private)
25+
- **Validation macro**: Added `@ensure` macro for argument validation (private)
26+
27+
### 📚 Documentation
28+
29+
- **API reference**: Updated `docs/api_reference.jl` to include new Interpolation module with public and private documentation
30+
- **Core documentation**: Extended Core API reference to include matrix_utils, function_utils, and macros
31+
- **Docstrings**: Comprehensive docstrings with `$(TYPEDSIGNATURES)` and julia-repl examples
32+
33+
### 🧪 Testing
34+
35+
- **Interpolation tests**: 56 tests covering linear/constant interpolation, extrapolation, non-uniform grids, vector values, type stability, and display
36+
- **Function utils tests**: 18 tests for `to_out_of_place` function transformation
37+
- **Macro tests**: 14 tests for `@ensure` validation macro
38+
- **Matrix utils tests**: 26 tests for `matrix2vec` and related utilities
39+
- **All tests pass**: 1237/1237 tests pass (45.9s)
40+
41+
### 🏗️ Architecture
42+
43+
- **Modular design**: Split utilities by responsibility (Interpolation module + Core extensions) rather than monolithic Utils module
44+
- **Qualified imports**: All new code follows CTBase convention of qualified imports without top-level exports
45+
- **Type stability**: Interpolant call methods are type-stable with `@inferred` tests
46+
47+
### 🧹 Maintenance
48+
49+
- **Version bump**: Bumped to 0.19.0-beta for feature release.
50+
851
## [0.18.15-beta] - 2026-06-06
952

1053
### 📚 Documentation

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "CTBase"
22
uuid = "54762871-cc72-4466-b8e8-f6c8b58076cd"
3-
version = "0.18.15-beta"
3+
version = "0.19.0-beta"
44
authors = ["Olivier Cots <olivier.cots@irit.fr>", "Jean-Baptiste Caillau <caillau@univ-cotedazur.fr>"]
55

66
[deps]

0 commit comments

Comments
 (0)