Skip to content

Latest commit

 

History

History
135 lines (102 loc) · 6.17 KB

File metadata and controls

135 lines (102 loc) · 6.17 KB

Changelog

All notable changes to this project will be documented in this file. See below for the format and guidelines for updating the changelog.

The format is based on Keep a Changelog.


[Unreleased]

[1.2.0] New methods, batching and benchmarking script - 2026-02-26

Added

  • Added benchmarking script for comparing different methods (#87, !59)
  • Added heating method based on demandlib's BDEW method (#70, !63)
  • Added occupancy detection method GeoMA (#58, !43)
  • Added occupancy detection method PHT (#66, !46)
  • Added electricity method based on demandlib's BDEW method (#56, !48)
  • Added optional batching to reduce parallel overhead and improve throughput (#75, !67)
  • Added heating method based on districtheatingsim's BDEW method - only works with python 3.11 (#78, !60)
  • Added electricity method based on pyLPG (#62, !52)

Changed

  • Changed internal naming of core methods and parameters for improved clarity (#90, !62)
  • Update documentation to reflect new methods and changes (#89, !61)

Fixed

  • Ensure arrays are 1‑D via .ravel() in 7R2C and 5R1C HVAC models to prevent shape errors during computation. (b6d26cd)
  • Handle Windows-specific edge case in _silence_fds to avoid WinError 1; allow override via environment variable. (93b300b)
  • Handle warnings gracefully in examples/benchmark.py to prevent run interruptions; warnings are logged. (b85ab33)
  • Ensure all methods are loaded before accessing or listing strategies in core/registry.py. (7adb130)
  • Correct naming for POWER_COOLING and POWER_HEATING in constants/objects.py. (4c0ef9d)

[1.1.0] New HVAC models and performance improvements - 2025-12-16

Added

  • Added 5R1C HVAC model based on ISO 13790 (#80, !54)
  • Added 7R2C HVAC model based on VDI 6007 (#81, !55)

Changed

  • Improved computational speed of the 1R1C HVAC model by roughly 10x hitting architectural limits (#83, !56)

[1.0.0] New naming scheme and methods - 2025-10-28

Added

  • Added a weather service to download weather data directly (#33,!31)
  • Added wind power generation method based on windpowerlib (#35, !33)
  • Added a ventilation auxiliary class similar to internal gains to allow for time series (#43, !38)
  • Added heat pump COP time series generation method based on Ruhnau et al. (#37,!34)

Changed

  • Renamed weather and other columns to use the following convention: name[unit]@height (e.g., temp[C]@2m) (#41, !44)
  • Changed timezone format in SolarGainsPVLib to IANA-based timezone handling due to breaking PVLib changes (#77, !51)

Fixed

  • Fixed issue that failed 1R1C HVAC model when weather time series was not under "weather" key (#75, !49)

[0.2.1] Hotfix - 2025-06-25

Fixed

  • Fixed exposure of methods which was taken out by the githooks (#38, !35)

[0.2.0] New architecture, methods and packaging - 2025-06-04

Added

  • Added a simple RC model for HVAC time series (#12, !6)
  • Added simpler functionality for dependent methods (#18, !12)
  • Added basic documentation of the package (#13, !8)
  • Added a dhw method based on the method by Jordan et. al. in DHWCalc (#16, !15)
  • Added a PV generation method based on pvlib (#29, !22)
  • Added direct access methods to provide two ways for interacting with the tool (batch & singular) (#31, !26)
  • Converted the project into a proper Python package with modern tooling (#32, !27)
  • Added support for automatic versioning using git tags with hatch-vcs (#32, !27)
  • Added CI/CD configurations for both GitHub and GitLab (#32, !27)
  • Added support for Python 3.10-3.13 (#32, !27)

Changed

  • Restructured entire architecture towards a pipeline- and strategy-based approach to make methods more flexible (#18, !12)
  • Replaced setuptools with hatchling for modern build system (#32, !27)
  • Replaced flake8, black, and isort with ruff for faster linting and formatting (#32, !27)
  • Replaced pip with uv for faster dependency management (#32, !27)
  • Updated pvlib to version 0.12.0 with different (IANA-based) timezone handling (#32, !27)
  • Updated Python version requirement to 3.10 or newer (#32, !27)

[0.1.0] Initial Release - 2024-11-04

Added

  • Initial setup of the project with initial architecture (no methods added yet)

Guidelines for Updating the Changelog

[Version X.X.X] - YYYY-MM-DD

Added

  • Description of newly implemented features or functions, with a reference to the issue or MR number if applicable (e.g., #42).

Changed

  • Description of changes or improvements made to existing functionality, where relevant.

Fixed

  • Explanation of bugs or issues that have been resolved.

Deprecated

  • Note any features that are marked for future removal.

Removed

  • List of any deprecated features that have been fully removed.

Example Entries

  • Added: Added feature to analyze time-series data from smart meters. Closes #10.
  • Changed: Refined energy demand forecast model for better accuracy.
  • Fixed: Resolved error in database connection handling in simulation module.
  • Deprecated: Marked support for legacy data formats as deprecated.
  • Removed: Removed deprecated API endpoints no longer in use.

Versioning Guidelines

This project follows Semantic Versioning:

  • Major (X): Significant changes, likely with breaking compatibility.
  • Minor (Y): New features that are backward-compatible.
  • Patch (Z): Bug fixes and minor improvements.

Example Versions:

  • [2.1.0] for a backward-compatible new feature.
  • [2.0.1] for a minor fix that doesn’t break existing functionality.

Best Practices

  1. One Entry per Change: Each update, bug fix, or new feature should have its own entry.
  2. Be Concise: Keep descriptions brief and informative.
  3. Link Issues or MRs: Where possible, reference related issues or merge requests for easy tracking.
  4. Date Each Release: Add the release date in YYYY-MM-DD format for each version.
  5. Organize Unreleased Changes: Document ongoing changes under the [Unreleased] section, which can be merged into the next release version.