Skip to content

Latest commit

 

History

History
144 lines (112 loc) · 3.87 KB

File metadata and controls

144 lines (112 loc) · 3.87 KB

Changelog

All notable changes to PVSolarSim will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.9.0] - 2026-01-24

Beta Release - Ready for Testing

This is the first beta release of PVSolarSim, ready for early adopters and testers.

New Features

Documentation & Examples

  • Complete API documentation with Sphinx
  • Comprehensive user guide with installation, quick start, and core concepts
  • Advanced usage examples and tutorials
  • Mathematical background documentation
  • FAQ and troubleshooting guide
  • Contributing guidelines

Weather Integration Enhancements

  • Improved weather data caching
  • Enhanced data interpolation and gap filling
  • Quality checks and validation
  • Better error handling for API clients

Testing & Validation

  • Expanded test coverage to 90.62%
  • 314 comprehensive tests passing
  • Validation against pvlib-python
  • Performance benchmarks

Development Tools

  • Pre-commit hooks configuration
  • Code quality checks (Black, Ruff, mypy)
  • GitHub Actions CI/CD improvements
  • Multi-version Python testing support

Bug Fixes

  • Fixed timezone handling in simulation results
  • Improved error messages for invalid inputs
  • Fixed edge cases in weather data interpolation

Documentation

  • Added WEATHER_DATA_GUIDE.md
  • Added WEATHER_DATA_PROVIDERS.md
  • Added MULTI_VERSION_TESTING.md
  • Updated README with badges and installation instructions

Known Issues

  • Sphinx documentation build generates some warnings (non-blocking)
  • Weather API rate limiting not yet implemented
  • Some pandas deprecation warnings in time series operations

[0.1.0] - 2025-12-30

First alpha release of PVSolarSim.

Added

Core Functionality

  • Solar position calculations using NREL SPA algorithm (via pvlib)
  • Clear-sky irradiance models (Ineichen and Simplified Solis)
  • Cloud cover modeling (Campbell-Norman, Simple Linear, Kasten-Czeplak)
  • Plane-of-array (POA) irradiance for tilted surfaces
  • Multiple diffuse transposition models (Isotropic, Perez, Hay-Davies)
  • Incidence angle modifiers (ASHRAE, Physical, Martin-Ruiz)
  • Cell temperature models (Faiman, SAPM, PVsyst, Generic Linear)
  • Instantaneous power calculation
  • Annual energy simulation with time series generation
  • Statistical analysis (capacity factor, performance ratio, etc.)

Weather Integration

  • CSV and JSON weather data readers
  • PVGIS TMY data client
  • OpenWeatherMap API client
  • Weather data caching
  • Data interpolation and gap filling
  • Quality checks and validation

Data Models

  • Location dataclass with validation
  • PVSystem dataclass with validation
  • Comprehensive result dataclasses

Documentation

  • Complete API reference with Sphinx
  • User guide with installation, quick start, and core concepts
  • Advanced usage examples
  • Jupyter notebook tutorials
  • Mathematical background documentation
  • FAQ and troubleshooting guide
  • Contributing guidelines

Testing

  • 270+ comprehensive tests
  • 81%+ code coverage
  • Validation against pvlib-python
  • Performance benchmarks

Development Tools

  • Black code formatter
  • Ruff linter
  • mypy type checker
  • Pre-commit hooks
  • GitHub Actions CI/CD

[0.0.1] - 2025-12-23

  • Initial project setup
  • Repository structure created
  • Basic package scaffold

Roadmap

See PLANNING.md for the full development roadmap.

Upcoming Releases

v0.9.0 (Beta) - Q1 2026

  • PyPI publication
  • Read the Docs hosting
  • Additional examples and tutorials
  • Performance optimizations

v1.0.0 (Stable) - Q1 2026

  • Production-ready release
  • 90% test coverage

  • Complete documentation
  • Validated against multiple data sources

v1.1.0 and beyond

  • Shade analysis
  • Bifacial panel support
  • Economic analysis (LCOE, ROI)
  • Battery storage simulation
  • Machine learning integration