@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 0.8.1-beta] - 2026-02-10
9+
10+ ### Changed
11+
12+ - ** Project Configuration** : Updated GitHub workflows to use CTActions shared workflows
13+ - Coverage workflow now uses ` control-toolbox/CTActions/.github/workflows/coverage.yml@main `
14+ - Documentation workflow now uses ` control-toolbox/CTActions/.github/workflows/documentation.yml@main `
15+ - Improved consistency with other Control Toolbox projects
16+
17+ - ** Repository Management** : Enhanced .gitignore configuration
18+ - Added ` .agent/ ` , ` .windsurf/ ` , and ` .reports/ ` directories to gitignore
19+ - Cleaned up Git history by removing previously tracked temporary directories
20+ - Better separation between source code and development artifacts
21+
22+ ### Fixed
23+
24+ - Removed development artifacts from Git tracking while preserving local files
25+ - Improved repository hygiene and reduced noise in version control
26+
827## [ 0.8.0-beta] - 2026-02-04
928
1029### Breaking
@@ -53,48 +72,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5372
5473## [ Unreleased]
5574
56- ### Added
57-
58- - ** Defensive Validation System** : Comprehensive validation infrastructure for OCP components
59- - New ` name_validation.jl ` module with helper functions (` __collect_used_names ` , ` __has_name_conflict ` , ` __validate_name_uniqueness ` )
60- - Global uniqueness validation for component names across state, control, variable, and time
61- - Inter-component name conflict detection (e.g., state component name vs control name)
62- - Special handling for scalar components (dim=1) where name == component is allowed
63- - Support for empty variables (q=0) without name conflicts
64-
65- - ** Component Validations** : Enhanced input validation for all OCP components
66- - ` state! ` : Name uniqueness validation with inter-component conflict checks
67- - ` control! ` : Name uniqueness validation with inter-component conflict checks
68- - ` variable! ` : Name uniqueness validation with inter-component conflict checks (supports q=0)
69- - ` time! ` : Name uniqueness validation and ` t0 < tf ` bounds validation
70- - ` objective! ` : Case-insensitive criterion validation (accepts ` :min ` , ` :max ` , ` :MIN ` , ` :MAX ` )
71- - ` constraint! ` : Element-wise ` lb ≤ ub ` bounds validation for all constraint types
72-
73- - ** Documentation** : Complete ` # Throws ` sections for all validated functions
74- - Clear documentation of ` CTBase.IncorrectArgument ` exceptions
75- - Clear documentation of ` CTBase.UnauthorizedCall ` exceptions
76- - Detailed error messages for validation failures
77-
78- - ** Test Coverage** : Extensive test suites for validation logic
79- - 323 unit tests for component validations (100% pass rate)
80- - 53 integration tests covering complex scenarios (100% pass rate)
81- - Tests for high-dimensional systems (dim > 3)
82- - Tests for Unicode and special characters in names
83- - Tests for edge cases (infinity bounds, equality constraints, etc.)
84- - Tests for multiple constraint types combined
85- - Type stability tests with ` @inferred ` where applicable
86-
87- ### Changed
88-
89- - ** Objective Criterion** : Now accepts case-insensitive input (` :min ` , ` :max ` , ` :MIN ` , ` :MAX ` )
90- - All criterion values are normalized to lowercase (` :min ` or ` :max ` ) for internal consistency
91- - Maintains backward compatibility with existing code
92-
93- ### Fixed
94-
95- - Eliminated duplicate function definition warnings in ` test_objective.jl `
96- - Improved error messages for name conflicts to be more descriptive and actionable
97-
9875## [ 0.7.1-beta] - 2026-01-22
9976
10077### Added
0 commit comments