2.0.0 - 2025-03-29¶
Next: 2.0.1 → | 📋 All Releases | 🏷️ GitHub Release
Summary: 💥 MAJOR RELEASE - Complete framework migration from Pyomo to Linopy with redesigned architecture.
✨ Added¶
Model Capabilities: - Full model serialization support - save and restore unsolved Models - Enhanced model documentation with YAML export containing human-readable mathematical formulations - Extend flixopt models with native linopy language support - Full Model Export/Import capabilities via linopy.Model
Results & Data: - Unified solution exploration through Calculation.results attribute - Compression support for result files - to_netcdf/from_netcdf methods for FlowSystem and core components - xarray integration for TimeSeries with improved datatypes support
💥 Breaking Changes¶
Framework Migration: - Optimization Engine: Complete migration from Pyomo to Linopy optimization framework - Package Import: Framework renamed from flixOpt to flixopt (import flixopt as fx) - Data Architecture: Redesigned data handling to rely on xarray.Dataset throughout the package - Results System: Results handling completely redesigned with new CalculationResults class
Variable Structure: - Restructured the modeling of the On/Off state of Flows or Components - Variable renaming: ...|consecutive_on_hours → ...|ConsecutiveOn|hours - Variable renaming: ...|consecutive_off_hours → ...|ConsecutiveOff|hours - Constraint renaming: ...|consecutive_on_hours_con1 → ...|ConsecutiveOn|con1 - Similar pattern for all consecutive on/off constraints
🔥 Removed¶
- Pyomo dependency (replaced by linopy)
- Period concepts in time management (simplified to timesteps)
🐛 Fixed¶
- Improved infeasible model detection and reporting
- Enhanced time series management and serialization
- Reduced file size through improved compression
📝 Docs¶
- Google Style Docstrings throughout the codebase