Release Notes
This section documents the version history and changes in PyEPlan releases.
PyEPlan 1.1.4 (Current Version)
Performance Release - DataFrame Optimization & Map Visualization Update
Performance Improvements:
Eliminated DataFrame Fragmentation: Fixed performance warning by replacing df.loc assignments with efficient dictionary-based DataFrame construction
Optimized Memory Usage: Improved pyomo2dfinv, pyomo2dfopr, and pyomo2dfoprm functions for better memory efficiency
Enhanced Data Processing Speed: Reduced DataFrame construction overhead in optimization result extraction
Resolved Performance Warnings: Eliminated pandas PerformanceWarning about DataFrame fragmentation
Technical Improvements:
Efficient DataFrame Construction: Replaced pre-allocation and df.loc assignments with dictionary-based approach
Reduced Memory Fragmentation: Eliminated repeated df.loc assignments that caused performance degradation
Improved Scalability: Better performance for large-scale optimization problems with many variables
Cleaner Code Structure: More readable and maintainable DataFrame construction patterns
Dependency Updates:
Replaced mplleaflet with folium: Updated network visualization from deprecated mplleaflet to actively maintained folium package
Enhanced Interactive Maps: Improved network topology visualization with modern HTML-based interactive maps
Better Browser Compatibility: Network maps now work across all modern browsers without compatibility issues
Updated Documentation: Revised installation guides and dependencies to reflect folium integration
PyEPlan 1.1.0
Production Release - Enhanced Features
New Features:
PVGIS 5.3 API Integration: Updated to latest PVGIS API with support for multiple radiation databases (SARAH2, ERA5, NSRDB)
Enhanced Data Processing: Improved time series clustering with K-means algorithm and better data validation
Unified Optimization Framework: Combined investment and operation planning in single MILP formulation
Comprehensive Battery Modeling: Advanced battery energy storage system (BESS) modeling with state of charge tracking
Network Topology Optimization: Minimum spanning tree algorithm for optimal feeder routing
Multiple Solver Support: Enhanced support for GLPK, CBC, IPOPT, Gurobi, and other Pyomo-compatible solvers
Enhancements:
Improved API Structure: Clean module organization with datsys, rousys, and inosys classes
Better Error Handling: Comprehensive validation for input data and API communication
Enhanced Documentation: Complete API reference and usage examples
Geographic Data Processing: Haversine distance calculations and timezone detection
Flexible Optimization Modes: Investment-only, operation-only, and combined modes
Structured Results: Pandas DataFrame outputs for easy analysis and visualization
Technical Improvements:
Memory Optimization: Efficient data structures and sparse matrix handling
Numerical Stability: Improved convergence for large-scale optimization problems
Code Quality: Enhanced code documentation and type hints
Modular Design: Clean separation of concerns between data processing, routing, and optimization
PyEPlan 1.0.0 (12 Jul 2024)
Major Release - Production Ready
New Features:
Complete rewrite of core optimization engine for improved performance
Enhanced data processing with support for multiple weather data sources
Advanced clustering algorithms for representative day selection
Comprehensive API documentation and examples
Improved error handling and validation
Support for both on-grid and off-grid microgrid configurations
Integration with multiple optimization solvers (Gurobi, CPLEX, GLPK, CBC)
Enhancements:
Better memory management for large-scale problems
Enhanced visualization capabilities with interactive plots
Improved network routing algorithms
More accurate financial modeling and cost analysis
Better handling of renewable energy uncertainty
Enhanced user interface and documentation
Bug Fixes:
Fixed convergence issues in large optimization problems
Corrected timezone handling in weather data extraction
Improved numerical stability in clustering algorithms
Fixed memory leaks in long-running simulations
Breaking Changes:
Updated API for better consistency and usability
Changed default solver parameters for improved performance
Modified input file formats for better standardization
PyEPlan 0.5 (18 Oct 2023)
Minor Release
Bug Fixes:
Fixed various issues and made it compatible with Python >v3.11
Improved package compatibility and installation
Enhanced error handling for newer Python versions
PyEPlan 0.4 (14 Nov 2022)
Minor Release
Features:
Enhanced data processing capabilities
Improved optimization algorithms
Better documentation and examples
Enhanced error handling and validation
PyEPlan 0.3 (14 Feb 2022)
Patch Release
Bug Fixes:
Updated __init__.py for better package structure
Fixed import issues and module organization
Improved package distribution
PyEPlan 0.1 (15 Jun 2020)
First Beta Release (Pre-release)
Features:
Initial implementation of core modules
Basic data processing capabilities
Simple routing algorithms
Investment and operation planning optimization
Support for basic renewable energy sources
Known Issues:
Limited solver support
Basic error handling
Minimal documentation
Performance issues with large problems
Development Roadmap
Upcoming Features (v1.2.0):
Real-time optimization capabilities
Advanced uncertainty modeling with Monte Carlo simulation
Integration with additional renewable energy data sources
Enhanced visualization and reporting tools
Support for multi-objective optimization
Advanced machine learning integration for load forecasting
Future Plans (v2.0.0):
Cloud-based deployment options
Real-time monitoring and control integration
Integration with SCADA systems
Advanced grid services modeling
Support for electric vehicle charging infrastructure
Multi-energy system optimization (heat, electricity, hydrogen)
Migration Guide
From v1.0.0 to v1.1.0:
Updated PVGIS API integration - new radiation database options
Enhanced battery modeling with improved state of charge tracking
Unified optimization framework - combined investment and operation planning
Improved result methods with structured DataFrame outputs
Enhanced error handling and validation
From v0.5 to v1.0.0:
Update import statements to use new module structure
Modify input file formats to match new standards
Update solver configuration parameters
Review and update custom scripts for API changes
From v0.4 to v0.5:
No breaking changes - compatibility improvements only
Enhanced Python 3.11+ support
From v0.3 to v0.4:
Enhanced functionality with improved algorithms
Better documentation and error handling
From v0.1 to v0.3:
Updated package structure and imports
Improved module organization
Enhanced error handling