Recent Releases of Open Sustainable Technology Projects
OpenSTEF - v4.2.0
What's Changed
- chore(#998): popularize usage of Quantile type throughout by @lschilders in https://github.com/OpenSTEF/openstef/pull/1014
- docs: document the openstef-foundation-models package by @egordm in https://github.com/OpenSTEF/openstef/pull/1016
- chore: add ConfidenceIntervalApplicator in all presets by @lschilders in https://github.com/OpenSTEF/openstef/pull/1026
- ci: migrate PR labeler to maintained action by @timothykou in https://github.com/OpenSTEF/openstef/pull/1021
- ci: add CodeQL code scanning (security-and-quality) by @egordm in https://github.com/OpenSTEF/openstef/pull/1027
- fix: guard non-exhaustive model match and narrow CodeQL suite by @egordm in https://github.com/OpenSTEF/openstef/pull/1029
- docs: single-source project governance from OpenSTEF/.github by @egordm in https://github.com/OpenSTEF/openstef/pull/1032
- docs: revamp issue and PR templates by @egordm in https://github.com/OpenSTEF/openstef/pull/1033
- chore: remove repo SECURITY.md in favor of org policy by @egordm in https://github.com/OpenSTEF/openstef/pull/1036
- fix: keep base index authoritative when combining additional features by @lschilders in https://github.com/OpenSTEF/openstef/pull/1043
New Contributors
- @timothykou made their first contribution in https://github.com/OpenSTEF/openstef/pull/1021
Full Changelog: https://github.com/OpenSTEF/openstef/compare/v4.1.1...v4.1.2
Energy Systems - Load and Demand Forecasting
- Python
Published by lschilders about 1 month ago
GISWATER - v4.15.3
π½ Read the summarized changelog here π½
Fixed
- Fix
tools_db.ensure_service_authto get correct credentials frompg_service.conf. - Fix config_form_fields
dv_querytextto usevf_hydrometerandhydro_customer_codeinstead ofv_rtc_hydrometerandhydrometer_customer_code.
Full Changelog: https://github.com/giswater/plugin/compare/v4.15.2...v4.15.3
π Check the official documentation here: βοΈβπ₯ Giswater Documentation
Natural Resources - Water Supply and Quality
- PLpgSQL
Published by danimarinBG about 1 month ago
open-MaStR - v0.17.2 Hotfix empty tables
What's Changed
- Use pandas native dtype check function to fix error where tables were empty #723 by @FlorianK13 in https://github.com/OpenEnergyPlatform/open-MaStR/pull/772
Full Changelog: https://github.com/OpenEnergyPlatform/open-MaStR/compare/v0.17.1...v0.17.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by FlorianK13 about 1 month ago
CoopCycle - v5.5.1
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.5.0...v5.5.1
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
eccodes - 2.48.0
https://confluence.ecmwf.int/spaces/ECC/pages/690471601/ecCodes+version+2.48.0+released
Atmosphere - Meteorological Observation and Forecast
- C++
Published by joobog about 1 month ago
EPyT-Flow - v0.17.2
- Bugfix: set_node_demand_pattern in ScenarioSimulator
- Bugfix: Wrong EPANET constant when querying link quality
- Upgrade of EPANET-PLUS dependency -- incl. making use of the latest NumPy integration
Natural Resources - Water Supply and Quality
- Python
Published by andreArtelt about 1 month ago
Green Metrics Tool - v4.0 Carbon Simulation, Grid Intensity Dynamic, Simple Compare, Measurement Phase Padding Improvements and Cluster Improvements
Another major release this year :)
This mid-summer release brings some totally new features, but also big QoL, Cluster and Analytics improvements.
Highlights at a glance
- Carbon Simulation / Elephant
- GMT now includes it's own carbon intensity backend called Elephant
- It builds a full carbon simulation frontend on top of it
- Different providers for ElectricityMaps, Static, SMARD etc. are now included as metrics providers to make runs with dynamic carbon intensity
- Grid Intensity is now displayed as a key metric in the frontend
- GMT Development is now Agentic AI ready
- https://github.com/green-coding-solutions/green-metrics-tool/pull/1520
- Simple Compare Table View to even compare different scenarios on different machines or multiple runs quickly in table view
- Multiple Detail Names now aggregate in key metrics if possible
- Phase Padding is now more exact and not MAX of all sample rates anymore but only the next tick of the sample of the individual metric provider
- This provides sightly more accurate results for very heterogenous sampling rates with differences of 50 ms or more. An edge case, but if you have it this is a BIG feature :)
Cluster Features:
- Added System logs to DB and frontend - No more email errors
- Settings watcher
- Docker login encryption
- HTTP Auth encryption and frontend pruning
What's Changed
- Updating AGENTS.md for all subdirectories to allow agentic AI development by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1660
- (feat): DEV switch to turn off resource limits adding for containers by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1663
- Bump cryptography from 46.0.5 to 47.0.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1662
- Changing import of optimzations to happen earlier for efficiency reasons by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1659
- Decrypt only on request by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1658
- wrong value was saved by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1664
- Makes the get_private_key return a secure variable per default. by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1665
- Adds the first version of the yearly view by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1666
- Bump psycopg-pool from 3.3.0 to 3.3.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1669
- Bump cachetools from 7.0.6 to 7.1.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1668
- Bump psycopg from 3.3.3 to 3.3.4 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1667
- Bump cryptography from 47.0.0 to 48.0.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1670
- Cpu frequency MSR provider by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1674
- Bump pydantic from 2.13.3 to 2.13.4 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1672
- Bump orjson from 3.11.8 to 3.11.9 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1673
- Bump gunicorn from 25.3.0 to 26.0.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1671
- makes the GMT run under windows without WSL by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1648
- Bump requests from 2.33.1 to 2.34.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1675
- Bump pandas from 3.0.2 to 3.0.3 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1676
- Playwright headful by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1679
- Compare Dropdown will not reflow when being shown by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1682
- Bump uvicorn from 0.46.0 to 0.47.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1680
- Bump requests from 2.34.0 to 2.34.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1681
- (feat): Reboot machine after certain intervals by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1684
- Adds more features to the windows part and fixes tmp path by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1688
- Bump deepdiff from 9.0.0 to 9.1.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1687
- Elephant by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1520
- Bump cachetools from 7.1.1 to 7.1.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1686
- (feat): Grid Intensity is now a key metric by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1696
- (feat): Git API does not flake anymore on 403 Rate Limiting, but only sends warning to admin by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1698
- (feat): Introducing warnings for dynamic undersampling. by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1699
- Fixing tests by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1697
- Update starlette requirement from >=1.0.0 to >=1.1.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1694
- Bump fastapi from 0.136.1 to 0.136.3 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1693
- Bump python from 3.14.3-slim-bookworm to 3.14.5-slim-bookworm in /docker by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1700
- Bump cachetools from 7.1.2 to 7.1.4 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1690
- Bump uvicorn from 0.47.0 to 0.48.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1695
- Bump redis from 7.4.0 to 8.0.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1703
- simple compare table by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1702
- Fixes the colouring when rounded values are displayed in compare by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1706
- Update starlette requirement from >=1.1.0 to >=1.2.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1707
- Fixes tests under Mac by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1701
- Bump aiohttp from 3.13.5 to 3.14.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1708
- Bump owenthereal/action-upterm from 1.14.0 to 1.15.0 in /.github/actions/gmt-pytest by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1712
- Bump uvicorn from 0.48.0 to 0.49.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1710
- Image Pruning Fix by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1705
- Tries to fix the random ip issue under MacOs by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1714
- Bump hiredis from 3.3.1 to 3.4.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1711
- Bump tqdm from 4.67.3 to 4.68.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1715
- Bump aiohttp from 3.14.0 to 3.14.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1716
- Bump cryptography from 48.0.0 to 48.0.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1718
- Bump tqdm from 4.68.1 to 4.68.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1719
- (feat): Shell sub-calls in GMT now error out by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1720
- (feat): Allowing to deeplink compare table by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1722
- (feat): Custom metrics can be any unit by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1728
- (feat): Reboot happens now always on package update by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1729
- Bump fastapi from 0.136.3 to 0.137.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1724
- Bump cryptography from 48.0.1 to 49.0.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1725
- Bump pytest from 9.0.3 to 9.1.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1727
- Bump fastapi from 0.137.0 to 0.137.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1730
- Bump pylint from 4.0.5 to 4.0.6 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1726
- Update starlette requirement from >=1.2.1 to >=1.3.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1723
- Bump tqdm from 4.68.2 to 4.68.3 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1735
- Bump fastapi from 0.137.1 to 0.137.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1736
- Added Carbon Simulation call also to test function loop by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1731
- Bump python from 3.14.5-slim-bookworm to 3.14.6-slim-bookworm in /docker by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1733
- Allow users to update their ssh private keys (migration script) by @davidkopp in https://github.com/green-coding-solutions/green-metrics-tool/pull/1734
- Bump fastapi from 0.137.2 to 0.138.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1737
- Bump pytest from 9.1.0 to 9.1.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1738
- (fix): Creating carbon values for all componnents by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1717
- Bump redis from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1742
- Software endpoint by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1709
- (feat): Added System logs to DB and frontend and error handling by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1746
- Submit software and keep values by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1745
- Bump actions/cache from 5 to 6 in /.github/actions/gmt-pytest by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1743
- Bump actions/checkout from 6 to 7 in /.github/workflows by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1741
- (improvement): No need to iterate over cards by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1747
- Bump fastapi from 0.138.0 to 0.138.1 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1748
- Bump pandas from 3.0.3 to 3.0.4 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1750
- Adds a simple dropdown to filter job status by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1751
- Bump fastapi from 0.138.1 to 0.138.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1752
- Giving more precise warning if private repository is supplied but no β¦ by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1753
- Bump fastapi from 0.138.2 to 0.139.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1754
- (feat): Masked authentication token on input by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1758
- Bump uvicorn from 0.49.0 to 0.50.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1760
- Drawing Changelog Markline at actual point in time - Between data measurements by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1761
- Deleting cancelled jobs by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1744
- (feat): ErrorLog and Email Stream filter to redact HTTP-AUTH and PRivate Keys by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1759
- (feat): Multiple Detail Names now aggregate in key metrics if possible by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1749
- (fix): Overflow when computing weighted average. Swapping to early cast for anyway used Double Precision by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1762
- Bump uvicorn from 0.50.0 to 0.50.2 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1763
- Bump tqdm from 4.68.3 to 4.68.4 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1765
- Bringing Kaniko to latest branch again by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1766
- Bump uvicorn from 0.50.2 to 0.51.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1767
- Settings watcher by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1755
- Adds the phase to the url of the simple compare by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1768
- Docker login encryption and submitted jobs URI encryption by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1756
- (feat): Reworked phase padding by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1764
- (feat): CPU undersampling gated by not allowing more than 10ms sampling rate by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1769
- (fix): Test path used unstable regex by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1772
- Enable co2 config by @ribalba in https://github.com/green-coding-solutions/green-metrics-tool/pull/1773
- Upgrading postgres memory parameters to 8 GB reasonable machine by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1775
- (rework): CarbonDB worker jobs now use 60 day window; Optimized backfill queries by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1776
- (fix): Phase padding will only happen if phase had at least one sampl⦠by @ArneTR in https://github.com/green-coding-solutions/green-metrics-tool/pull/1777
- Bump docker from 7.1.0 to 7.2.0 by @dependabot[bot] in https://github.com/green-coding-solutions/green-metrics-tool/pull/1771
Full Changelog: https://github.com/green-coding-solutions/green-metrics-tool/compare/v3.0...v3.1
Consumption - Computation and Communication
- Python
Published by ArneTR about 1 month ago
Scores - 2.6.0
Release Notes (What's New)
Version 2.6.0 (July 17, 2026)
For a list of all changes in this release, see the full changelog. Below are the changes we think users may wish to be aware of.
Features
scoreshas introduced support forpandasversion 3. See PR #1062.- Added three new metrics:
- Relative economic value:
scores.continuous.relative_economic_value,scores.probability.relative_economic_value,scores.categorical.relative_economic_valueandscores.plotdata.relative_economic_value. See PR #999 and PR #1088. - Relative economic value from rates:
scores.continuous.relative_economic_value_from_rates,scores.probability.relative_economic_value_from_rates,scores.categorical.relative_economic_value_from_ratesandscores.plotdata.relative_economic_value_from_rates. See PR #999. - Receiver (relative) operating characteristic area under curve (ROC AUC):
scores.probability.roc_auc. This is significantly computationally more efficient than calculating the area under the curve usingscores.probability.roc_curve_data. See PR #1036.
- Relative economic value:
- Added a kwarg to
scores.continuous.kgeto allow switching between the original Kling-Gupta Efficiency (KGE) formulation of Gupta et al. (2009) and the modified formulation of Kling et al. (2012). The default remains the original implementation. See PR #1069.
Deprecations
- This deprecation was first introduced in Version 2.5.0. Support for
include_componentswill be removed from threshold-weighted continuous ranked probability score (twCRPS) functions in a future version ofscores. Thescoresdevelopment team believe usinginclude_components=Truemay lead to misleading results when used with twCRPS functions. As such, the following are now deprecated:- support for
include_componentsinscores.probability.tw_crps_for_ensemble, - support for
include_componentsinscores.probability.tail_tw_crps_for_ensembleand - support for
include_componentsinscores.probability.interval_tw_crps_for_ensemble.
See PR #991.
- support for
Bug Fixes
- Improved
NaNhandling inscores.probability.roc_curve_data. See PR #1036. - Improved dimension reduction code to ensure consistent dimension ordering in returned objects in
scores.probability.roc_curve_data. See PR #1036.
Documentation
- Added "Relative Economic Value (REV)" tutorial. See PR #999.
- Updated the "Receiver Operating Characteristic (ROC)" tutorial to include information about the newly-added
scores.probability.roc_aucfunction (which is significantly more computationally efficient). See PR #1036. - Updated the "KlingβGupta Efficiency (KGE)" tutorial to include information about the newly-added kwarg which allows users to switch between the original KGE formulation of Gupta et al. (2009) and the modified formulation of Kling et al. (2012). See PR #1069.
- Updated the "Contributing Guide" to include guidelines for generative tool usage. See PR #1027.
- Added a commit template to the
scoresrepository and added instructions in the "Contribuing Guide" for setting up and using the commit template. See PR #1045 and PR #1048. - Added an entry for "Aggregate" to the "Processing" table in
docs/included.md. See PR #1038. - Updated docstrings (e.g. added examples and improved grammar) for multiple functions in the API documentation. See PR #996 and PR #1056.
- Corrected erroneous namespaces and added :py:func: before the correct namespaces in
src/scores/probability/crps_impl.py. Specifically, changedscores.probability.functions.fill_cdfto:py:func:`scores.processing.cdf.fill_cdf`and changedscores.probability.functions.cdf_envelopeto:py:func:`scores.processing.cdf.cdf_envelope`. See PR #1050. - Updated links to the new verification site https://jwgfvr.github.io/forecastverification (which will replace the prior site: https://www.cawcr.gov.au/projects/verification) in
tutorials/Additive_and_multiplicative_bias.ipynb,tutorials/Binary_Contingency_Scores.ipynbandsrc/scores/categorical/contingency_impl.py. See PR #1029, PR #1030 and PR #1031. - Updated link from https://www.openradar.io/ (which is no longer active) to https://nci.org.au/aura/ in
docs/data.md. See PR #1081. - Replaced link to ERA5 dataset in
docs/data.mdfrom https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5 to https://doi.org/10.24381/cds.adbb2d47. See PR #1081. - Updated the "Quantile Interval Score and Interval Score" tutorial to use the updated lower-case "h" date range syntax, due to changes in
pandas. See PR #1065. - Fixed integration of tutorials with
Binder. See PR #1083.
Internal Changes
- Moved tutorial files from a top-level directory,
tutorials, into thedocs/tutorials/subdirectory. This change was made to support how recentSphinxversions handle symbolic links to files located outside of thedocssubdirectory. Users who run the tutorials will need to use the updated location. There is no change to how the tutorials render in the documentation. Unpinned the version ofSphinxused byscores, so that the most recent versions ofSphinxcan be used. See PR #1042. - Introduced the use of the Python
doctestmodule for automated testing of examples in API documentation (docstrings). Revised existing docstrings as appropriate to meetdoctesttool requirements. Added thedoctesttool to CI/CD and developer tooling via pre-commit. See PR #1056. - Update CI pipeline to run tests against all versions of Python even if one fails. See PR #1063.
Contributors to this Release
OisΓn M. Morrison* (@Oisin-M), Daniel Karney* (@danielkarney), Thomas C. Pagano (@thomaspagano), Tennessee Leeuwenburg (@tennlee), Stephanie Chong (@Steph-Chong), Nicholas Loveday (@nicholasloveday), John Sharples (@John-Sharples), Mohammadreza Khanarmuei (@reza-armuei), Nikeeth Ramanathan (@nikeethr), Maree Carroll (@mareecarroll) and Durga Shrestha (@durgals).
* indicates that this release contains their first contribution to scores.
Climate Change - Earth and Climate Modeling
- Python
Published by tennlee about 1 month ago
Ecoscope - v2.16.6
What's Changed
Other Changes
- ERDW-233: Add DWH_EVENTS_ENABLED kill switch, off for event tasks by @marianobrc in https://github.com/wildlife-dynamics/ecoscope/pull/781
Full Changelog: https://github.com/wildlife-dynamics/ecoscope/compare/v2.16.5...v2.16.6
Biosphere - Conservation and Restoration
- Python
Published by github-actions[bot] about 1 month ago
BirdNET-Go - BirdNET-Go 20260716
This is primarily a bug-fix release. It restores the range filter for arm64 (Raspberry Pi) Docker users whose species list had blown open to thousands of out-of-region species, closes an authentication middleware gap where a malformed Authorization header could let a protected handler run anyway, and fixes two database-migration edge cases that could delete a migrated database or crash-loop a fully migrated install on startup. It also adds cross-host install migration over SSH, stops the media API from showing broken audio/spectrogram players while an extended-capture clip is still being written, and corrects CPU temperature reporting on the Health page.
New Features
Cross-Host Install Migration over SSH
Moving BirdNET-Go to a new machine (for example a Raspberry Pi 4 to a Pi 5) no longer means copying files by hand and redoing the service setup. Run install.sh --migrate (or --migrate-from <host> to name the source non-interactively) on the new host and it pulls your config, SQLite database, and audio clips from the old host over SSH, then reconfigures the systemd service for the new machine while preserving your web port, TLS, metrics, and timezone settings. It verifies the old service is stopped, checks free disk space before the transfer, runs a SQLite integrity check, and never overwrites existing data on the target (any existing install is moved aside to a timestamped backup). apt + systemd Linux only; no macOS or Windows (#3934).
Security
- Auth middleware now fails closed on bad credentials. A request to an auth-protected API route carrying a malformed Authorization header or an invalid token wrote a
401but then still ran the route handler, because the abort was not propagated. The middleware now terminates the chain so protected handlers never execute after an authentication failure (#3930, fixes #3929).
Bug Fixes
Detection & Classification
- Range filter restored on arm64 / Raspberry Pi Docker. On ONNX-only arm64 images the default
rangefilter.model: latestsilently failed to load, so the active species list jumped from around 100 for your location to 6000+ and out-of-range species started showing up. Thelatestdefault now auto-selects the shipped ONNX range-filter model, restoring the same regional filtering as before with no download. If you had gotten used to the unfiltered results, out-of-range species will be suppressed again (#3933, fixes #3932).
Audio & Streaming
- FFmpeg RTSP timeouts now trigger the audio-only fallback. An RTSP source whose FFmpeg connection timed out without ever delivering data was treated as a clean end-of-stream, so the audio-only capture fallback never engaged and the stream went silent. That timeout is now detected and recorded so the fallback kicks in correctly (#3937, fixes #3936).
Media
- Audio and spectrogram players no longer break for extended-capture clips. Detections that use Extended Capture emit their database entry and live update before the audio clip finishes writing, so the media API briefly raced the file: audio and spectrogram requests returned
404, the detections list showed a broken player until a manual reload, and the transient errors spammed the logs. Clips that are still within their capture window now return503with aRetry-Afterand the player waits them out on its own, while genuinely missing clips still return404(#3946).
System & Health
- Correct CPU sensor used for the critical-temperature check. The Overview and Health pages could raise a false "Critical Temperature" alert when a non-CPU sensor read hotter than the CPU. Both pages now read the CPU thermal sensor specifically (#3941, fixes #3940).
- Health page shows CPU temperature in the configured unit. The System > Health page always printed the CPU temperature in Celsius even when the dashboard was set to Fahrenheit; it now uses the configured unit, read per request so a unit change takes effect without a restart. As a side effect of consolidating the thermal readers, the
cpu.temperaturemetric now reports the hottest valid zone, so on multi-zone or multi-socket systems it may read slightly higher after upgrade (#3945).
Database
- Migration state detected correctly on startup. A leftover marker from an old bug (PR #2165) could make a legacy database look like a fully migrated v2 database, which deleted the real migrated sidecar and dropped the app back to legacy mode. That misdetection is fixed, and the detection now discriminates by row count so a completed-v2 install that still carries empty legacy tables is recognized as v2 instead of crash-looping on startup, while a genuinely legacy database with unmigrated data is still protected (#3926, #3947, fixes #3924).
π‘οΈ VirusTotal Results:
- birdnet-go-darwin-arm64-20260716.tar.gz
- birdnet-go-linux-amd64-20260716.tar.gz
- birdnet-go-linux-arm64-20260716.tar.gz
- birdnet-go-windows-amd64-20260716.tar.gz
- checksums.txt
Biosphere - Bioacoustics and Acoustic Data Analysis
- Go
Published by tphakala about 1 month ago
URBANopt CLI - Version 1.4.0.rc1
- Update to OpenStudio 3.11
- NOTE: Residential workflow will not work in this release but will be restored in 1.4.0.
- NOTE: uo create --combined is temporarily disabled in this release candidate and will be restored in 1.4.0.
Consumption - Buildings and Heating
- Ruby
Published by kflemin about 1 month ago
xCDAT - v0.11.3
v0.11.3 (16 July 2026)
This patch release fixes xgcm 0.10 compatibility by translating xCDAT's legacy grid options to the new padding API. This restores vertical regridding without requiring caller changes. The minimum xgcm version is now 0.10.0, which is required for the new padding API. It also constrains regionmask >=0.11.0 for numpy 2.0 compatibility.
Bug Fixes
- Fix xgcm 0.10 padding compatibility by @tomvothecoder in https://github.com/xCDAT/xcdat/pull/840
DevOps
- Constrain
regionmask >=0.11.0for numpy 2.0 compatibility by @tomvothecoder in https://github.com/xCDAT/xcdat/pull/838
Full Changelog: https://github.com/xCDAT/xcdat/compare/v0.11.2...0.11.3
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] about 1 month ago
reV - Bespoke Noise MVP
Whatβs Changed
Features
- Add noise modeling MVP to Bespoke (#582) @ppinchuk
Bug Fixes
- Fix warnings when running reV version (#581) @ppinchuk
Energy Systems - Renewable Energy Integration
- Python
Published by github-actions[bot] about 1 month ago
Ecoscope - v2.16.5
What's Changed
Other Changes
- Update
ecoscope-earthranger-io-coreversion pins by @atmorling in https://github.com/wildlife-dynamics/ecoscope/pull/780
Full Changelog: https://github.com/wildlife-dynamics/ecoscope/compare/v2.16.4...v2.16.5
Biosphere - Conservation and Restoration
- Python
Published by github-actions[bot] about 1 month ago
Planscape - 2026.07.16-ef7c2f14fa
Rx Lev old title backfill
Biosphere - Wildfire
- Python
Published by Foxbyte0101 about 1 month ago
openEO - openEO Python Client v0.51.0
Added
DataCube.resample_spatial()now supports parameterizedresolutionandprojectionarguments. (#897)- Sanitize asset download filenames (e.g. strip slashes, (semi)colon, hash, ...), instead of blindly using the asset key as filename. (#820)
- Support parameters in
DataCubeapply- and band-math operations (#903) - Introduction of simple (experimental) event system at
Connection.eventsto allow hooking into various events of the API and internals (#922) - Initial implementation of pytest plugin
auto_list_job_idsto automatically list created jobs and sync processing requests (#922)
Changed
ResultAsset.__init__(): renamednameargument tokeyfor clarity and consistency with the spec (#820)
Fixed
- Better error message when passing a bounding box with field typos in
Connection.load_collection()and alike (#910)
Sustainable Development - Environmental Satellites
- Python
Published by soxofaan about 1 month ago
Planscape - 2026.07.16-8f18093056, Staging
Rx Lev backfill and many other changes
Biosphere - Wildfire
- Python
Published by Foxbyte0101 about 1 month ago
EVerest - 2026.02.1
This is the first maintenance release of the 2026.02 stable line. It contains bug fixes, robustness improvements, and security patches backported to the stable/2026.02 branch.
In line with the project's release strategy, this patch release does not introduce breaking changes to the public API.
Changes since 2026.02.0
Framework
- Add thread pool scaling policy to lib/framework for internal message handling.
This allows more control over thread (pool) scaling and is specifically relevant
for low resource constrained systems by @djchhp - Add thread pool exception policy and use Rethrow in message handling by @Pietfried
- libio: add kernel CAN receive filters (
CAN_RAW_FILTER) and one-shot timer support; used by the InfyPower driver for frame filtering and paced polling by @florinmihut
APIs
- Move EVerestAPI modules into a common sub-folder by @cburandt
- RpcApi: normalize signed external limits to absolute values by @FaHaGit
OCPP
- Publish
default_priceon connectivity change and config update within OCPP1.6 and OCPP2.x by @Pietfried - Inject
TariffFallbackMessageinto AuthorizeResponse andTotalCostFallbackMessageat offline transaction end in OCPP2.x by @Pietfried
EV Communication
- Add new nominal properties for DC Power Supply capabilities (ISO15118) by @Pietfried
- libiso15118: add response message interval control by @FaHaGit
- IsoMux: make proxy connect target configurable via
proxy_deviceby @Pietfried - Add CC.5.6 2g) check from IEC 61851-23:2023 to EvseV2G; min voltage/current values now use power-supply limits by @SebaLukas
- EvseSlac: add 0xA14E message filtering by @hikinggrass
Hardware Drivers
- Add configuration option for the IT field of LemDCBM400/600 by @florinmihut
- ChargeBridge: add
enable_stop_charging_inputconfig option by @corneliusclaussen
Documentation
- Improve documentation build and deployment by @cburandt
- EvseManager: remove duplicate section about OverVoltageMonitoring by @Pietfried
Testing & CI
- Unify the e2e test runner and enable parallel ISO 15118 execution by @Pietfried
- BuildKit: use corepack to provide a newer version of npm in the CI containers by @nzbr
Build System & Yocto
- Add ChargeBridge systemd service by @corneliusclaussen
Notable Bug Fixes
Core
- EvseManager: rework enable/disable handling by @Pietfried
- EvseManager: drop max charger current limitation by @martinlukas84
- EnergyManager: eliminate data race and unnecessary copy in optimizer by @Pietfried
- OVMSimulator: prevent the OVM simulator from publishing 0 V by @FaHaGit
- Powermeter errors: use
powermeter/definitions again instead of generic ones by @corneliusclaussen - Fix missing reset of flags in EvseManager by @florinmihut
- ChargeBridge: fix mDNS discovery with multiple interfaces by @corneliusclaussen
- EvseManager: invalidate
powersupply_DC_setcache when switching power supply off by @biubiuzhang - EvseManager: destroy charger before its dependencies on shutdown by @mlitre
- System, Linux_Systemd_Rauc: restrict diagnostics upload protocols by @hikinggrass
- Adapt repository to its own everest-core β EVerest rename by @cburandt
- Auth: persist EVSE-specific reservations and no longer resurrect cancelled/expired reservations after a reboot by @biubiuzhang
- EvseManager: register the OverVoltageMonitor plausibility subscription once at init instead of accumulating duplicate handlers by @florinmihut
- EvseManager: skip calculation of limits if the number of phases is unknown, fixing a potential division by zero by @barsnick
Framework
- libio (TCP): make
tcp_socketready before signalling ready by @djchhp - Fix
telemetry_publishby @hikinggrass - Ensure clean module shutdown on init exceptions by @Pietfried
- MQTT: fix TOCTOU race causing messages to be silently dropped by @Pietfried
- Fix LatencyScaling in thread pools by @dorezyuk
- Timer: drop mutex before join in destructor by @mlitre
- Log MQTT messages at the "verbose" level by @barsnick
- TLS: set server thread id before signalling the server as running, preventing a potential segfault on stop by @mlitre
- SQLite: add missing nullptr check in database connection handling by @james-ctc
- Preload the timezone database before worker threads start, preventing a crash caused by a racy lazy initialization by @mlitre
OCPP
- OCPP 1.6: reject invalid boolean
ChangeConfigurationvalues by @biubiuzhang - OCPP 1.6: fall back to DB for
FinalCostarriving afterStopTransaction.confby @Pietfried - OCPP 1.6: fix
ClearChargingProfileon connector 0 by @mlitre - OCPP2.x: Catch
json::exceptionwhen parsingGet15118EVCertificateResponseandAuthorizeResponseby @Pietfried - OCPP2.x: Respect
CertSigningWaitMinimumin cert signing retry by @mlitre - Reject smart charging profiles with non-finite float values by @Pietfried
- Websocket: prevent segfault during
lws_context_destroyreconnection callbacks by @mlitre - Message queue: protect
BootNotificationfrom being dropped during queue overflow by @mlitre - Free
SSL_CTXon early-return paths ininitialize_connection_optionsby @Pietfried - Use the configured OCSP request interval instead of a hardcoded 12 hours (default unchanged) by @ThatsLucas
- Fix a race condition between the Installed firmware-status notification and the immediate hard reset triggered by firmware installation by @Pietfried
EV Communication
- ISO15118: fix connection immediately terminated in case of a SequenceError by @mlitre
- On a failed response code, create a default service parameter entry so libcbv2g can encode the EXI messages without errors; move all state tests to the FSM tests by @SebaLukas
- PyEvJosev: start the Java gateway only once and reuse it across charging sessions by @Pietfried
- EvseSlac: fix a segmentation fault by @djchhp
- libiso15118: make the
CB2CPP_BYTESmacro use the correct size of the input buffer and change theMeterSignaturetype tostd::arrayby @SebaLukas
APIs
- RpcApi: correctly forward errors to RPC by @barsnick
Build System & Yocto
- Fix everest-core scarthgap yocto recipe by @hikinggrass
- yocto/scarthgap: add OpenSSL patch for newer versions by @Hgerner
- yocto: update tpm2-openssl to 1.3 by @barsnick
- Fix integrated yocto source fetching by @hikinggrass
- Fix compilation due to missing cmake includes for the admin panel by @florinmihut
Hardware Drivers
- PN532TokenProvider: rework low-level frame sending and receiving by @mhei
- Huawei_V100R023C10: fix GOOSE receiver crash on malformed frames by @florinmihut
Testing & CI
- Use one EXI JVM per session to prevent
CertificateInstallationRestimeout by @Pietfried - Harden smoke tests by asserting power-below rather than flaky energy-below assertions by @Pietfried
- Stabilize OCPP tests by @Pietfried
- Make
verify_multi_leaf_retrievalorder-agnostic by @mlitre - Add rerun marker to
test_cleanup_transaction_events_after_max_attempts_exhaustedand setValidationMode.EASYearlier by @Pietfried - Add a sleep to
test_iso15118_dc_session_error_before_sessionand rerun annotations for EV-side pausing test cases by @Pietfried - Skip
test_iso15118_ac_session_paused_by_evby @Pietfried - Exclude author emails that match GitHub noreply addresses by @andistorm
- Fix California pricing test case for Python 3.13 by @nzbr
- OCPP 2.1: delay OCPP start to de-flake Q01 checks by @mlitre
Maintenance
- CODEOWNERS: add owners for
lib/everest/evse_securityby @barsnick - CODEOWNERS: add yocto specifications and @barsnick for EvseV2G by @Pietfried
- CODEOWNERS: add owners for RpcApi and fix the EnergyManager path by @Pietfried
New Contributors
@Hgerner made their first contribution in https://github.com/EVerest/EVerest/pull/2093
@mikuso made their first contribution in https://github.com/EVerest/EVerest/pull/2060
Fixed Security Issues
This release contains various security fixes.
Reported by @kmm2003:
- CVE-2026-42292: DoS through Huawei FusionCharge dispenser path with a forged secure GOOSE frame before HMAC verification
Reported by @YueSongZe:
- CVE-2026-40932: DoS via extreme float overflow in OCPP 2.0.1 Module
- CVE-2026-54169: Remote Off-by-Eight Heap Buffer Overflow in EVerest EvseV2G
- CVE not yet assigned: SSRF in System Module leading to Arbitrary File Overwrite and Information Disclosure
Reported by Alex Antonakakis:
Reported by @shxz9u:
- CVE not yet assigned: Out-of-bounds Write and Incorrect Calculation of Buffer Size and Uncaught Exception in EVerest
Reported by @djchhp:
- CVE-2026-61540: EvseSlac crashes with SEGFAULT on plugin
Full Changelog
https://github.com/EVerest/EVerest/compare/2026.02.0...2026.02.1
Consumption - Mobility and Transportation
- C++
Published by Pietfried about 1 month ago
Deadtrees.earth - v2026.07.16.12
What's Changed
Frontend
- feat(audit): add explicit AOI correction editing by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/492
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.11...v2026.07.16.12
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.11
What's Changed
Other Changes
- fix(frontend): stop leaking ~390MB of memory per dataset navigation by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/507
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.10...v2026.07.16.11
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
CoopCycle - v5.5.0
What's changed
- Fix menu item cards
- Fix shop ordering by time slot
- Allow customizing the sort algorithm for shop collections
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.4.4...v5.5.0
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
Macro - v0.2.1
What's Changed
Bug Fixes
- [release-0.2-hotfix] Fix wacc default preventing fallback to DiscountRate by @lbonaldo in https://github.com/macroenergy/MacroEnergy.jl/pull/269
Other Changes
- Update MacroEnergSolvers.jl version number by @filippopecci in https://github.com/macroenergy/MacroEnergy.jl/pull/255
- Fix changelog by @filippopecci in https://github.com/macroenergy/MacroEnergy.jl/pull/262
Full Changelog: https://github.com/macroenergy/MacroEnergy.jl/compare/v0.2.0...v0.2.1
Energy Systems - Energy System Modeling Frameworks
- Julia
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.10
What's Changed
Maintenance
- build(deps): update simplification requirement from <2,>=0.7 to >=1.0.0,<2 in /processor by @dependabot[bot] in https://github.com/Deadwood-ai/deadtrees/pull/502
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.9...v2026.07.16.10
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.9
What's Changed
Maintenance
- build(deps): bump the npm-minor group across 1 directory with 8 updates by @dependabot[bot] in https://github.com/Deadwood-ai/deadtrees/pull/464
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.8...v2026.07.16.9
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
TZ-OSeMOSYS - v0.3.9
Changes
- Correct DaySplit/YearSplit timeslice mapping and max_hours compatibility with custom time slices (#188) @joel1120
Energy Systems - Energy System Modeling Frameworks
- Python
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.8
What's Changed
Maintenance
- build(deps): bump the npm-patch group across 1 directory with 8 updates by @dependabot[bot] in https://github.com/Deadwood-ai/deadtrees/pull/497
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.7...v2026.07.16.8
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.7
What's Changed
Maintenance
- build(deps): bump the actions-all group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/Deadwood-ai/deadtrees/pull/490
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.6...v2026.07.16.7
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.6
What's Changed
Other Changes
- perf(archive): stop blocking the main thread on every keystroke, pan and hover by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/488
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.5...v2026.07.16.6
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
ERAD - v0.1.14
What's Changed
- Pr/84 by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/87
Full Changelog: https://github.com/NLR-Distribution-Suite/erad/compare/v0.1.13...v0.1.14
Energy Systems - Grid Analysis and Planning
- Python
Published by AadilLatif about 1 month ago
Deadtrees.earth - v2026.07.16.5
What's Changed
Other Changes
- chore(ops): harden operator workflows by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/506
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.4...v2026.07.16.5
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
ClimWeb - v1.2.1
What's Changed
- docs: page guide for City Climatology page by @haqanh in https://github.com/wmo-raf/climweb/pull/679
- Bump coverage from 7.14.2 to 7.14.3 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/678
- Bugfix/rtl arabic by @zzhengweii in https://github.com/wmo-raf/climweb/pull/680
- docs: settings panel guides (Google Translate, Navigation, Important Pages, Satellite Imagery, Themes) by @cloudrumbles in https://github.com/wmo-raf/climweb/pull/682
- π Crowdin translation sync β community contributions by @github-actions[bot] in https://github.com/wmo-raf/climweb/pull/685
- Bump coverage from 7.14.3 to 7.15.0 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/686
- Add "Create CAP alert from geometry" route by @fgg-consultant in https://github.com/wmo-raf/climweb/pull/688
- docs: guide for CAP Alert Statistics page by @cloudrumbles in https://github.com/wmo-raf/climweb/pull/696
- Feature/flex forms by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/712
- add prominent anticipatory action button by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/716
- add social share for city climatology by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/717
- Name of institution included in the logo by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/719
- Fix/accordion flexpage by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/725
- add URL Shortener by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/727
- Bump coverage from 7.15.0 to 7.15.1 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/726
- bump geomanager v0.6.3...0.6.4 by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/728
- Feature/interactive backup by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/729
New Contributors
- @haqanh made their first contribution in https://github.com/wmo-raf/climweb/pull/679
- @cloudrumbles made their first contribution in https://github.com/wmo-raf/climweb/pull/682
- @fgg-consultant made their first contribution in https://github.com/wmo-raf/climweb/pull/688
Full Changelog: https://github.com/wmo-raf/climweb/compare/v1.2.0...v1.2.1
Atmosphere - Meteorological Observation and Forecast
- Python
Published by Grace-Amondi about 1 month ago
Deadtrees.earth - v2026.07.16.4
What's Changed
Frontend
- feat(frontend): add editable PRIWA infestation groups by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/494
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.3...v2026.07.16.4
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.3
What's Changed
Maintenance
- ci(dependabot): constrain compatibility updates by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/505
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.2...v2026.07.16.3
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.2
What's Changed
Other Changes
- feat(search): full-AOI containment, persist results on back-nav, query logging by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/487
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.1...v2026.07.16.2
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16.1
What's Changed
Frontend
- feat(frontend): route PostHog through managed proxy by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/495
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16...v2026.07.16.1
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
Deadtrees.earth - v2026.07.16
What's Changed
Frontend
- feat(frontend): link PRIWA flights to beetle trees by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/489
- feat(frontend): add PRIWA observers and mobile layer sheet by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/491
Maintenance
- ci(test): harden test lanes and service builds by @JesJehle in https://github.com/Deadwood-ai/deadtrees/pull/493
Other Changes
- fix(frontend): label Wayback basemaps by acquisition date, not release date by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/483
- fix(labels): survive DB statement timeouts on large geometry inserts by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/484
- feat(search): restrict embedding search to each dataset's AOI by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/485
- feat(processor): let a worker blacklist task steps it won't run by @cmosig in https://github.com/Deadwood-ai/deadtrees/pull/486
Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.09.7...v2026.07.16
Biosphere - Forest Remote Sensing
- TypeScript
Published by github-actions[bot] about 1 month ago
ecmwf-opendata - 0.3.31
What's Changed
- docs: update aifs-ens earthkit example for earthkit-data 1.0 API by @yigitoneraltintas in https://github.com/ecmwf/ecmwf-opendata/pull/98
- fix: dont override explicit model by class by @tmi in https://github.com/ecmwf/ecmwf-opendata/pull/99
New Contributors
- @yigitoneraltintas made their first contribution in https://github.com/ecmwf/ecmwf-opendata/pull/98
- @tmi made their first contribution in https://github.com/ecmwf/ecmwf-opendata/pull/99
Full Changelog: https://github.com/ecmwf/ecmwf-opendata/compare/0.3.30...0.3.31
Climate Change - Climate Data Access and Visualization
- Python
Published by awarde96 about 1 month ago
Mangrove Atlas - v8.0.0-rc.3
8.0.0-rc.3 (2026-07-16)
Features
- add monitored area legend to alerts widget and map legends (#1593) (be9df22)
- draw and analyse saved custom areas on map click (#1599) (b108b20)
Bug Fixes
- add thousands separators to net change widget Y-axis (GMW-1054) (#1600) (8ea451c)
- alerts widget axis labels and monitored areas outline (#1592) (46327c4)
- correct species widget no-data behaviour (GMW-1062) (#1606) (666a8e7)
- filter alerts map layer by widget date range (#1590) (7d9e506)
- only require current password when changing password in account form (GMW-1046) (#1594) (713ac67)
- order map-tip contextual layers on the map (GMW-1057) (#1603) (c5abe54)
- prevent empty toast on dark-mode OS (GMW-1043) (#1607) (2273db6)
Biosphere - Forest Observation and Management
- Jupyter Notebook
Published by github-actions[bot] about 1 month ago
openfoodfacts-server - v2.98.0
2.98.0 (2026-07-15)
Features
- enable unwanted ingredients attribute for OPF and OPFF (#13933) (9a8f55b), closes #13830
- generate JSON files for product statistics (#13929) (ceb3a8e)
Bug Fixes
- "Explore by" button to point directly to /facets URLs (#13860) (2203e1e)
- coconut water does not count as fruit for Nutri-Score (#13717) (53ed11a)
- CORS, allow credentials on any uri (#14001) (dc02a93), closes #13943
- restore nginx expose (#13942) (a079cc1)
- show Wikidata weblinks on facet pages (#13944) (8ca9ed7), closes #13810
- staging exporter access to nginx status (#13934) (637d630)
Consumption - Agriculture and Nutrition
- HTML
Published by openfoodfacts-bot about 1 month ago
EcoAssist - AddaxAI v6.37
Increase JSON GH fetch timeouts
Biosphere - Terrestrial Wildlife
- Python
Published by PetervanLunteren about 1 month ago
antaresRead - CRAN version 3.1.0
antaresRead 3.1.0
ENHANCEMENT :
.getPathsAPI()uses a specific endpoint to get the list of the outputs of a study.
BUGFIXES :
.getSimOptionsAPI()reads and returns the new converted study version format (ex : 9.0 => 900) in output mode
BREAKING CHANGES :
.getInputOptionsAPI()Since Antares Web 2.33.0, new numbering system in API mode (ex : 7.0, 8.2, 9.2, ...)
Energy Systems - Energy System Modeling Frameworks
- R
Published by KKamel67 about 1 month ago
ClimaSeaIce.jl - v0.5.8
ClimaSeaIce v0.5.8
Merged pull requests:
- Metric-aware formulation for strain and stress (#164) (@simone-silvestri)
- Include mass_fluxes in prognostic state management (#168) (@simone-silvestri)
Cryosphere - Sea Ice
- Julia
Published by github-actions[bot] about 1 month ago
CoopCycle - v6.0.0-beta3
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v6.0.0-beta2...v6.0.0-beta3
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
GISWATER - v4.15.2
π½ Read the summarized changelog here π½
Fixed
- Fix
gw_fct_setnodefromarcfunction to return the correct error message withgw_fct_exception_othersfunction. - Fix admin dialog: do not show ghost schemas in parentheses when switching connections or after delete; restore selection only if the schema exists on the current connection.
- Fix admin dialog: persist last selected schema per connection instead of globally.
- Fix admin dialog: refresh schema list and project info when switching connections (ignore stale async load results).
- Fix admin dialog: avoid
TypeErrorand missing-table warnings when a deleted or invalid schema is still selected. - Fix admin dialog: show PostgreSQL/PostGIS/pgRouting versions for the active connection even when the server version is incompatible.
- Fix admin dialog: pg_service connections without user/password in
pg_service.confnow prompt credentials via QGIS (same as Browser) instead of failing withfe_sendauth.
Full Changelog: https://github.com/giswater/plugin/compare/v4.15.1...v4.15.2
π Check the official documentation here: βοΈβπ₯ Giswater Documentation
Natural Resources - Water Supply and Quality
- PLpgSQL
Published by danimarinBG about 1 month ago
CoopCycle - v5.4.4
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.4.3...v5.4.4
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
Diversity.jl - v0.5.16
Diversity v0.5.16
Merged pull requests:
- Fix Gower error (#54) (@richardreeve)
Biosphere - Biodiversity Analysis and Metrics
- Julia
Published by github-actions[bot] about 1 month ago
ERAD - v0.1.13
What's Changed
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/79
- Bump codecov/codecov-action from 5 to 7 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/78
- Bump jupyter-book from 2.1.2 to 2.1.5 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/77
- Bump jupyter-book from 2.1.5 to 2.1.6 by @dependabot[bot] in https://github.com/NLR-Distribution-Suite/erad/pull/80
- Update README, docs, examples, and bump version by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/82
- Dependabot/GitHub actions/davidslusser/actions python ruff 1.0.3 by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/83
- feat(hazard): non-hurricane gust model for wind hazards by @twischmeyer in https://github.com/NLR-Distribution-Suite/erad/pull/81
- Pr/84 by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/85
- Pr/81 by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/84
- docs: add v0.1.13 wind gust model to new_features.ipynb by @AadilLatif in https://github.com/NLR-Distribution-Suite/erad/pull/86
New Contributors
- @twischmeyer made their first contribution in https://github.com/NLR-Distribution-Suite/erad/pull/81
Full Changelog: https://github.com/NLR-Distribution-Suite/erad/compare/v0.1.11...v0.1.13
Energy Systems - Grid Analysis and Planning
- Python
Published by AadilLatif about 1 month ago
Volca - v0.9.3
What's Changed
- Release pyvolca 0.8.1 by @ccomb in https://github.com/ccomb/volca/pull/210
- Open 0.9.3 development by @ccomb in https://github.com/ccomb/volca/pull/209
- Start the server without --config by @ccomb in https://github.com/ccomb/volca/pull/211
- Make a non-matching name filter return an empty result by @ccomb in https://github.com/ccomb/volca/pull/212
- Let delete-activities target an exact list of process ids by @ccomb in https://github.com/ccomb/volca/pull/213
- Fail loud on scoring integrity errors instead of scoring 0 by @ccomb in https://github.com/ccomb/volca/pull/214
- Honor exact= in the product filter by @ccomb in https://github.com/ccomb/volca/pull/226
- Read EcoSpold 2 mathematicalRelation formulas by @ccomb in https://github.com/ccomb/volca/pull/215
- Add a supplier-gap report endpoint and MCP tool by @ccomb in https://github.com/ccomb/volca/pull/217
- Aggregate upstream consumption without double counting by @ccomb in https://github.com/ccomb/volca/pull/224
- Gate delete_activities(ids=) behind wire revision 3 by @ccomb in https://github.com/ccomb/volca/pull/219
- Expose sort and order in the pyvolca search and traversal methods by @ccomb in https://github.com/ccomb/volca/pull/222
- Let Server start the engine without a config file by @ccomb in https://github.com/ccomb/volca/pull/220
- Make the relink mapping geography-aware by @ccomb in https://github.com/ccomb/volca/pull/221
- Expose compartment, location and unit on method factors by @ccomb in https://github.com/ccomb/volca/pull/216
- Add Client.ensure_database, the idempotent upload lifecycle by @ccomb in https://github.com/ccomb/volca/pull/223
- Add Client.resolve_activities, concurrent batch name resolution by @ccomb in https://github.com/ccomb/volca/pull/225
- Release 0.9.3 by @ccomb in https://github.com/ccomb/volca/pull/218
Full Changelog: https://github.com/ccomb/volca/compare/v0.9.2...v0.9.3
Industrial Ecology - Life Cycle Assessment
- Haskell
Published by github-actions[bot] about 1 month ago
ClimaAtmos.jl - v0.42.0
ClimaAtmos v0.42.0
Breaking changes
- Update to RRTMGP v0.22 API
π’ API Changes:
π Features
π Documentation
π Fixes
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 1 month ago
cellpy - v1.1.0.post1
Summary
Post-release after v1.1.0: conda env sync, drop invoke/tasks.py, docs Python 3.13+/copyright 2026, HISTORY update.
Install
pip install cellpy==1.1.0.post1
# or
pip install -U cellpy
Energy Storage - Battery
- Python
Published by jepegit about 1 month ago
goat - v2.4.50 Bugfix Release
This release is a maintenance update addressing various issues identified since the 2.4.49 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.
What's Changed
- feat: pt heatmaps by @nihar1024 in https://github.com/plan4better/goat/pull/3754
Full Changelog: https://github.com/plan4better/goat/compare/v2.4.49...v2.4.50
Consumption - Mobility and Transportation
- TypeScript
Published by majkshkurti about 1 month ago
cellpy - v1.1.0
What's Changed
- minor edits on paper.md by @mbarzegary in https://github.com/jepegit/cellpy/pull/308
- fix citation rendering problem by @mbarzegary in https://github.com/jepegit/cellpy/pull/309
- 310 improvements in batch utility needed by @jepegit in https://github.com/jepegit/cellpy/pull/311
- update integrate.simps for new scipy versions by @juliawind in https://github.com/jepegit/cellpy/pull/317
- 277 drop support for python 39 and begin supporting 312 by @jepegit in https://github.com/jepegit/cellpy/pull/321
- Add basic support for reading parquet for custom instruments by @morrowrasmus in https://github.com/jepegit/cellpy/pull/322
- Add option to specify custom_log_path and path to logging config json⦠by @morrowrasmus in https://github.com/jepegit/cellpy/pull/326
- 328 ci fails pytest with nbmake by @jepegit in https://github.com/jepegit/cellpy/pull/329
- 327 upgrade picking by @jepegit in https://github.com/jepegit/cellpy/pull/331
- fix bug in pands.ExcelWriter call by @jepegit in https://github.com/jepegit/cellpy/pull/336
- 339 batch plotting with multiple subfigures by @jepegit in https://github.com/jepegit/cellpy/pull/341
- 339 batch plotting with multiple subfigures by @jepegit in https://github.com/jepegit/cellpy/pull/343
- batch plotting multi v0 by @jepegit in https://github.com/jepegit/cellpy/pull/344
- start improving dbreaders by @jepegit in https://github.com/jepegit/cellpy/pull/346
- fix bug in pands.ExcelWriter call by @jepegit in https://github.com/jepegit/cellpy/pull/347
- 348 make it easier to use as or in apps by @jepegit in https://github.com/jepegit/cellpy/pull/349
- Improve interpolator by @jepegit in https://github.com/jepegit/cellpy/pull/351
- use fastnda for neware nda and ndax files by @jepegit in https://github.com/jepegit/cellpy/pull/353
- 355 load batmo bdf by @msudars in https://github.com/jepegit/cellpy/pull/357
- Export bdf for dsToolbox (#356) by @jepegit in https://github.com/jepegit/cellpy/pull/358
- Fix CI pipeline problems (#360) by @jepegit in https://github.com/jepegit/cellpy/pull/361
- Install Microsoft Access Database Engine on AppVeyor (follow-up to #360) by @jepegit in https://github.com/jepegit/cellpy/pull/362
- Add filtering possibility to plotters in plotutils (#363) by @jepegit in https://github.com/jepegit/cellpy/pull/364
- Fix summary_plot crash when formation_cycles=False/0 (#366) by @jepegit in https://github.com/jepegit/cellpy/pull/367
- Exporters: bdf_units= keyword to control target units in to_bdf (#365) by @jepegit in https://github.com/jepegit/cellpy/pull/368
- Update BDF exporter to use source units from
data.raw_unitsinstead ofcellpy_units. This change ensures correct unit conversions for instruments reporting in non-default units, such asbatmo_bdfwhich usesAh. Adjusted related documentation and tests to reflect this update, including new tests for handling raw units directly. Closes #365. by @jepegit in https://github.com/jepegit/cellpy/pull/370 - Test coverage baseline and fixture-free unit tests (#372) by @jepegit in https://github.com/jepegit/cellpy/pull/373
- 153 pec reader by @msudars in https://github.com/jepegit/cellpy/pull/374
- 377 prepare cellpy to consume cellpy core isolate the data object via a core seam by @jepegit in https://github.com/jepegit/cellpy/pull/379
- Migrate build to pyproject.toml + uv (#354) by @jepegit in https://github.com/jepegit/cellpy/pull/380
- 381 refactor module naming to prevent name clash with cellpy core by @jepegit in https://github.com/jepegit/cellpy/pull/382
- Add header/unit parity contract tests between cellpy and cellpy-core (#378) by @jepegit in https://github.com/jepegit/cellpy/pull/383
- 153 pec reader by @msudars in https://github.com/jepegit/cellpy/pull/393
- 395 no of files to be merged config file by @msudars in https://github.com/jepegit/cellpy/pull/397
- Change BatchSummaryCollector default y-axis scaling to independent axes by @jepegit in https://github.com/jepegit/cellpy/pull/392
- test: add CellpyLimits to cellpy-core parity contract (STEP-08) by @jepegit in https://github.com/jepegit/cellpy/pull/390
- ci: interim unblock for hanging nbmake notebook step (#394) by @jepegit in https://github.com/jepegit/cellpy/pull/398
- Bump msgpack from 1.2.0 to 1.2.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/389
- Bump jupyterlab from 4.5.8 to 4.5.9 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/388
- Bump jupyter-server from 2.19.0 to 2.20.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/386
- Migrate off cellpycore create_selector (unblocks cellpy-core#45) by @jepegit in https://github.com/jepegit/cellpy/pull/399
- Pin cellpycore to PyPI release (>=0.1.1) instead of git @main by @jepegit in https://github.com/jepegit/cellpy/pull/400
- Re-pin cellpycore to PyPI 0.1.2 by @jepegit in https://github.com/jepegit/cellpy/pull/401
- ci: GitHub release β PyPI workflow and release branching docs by @jepegit in https://github.com/jepegit/cellpy/pull/403
- chore(release): prepare v1.0.4a1 alpha by @jepegit in https://github.com/jepegit/cellpy/pull/404
- fix(ci): UV_NO_SOURCES on release test job by @jepegit in https://github.com/jepegit/cellpy/pull/405
- Offline unit tests for helpers/filefinder + three bug fixes (#372, iteration 2) by @jepegit in https://github.com/jepegit/cellpy/pull/406
- fix(ci): move Windows conda pytest from AppVeyor to GitHub Actions (#407) by @jepegit in https://github.com/jepegit/cellpy/pull/408
- fix(deps): Dependabot-friendly cellpycore dev wiring by @jepegit in https://github.com/jepegit/cellpy/pull/409
- Bump dateparser from 1.4.0 to 1.4.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/414
- Bump ipython from 9.14.1 to 9.15.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/413
- Bump setuptools from 82.0.1 to 83.0.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/411
- Bump numpy from 2.4.6 to 2.5.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/410
- Bump pandas to 3.0.3 by @jepegit in https://github.com/jepegit/cellpy/pull/416
- 415 bump pandas by @jepegit in https://github.com/jepegit/cellpy/pull/423
- Bump tqdm from 4.68.2 to 4.68.4 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/422
- Bump charset-normalizer from 3.4.7 to 3.4.8 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/418
- Bump kaleido from 0.1.0.post1 to 1.3.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/419
- Bump pytest from 9.1.0 to 9.1.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/421
- Bump polars from 1.41.2 to 1.42.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/420
- docs: clarify cellpy_units in get() and clean up cellreader docstrings by @jepegit in https://github.com/jepegit/cellpy/pull/426
- Stage 0.1: Golden-fixture convention and regeneration tooling by @jepegit in https://github.com/jepegit/cellpy/pull/440
- ci: fast PR gate β essential only, conda matrix on schedule by @jepegit in https://github.com/jepegit/cellpy/pull/441
- 428 golden fixture convention by @jepegit in https://github.com/jepegit/cellpy/pull/442
- Stage 0.2: Cellpy-file HDF5 characterization tests by @jepegit in https://github.com/jepegit/cellpy/pull/443
- test(testing): prms configuration characterization (Stage 0.3) by @jepegit in https://github.com/jepegit/cellpy/pull/444
- test(testing): unit-handling characterization (Stage 0.4) (#431) by @jepegit in https://github.com/jepegit/cellpy/pull/445
- test(testing): per-loader golden snapshots for tier-1 loaders (Stage 0.5) by @jepegit in https://github.com/jepegit/cellpy/pull/460
- test(testing): curve-extraction golden snapshots (Stage 0.6) by @jepegit in https://github.com/jepegit/cellpy/pull/461
- test(testing): value-parity comparator through header mapping (Stage 0.7) by @jepegit in https://github.com/jepegit/cellpy/pull/462
- Stage 0.8: Extend consumer scans to filters/, exporters/, internals/ by @jepegit in https://github.com/jepegit/cellpy/pull/463
- build(deps): bump mistune from 3.2.1 to 3.3.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/464
- test: Stage 0.9 benchmark harness with v1.x baselines (#436) by @jepegit in https://github.com/jepegit/cellpy/pull/467
- fix(ci): retry setup-miniconda on transient conda-forge failures (#465) by @jepegit in https://github.com/jepegit/cellpy/pull/468
- docs: add Cursor Cloud dev environment instructions to AGENTS.md by @jepegit in https://github.com/jepegit/cellpy/pull/469
- test: fix legacy v4/v5 cellpy-file characterization (#466) by @jepegit in https://github.com/jepegit/cellpy/pull/470
- Stage 0.10: Conventions bootstrap β deprecation helper, exception tree, DEPRECATIONS registry by @jepegit in https://github.com/jepegit/cellpy/pull/471
- chore: issue #438 Stage 0 decision register (tracking) by @jepegit in https://github.com/jepegit/cellpy/pull/472
- docs: document jepegit/architecture-plan mirror by @jepegit in https://github.com/jepegit/cellpy/pull/473
- docs: Stage 0 foundations complete (#439) by @jepegit in https://github.com/jepegit/cellpy/pull/474
- Stage 1.1: cellpy-file format spec in cellpy_file/format.py (#446) by @jepegit in https://github.com/jepegit/cellpy/pull/475
- fix: PEC golden datetime + tiered benchmark gate (#476) by @jepegit in https://github.com/jepegit/cellpy/pull/477
- 476 golden benchmark fixes by @jepegit in https://github.com/jepegit/cellpy/pull/478
- feat: deprecate cellpy.utils.easyplot on import (#479) by @jepegit in https://github.com/jepegit/cellpy/pull/480
- feat: unify pint registry with cellpycore (#450) by @jepegit in https://github.com/jepegit/cellpy/pull/481
- Stage 1.2: stateless cellpy_file helpers + explicit load limits (#447) by @jepegit in https://github.com/jepegit/cellpy/pull/482
- Stage 1.3: move cellpy-file read/write paths into cellpy_file/ (#448) by @jepegit in https://github.com/jepegit/cellpy/pull/483
- Stage 1.4: out-of-band readers, typed errors, and cellpy convert CLI by @jepegit in https://github.com/jepegit/cellpy/pull/484
- Stage 1.10: replace hard-coded header literals with headers_* lookups (#455) by @jepegit in https://github.com/jepegit/cellpy/pull/485
- fix: resolve full-suite test failures (#491) by @jepegit in https://github.com/jepegit/cellpy/pull/492
- build(deps): bump charset-normalizer from 3.4.8 to 3.4.9 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/486
- build(deps): bump scipy from 1.17.1 to 1.18.0 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/487
- build(deps-dev): bump coverage from 7.14.1 to 7.15.1 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/488
- build(deps): bump click from 8.4.1 to 8.4.2 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/489
- build(deps-dev): bump nox from 2026.4.10 to 2026.7.11 by @dependabot[bot] in https://github.com/jepegit/cellpy/pull/490
- Stage 1.7: parallel pydantic-settings config stack by @jepegit in https://github.com/jepegit/cellpy/pull/493
- Stage 1.8 M1: prms shim + legacy YAML load path (#453) by @jepegit in https://github.com/jepegit/cellpy/pull/494
- Stage 1.8 M2: migrate internal prms call sites to config (#453) by @jepegit in https://github.com/jepegit/cellpy/pull/495
- Stage 1.8 M3: remove import-time config init (#453) by @jepegit in https://github.com/jepegit/cellpy/pull/496
- feat(units): delegate duplicated converters to cellpycore.units (Stage 1.6, #451) by @jepegit in https://github.com/jepegit/cellpy/pull/497
- feat(cli): setup writes cellpy.toml twin; setup migrate; info --config (Stage 1.9, #454) by @jepegit in https://github.com/jepegit/cellpy/pull/498
- feat(frames): Polars Phase A β de-index raw/summary/journal + warn-only lint (Stage 1.12, #457) by @jepegit in https://github.com/jepegit/cellpy/pull/499
- feat(cellpy_file): dormant nativeβlegacy frame translation (Stage 1.15, #458) by @jepegit in https://github.com/jepegit/cellpy/pull/500
New Contributors
- @mbarzegary made their first contribution in https://github.com/jepegit/cellpy/pull/308
- @morrowrasmus made their first contribution in https://github.com/jepegit/cellpy/pull/322
- @msudars made their first contribution in https://github.com/jepegit/cellpy/pull/357
- @dependabot[bot] made their first contribution in https://github.com/jepegit/cellpy/pull/389
Full Changelog: https://github.com/jepegit/cellpy/compare/v.1.0.1...v1.1.0
Energy Storage - Battery
- Python
Published by jepegit about 1 month ago
EOReader - v0.24.2
0.24.2 (2026-07-15)
- FIX: Fix 4-bands
VantorBandId.Multi's band order (BGRN instead of NRGB) - FIX: Set back LIA (SAR local incidence angles) computation in default pipeline since SNAP 13 has been fixed #276
Sustainable Development - Environmental Satellites
- Python
Published by remi-braun about 1 month ago
ecodata - v7.0.0
Date: 07/15/2026
Release includes data/plots used to build the 2026 NEFMC and MAFMC State of the Ecosystem Reports submitted to both SSCs and councils (MAFMC & NEFMC).
Full Changelog: https://github.com/NOAA-EDAB/ecodata/compare/6.0.1...v7.0.0
Biosphere - Marine Life and Fishery
- HTML
Published by BBeltz1 about 1 month ago
OpenIO-Canada - OpenIO v2.11.1
v2.11.1 is a correction of v2.11.
- The endogenized capital matrix of exiobase was updated and we prevented impossible values from normalizing this capital matrix (sum of the row cannot exceed 1$). This created a significant decrease of the share of foreign capital goods impacts.
- Through the new endogenization of capitals approach in v2.11, residential buildings were treated as regular capital goods, while in reality they are not used for production. As a result, we now convert residential buildings capital formation to a typical household final expenditure (as was done in v2.10 for example). This leads to an increase of their emissions compared to v2.11.
Overall the two corrections kind of compensate each other, at the national/total level. However, the contributions of the different economic sectors between 2.11 and 2.11.1 are very different.
Industrial Ecology - Input Output Model
- Python
Published by MaximeAgez about 1 month ago
CoopCycle - v5.4.3
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.4.2...v5.4.3
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
CoopCycle - v5.4.2
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.4.1...v5.4.2
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
MUSICA - Version 0.16.1
What's Changed
- enabling more memory checks by @K20shores in https://github.com/NCAR/musica/pull/922
- Add typescript to mechanism configuration by @K20shores in https://github.com/NCAR/musica/pull/923
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/925
- Update julia project configuration by @boulderdaze in https://github.com/NCAR/musica/pull/927
- Move parsing into its own directory by @K20shores in https://github.com/NCAR/musica/pull/926
- Add MIEM emissions integration (parse, translate, build wiring) by @smeechncar in https://github.com/NCAR/musica/pull/929
- Reorganize Python mechanism configuration types after adding aerosols by @boulderdaze in https://github.com/NCAR/musica/pull/930
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/934
- Consolidate configuration parsing onto a single read path by @smeechncar in https://github.com/NCAR/musica/pull/940
- version 0.16.1 by @K20shores in https://github.com/NCAR/musica/pull/941
- Refactors MIAM to use species objects instead of string names by @boulderdaze in https://github.com/NCAR/musica/pull/937
- Auto-format code changes by @github-actions[bot] in https://github.com/NCAR/musica/pull/950
- Version 0.16.1 by @K20shores in https://github.com/NCAR/musica/pull/951
New Contributors
- @smeechncar made their first contribution in https://github.com/NCAR/musica/pull/929
Full Changelog: https://github.com/NCAR/musica/compare/v0.16.0...v0.16.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by K20shores about 1 month ago
Antares Simulator - v10.2.0-rc2
Run tests: false
Energy Systems - Energy System Modeling Frameworks
- C++
Published by github-actions[bot] about 1 month ago
Ecoscope - v2.16.4
What's Changed
Other Changes
- Bump ecoscope-io-core in release recipe by @atmorling in https://github.com/wildlife-dynamics/ecoscope/pull/779
Full Changelog: https://github.com/wildlife-dynamics/ecoscope/compare/v2.16.3...v2.16.4
Biosphere - Conservation and Restoration
- Python
Published by github-actions[bot] about 1 month ago
CloudnetPy - CloudnetPy 1.93.5
- Allow passing "mira-35s" and "mira-35c" models to
mira2nc - Improve
tpowscreening based on specific MIRA model - Write actual radar frequency used by MIRA to output file
- Remove LDR variable from MIRA if polarization is off
- Expose model evaluation entry points and improve documentation
Atmosphere - Atmospheric Chemistry and Aerosol
- Python
Published by github-actions[bot] about 1 month ago
EcoSISTEM.jl - v0.4.0
EcoSISTEM v0.4.0
Breaking changes
- New requirement for Julia v1.11 for greedy scheduler
- Deprecated Worldclim_bioclim(...) to ClimateRaster(WorldClim{BioClim}, ...) - note this will change again soon, so may be best to stick with deprecations for now
Merged pull requests:
- Simplify setup of climates (#144) (@richardreeve)
- Improving cache use efficiency (#149) (@richardreeve)
- Bump actions/checkout from 4 to 7 (#150) (@dependabot[bot])
- Bump julia-actions/cache from 2 to 3 (#151) (@dependabot[bot])
- Bump julia-actions/setup-julia from 2 to 3 (#152) (@dependabot[bot])
Biosphere - Ecological and Environmental Modeling
- Julia
Published by github-actions[bot] about 1 month ago
GISWATER - v4.15.1
π½ Read the summarized changelog here π½
Fixed
- Fix
gw_trg_edit_inp_gullytrigger to usegully_methodinstead ofmethod. - Fix
gw_trg_edit_inp_nodetrigger to usegully_methodinstead ofmethod. - Fix
gw_trg_edit_nodetrigger to usegully_methodinstead ofmethod. - Fix
gw_fct_setmincutuse DISTINCT ON to avoid duplicate records inom_mincut_valve. - Fix check if column
addparamexists insys_versiontable.
Changed
- Refactor
v_om_mincut_initpoint: now uses a JOIN instead of a LEFT JOIN withselector_mincut_resultand removes the check forid > 0.
Full Changelog: https://github.com/giswater/plugin/compare/v4.15.0...v4.15.1
π Check the official documentation here: βοΈβπ₯ Giswater Documentation
Natural Resources - Water Supply and Quality
- PLpgSQL
Published by danimarinBG about 1 month ago
ClimWeb - v1.2.1beta1
What's Changed
- docs: page guide for City Climatology page by @haqanh in https://github.com/wmo-raf/climweb/pull/679
- Bump coverage from 7.14.2 to 7.14.3 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/678
- Bugfix/rtl arabic by @zzhengweii in https://github.com/wmo-raf/climweb/pull/680
- docs: settings panel guides (Google Translate, Navigation, Important Pages, Satellite Imagery, Themes) by @cloudrumbles in https://github.com/wmo-raf/climweb/pull/682
- π Crowdin translation sync β community contributions by @github-actions[bot] in https://github.com/wmo-raf/climweb/pull/685
- Bump coverage from 7.14.3 to 7.15.0 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/686
- Add "Create CAP alert from geometry" route by @fgg-consultant in https://github.com/wmo-raf/climweb/pull/688
- docs: guide for CAP Alert Statistics page by @cloudrumbles in https://github.com/wmo-raf/climweb/pull/696
- Feature/flex forms by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/712
- add prominent anticipatory action button by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/716
- add social share for city climatology by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/717
- Name of institution included in the logo by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/719
- Fix/accordion flexpage by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/725
- add URL Shortener by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/727
- Bump coverage from 7.15.0 to 7.15.1 in /climweb/requirements by @dependabot[bot] in https://github.com/wmo-raf/climweb/pull/726
- bump geomanager v0.6.3...0.6.4 by @Grace-Amondi in https://github.com/wmo-raf/climweb/pull/728
New Contributors
- @haqanh made their first contribution in https://github.com/wmo-raf/climweb/pull/679
- @cloudrumbles made their first contribution in https://github.com/wmo-raf/climweb/pull/682
- @fgg-consultant made their first contribution in https://github.com/wmo-raf/climweb/pull/688
Full Changelog: https://github.com/wmo-raf/climweb/compare/v1.2.0...v1.2.1beta1
Atmosphere - Meteorological Observation and Forecast
- Python
Published by Grace-Amondi about 1 month ago
CoopCycle - v6.0.0-beta2
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v6.0.0-beta1...v6.0.0-beta2
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
CoopCycle - v5.4.1
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.4.0...v5.4.1
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
The REgional Model of INvestments and Development - REMIND v3.7.0
validated for SSP2 for spatial resolution H12
Sustainable Development - Sustainable Investment
- GAMS
Published by LaviniaBaumstark about 1 month ago
Ecoscope - v2.16.3
What's Changed
Other Changes
- ERDW-233: Integrate the DWH client in event-related workflow tasks by @marianobrc in https://github.com/wildlife-dynamics/ecoscope/pull/772
- Cleanup io tests by @atmorling in https://github.com/wildlife-dynamics/ecoscope/pull/771
- Patrol summary metrics & density-weighting tasks by @Yun-Wu in https://github.com/wildlife-dynamics/ecoscope/pull/749
Full Changelog: https://github.com/wildlife-dynamics/ecoscope/compare/v2.16.2...v2.16.3
Biosphere - Conservation and Restoration
- Python
Published by github-actions[bot] about 1 month ago
TZ-OSeMOSYS - v0.3.8
Changes
- Fixed bug in discounting of salvage value (#185) @abhishek0208
- remove availability factor from min_annual_capacity_factor (#186) @djwels
- Refactor StorageGrossCapacitySufficiency constraint (#187) @joel1120
Energy Systems - Energy System Modeling Frameworks
- Python
Published by github-actions[bot] about 1 month ago
wradlib - wradlib v2.9.5
What's Changed
- FIX: propagate nans in z_to_r_enhanced by @egouden in https://github.com/wradlib/wradlib/pull/787
- FIX: make _aggregate_sysphi lazy and dask-aware by @kmuehlbauer in https://github.com/wradlib/wradlib/pull/788
Full Changelog: https://github.com/wradlib/wradlib/compare/2.9.4...2.9.5
Atmosphere - Meteorological Observation and Forecast
- Python
Published by kmuehlbauer about 1 month ago
CoopCycle - v5.4.0
What's Changed
- Send deliveries to Cyke by @alexsegura in https://github.com/coopcycle/coopcycle-web/pull/5286
Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.3.2...v5.4.0
Consumption - Mobility and Transportation
- PHP
Published by alexsegura about 1 month ago
OpenQuake - OpenQuake Engine 3.26.1
Release 3.26.1
[Matteo Nastasi (@nastasi-oq), Antonio Ettorre (@antonioettorre)]
- Fix and improve of post installation scripts
Release 3.26.0
[Amir Shahmohammadian (@Shahmohamadian)]
- Fixed a bug in the treatment of PGV period in the Jayaram and Baker
(2009) spatial correlation model resulting in a wrong coefficient
b = 22.0 instead of b = 25.7
[Michele Simionato (@micheles)]
- Optimized ebrisk calculations by using larger GMF arrays
- Saving memory when running several jobs together with a pool
- Fixed a bug with IMT-dependent weights being not normalized, breaking
the CND model with use_rates=true
[Paolo Tormene (@ptormene)]
- Fixed a unit-scaling bug in GMF calculations; acceleration IMTs are
converted to g as before, while velocity measures (PGV) preserve their
native cm/s units.
[Paolo Tormene (@ptormene)]
- Added exporter for
exposure_by_liquefaction_lseand
exposure_by_landslide_lse(Exposure grouped by Region and by
Liquefaction/Landslide LSE)
[Michele Simionato (@micheles)]
- Parallelized the exports in workflow calculations
- Fixed the exporters
aggexp_tagsandaggrisk_tags - Reduced the number of tasks and the memory consumption in event_based_risk
- Optimized rupture sampling for sources with high multiplicity
- Internal: storing
occ_by_trt_smrin the SES.hdf5 file - Introduced
strictflag to disable checks which are possibly too strict - Internal: storing the real
occurrence_ratein therupturesdataset,
not multiplied bysmweight - Fixed the slow tasks in AELO, due to accidental disabling of the filtering
[Savas Ceylan (@sceylan)]
- Added EdwardsFah2013Foreland3Bars, BindiEtAl2011Rhypo,
ECOS2009VariableDepth and ECOS2009FixedDepth GSIMs with
verification tests.
[Michele Simionato (@micheles)]
- ebrisk calculations with not enough GMFs now just log an error
instead of failing - Cached the multifault sections, with a 6x speedup when sampling the
ruptures of the NZL model - Avoided copying sources when building the CompositeSourceModel,
thus reducing the memory occupation and time by 75% for NZL
[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]
- Implemented secondary perils for ShakeMap calculations
[Catarina Costa (@catarinaquintela)]
- Fixed landcover coefficient assignment on Nowicki Jessee landslide model
[Michele Simionato (@micheles)]
- Saving
yearandses_idin the events dataset of SES.hdf5 files - Splitting multifault and multipoint sources with the colon convention
- Fixed missing weight in AvgPoeGMPE breaking the realization exporter
[Christopher Brooks (@CB-quakemodel)]
- Fix a bug observed in the Aki and Richard's convention check in
complex faults.
[Michele Simionato (@micheles)]
- Added
--kfiltercapability tooq run workflow.toml - Optimized reading and sampling multiFaultSources
- Saved memory in classical calculations with large sources affecting many
sites, by yieldings contexts - Changed the rupture sampling algorithm so that the source groups are
consistent between event based and classical calculations; removed
useless copies of the sources and improved the performance and memory usage
[Fahrettin Kuran (@kurannn)]
- Added additional magnitude-scaling relationships to wc1994.py
- Added additional magnitude-scaling relationships to thingbaijam2017.py
[Michele Simionato (@micheles)]
- Added checks on MAX_NUM_RUPTURES and ps_grid_spacing
- Added command
oq info dbto extract the path to the sqlite file - Implemented a workflow to run the 2026 Global Risk Model
[Thuany Costa de Lima (@thuanycostadelima)]
- Fix Allen (2022) depth truncation bug: hypocentral depth is now
clamped to [10, 500] km before evaluating the cubic log-depth
scaling term, as recommended in the original paper (Eq. 4, p. 1049). - Updated test CSVs to reflect the corrected implementation.
- Added Bayless and Somerville (2024) GMM for Australia:
BaylessSomerville2024Cratonic and BaylessSomerville2024NonCratonic.
[Michele Simionato (@micheles)]
- Changed
postjobs.build_sesto storeoqparam/{model} - Saved memory in the rupture sampling algorithm for fault sources
(simple, complex, characteristic) - Extended use_rates to work also with IMT-dependent weights
[Christopher Brooks (@CB-quakemodel)]
- Add ability to specify a down-dip fraction for hypocentre placement
on the rupture surface within ahypoDepthDistfor area, point and
multi-point sources with a QA test in classical/case_31. - Fix exporting of ruptures with surfaces defined using a
GriddedSurface
[Michele Simionato (@micheles)]
- Storing also
aggexp_byoutputs ifavg_losses_byis enabled - Extended the rupture exporter to also work with multi-model SES files
- Keeping the correlation matrices at 32 bit to save memory and to double
the speed
[Christopher Brooks (@CB-quakemodel)]
- Modify
MorikawaFujiwara2013to compute the distance to volcanic
front (xvf) on a ctx-by-ctx basis instead of requiring it as a
site parameter for consistency with NIED's own implementation. - Expand
GridAdjustedGMPEto provide raytracing capabilities for
distance-based corrections and update the QA test (classical/case_11)
to test this feature. - Add the 2025 NSHM variants of the anomalous intensity correction
and the PH correction to theMorikawaFujiwara2013and some QA
tests to check the site location-specific component of these
corrections (classical/case_30). - Added ability to specify a distribution of hypocenters within a
simple fault source. Tested in classical/case_28 and unit tests. - Added the BCHydro adjusted versions of the original NGA GMMs (median
scaling and single station sigma) and some unit tests.
[Marco Pagani (@mmpagani)]
- Fixing the calculation of ruptures with clusters and mutually exclusive
sources
[Michele Simionato (@micheles)]
- Computing the GMFs with a single core in scenario calculations,
changing a bit the numbers (akin to a change of seed), but saving a
lot of memory, especially in conditioned computations - Changed the distribution in damage calculations to split in blocks
of assets, with a huge performance benefit for large scenarios
[Christopher Brooks (@CB-quakemodel)]
- Add ability to specify a magnitude-dependent aspect ratio which
is evaluated using a predefined expression via aMagDepAratio
class. - Add the magnitude-scaling relationship used in the Northern
Volcanic Arc (NVA) source zone of the BC Hydro SSC logic tree. - Add the NIED 2025 sigma model to the
MorikawaFujiwara2013GSIM
and some unit tests. - Add ability to specify sentinel (-999) z_ref values when using the
prepare_site_modelcommand. - Add a relative epistemic uncertainty for seismogenic depths in the
source model logic tree. Some unit tests added and a QA test in
logictree/case_33. - Add ability to specify reference z1pt4 (like for z1pt0, z2pt5 etc.) in
the job file (QA test in classical/case_13 withMorikawaFujiwara2013).
[Michele Simionato (@micheles)]
- Internal: added an utility
hdf5.reduce_fileto reduce HDF5 files - Added parameter
rupture_idto be used withrupture_model_file
to run scenarios starting from a SES.hdf5 file
[Christopher Brooks (@CB-quakemodel)]
- Added new epistemic uncertainties in the source model logic tree
for the rupture aspect ratio (setAspectRatioAbsoluteand
setAspectRatioRelative). Unit tests added and a QA test in
logictree/case_32.
[Michele Simionato (@micheles), Paolo Tormene (@ptormene)]
- Updated build_exposure_hdf5 to work with the 2026 Global Risk Model
[Amirhossein Mohammadi (@amirxdbx)]
- Add Karimzadeh 2023 Azores Islands GSIM implementation with
verification tests.
[Michele Simionato (@micheles)]
- In event based calculations do not collect together sources following
the colon convention to avoid duplicated rupture IDs
[Christopher Brooks (@CB-quakemodel)]
- Add
GridAdjustedGMPE- a utility GSIM class allowing the
adjustment of a GMPE using h3-gridded adjustments already
defined within a hdf5 file. Examples of the hdf5 file structure
are available in classical/case_11 and the associated unit tests. - Introduce explicit handling of sentinel z_sed values (-999) within
the Conterminous US 2023 NSHM's Coastal Plains site amplification
adjustment model to turn off this correction for such sites.
[Michele Simionato (@micheles)]
- Logging and storing the engine version and not the DbServer version
[Matteo Nastasi (@nastasi-oq)]
- Integrate Christopher Brooks (@CB-quakemodel) PAPERS script to run calculation
starting from hypothetical ruptures into engine as new API
entry-point
[Michele Simionato (@micheles)]
- Added variable
keep_trtto select a branchset in the gsim logic tree - Filtering the sites around the rupture also in scenario_damage
- Extended
oq shakemap2gmfsto work without a site model file
[Christopher Brooks (@CB-quakemodel)]
- Added the
AlternativeCharacteristicMFDclass (unit tests and also
a QA test in classical/case_10) - Fix some unit conversion bugs in the
MorikawaFujiwara2013and
also a bug where thexvfcap of 75 km was being applied incorrectly. - Modify
openquake/hazardlib/tests/gsim/utils.pyto support checking
of JMA values too (supported IMT for MF13 GSIM).
[Paolo Tormene (@ptormene)]
- If any station is farther than the site association distance,
the job keeps running instead of raising a SiteAssociationError
[Michele Simionato (@micheles)]
- Internal: added postproc.debug_rupture
- Saved avg_gmf always in impact mode
- Saved relevant_events always when using --hc
[Christopher Brooks (@CB-quakemodel)]
- Refactored
check_gsimsto permit unsupported IMTs when a weight
of zero is specified for them in an IMT-dependent weighted GMC LT.
A test case (classical/case_39) is added which checks this behaviour
(permit zero weight for unsupported IMT, and raise error if non-zero
for same unsupported IMT).
[Michele Simionato (@micheles)]
- Added
maximum_depthdictionary (in km per tectonic region type)
to the job.ini accepted parameters, used to discard deep ruptures
in event based calculations
[Paolo Tormene (@ptormene), Michele Simionato (@micheles), Paul Henshaw (@pslh)]
- If any worker dies before completion, the corresponding master and
all its subprocesses are killed and the event causing the
interruption is logged
[Christopher Brooks (@CB-quakemodel)]
- Added capability to specify an IMT-dependent vector of deltas
to apply to total sigma, tau and phi within ModifiableGMPE. - Fix a bug where ESHM20 subclasses of BCHydro without a FABA
taper model incorrectly fellback to the original BCHydro backarc
term, causing a missing attribute error forbackarc. Updated
classical/case_61 to now test this scenario. - Correct the
_apply_subduction_trench_correctionterm in
Si and Midorikawa (1999)'sNorthEastCorrectionsubclasses
to userhypoinstead ofrrup.
[Anirudh Rao (@raoanirudh)]
- Support sampling from the truncated multivariate normal distribution
using Paul Brunzema's implementation of the Botev (2017) algorithm
(https://github.com/brunzema/truncated-mvn-sampler), permitting
truncation in calculations employing a cross-IM correlation model - Introduce two new job parameters:
truncation_level_betweenand
truncation_level_withinallowing the user to specify different
truncation levels for between-event residuals and within-event
residuals in a scenario or event-based calculation
[Christopher Brooks (@CB-quakemodel)]
- Add ability to specify deltas for tau and phi within ModifiableGMPE.
[Michele Simionato (@micheles)]
- Extended the cross checking between IMTs and GSIMs to ConditionalGMPEs
- Extended export_job_zip to scenario calculations
[Anirudh Rao (@raoanirudh)]
- Added the Holmgren et al. (2024) GMM for Southeastern Africa
- Removed experimental liquefaction models and refactored
the secondary perils test suite - Supported embodied carbon as a new loss category
[Michele Simionato (@micheles)]
- Improved error message when all assets are filtered out
- Fixed a bug when prefiltering sources around the poles
- Made it possible to run risk calculations depending on AvgSA
- Internal: inferring the slow tasks information from starmap_info
- Removed numpy.random.seed in the engine code base
- The NegativeBinomialTOM can now be applied to all parametric sources
Climate Change - Natural Hazard and Storms
- Python
Published by nastasi-oq about 1 month ago
tespy - TESPy version 0.10.2
What's Changed
- Implement brentq for Reynolds and improve Newton performance by @fwitte in https://github.com/oemof/tespy/pull/1010
- Implement missing interfaces for Subsystems by @fwitte in https://github.com/oemof/tespy/pull/1014
- Update Example Appilcations section of heatpumps in docs. by @jfreissmann in https://github.com/oemof/tespy/pull/1022
- Fix deserialization of not-set Refs by @fwitte in https://github.com/oemof/tespy/pull/1024
- minor changes in documentation of advanced HX tutorial by @n-arth in https://github.com/oemof/tespy/pull/1025
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/oemof/tespy/pull/1011
- Bump actions/cache from 5 to 6 by @dependabot[bot] in https://github.com/oemof/tespy/pull/1015
New Contributors
- @n-arth made their first contribution in https://github.com/oemof/tespy/pull/1025
Full Changelog: https://github.com/oemof/tespy/compare/v0.10.1...v0.10.2
Consumption - Buildings and Heating
- Python
Published by fwitte about 1 month ago
RRTMGP.jl - v0.22.2
RRTMGP v0.22.2
Merged pull requests:
- Ts/vendor dev guides (#614) (@tapios)
- add set_volume_mixing_ratio for well-mixed gases (#615) (@szy21)
- set z and metric_scaling for the isothermal boundary layer (#616) (@szy21)
Atmosphere - Radiative Transfer
- Julia
Published by github-actions[bot] about 1 month ago
ESMValCore - Version 2.15.0
Please see changelog for details.
Climate Change - Climate Data Processing and Analysis
- Python
Published by flicj191 about 1 month ago
OpenMethane - v1.6.1
openmethane-prior v1.6.1 (2026-07-15)
π Improvements
- Extracted shared
filter_by_anzsic_code_family()helper to remove duplicated ANZSIC code family filtering in NPI, Safeguard, and oil/gas site sources. Fixedsimplify_anzsic_code()so subdivision codes ending in zero (e.g. "30") are not over-shortened. (#200) - Only runs tests and actions which need credentials for internal PRs and pushes (#202)
π Bug Fixes
- Fix failing tests due to updated ANGA inventory (#204)
- Remove NT oil well filtering based on the PURPOSE field which no longer contains accurate data (#207)
Emissions - Emission Observation and Modeling
- Python
Published by aethr about 1 month ago
echoSMs -
Added
- Add a changelog to the repository
Changed
- Fix typos and grammar in documentation
- Give the datastore schema browser more window width in the documentation
- All documentation gets the datastore URL from one source now (it is no longer hard-coded in the documentation)
- Improved axes labels for 3D plots of datastore surface shapes
Fixed
- Resolve errors in example Python code in the documentation and the Viewer program
Biosphere - Marine Life and Fishery
- Python
Published by github-actions[bot] about 1 month ago
Anker Solix Integration for Home Assistant - 3.7.0
Release 3.7.0
[!IMPORTANT]
π¨ Read the breaking changes before upgrading π¨
This release adds support for the new SOC limit settings of Solarbank 2 & 3 systems. It also adds the new load type selection for Solarbank 3 custom and smart plug schedules, in order to support controllable AC charge power for dedicated time slots.
There are also a couple of MQTT managed device improvements, especially for supporting the reverse charge mode of the AS200 alternator charger.
Additional general improvements include diagnostics support for devices and the hub configuration, to allow quick and easy download of the corresponding cached data. Furthermore the firmware and OTA update sensors have been replaced with update entities for centralized update notifications through Home Assistant
πA big THANK YOU to the community and your sponsoring and support to keep this project active. π

Enhancements: π’
-
Bumped Api library to release 3.7.0 for enhanced MQTT device support and support of new Solarbank 2 & 3 features
-
Implemented HA diagnostics support for the hub configuration and the devices (#551)
- Device diagnostics will download only the device cache data, with most sensitive but independent data redacted
- Hub diagnostics will download the configuration data as well as the whole cache of the update coordinator, with most sensitive but independent data redacted
[!IMPORTANT]
Device and System identifiers from diagnostics CANNOT be redacted without loosing their dependencies within the cache structures. In order to provide a completely randomized export from your account data (including optional MQTT messages from owned devices), you need to use the Export systems action
-
Implemented update entities for devices to utilize HA functionality to report available firmware updates (#550) (Thanks @SH1FT-W for the suggestion)
- HA will now report available Anker Solix firmware updates under Settings, System, Updates
- The new update entity does consolidate the information of the former firmware and ota_update sensors
- The installed firmware version must now be obtained from the update entity attribute
installed_version. It can also be obtained from the entity's device information propertysw_version. - Component information is now provided in a human readable table format in the more info dialog.
- Any leading 'v' of firmware versions is now stripped to support comparisons by the update entity
[!NOTE]
Firmware updates through the integration will not be supported and they sill must be triggered through the Anker mobile app. You can skip the update notification in HA, if the actual device firmware update will be postponed.
-
MQTT Enhancements for a couple of devices
- Added A1726/A1728 DC switch control (#531, #316) (Thanks @gimmers-eth)
- Mapped DC switch state field to enable the DC switch control entity
- Updated AX170 circuit fields (#539, #312) (Thanks @tmcor))
- Up to 2 circuits can be paired during setup
- Paired circuits will now be recognized and power will be combined to the first circuit of the pair. The other circuit will be removed from
the cache data (see breaking changes) - Added/updated AC power, battery power, other load through the dock and overall home demand
- Updated AS200 Alternator Charger data fields and added support for reverse charge controls (#290) (Thanks @mgTerminator)
- Identified status fields for existing cable connections to properly block unsupported controls depending on connections
- Added reverse charge mode selection entity (selection is only possible if supported PPS expansion cable is connected to charger)
- Added mappings for PPS data received upon expansion cable connection (serial, model type, SOC, temperature, remaining time). They will be provided with 'Device 1' power and status sensors and attributes
- Updated C2000 Gen 2 fields
- Added remaining time
- Added mappings for attached charger (serial, model type, mode). They will be provided with 'Device 1' power and status sensors and attributes
- Enhance X1 support by updating status enumerations (#314) (Thanks @Shaan-alpha)
- Fix and extend Power Panel MQTT mappings (A17B1) (#310) (Thanks @xjc10)
- Added A1726/A1728 DC switch control (#531, #316) (Thanks @gimmers-eth)
-
Various enhancements to support latest Solarbank firmware changes
- Add support for AC charge setting in custom and smart plug schedules (#538)
- This feature requires Solarbank 3 with supported firmware
- New select entity to control the load type in current schedule time slot
- Updated Anker Solix schedule actions to support additional and optional load type selection for Solarbank 3 systems
- See Info documentation Home load type for more details
- Add support for new SOC charging/discharging limits for Solarbank 2 and 3 (#529)
- Add support for new backup SOC settings for Solarbank 3 and Power Dock systems
- This feature requires Solarbank 3 or Power Dock with supported firmware
- Add support for AC charge setting in custom and smart plug schedules (#538)
-
Updated export system module
- Randomize all known device serials from cloud Api in MQTT binary messages.
[!IMPORTANT]
Unknown serials like battery expansion packs or devices running only in local MQTT mode cannot be randomized in binary MQTT data.
-
Updated README.md for supported devices
-
Updated INFO.md for recent changes
- Added Solarbank 3 home load type information
- Updated markdown cards to display Solarbank 2+ schedules including the load type
- Updated Solarbank 2+ script example to modify the schedules of custom and smart plug usage modes
Breaking changes: π₯
- Some code changes require newer HA core versions.
- The minimum version was increased to HA 2025.12.0
- Integration update will not be allowed if running on older core versions
- Country Romania (RO) cloud server assignment was reverted back to EU server
- Recent users confirmed that their system and device data was created on the EU server by the mobile App
- Romanian users with systems and devices located on the COM server need to change their hub configuration to another country that is assigned to the COM server, e.g. Unites States
- Romanian users with systems and devices located on the EU server can now safely revert their country setting to Romania
- The firmware and ota_update sensors have been removed and replaced by a new update entity
- They can safely be removed from your devices in the active hub configurations
- Optionally you can reconfigure your hub with existing credential confirmation, which will automatically remove all entities and re-create only remaining entities
- AX170 power dock circuit sensors may become unavailable
- If circuits have been paired during the power dock installation setup, the power will now be combined under one circuit.
- The unavailable circuit entities of the paired circuits can be safely removed
- For upgrades from version < 3.6.3, see breaking changes in 3.6.3 release notes
Fixes π¨ and other changes: π§
- Reverted country assignment for RO back to EU cloud server since original change seems to be wrong (#250)
- see breaking changes
- Changed country assignment for JP to EU cloud server (#557)
- Fix deprecation warning: Integration passes a non-string value of type int as hw_version to the device registry (#549)
Full Change log https://github.com/thomluther/ha-anker-solix/compare/3.6.3...3.7.0 and link to previous release notes 3.6.3
General notes: π
- MQTT data may get stale if required status messages are not longer published by the device. Some devices publish specific status messages only while their real-time trigger is active. If you overlay MQTT data, the stale MQTT values cannot be refreshed anymore by new Api data, see example in issue #401. This is working as designed, therefore you have the choice whether MQTT data should overlay Api data.
- The device sensor for battery energy is just a theoretical value and calculated by the Api library from calculated (or customized) battery capacity and the reported SOC. Changes of this entity should NOT be considered for the energy dashboard or energy helper sensors, since this battery energy sensor can never reflect the battery efficiency or capacity loss over time. Furthermore the SOC value may be inaccurate as well since that is difficult to determine for LiFePo batteries.
- I do NOT recommend to use the Anker Solix integration daily energy statistic sensors directly in your energy dashboard, even if that is possible since they are classified as total_increasing sensors. The reasons for that are described in the discussion how to integrate the Solarbank into you energy dashboard. There you can also find the recommended approach for creating the required entities for easiest and most flexible energy dashboard integration. If your device supports accumulated energy values from decoded MQTT data, they may provide a more accurate source for your helper sensors, which I recommend to be used for energy dashboards.
Contribution: π
- YOUR HELP is required if you have new Anker Solix devices or if new features are introduced by Anker and you want them being integrated into HA
- I have no chance to test any Anker devices or explore the cloud Api requests and responses for new devices or features. Since the Api is not official, no documentation exists and the Api library can only be enhanced with your support and willingness to explore and test the Api queries:
- Enhancements may only be possible when exclusive owner access to the system is available.
- But since the system belongs to you and the Api usage is not officially supported, it is up to you to test and verify Api capabilities
- MQTT device data requires decoding of binary data for your owned device type and constellation before they can be consumed
- You need to compare live message decoded values with your mobile App data to properly identify and describe the message data fields
- This must be done under various usage conditions of the device to allow recognition and description of most data fields and bytes
- To get started, follow the MQTT data decoding guidelines and MQTT command and state analysis guideline in the Api library
Appreciation: β¨
If you like this integration and you want to show your appreciation for the countless hours spent to enhance and maintain it, I would be happy for a π΅coffee β or if you become a sponsor π.

Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by thomluther about 1 month ago
Oceananigans.jl - v0.110.11
Oceananigans v0.110.11
Merged pull requests:
- (0.110.11) Restores
update_state!ordering for nonhydrostatic model (#5791) (@jagoosw)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
CloudMicrophysics.jl - v0.37.1
CloudMicrophysics v0.37.1
Changes
- Exposing the Frostenberg 2023 parameters for calibration
Merged pull requests:
- docs: improve formatting, fix typo (#679) (@haakon-e)
- Bump codecov/codecov-action from 6.0.1 to 7.0.0 (#724) (@dependabot[bot])
- Make the pointwise 2M+P3 tendencies ForwardDiff-differentiable (#725) (@haakon-e)
- rft: cleanup from #681 (#736) (@haakon-e)
- fix: units of Barklie Gokhale 1959 (#739) (@haakon-e)
- chore(deps): bump actions/checkout from 4 to 7 (#745) (@dependabot[bot])
- ci(docs): add per-ref concurrency to the documentation workflow (#747) (@haakon-e)
- GPU performance: eliminate warp divergence and reduce compile times (#748) (@tapios)
- GPU performance optimizations (#750) (@tapios)
- ci: refresh dev-guides sync workflow from template (#752) (@imreddyTeja)
- fix: trigger CLA on bot PR review and auto-merge events (#755) (@k-alphonse)
- Prevent dependabot from pushing doc previews (#756) (@imreddyTeja)
- refactor(P3,2M): regime selector, aspect-ratio types, and collision-path fixes (#757) (@haakon-e)
- Use the Frostenberg 2023
aandbcoefficients inINP_concentration_mean(#758) (@jefftyoder) - chore(deps): bump actions/checkout from 4 to 7 (#759) (@dependabot[bot])
- Pin JuliaFormatter to v2.10.1 (#763) (@nefrathenrici)
- New release v0.37.1 (#765) (@trontrytel)
Closed issues:
- fix: trigger CLA workflow during bot PR review and auto-merge events (#754)
Atmosphere - Atmospheric Chemistry and Aerosol
- Julia
Published by github-actions[bot] about 1 month ago
hyswap - v1.0.1
What's Changed
- Replace GH action versions with specific commit hashes
- Remove some errant min_years references
- Switch most examples to use dataretrieval.waterdata module and add some automatic ordering to percentile functions
- Fix typo in cumulative hydrograph plots that was incorrectly selecting the lowest cumulative flow year
Full Changelog: https://github.com/DOI-USGS/hyswap/commits/v1.0.1
Hydrosphere - Freshwater and Hydrology
- Jupyter Notebook
Published by ehinman about 1 month ago
iNaturalistReactNative - v1.0.26+221
FIXED
- User still appears in following list after unfollow
- Icon buttons provide visual feedback when pressed
- Activity icons not appearing on Me tab
UPDATED
- Mobile CV model to 2.30
Biosphere - Biodiversity Citizen Science
- Fluent
Published by jtklein about 1 month ago
openfoodnetwork - v5.7.3 Chicken Pulao
What's Changed
User-facing changes π
- Show carousel of images when multiple images are available by @chahmedejaz in https://github.com/openfoodfoundation/openfoodnetwork/pull/14337
- Prevent admins to be able to view carousel in shops by @chahmedejaz in https://github.com/openfoodfoundation/openfoodnetwork/pull/14495
- Fix order cycle mail Report grouping by product and price. by @lufafajoshua in https://github.com/openfoodfoundation/openfoodnetwork/pull/14422
- Show negative enterprise fees in shopfront price breakdown by @David-OFN-CA in https://github.com/openfoodfoundation/openfoodnetwork/pull/14396
- Fix Payments tab redirect for awaiting_return and returned orders by @NiftyGaloot in https://github.com/openfoodfoundation/openfoodnetwork/pull/14409
API changes β οΈ
- Import LiteFarm data in v2 format by @mkllnk in https://github.com/openfoodfoundation/openfoodnetwork/pull/14474
- Fix missing description on customer credit transactions created via the API by @emilythericky in https://github.com/openfoodfoundation/openfoodnetwork/pull/14432
Experimental features for testing π§
- [Sourced variants] Show linked producer by @dacook in https://github.com/openfoodfoundation/openfoodnetwork/pull/14488
Technical changes π οΈ
- Fix flaky system-spec login by binding Warden login to the request by @maikels-agent in https://github.com/openfoodfoundation/openfoodnetwork/pull/14463
- Customer account transation auth by @dacook in https://github.com/openfoodfoundation/openfoodnetwork/pull/14508
Dependencies π¦
- Bump rubocop-capybara from 2.23.0 to 3.0.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14497
- Bump webpack from 5.107.2 to 5.108.3 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14509
- Bump webpack-cli from 7.0.3 to 7.1.0 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14503
- Bump postcss from 8.5.15 to 8.5.16 by @dependabot[bot] in https://github.com/openfoodfoundation/openfoodnetwork/pull/14505
New Contributors
- @lufafajoshua made their first contribution in https://github.com/openfoodfoundation/openfoodnetwork/pull/14422
Full Changelog: https://github.com/openfoodfoundation/openfoodnetwork/compare/v5.7.2...v5.7.3
Consumption - Agriculture and Nutrition
- Ruby
Published by chahmedejaz about 1 month ago
Volca - v0.9.2
What's Changed
- Open 0.9.2 development by @ccomb in https://github.com/ccomb/volca/pull/198
- Cover database upload and the remaining engine endpoints in pyvolca by @ccomb in https://github.com/ccomb/volca/pull/199
- Release pyvolca 0.8.0 by @ccomb in https://github.com/ccomb/volca/pull/200
- Write the product name as VoLCA by @ccomb in https://github.com/ccomb/volca/pull/201
- Add a pyvolca database conversion example by @ccomb in https://github.com/ccomb/volca/pull/202
- Harden the pyvolca converter example by @ccomb in https://github.com/ccomb/volca/pull/203
- Make managed server port allocation atomic by @ccomb in https://github.com/ccomb/volca/pull/204
- Move converter example under pyvolca by @ccomb in https://github.com/ccomb/volca/pull/205
- Simplify the dynamic-port announcement follow-up to #204 by @ccomb in https://github.com/ccomb/volca/pull/206
- Move the runnable examples to the website by @ccomb in https://github.com/ccomb/volca/pull/207
- Release 0.9.2 by @ccomb in https://github.com/ccomb/volca/pull/208
Full Changelog: https://github.com/ccomb/volca/compare/v0.9.1...v0.9.2
Industrial Ecology - Life Cycle Assessment
- Haskell
Published by github-actions[bot] about 1 month ago
VITALS - v2.2.0
This is an overhaul of the repository designed to implement a few new features:
- Add PACE & EMIT Tutorials
- Add
pyproject.tomlfor building/installing the repository as thevitalspackage - Add
src/vitals/pace_tools.pyandsrc/vitals/utils.py modules - Add
citation.cff
And change some existing functionality:
- Move shared Python modules from
python/modules/tosrc/vitals/and renamepython/EMIT_NEON/topython/emit_neon/ - Replace
earthaccess.collection_querywithearthaccess.search_datasetsand remove pinnedearthaccessversion (fixes https://github.com/nasa/VITALS/issues/59) - Improve
merge_emitgranule ID retrieval whenearthaccessfile handlers are passed toemit_xarrayinemit_tools.py - Update NEON notebooks for new filepaths, token handling, and
neonutilitiesversion - Update README with a full table of contents, citation guidance, and related resources
- Update setup instructions,
environment.yml, and web-book Quarto files (_quarto.yml,index.qmd) - Update contract numbers in notebook footers where applicable
- Various spelling/grammar fixes
Sustainable Development - Education
- Jupyter Notebook
Published by ebolch about 1 month ago
WOMBAT - v0.13.4
What's Changed
- Miscellaneous Documentation and Infrastructure Maintenance by @RHammond2 in https://github.com/NLRWindSystems/WOMBAT/pull/240
- Fix: Correct mismatched datetime resolution with
pd.date_rangeby @RHammond2 in https://github.com/NLRWindSystems/WOMBAT/pull/243
Full Changelog: https://github.com/NLRWindSystems/WOMBAT/compare/v0.13.3...v0.13.4
Renewable Energy - Wind Energy
- Python
Published by RHammond2 about 1 month ago
soilDB - soilDB 2.9.2
soilDB 2.9.2 (2026-07-10)
- EDIT base URL (for
get_EDIT_ecoclass_by_geoUnit()andmake_EDIT_service_URL()) updated to new USDA-managed server: https://edit.sc.egov.usda.gov/ - SoilWeb-based Web Coverage Services (
soilColor.wcs(),ISSR800.wcs(),mukey.wcs()) have been updated with FY26 maps, now including most OCONUS soil surveys (AK, HI, PR, PW, GU, AS, MP) downloadSSURGO()gains argumentsinclude_spatialandinclude_tabularthat are analogous to arguments of the same name fromcreateSSURGO(). Also, addedLAPPLY.FUNto support arbitrary parallel or progress reporting backends. Thanks to feature request from @dylanbeaudette (#470).createSSURGO()improved performance of reading and writing of tabular data and type conversion
What's Changed
- Update get_component_from_GDB.R by @smroecker in https://github.com/ncss-tech/soilDB/pull/457
- SoilWeb Soil Color WCS Updates by @dylanbeaudette in https://github.com/ncss-tech/soilDB/pull/458
- ISSR800 WCS updates by @dylanbeaudette in https://github.com/ncss-tech/soilDB/pull/459
- test(fix): skip when SDA fails by @brownag in https://github.com/ncss-tech/soilDB/pull/461
- mukey grid WCS updates by @dylanbeaudette in https://github.com/ncss-tech/soilDB/pull/462
- FY26 RSS WCS update by @dylanbeaudette in https://github.com/ncss-tech/soilDB/pull/464
- feat: update EDIT functions to use new URL by @brownag in https://github.com/ncss-tech/soilDB/pull/465
- WCS Updates by @dylanbeaudette in https://github.com/ncss-tech/soilDB/pull/468
- feat(createSSURGO): type conversion by @brownag in https://github.com/ncss-tech/soilDB/pull/469
- fix: fetchGDB when WHERE is NULL by @brownag in https://github.com/ncss-tech/soilDB/pull/467
- feat(downloadSSURGO): add arguments
include_spatialandinclude_tabularby @brownag in https://github.com/ncss-tech/soilDB/pull/471 - feat(downloadSSURGO): add
LAPPLY.FUNargument for parallel unzipping by @brownag in https://github.com/ncss-tech/soilDB/pull/472 - fix: SDA tests by @brownag in https://github.com/ncss-tech/soilDB/pull/474
- chore: bump SCAN metadata by @brownag in https://github.com/ncss-tech/soilDB/pull/475
- docs: fix for roxygen 8 by @brownag in https://github.com/ncss-tech/soilDB/pull/476
- perf(createSSURGO): improve reading and writing of tabular data by @brownag in https://github.com/ncss-tech/soilDB/pull/477
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/ncss-tech/soilDB/pull/478
- soilDB 2.9.2 by @AndrewBrown-USDA in https://github.com/ncss-tech/soilDB/pull/480
New Contributors
- @AndrewBrown-USDA made their first contribution in https://github.com/ncss-tech/soilDB/pull/480
Full Changelog: https://github.com/ncss-tech/soilDB/compare/2.9.1...2.9.2
Natural Resources - Soil and Land
- R
Published by AndrewBrown-USDA about 1 month ago
RRTMGP.jl - v0.22.0
- Internal compute buffers now use device-dependent physical layouts behind a
uniform column-first(ncol, nlay/nlev)indexing convention: optical
properties (OneScalar,TwoStream), source functions (SourceLWNoScat,
SourceLW2Str,SourceSW2Str), and the broadband flux buffers (FluxLW,
FluxSW). On the GPU the storage is column-first, giving coalesced access
(on an A100 at DYAMOND scale this cuts longwave kernel times by 25-36% and
shortwave all-sky by 14-20%); on the CPU the storage stays vertical-first
under a lazyPermutedDimsArraywrapper, preserving the stride-1 vertical
sweeps (and CPU performance) while running the same kernel code.
The Layer-2 flux getters (lw_flux_up,net_flux, ...) still present
plain(nlev, ncol)views: they readFluxes.FluxPresentationarrays that
update_fluxes!fills from the compute buffers with one fused transposing
copy per call (so getters remainArray-materializable, broadcastable, and
reducible on the GPU). The opt-in per-band buffers (FluxBand) keep the
host-facing(nlev, ncol, n_bnd)layout. Breaking for Layer-1
(functional-core) users: code reading the workspace fields directly
(slv.flux.flux_up,op.Ο, ...) must swap index order to[gcol, ilev]
or wrap the buffer inFluxes.lazy_transpose. State inputs
(AtmosphericStatearrays) and all boundary-condition arrays are
unchanged. - New
TransposedStateCache: column-first copies of the hot
AtmosphericStatearrays (layer pressure/temperature/dry-air column
amount/relative humidity, level temperatures), refreshed by one
permutedims!per spectral solve, so the gas-optics g-point loop reads
coalesced memory on GPUs. On by default on the GPU (the RTE workspace
constructors build one; theRRTMGPSolvershares a single cache between
the longwave and shortwave workspaces) and off (nothing) on the CPU,
where the state's vertical-first layout is already cache-friendly; pass
state_cache = nothingto opt out, or pass the same cache to several
workspaces to share the storage. - Documentation reorganized along tutorial / how-to / explanation / reference
lines: two new executable (Literate.jl) tutorials β "A first radiation
calculation" and "Radiative-convective equilibrium", which reproduces
Manabe's classic fixed-relative-humidity climate-sensitivity experiment with
RRTMGP's clear-sky optics β plus four how-to guides (driving RRTMGP from a
host model, running on GPUs, caching the lookup tables, per-band fluxes).
The README now gives a Thermodynamics.jl-style overview with quick starts. - Struct docstrings migrated off
DocStringExtensions.FIELDSto explicit
# Fieldssections (per the CliMA documentation policy), so field
descriptions and units render on the API pages without inline field
docstrings. - New unit tests for previously indirect paths: every interpolation /
bottom-extrapolation scheme against closed forms (including a dry-adiabat
round-trip throughinterpolate_levels!), solver-constructor and getter
guard errors,validate_inputsfield-by-field, the incident-longwave-flux
boundary condition, pointwise deep-atmosphere flux scaling, heating-rate =
net-flux divergence, grayclip!, aerosol-onlyLookupBundleround-trips,
cloud-radiative-effect sign checks in the all-sky tests, and the McICA
reproducibility tests now also run inFloat32. - New advisory GPU benchmark ratchet (
perf/benchmark_ratchet.jl+ a
soft-fail Buildkite step): the DYAMOND-scalesolve_lw!/solve_sw!medians
are compared against per-GPU baselines committed under
perf/benchmark_baselines/, flagging wall-time regressions beyond 20%
without blocking merges. The three DYAMOND benchmark scripts are now
includable (their sweeps run only when executed as scripts). - New docs page "Fortran and paper concordance": tables mapping RRTMGP.jl
names (containers, RTE/gas-optics/cloud/aerosol kernels) to the Fortran
rte-rrtmgpmo_*/ty_*names and to the papers whose equations they
implement, so Fortran-literate readers can navigate instantly. - The standalone (Layer-3) path is complete:
standard_atmosphere(FT; kind)
builds an idealized clear-skyAtmosphereProfile(:tropical,
:midlatitude_summer,:subarctic_winterβ analytic two-segment
temperature, exact hydrostatic pressure, idealized water vapor/ozone,
present-day well-mixed gases), andsolve(profile; method)solves it in one
call βClearSkyRadiation(default) orGrayRadiation. Bothsolveand
solve_graynow return a documentedRadiationOutputstruct with stable
field names (lw_upβ¦sw_direct_dn,net,heating_rate,solver);
solve_graypreviously returned aNamedTuplewith the same names, so
field access is unchanged. - New
prepare_atmosphere!(solver): runs the atmospheric-state preparation
cascade (level interpolation, isothermal boundary layer, clipping, dry-air
column amounts) without solving, so hosts can inspect the prepared state β
the prepare/solve split.update_fluxes!is now literally
prepare_atmosphere!followed by the three solve/combine steps. - Breaking:
lookup_tablesnow returns a typed [LookupBundle] instead of
a nested(; lookups, lu_kwargs)NamedTuple: stable fields
(lookup_lw,lookup_sw, cloud/aerosol tables, the nameβindex maps, and the
band/gas counts),nothingwhere a table is absent. Code that indexed the
NamedTuple (e.g.bundle.lookups.lookup_lw,bundle.lu_kwargs.nbnd_lw) drops
one level (bundle.lookup_lw,bundle.nbnd_lw). - New
save_lookup_tables(path, bundle)/load_lookup_tables(path, grid_params)
cache the lookup tables on disk (JuliaSerialization; a same-version cache,
not an interchange format), so the spectral methods can run without NCDatasets
once a cache has been generated β e.g. for standalone/classroom use. - The CPU and CUDA solver drivers now share device-agnostic per-(g-point,
column) bodies (*_gpt_col!insrc/rte/), removing the duplicated
orchestration where backend asymmetries repeatedly crept in. As part of the
unification, the broadband shortwave direct beamsw_direct_flux_dnis now
accumulated at every level: it was previously meaningful only at the
surface row (a documented limitation inherited from PR #550), with the rows
above holding the first g-point's profile on CPU and uninitialized memory on
GPU. - Breaking (with aliases): renamed two modules for clarity β
Vmrsβ
VolumeMixingRatiosandGrayUtilsβGrayAtmosphere. The old names remain
asconstaliases for one release and will be removed in 0.24. - Breaking: renamed
aerosol_idx()βaerosol_index_map(), resolving the
one-character collision withaerosol_index(name)(which returns a single
index rather than the whole map). - Float32 accuracy overhaul of the RTE kernels: series-switch threshold for the
longwave no-scattering source at eps^(1/4) (was 100Β·eps), exactΞ³1 β Ξ³2
identities in the two-streamk, expm1-based thin-layer factors, a consistent
off-resonance evaluation of the shortwave direct reflectance/transmittance,
exact non-cancelling delta-scaling forms, an addition-built direct-beam
profile, a continuous gas-optics Ξ· interpolation at Ξ· = 1, and a restructured
longwave two-stream source (exact1 β Rdif β Tdiffactorizations, so no term
divides by Ο and thin layers keep their real O(Ο) emission instead of being
zeroed below a threshold). Measured Float32βFloat64 broadband agreement
improves 25β90Γ: every longwave path now sits at its ~2β5e-4 W/mΒ²
interpolation-noise floor (from 1.1e-2β3.4e-2). A new ratcheting f32βf64
consistency test (test/float32_consistency.jl) locks the gains, and the
Float32 longwave no-scattering reference tolerances tighten from 0.05 to
5e-3 W/mΒ². - New
RRTMGP.Numericsmodule: every numerical guard constant (k_min,
Ο_thresh,resonance_window,ΞΌβ_min) in one place with its derivation. - New opt-in input validation: set
RRTMGP.check_values[] = trueto have
update_fluxes!validate solver inputs (pressures/temperatures positive and
finite,cos_zenith β [-1, 1], emissivity/albedos β [0, 1], VMRs β₯ 0) via
validate_inputs; off by default and allocation-free when off. - Lookup loaders now assert the canonical gas slots the kernels hard-code
(h2o β 1, o3 β 3) and thattemperature_Planckis in Kelvin (the g128 file
variants store an integer index, which would silently corrupt the Planck
interpolation). - Breaking: the public API is now centered on
RRTMGPSolverplus a complete set of named
getters (layer_temperature,level_pressure,net_flux, ...), built on the functional
solve_lw!/solve_sw!core. Hosts exchange every input and output through the getters β a
documented, ClimaCore-free data-exchange contract β and drive the solve with a single
allocation-free, type-stableupdate_fluxes!that returnsnothing(results are read back
through the getters). - Breaking: removed the deprecated positional-argument constructors that warned to use
RRTMGPGridParams: the old signatures ofOneScalar,TwoStream,FluxLW,FluxSW,
SourceLWNoScat,SourceLW2Str,SourceSW2Str,NoScatLWRTE,TwoStreamLWRTE,
NoScatSWRTE,TwoStreamSWRTE, andVmrGM, plussource_func_longwave,
source_func_shortwave, andinit_vmr. Construct these withRRTMGPGridParams(and
VolumeMixingRatioGlobalMeanforVmrGM). - Breaking:
RRTMGPGridParamsnow takesdomain_nlay(the physical layer count) instead
ofnlay, and adds the isothermal boundary layer internally; the storednlayfield is the
total. Callers no longer computedomain_nlay + 1themselves. - Breaking: removed the internal
RRTMGPData{Order}data-layout types and helpers
(NVCData/VCData/NCData/NData,set_cols!/set_domain!/domain_view, and the
index-order tags); the getter-based API does not use them. - Lifted the grid-adaptation helpers out of ClimaAtmos into RRTMGP as separable, in-place
functions over plain(nlay, ncol)array views:interpolate_levels!,
add_isothermal_boundary_layer!,clip!, andupdate_concentrations!. clip!now also clamps the spectral solvers' layer/level temperatures into the
valid range of the optics lookup tables β the tables' first and last reference
temperatures (lookup.t_ref_min/t_ref_max, 160β355 K for the standard tables),
read straight from the lookup table β moving the clamp that ClimaAtmos applied
before every radiation call into RRTMGP's own input preparation. The gray path is
deliberately not clamped: it uses no lookup tables, and idealized gray atmospheres
can legitimately reach temperatures outside the lookup range.- Added standalone entry points that need no NetCDF lookup tables β
solve_gray,
default_parameters, andheating_rate(in K/s) β for single-column/classroom use. - Added optional spectrally-resolved (per-band) fluxes: construct with
spectral_fluxes = true,
then readspectral_{lw,sw}_flux_{up,dn,net}and the band edges{lw,sw}_band_bounds. Off by
default, and the broadband path is byte-for-byte unchanged. - Added a canonical aerosol species name map: the aerosol getters take canonical names
(sulfate,sea_salt1,black_carbon_rh, ...), and hosts map their own short names
(so4,ss1, ...) to these. - Added
deep_atmosphere_inverse_scaling(anRRTMGPSolverkwarg/getter): a(nlev, ncol)
factor applied to the fluxes for deep-atmosphere geometry, where the host passes the
multiplicative inverse of its metric scaling (the low-levelmetric_scalingargument is
unchanged). RRTMGPSolverand its optics/source workspaces are nowAdapt-able via custom overloads
that preserve the packed-buffer view topology across device transfers, so checkpoint restores
stay zero-allocation.- Fixed
VolumeMixingRatioGlobalMean, which threw anUndefVarErroron every call. - New documentation: "The functional core" and "The getter contract" pages.
Migration
RRTMGPGridParams now takes the physical domain_nlay and adds the isothermal boundary layer
itself, so host adapters (ClimaAtmos/ClimaCoupler) no longer compute the total layer count:
- nlay = domain_nlay + Int(add_isothermal_boundary_layer)
- gp = RRTMGPGridParams(FT; context, nlay, ncol, isothermal_boundary_layer)
+ gp = RRTMGPGridParams(FT; context, domain_nlay, ncol, isothermal_boundary_layer)
+ nlay = gp.nlay # total, if you still need it (e.g. for state allocation)
Results are read through the getters after the solve: update_fluxes!(solver, seed) returns
nothing, so use net_flux(solver) (a domain-masked view) or the raw solver.net_flux_buffer.
Atmosphere - Radiative Transfer
- Julia
Published by tapios about 1 month ago
The Public Utility Data Liberation Project - PUDL v2026.7.2
PUDL is an application that must be installed from the repository using pixi.
Installation:
git clone https://github.com/catalyst-cooperative/pudl.git
cd pudl
git checkout v2026.7.2
pixi install
Data Release:
Data products generated by this release will be published separately to Zenodo
as well as s3://pudl.catalyst.coop/'v2026.7.2'.
Changes:
See Release Notes for details.
What's Changed
Other Changes
- Hotfix: Drop final field from build id by @krivard in https://github.com/catalyst-cooperative/pudl/pull/5407
Full Changelog: https://github.com/catalyst-cooperative/pudl/compare/v2026.7.1...v2026.7.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by github-actions[bot] about 1 month ago
GBIF Name Parser - name-parser 5.0.0
First release of the 5.x line. This is now an API-only, single-module project (name-parser-api): the data model, the NameParser contract, and name/rank/unicode utilities. The parsing engine has been reimplemented in Rust and is
consumed through this interface via a native binding β see gbif/name-parser-rust (https://github.com/gbif/name-parser-rust).
Highlights
- Three-way ParseResult (Parsed | Informal | Unparsable), sealed. parse(...) never throws; type() and code() are available on all three variants. Informal is a new dedicated result for a supraspecific taxon carrying a provisional,
non-code designation (Rhizobium sp. RMCC TR1811, Bartonella group). - parseAuthorship(...) returns Optional instead of throwing.
- UnparsableNameException is now unchecked, raised only by the opt-in ParseResult.orElseThrow().
- NameType.IDENTIFIER β a new classification for anchorless machine identifiers (BOLD BIN, UNITE SH, OTU/ASV, culture-collection accessions) that previously fell into OTHER.
- The bundled Java parser is gone. For a working NameParser, use the native Rust binding; to stay on the pure-Java engine, remain on the 4.x branch.
Fixes in this release
- Authorship.addAuthor/addExAuthor no longer drop real authors (inverted blank-check corrected).
- equals/hashCode now include authorship β previously two names differing only in authorship compared equal. Behavioral change: any code relying on the old authorship-blind equality (e.g. dedup) should re-check.
- copy() deep-copies its mutable collections instead of aliasing them.
Migration
See Migrating from 4.x to 5.0 (https://github.com/gbif/name-parser#migrating-from-4x-to-50) in the README.
Biosphere - Biodiversity Data Cleaning and Standardization
- Java
Published by mdoering about 1 month ago
PowerIO - v0.7.1
- The SCOPF Julia wire conversion is structural (#252): every struct reaching
the wire classifies its fields (index, renamed, value) through an exhaustive
destructure, so a new field fails to compile until classified and a value
field reusing an index name is never renumbered. Wire output is unchanged. - GOC3 parses once per read (#250): the reader hands its parsed document
forward asParsed::document, and the package boundary derives the
operating point series from it instead of reparsing the retained text. DcOpfInstancecarries the constant cost termc0(generator and nodal
data), and the DC OPF bundle writesc0.mtx/c0_gen.mtx(bundle schema
0.3.0).- Balanced formats harvest and emit coordinates (#183): PowerWorld aux
Latitude:1/Longitude:1, pandapower busgeoPoint strings, PyPSA
buses.csvx/y, each in both directions. Writers with no geometry concept
warn that locations were dropped. - The standalone geographic document (#184):
GeoLayer/ElementKeywith
tolerant reads (headerless buscoords CSV, aliased CSV/JSON records, GeoJSON)
and canonical GeoJSON writes (.geo.json, thepowerio_geoforeign
member);DisplayFormat::GeoJson/DisplayData::Geo;
Network::geo_layer()/apply_geo_layer()with multiconductor equivalents
inpowerio-pkg;Branch.route/DistLine.routepolyline routing (payload
schemas 1.2.0);.pwdpromotion (geo_layer_from_pwd,
apply_substation_points,pwd_mercator_to_lonlat); and
powerio geo extract | apply | convertin the CLI. - C ABI and Python bindings for the new surfaces (#249, #185), all additive
(PIO_ABI_VERSIONstays 4):pio_acopf_from_network/pio_acopf_to_json
/pio_acopf_instance_free,pio_geo_parse/pio_geo_extract/
pio_geo_apply, andpio_dist_geo_extract/pio_dist_geo_apply. Python
gainsparse_geo,Network.geo_layer()/apply_geo_layer()/acopf_instance(),
and the distribution equivalents. - DeepMind OPFData reader (#258):
SourceFormat::DeepMindOpfDataJsonreads
one raw OPFData JSON document as a solved snapshot, echoes the same format
byte for byte, and converts through the standard surface (CLI, C ABI,
Python).
What's Changed
- Type the SCOPF wire renumbering and parse GOC3 once per read by @samtalki in https://github.com/eigenergy/powerio/pull/254
- Add the geographic document and balanced coordinate harvest by @samtalki in https://github.com/eigenergy/powerio/pull/255
- Bind the AC OPF instance and geographic layer over C and Python by @samtalki in https://github.com/eigenergy/powerio/pull/256
- Fix main CI: regenerate schemas, run PR workflows on stacked PRs by @samtalki in https://github.com/eigenergy/powerio/pull/259
- Add DeepMind OPFData JSON reader and conversion support by @cameronkhanpour in https://github.com/eigenergy/powerio/pull/258
Full Changelog: https://github.com/eigenergy/powerio/compare/v0.7.0...v0.7.1
Energy Systems - Energy Data Accessibility and Integration
- Rust
Published by github-actions[bot] about 1 month ago
GridFM - v0.8.1
What's Changed
- Bump version to 0.8.1 and update gridfm-datakit by @romeokienzler in https://github.com/gridfm/gridfm-graphkit/pull/84
Full Changelog: https://github.com/gridfm/gridfm-graphkit/compare/v0.8.0...v0.8.1
Energy Systems - Grid Analysis and Planning
- Python
Published by romeokienzler about 1 month ago
GridFM - v0.8.0
What's Changed
- Incorporate GRIT model by @ttolhurst in https://github.com/gridfm/gridfm-graphkit/pull/22
- Bump torch version, make tests deterministic by @romeokienzler in https://github.com/gridfm/gridfm-graphkit/pull/80
- Bump version to 0.8.0 + calibration-baseline integration tests by @romeokienzler in https://github.com/gridfm/gridfm-graphkit/pull/82
- fix test by @romeokienzler in https://github.com/gridfm/gridfm-graphkit/pull/83
New Contributors
- @ttolhurst made their first contribution in https://github.com/gridfm/gridfm-graphkit/pull/22
Full Changelog: https://github.com/gridfm/gridfm-graphkit/compare/v0.0.7...v0.8.0
Energy Systems - Grid Analysis and Planning
- Python
Published by romeokienzler about 1 month ago
WildlifeDatasets - v1.0.9
New functionality
- Nine new datasets were added: BrownBearHeads (bears), CHIRP (birds), HulaPaintedFrogs (frogs), LeopardID102 (leopards), Melops (fish), RedBeeReID (bees), RotwildID_Faces (deer) and SpottedHyenaID109, SpottedHyenaID415 (hyenas).
- Added
Dataset_FolderandDataset_Metadatabase classes, making it simpler to add new datasets that are either a plain folder of unlabelled images or driven by a metadata CSV file. - Segmentation masks now load noticeably faster.
Other changes
- Minimum supported Python version raised to 3.10.
- Improved CI: added automated tests and enforced code style with
ruff. - The license was updated to the GNU Affero General Public License v3.0 (AGPL-3.0).
Biosphere - Terrestrial Wildlife
- Jupyter Notebook
Published by sadda about 1 month ago
timex_lca - V1.1.2
To speed up calculation in the case that detailed background contribution analysis is not needed, the option
lci(expand_technosphere=False) was introduced. Note this feature existed before but was broken in recent releases.
Industrial Ecology - Life Cycle Assessment
- Jupyter Notebook
Published by jakobsarthur about 1 month ago
ClimaSeaIce.jl - v0.5.7
ClimaSeaIce v0.5.7
Merged pull requests:
- [codex] Improve docs references and public docstrings (#161) (@navidcy)
- Update README + docs landing page (#162) (@navidcy)
- Fix rendering in the Docs/Layered snow + ice section (#163) (@navidcy)
- (0.6.0) Add thermodynamics mass fluxes (#166) (@simone-silvestri)
- (0.5.7) bump version (#167) (@simone-silvestri)
Cryosphere - Sea Ice
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.10
Oceananigans v0.110.10
Merged pull requests:
- Bump CUDA in /test (#5696) (@dependabot[bot])
- Remove type-instability in
buffer_*_parameters(#5748) (@simone-silvestri) - Bugfix in left center-field boundary conditions with
PerturbationAdvection(#5767) (@tomchor) - Speed up multi_region cubed sphere and zstar tests (#5775) (@tomchor)
- (0.110.10) Fix substeps alignment in
SplitExplicitFreeSurface(#5788) (@simone-silvestri)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
pyOpenRiverCam - v0.9.9
[0.9.9] = 2026-07-13
Fixed
- bug in optimize_instrinsic. Case where distortion coefficients were already known and 6 or more GCPs were provided, were re-constraining the distortion coefficient.
- bug in command-line interface. With --src and --dst provided on CLI, code would crash. This is now solved, and user is no longer asked to provide --src interactively
as this is always required in any case.
Hydrosphere - Freshwater and Hydrology
- Python
Published by hcwinsemius about 1 month ago