What's Changed
- feat: add a TYNDP base network by @tgilon in #1646
- Bug fix logger in cluster_network by @bobbyxng in #1755
- fix: resolve minor issues in TYNDP base network by @tgilon in #1759
- fix: remove deprecations of pypsa 1.0 by @lkstrp in #1771
- fix: fix country_converter logging in build_population_layouts by @tgilon in #1757
- Fix:Issue warning instead of error for non-extendable heat storage in energy-to-power ratio constraints by @amos-schledorn in #1769
- fix:add geothermal-sourced HP to HP cost names and turn on geothermal heating in test configs by @amos-schledorn in #1766
- refactor: remove deprecated old pinned env files by @lkstrp in #1732
- Eliminate runtime warning caused by division by zero by @cpschau in #1783
- doc: improve license by @tgilon in #1782
- fix: allow
pypsa<0.35by @lkstrp in #1786 - [github-actions.ci] Update locked envs by @github-actions[bot] in #1758
- update snakemake readme by @fneum in #1788
- fix: snakemake warnings by @lkstrp in #1785
- [Fix] Increase default resources (mem_mb) by @bobbyxng in #1794
- allow expandable CCGT by default by @lindnemi in #1796
- Fix issue #1792 : updated colours in plot_balance_map by @blakeldridge in #1793
- refactor: update TES standing loss rates to DEA data by @TomKae00 in #1791
- fix: update
v1flag for deprecations by @lkstrp in #1797 - chore(deps): bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #1798
- bugfix typo id to ID by @aleks-g in #1800
- fix: update v1 flag for rc by @lkstrp in #1802
- doc: Remove retrieve_natural_earth reference by @euronion in #1805
- doc: fix missing configtable of clustering by @yerbol-akhmetov in #1811
- Bugfix submodule filenotfounderror by @jonathan-peel in #1768
- Bugfix sector attributeerror by @jonathan-peel in #1778
- Bugfix grid valueerror by @jonathan-peel in #1780
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1803
- handle inconsistent column capitalization by @fneum in #1816
- Draft: Implementation of voltage levels 110kV-220kV using osm-raw by @bobbyxng in #1740
- Fix wildcard adjustment options by @koen-vg in #1817
- Fix retrieve_eurostat_data for Windows by @Eric-Nitschke in #1825
- fix: adjust for pypsa v1 add return change by @lkstrp in #1827
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1820
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1832
- remove pinned environment reference from pre-commit-config by @finozzifa in #1837
- refactor: use single-line comment for rst by @tgilon in #1839
- Fix JRC ARDECO API change. by @bobbyxng in #1850
- chore(deps): bump github/codeql-action from 3 to 4 in the github-actions group by @dependabot[bot] in #1851
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1848
- Update minimum pypsa version to 0.35.2 by @euronion in #1849
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1843
- test: remove perfect foresight and mark as not stable by @lkstrp in #1853
- refactor: another PyPSA v1 deprecation by @lkstrp in #1858
- Update pre-commit hook to reuse-lint-file by @lkstrp in #1862
- fix: add retrys for zenodo requests with tenacity by @lkstrp in #1861
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1863
- feat: add river-water and sea-water sourced heat pumps by @amos-schledorn in #1618
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1867
- refactor: use snapshot_weightings to define nyears in build_transport_demand by @tgilon in #1871
- Add option to set minimum unit dispatch for electrolysis by @millingermarkus in #1859
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #1870
- Fix to allow osm-raw network building for islanded systems by @bobbyxng in #1852
- Fix by specifying axis by @jonathan-peel in #1835
- ci: remove perfect test by @tgilon in #1876
- feat: overwrite costs through file by @tgilon in #1752
- code: Add empty folders to repo by @euronion in #1764
- Implement OETC integration by @KristijanFaust-OET in #1831
- Rename index in GeoDataFrame for clarity and more generic shape column names by @FabianHofmann in #1884
- Validate configuration settingf for temporal clustering to prevent invalid setups by @martacki in #1882
- fix: fix capital and marginal costs overwrite by @tgilon in #1879
- feat:allocate heat pump capex on heat bus by @amos-schledorn in #1748
- doc: Automatically update DAGs in documentation by @euronion in #1880
- Fix outdated expression for 'transmission_limit' by @Parisra in #1894
- code: Fix deprecation warning for pandas 2.3.0 / 3.0 by @euronion in #1898
- code: Fix PyPSA v1 compatability in build_transmission_projects.py by @euronion in #1896
- Update dependency management to
pixiby @brynpickering in #1886 - ci: fix unit tests typo by @lkstrp in #1905
- chore(deps): bump prefix-dev/setup-pixi from 0.9.1 to 0.9.3 in the github-actions group by @dependabot[bot] in #1904
- Fix clean-tests section in pixi.toml by @euronion in #1901
- refactor: remove hotfix and check that the directory exists by @tgilon in #1840
- feat: Add snakemake-storage-plugin-cached-http to address zenodo failures by @coroa in #1913
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1900
- Add co2 price to sector networks as marginal_cost on the
co2 atmosphereStore. by @coroa in #1897 - chore(deps): bump actions/checkout from 5 to 6 in the github-actions group by @dependabot[bot] in #1914
- hotfix: handle unavailability of WDPA where optional by @fneum in #1919
- ci: free up disk space by @lkstrp in #1920
- fill cost calues with default after merging custom costs by @martacki in #1911
- chore: set ptes.dynamic_capacity default to false by @amos-schledorn in #1924
- add pixi files and data folder to .sync-send by @fneum in #1923
- Bugfix load shedding scaling by @jonathan-peel in #1908
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1925
- Capture raw osm
power=circuitroute relation by @brynpickering in #1926 - Capture OSM link
sectionas valid relation role for geometries by @brynpickering in #1927 - Bugfix valueerror time dep hp cop by @jonathan-peel in #1929
- Heat dsm 2025 by @lprieto1409 in #1857
- data: Intermediate layer for versioning of datasets by @euronion in #1675
- Fix BFS Swiss transport parsing by @danielelerede-oet in #1934
- Adding Existing Biomass Heating in Urban Decentral and Rural by @LukasFrankenQ in #1872
- Fix build_energy_totals (Swiss transport) by @bobbyxng in #1936
- minor bug fix in marginal and capital cost calculation for tech bio-to-MeOH by @p-glaum in #1941
- chore(deps): bump peter-evans/create-pull-request from 7 to 8 in the github-actions group by @dependabot[bot] in #1942
- ci: run model runs only with src changes by @lkstrp in #1932
- code: Remove unused inputs from snakefile by @euronion in #1909
- update pypsa-eur logo by @fneum in #1946
- chore(deps): bump actions/cache from 4 to 5 in the github-actions group by @dependabot[bot] in #1945
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #1947
- Make model instance conveniently inspectable (separate problem prep and solving) by @Irieo in #1902
- Fix OSM network building from overpass (formerly osm-raw) by @bobbyxng in #1940
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1948
- follow PyPSA to name 'PyPSA-Eur' contributors as authors/copyright by @fneum in #1950
- Feature: Interactive balance maps by @bobbyxng in #1935
- fix: compatibility of build_gas_* rules with pyogrio >=0.12.0 by @coroa in #1955
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1954
- doc: fix PR template hyperlink by @tgilon in #1957
- fix: add pydeck lower version bound that was missing from pypsa <1.0.6 by @coroa in #1959
- fix: fix compatibility with numpy >=2.4 by @coroa in #1958
- fix: Version controlled data layer by @euronion in #1963
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1953
- Bugfix pypsa eur as snakemake module by @jonathan-peel in #1967
- doc: Correct section indent for data inventory by @euronion in #1973
- Config Validation with Pydantic by @lkstrp in #1912
- Update lock file workflow to remove push trigger by @lkstrp in #1975
- chore: fix formatting and improve consistency in data layer doc by @tgilon in #1977
- follow up on #1977 by @lkstrp in #1980
- Fix atlite cutouts default value by @bobbyxng in #1979
- Revert "Update lock file workflow to remove push trigger" by @lkstrp in #1982
- Add user friendly messages to snakemake workflow by @willu47 in #1846
- fix: avoid netcdf4 version 1.7.4 by @FabianHofmann in #1988
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1983
- Updated technology-data to v0.13.4. by @bobbyxng in #1985
- Fix mock snakemake for Snakemake API changes. by @bobbyxng in #1984
- fix: retrieve eez data from own archive in test by @lkstrp in #1992
- Bugfix industry only by @jonathan-peel in #1971
- Fix bug of no gas infrastructure when no CCGT: gas implemented. by @jonathan-peel in #1993
- feat: move archive from zenodo to s3 bucket by @lkstrp in #1960
- update linopy pin by @FabianHofmann in #1990
- feat: remove and disallow setting credentials in config by @lkstrp in #1989
- [github-actions.ci] Update locked envs by @github-actions[bot] in #1994
- fix: update costs for solar-hsat in myopic optimization; small refactor by @lindnemi in #1965
- Fix raw OSM build and release process by @brynpickering in #1956
- feat: add electricitymaps and entsoepy bidding zone data to data layer by @daniel-rdt in #1991
- Add Xpress solver configuration support by @brunoficoxpress in #2006
- fix: remove slurm dependency from windows environments by @coroa in #2009
- fix: follow up on added bidding zones datasets by @lkstrp in #2007
- [github-actions.ci] Update locked envs by @github-actions[bot] in #2011
- code: Fix logic for extracting WDPA and WDPA marine by @euronion in #2010
- Fix the WDPA links to function on Windows by @Eric-Nitschke in #2008
- Fix
min/max_shore_distanceparam access in availability matrix calc by @brynpickering in #2020 - chore(deps): bump prefix-dev/setup-pixi from 0.9.3 to 0.9.4 in the github-actions group by @dependabot[bot] in #2021
- Fix snakemake message for build_electricity/clean_osm_data by @bobbyxng in #2022
- fix: fix minor bugs in the new validation schema by @tgilon in #2024
- Fix raw custom costs by @lindnemi in #2023
- fix: add schema related files to the REUSE.toml by @tgilon in #2029
- update GEM steel and use GEM cement plant tracker by @fneum in #1830
- follow up on #1830 by @lkstrp in #2031
- update data sources for country-level electricity demand by @fneum in #1828
- docs: list all available archive cutouts in own weather data section by @lkstrp in #2033
- Add lfp, vanadium, lair, pair battery technologies (Form-Energy Storage) by @virio-andreyana in #1961
- Make corine optional by @cristobal-GC in #2013
- Add script path provider (take 2) by @brynpickering in #1997
- chore: revive docker image with pixi by @lkstrp in #2041
- chore: image follow up by @lkstrp in #2042
- Remove check-merge-conflict hook by @lkstrp in #2044
- add powerplantmatching 0.8.0 by @fneum in #2040
- Improving OSM raw building process (assets under construction, start date, comparison plots) by @bobbyxng in #2030
- update co2 price time series by @fneum in #2035
- fix handling of missing years in EIA stats by @fneum in #2047
- update and process eurostat energy balances via API by @fneum in #1987
- Update fossil fuel price time series by @fneum in #2036
- Refactor meoh config by @lindnemi in #2043
- Update to JRC IDEES 2023 by @fneum in #1976
- Fix unit commitment compatibility with PyPSA ≥ 1.0 component API by @danielelerede-oet in #2049
- add powerplantmatching 0.8.1 by @fneum in #2051
- Follow-up improvements to OSM network building by @bobbyxng in #2052
- switch back to 2019 energy balance year until CH fix by @fneum in #2053
- Add prebuilt OSM network v0.7 by @bobbyxng in #2054
- doc: fix type hints in add_electricity.py by @tgilon in #2060
- Add multi-circuit rendering to OSM interactive map by @bobbyxng in #2055
- update and process Swiss energy balances from SFOE source by @fneum in #2057
- Move to using
conda-forgeforpydeflateby @brynpickering in #2062 - change default energy balance year to 2023 by @fneum in #2063
- Make OSM building process for assets under construction more robust by @bobbyxng in #2064
- add technology-data v0.14.0 by @fneum in #2061
- [github-actions.ci] Update locked envs by @github-actions[bot] in #2026
- feat: add store_model option to save linopy model after solving by @FabianHofmann in #2001
- fix powerplant to region mapping; use ppm for wind and solar by @fneum in #2050
- PyPSA v1 deprecation warnings by @euronion in #1903
- make WDPA download optional even with UA/MD by @fneum in #2066
- make LUISA download optional again by @fneum in #2065
- update README and figures by @fneum in #2067
- Fixing error in solve_network when networks contains inactive components subject to constraints by @toniseibold in #2068
- Add config schema updater & docs by @brynpickering in #2056
- update unit commitment parameters and fix startup cost by @fneum in #2073
- add name to unclustered power plants by @fneum in #2069
- rolling horizon: drop cyclicity and allow in solve_network by @fneum in #2070
- add option to add existing batteries from powerplantmatching by @fneum in #2071
- handle co2stop id column across versions by @fneum in #2077
- fix missing or outdated configuration options by @fneum in #2074
- allow custom efficiency_classes for conventional generators by @fneum in #2075
- chore: pin grpcio<1.78 to silence warnings by @daniel-rdt in #2080
- annual nuclear energy availability factors by @fneum in #2072
- Allow pixi post link scripts to run by @brynpickering in #2079
- Fix offshore wind potentials in Germany by @fneum in #2081
- distribute electricity demand by JRC energy atlas by @fneum in #1829
- Reverting to .pdf file ending for
plot_summaryby @bobbyxng in #2083 - prepare release v2026.02.0 by @fneum in #2084
- [github-actions.ci] Update locked envs by @github-actions[bot] in #2082
- ci: always run integration tests on workflow_dispatch trigger by @lkstrp in #2085
New Contributors
- @blakeldridge made their first contribution in #1793
- @aleks-g made their first contribution in #1800
- @jonathan-peel made their first contribution in #1768
- @KristijanFaust-OET made their first contribution in #1831
- @brynpickering made their first contribution in #1886
- @lprieto1409 made their first contribution in #1857
- @danielelerede-oet made their first contribution in #1934
- @willu47 made their first contribution in #1846
- @brunoficoxpress made their first contribution in #2006
Full Changelog: v2025.07.0...v2026.02.0