This release provides support for Python 3.12 and 3.13, Casadi 3.7, and Highs 1.10. It also introduces new simulation and optimization features, enhanced export capabilities, and several performance and security improvements.
Features
- Casadi 3.7.0 Support: Updated dependency to Casadi 3.7.0, ensuring compatibility with the latest optimization features by @jarsarasty in #1678
- Knitro Exit Flags: Added support for Knitro exit flags, improving diagnostics for optimization runs by @FaridAlavi and @jarsarasty in #1659
- Python 3.12 & 3.13: Now supports Python versions 3.12 and 3.13 by @SGeeversAtVortech in #1644
- GoalProgrammingMixin Improvement: Added an option to skip a priority in optimization goals, making the feature more flexible by @jbentvelsen and @Ailbhemit in #495
- Interpolation Enhancements: The B-spline fit method now accepts IPOPT options for greater control during interpolation by @jarsarasty in #491
- PI Timeseries Export: Enabled exporting a pi.Timeseries object to a specified file, enhancing data output flexibility by @SGeeversAtVortech in #489
- Pymoca Compatibility: The tool now accepts newer pymoca 0.9.* releases, broadening compatibility by @jbaayen in #481
- Simulation Export Units: Users can now set the unit of measurement when exporting timeseries from the Simulation PIMixin by @jbentvelsen in #484
Fixes / Improvements
- Optimization Inheritance: Improved suggested class inheritance for optimization problems by @SGeeversAtVortech in #1682
- Warning Handling: Simulation warnings are now only logged when appropriate (e.g., not for default values). @Ailbhemit in #1669
- App Fix: Corrected the copy_libraries method in the app by @SGeeversAtVortech in #1685
- Examples Download Script: Fixed the rtc-tools-download-examples script by @jackvreeken in #1689
- Performance: Avoid unnecessary function calls (e.g., self.bounds(), constant_inputs()) by @jackvreeken in #1675 and #1673
- Ensemble Handling: Fixed debug check scaling for ensembles by @jackvreeken in #1672
- Simulation fixes: Improved checks on missing values by @jbentvelsen in #484 and initialization handling for Simulation by @SGeeversAtVortech in #1647 and https://gitlab.com/deltares/rtc-tools/-/merge_requests/484
- PI Module: Fixed writing of missing values by @jbentvelsen in #494
- Dependency Cleanup: Removed deprecated pkg_resources dependency by @jackvreeken in #1651
- Security improvements by @jbentvelsen in #478:
- XML parsing now uses defused-xml to reduce XXE attack risk.
- Pickle caching replaced with safer alternatives to avoid deserialization vulnerabilities.
- Casadi Helpers: Fixed a bug in is_affine by @SGeeversAtVortech in #1658
- Residual Function Expansion: Fixed expansion logic in CollocatedIntegratedOptimizationProblem by @SGeeversAtVortech in #1657
- Modelica Examples: Updated examples for Modelica Standard Library 4 compatibility by @jbentvelsen in #490
- Pymoca cache: Update reading pymoca cache files to prevent errors when the pymoca cache file was generated
in a different environment by @SGeeversAtVortech in #483 - Multiple updates for the repository migration from Gitlab to Github.
Full Changelog: 2.6.1...2.7.0