Skip to content

Commit abc1438

Browse files
committed
docs: add changelog and breaking-changes note for ControlDependence trait family
1 parent 9864b65 commit abc1438

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

BREAKINGS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ This document outlines all breaking changes introduced in CTBase v0.18.0-beta co
2626
- `NotStored` / `NotStoredType` are unchanged and remain extraction-internal to
2727
`CTBase.Options` (the defining file was renamed `not_provided.jl``not_stored.jl`).
2828

29+
## Non-breaking note (0.25.0-beta)
30+
31+
- **Traits**: New `ControlDependence` family added for encoding control presence in optimal control problems
32+
- **New trait family**: `ControlDependence` with tags `ControlFree` and `WithControl`
33+
- **Opt-in contract**: types implement `has_control_dependence_trait` and `control_dependence`
34+
- **Derived predicates**: `is_control_free(obj)` and `has_control(obj)`
35+
- **Internal refactoring**: shared helpers for strict-contract error handling reduce duplication
36+
- **No breaking changes**: Purely additive. Existing code unaffected. New trait enables dispatch in downstream packages (CTModels, CTFlows).
37+
2938
## Non-breaking note (0.24.0-beta)
3039

3140
- **Differentiation module**: Added comprehensive AD backend infrastructure for computing gradients

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## Unreleased (0.25.0-beta)
6+
7+
### Added
8+
9+
- **Traits**: New `ControlDependence` trait family for encoding control presence in optimal control problems
10+
- Tags: `ControlFree` (no control) and `WithControl` (with control input)
11+
- Opt-in contract: implement `has_control_dependence_trait` and `control_dependence`
12+
- Derived predicates: `is_control_free` and `has_control`
13+
- Enables downstream dispatch in CTFlows and CTModels for control-problem routing
14+
15+
### Changed
16+
17+
- **Traits**: Refactored strict-contract machinery to eliminate duplication
18+
- New internal helpers: `_throw_missing_trait` and `_throw_trait_not_implemented`
19+
- Generalised `_caller_function_name` stacktrace filter for any `has_<family>_trait` predicate
20+
- All strictfamilies (time-dependence, variable-dependence, mutability, control-dependence) now share the same error handling
21+
- Collapsed `has_variable` duplicate to direct alias of `is_variable`
22+
23+
- **Documentation**: Updated Traits guide to document the two trait templates (strict opt-in vs default-valued capability)
24+
25+
### Fixed
26+
27+
- **Traits**: API reference now includes `control_dependence.jl` in auto-generated documentation
28+
29+
---
30+
31+
## Previous versions
32+
33+
See git history and release notes for earlier versions.

0 commit comments

Comments
 (0)