@@ -7,6 +7,58 @@ All notable changes to this project will be documented in this file.
77The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
88and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
99
10+ ## [ 0.9.12-beta] - 2026-04-03
11+
12+ ### 🚀 Enhancements
13+
14+ #### Default Component for Multiple Time Grid Solutions
15+
16+ - ** Default time grid access** : ` time_grid(sol) ` now works for ` MultipleTimeGridModel ` without explicit component specification
17+ - ** Sensible default** : When no component is specified, defaults to ` :state ` grid (most commonly used)
18+ - ** Consistent API** : Same ` time_grid(sol) ` syntax works for both unified and multiple time grid solutions
19+ - ** Backward compatibility** : All existing code with explicit component specification continues to work unchanged
20+
21+ #### Improved Developer Experience
22+
23+ - ** Reduced verbosity** : No need to specify ` :state ` component for most common use case
24+ - ** Intuitive behavior** : State trajectory is the natural default for optimal control problems
25+ - ** Cleaner code** : Simplified access to time grids in multi-grid solutions
26+
27+ ### 📊 API Changes
28+
29+ ``` julia
30+ # Before (required component specification)
31+ time_grid (sol_multi, :state ) # Required for MultipleTimeGridModel
32+ time_grid (sol_unified) # Worked for UnifiedTimeGridModel
33+
34+ # After (consistent behavior)
35+ time_grid (sol_multi) # Now works! Defaults to :state
36+ time_grid (sol_multi, :state ) # Still works (explicit)
37+ time_grid (sol_unified) # Still works (unchanged)
38+ ```
39+
40+ ### 🔧 Internal Changes
41+
42+ - ** Default function** : Added ` __time_grid_default_component()::Symbol = :state ` in ` defaults.jl `
43+ - ** Method signature** : Updated ` time_grid ` method for ` MultipleTimeGridModel ` with default parameter
44+ - ** Removed exception** : Eliminated method that threw ` IncorrectArgument ` for missing component
45+ - ** Enhanced tests** : Updated test suites to verify new default behavior
46+
47+ ### 🧪 Testing
48+
49+ - ** Comprehensive coverage** : All existing tests pass with new behavior
50+ - ** Default behavior tests** : Added tests for automatic component selection
51+ - ** Compatibility verification** : Confirmed backward compatibility with explicit specifications
52+ - ** Integration testing** : End-to-end testing of multi-grid workflows
53+
54+ ### 📝 Migration Notes
55+
56+ - ** No breaking changes** : Existing code continues to work unchanged
57+ - ** Optional enhancement** : Can adopt new shorter syntax when convenient
58+ - ** Explicit still supported** : ` time_grid(sol, :component) ` syntax remains fully functional
59+
60+ ---
61+
1062## [ 0.9.11] - 2026-03-31
1163
1264### 🔧 Internal Improvements
0 commit comments