| Type | Category | Title | Description | Breaking |
|---|---|---|---|---|
| ![Changed][changed] | Global | Packages migration | Dropped support for pandas 1.x and 2.x; REHO now requires pandas>=3.0.0. Code relying on pre-3.0 pandas semantics (e.g. implicit downcasting, DataFrame.append, old groupby/resample defaults) will need to be updated before upgrading. |
🔴 |
| ![Changed][changed] | Global | Packages migration | Dropped support for SQLAlchemy 1.x; REHO now requires sqlalchemy>=2.0.0. Any custom code building queries against QBuildingsReader.tables using the 1.x select([...]) style must be updated to the 2.0 select(...) API. |
🔴 |
| ![Changed][changed] | Global | Packages migration | Raised the minimum Python version from 3.9 to 3.11. Python 3.9 and 3.10 are no longer supported. | 🔴 |
| ![Changed][changed] | Global | Packages migration | Unpinned numpy (<2.0.0) and geopandas (<1.0.0). Environments now resolve to numpy 2.x / geopandas 1.x by default; code depending on numpy 1.x or geopandas <1.0 behavior may break. |
🔴 |
| ![Fixed][fixed] | Scripts | Packages migration | Various fixes to example scripts and the test runner for pandas 3.0. | 🟢 |
| ![Changed][changed] | ![Preprocessing][preprocessing] | QBuildings access | QBuildingsReader.read_db selection API changed:1. Buildings are now selected through a single filters dictionary, e.g. read_db({'transformers': 234}), read_db({'egid': 1009515}), read_db({'geometry': 'boundary.gpkg'}).2. Filters combine with a logical AND, so a transformer and an EGID can be given together. 3. The district_boundary, district_id, egid, and id_building keyword arguments are deprecated in favor of filters; they now raise a DeprecationWarning and will be removed in a future release. |
🟠 |
| ![Added][added] | ![Preprocessing][preprocessing] | QBuildings access | QBuildingsReader.read_db can now select buildings by id_building, and by an arbitrary geometry (a file path, WKT string, shapely geometry, or (Geo)DataFrame) via spatial intersection. |
🟢 |
| ![Added][added] | ![Plotting][plotting] | Profiles | Adding of a plot_combined_profiles that allows to combine different type of profiles to be mixed together, typically one by season. |
🟢 |
| ![Fixed][fixed] | ![Plotting][plotting] | Plot fixes | Correction in plot_eud and plot_paretoand plot_pareto_by_objectives. |
🟢 |
| ![Added][added] | ![Preprocessing][preprocessing] | Reference scenario | If the scenario name is reference, it activates a function where we build REHO with the units configuration (heating + dhw system and installed PVs) retrieved from QBuildings. |
🟢 |
| ![Changed][changed] | ![Preprocessing][preprocessing] | Solar gains | Change of re-calibration of solar gains and Uh when ERA < Footprint. | 🟢 |
| ![Changed][changed] | ![Postprocessing][postprocessing] | Sensitivity analysis | Add an option to do the sensitivity analysis in the buildings data as well as prices. | 🟠 |
Migration notes
- If you pin
REHO<2.0(once released) in your own project, your existing pandas 1.x/2.x and
SQLAlchemy 1.x environment will keep working. Upgrading toREHO>=2.0requires upgrading
pandas and SQLAlchemy alongside it — there is no dual-support release. - Replace
reader.read_db(district_id=234, egid=[...])with
reader.read_db({'transformers': 234, 'egid': [...]}). The deprecated keyword form still works
but now raises aDeprecationWarningand will be removed later.