Recent Releases of Open Sustainable Technology Projects

giverny - v3.6.2

Atmosphere - Atmospheric Composition and Dynamics - Python
Published by mschnau about 1 month ago

Roseau Load Flow - Version 0.16.0a0

What's Changed

Full Changelog: https://github.com/RoseauTechnologies/Roseau_Load_Flow/compare/v0.15.0...v0.16.0-alpha

Energy Systems - Energy System Modeling Frameworks - Python
Published by alihamdan about 1 month ago

PyBaMM - PyBaMM 26.7.0.0

Breaking changes

  • The minimum supported NumPy version is now 2.0.0 for both pybamm and pybammsolvers (previously unpinned). NumPy 1.x is no longer supported. (#5647)
  • The "voltage as a state" model option now defaults to "true": voltage is solved as an algebraic state, making standard models DAEs. Reading Voltage [V] from a solution is now an O(1) state lookup instead of a post-solve expression evaluation (up to 73% faster end-to-end for dense output; 8-24% faster experiment cycling across SPM/SPMe/DFN; up to 48% faster with in-solver output_variables=["Voltage [V]"]). The default IDAKLUSolver, CasadiSolver (all modes), and JaxSolver(method="BDF") handle DAEs; ODE-only solvers (ScipySolver, JaxSolver(method="RK45")) require {"voltage as a state": "false", "surface form": "false"} for SPM/SPMe, which remains a supported configuration. Known trade-off: continuous solves of rapidly alternating current profiles (e.g. interpolant drive cycles with more than ~25 current reversals in one solve) can be slower, up to ~2x for SPM in the worst measured case; the legacy configuration above restores previous performance for these workloads. Experiment-driven cycling is unaffected. (#5573)
  • CasadiSolver, ScipySolver, and CasadiAlgebraicSolver are deprecated; use IDAKLUSolver (or NonlinearSolver for algebraic systems) instead. It is now the default for every model. (#5624)

Features

  • pybammsolvers now ships Linux aarch64 (arm64) wheels, built on manylinux_2_34 native ARM runners. The libstdc++ std::string ABI (_GLIBCXX_USE_CXX11_ABI) is now detected from the linked CasADi library instead of hard-coded, resolving the unresolved-symbol failure against CasADi's C++11-ABI aarch64 wheel. (#5653)
  • Added skip_surface_form_check option to EISSimulation to bypass the surface form validation. (#5632)
  • Added ability to export pybamm.Simulation with experiments to DiffSL format (#5557)
  • PyBaMM and pybammsolvers now develop in a single repository — a UV workspace under packages/ — while continuing to release independently to PyPI. Release tags are namespaced (pybamm-v* and pybammsolvers-v*), and PyBaMM's CI now tests against the in-repo solver on every platform. The published pybamm package and its dependency on pybammsolvers are unchanged for users. See RELEASE.md for the release model. (#5512)
  • Legacy BPX v0.x files/objects now load again: bpx itself detects and converts them to the v1.x schema on a best-effort basis (with a UserWarning), so ParameterValues.create_from_bpx/create_from_bpx_obj no longer raise a ValidationError. PyBaMM officially supports bpx>=1. (#5574)
  • create_from_bpx/create_from_bpx_obj now also accept BPX files that omit State fields (or the whole State section): the ambient/initial temperatures default to the reference temperature and the initial electrolyte concentration to 1000 mol.m-3 (logged), while opt-in fields (initial hysteresis state, heat transfer coefficient) are left for the model to default. (#5574)

Bug fixes

  • Fixed ParameterValues.to_json (and Serialise of parameter values) raising TypeError: ... got multiple values for argument on create_from_bpx outputs, whose functional parameters are functools.partial objects with keyword-bound arguments (e.g. constant diffusivity, tabular OCPs, exchange-current density). The serialiser now only creates symbols for a partial's remaining required arguments, leaving bound and defaulted arguments in place. (#5641)
  • Fixed the Dependabot uv update job failing to resolve the workspace (ModuleNotFoundError: No module named 'scikit_build_core'): pybammsolvers now declares a static version in pyproject.toml, so build-tool-less resolvers read its metadata without invoking the scikit-build-core backend. version.py remains the single source of truth, mirrored into pyproject.toml and vcpkg.json by a new sync-pybammsolvers-version pre-commit hook. (#5655)
  • Fixed the pybammsolvers Windows wheels failing to build: vcpkg's transitive reference-LAPACK/Fortran toolchain chain broke on a pruned upstream MSYS2 download (a 404). The Windows build now avoids that chain, using a suitesparse-klu-only sundials port and vcpkg 2026.06.24 on a windows-2025 runner. (#5650)
  • Fixed the deprecated "<X> electrode diffusivity [m2.s-1]" alias silently overriding the current "<X> particle diffusivity [m2.s-1]": the current name now takes precedence in ParameterValues (instead of being overwritten by the deprecated alias), and a warning is raised when both are set, so setting or fitting particle diffusivity is no longer a silent no-op. The deprecated key is retained for backward compatibility, and create_from_bpx now emits only the current particle diffusivity name. (#5642)
  • Fixed the pybammsolvers source distribution bundling the SUNDIALS/SuiteSparse submodule trees (~291 MB, over PyPI's per-file limit) when built from a checkout with the submodules initialised; the sdist now excludes them. (#5623)
  • Fixed the pybammsolvers editable auto-rebuild failing to configure when the SUNDIALS/SuiteSparse submodules are absent even though the libraries were already built in .idaklu; the from-source bootstrap (and its submodule requirement) is now skipped once the libraries exist. (#5623)
  • Fixed the Read the Docs documentation build, which broke once pybammsolvers became a workspace member with no published wheel during the release: RTD now fetches the SUNDIALS/SuiteSparse submodules and installs gfortran/libopenblas so the solver builds from source. Link checking was also restructured so transient external-link failures no longer block builds: Sphinx linkcheck is advisory, and the CI lychee check runs offline on PRs with a weekly external sweep that files a tracking issue. (#5659)

Energy Storage - Battery - Python
Published by BradyPlanden about 1 month ago

bbsBayes2 - v.1.2026.1

Relatively small update to bring the most recent BCR definitions and names.

Northern BCRs were renumbered so that BCRs 3, 6, 7, and 8 are now renumbered 68 through 77. The other bcr numbers have not changed. For details, see the primary BCR spatial layers curated by Birds Canada.

Includes a small correction to the parameterisation of the hyperparameter trajectory in the spatial and hierarchical first difference models. The error did not affect any of the values called by the package, only a derived parameter that is in the model but never called by the package.
Also includes a few tweaks to the coding of the generate_indices, generate_trends, and plot_indices functions to account for some deprecations in tidy_select.

Biosphere - Avian Monitoring and Analysis - R
Published by AdamCSmithCWS about 1 month ago

CoopCycle - v5.6.1

Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.6.0...v5.6.1

Consumption - Mobility and Transportation - PHP
Published by alexsegura about 1 month ago

SNAP - 2.5.27

Adds OpenMP to noble and jammy, and deletes bionic.
Modifies the tmpl snap.input files to include ASYNC_IO.ON. Now vgl-snap and argos runs will both run with asynchronous IO.
Fixes operation definitions for MetModel enumeration.
Changes default wet deposition scheme to bartnicki-takemura for MEPS and ERA5 (not yet available for EC).

What's Changed

Full Changelog: https://github.com/metno/snap/compare/v2.5.25...2.5.27

Atmosphere - Atmospheric Dispersion and Transport - Jupyter Notebook
Published by jjordene about 1 month ago

flixOpt - v7.2.1

7.2.1 (2026-07-21)

Bug Fixes

  • stats: threshold not applied along breakdown dimension in plot.effects (#719) (#720) (49ed538)

Energy Systems - Energy System Modeling Frameworks - Python
Published by flixopt-release-bot[bot] about 1 month ago

PyBaMM - pybammsolvers 0.9.0

First pybammsolvers release from the PyBaMM monorepo, tagged in the pybammsolvers-v* namespace. The published version comes from version.py (0.9.0); the release workflow's check_version job asserts the tag, version.py, pyproject.toml, and vcpkg.json all agree.

Breaking changes

  • The minimum supported NumPy version is now 2.0.0 (previously unpinned). NumPy 1.x is no longer supported. (#5647)

Features

  • Now ships Linux aarch64 (arm64) wheels, built on manylinux_2_34 native ARM runners. The libstdc++ std::string ABI (_GLIBCXX_USE_CXX11_ABI) is detected from the linked CasADi library instead of hard-coded, resolving the unresolved-symbol failure against CasADi's C++11-ABI aarch64 wheel. (#5653)
  • PyBaMM and pybammsolvers now develop in a single repository (a UV workspace under packages/) while continuing to release independently to PyPI. Release tags are namespaced (pybamm-v* and pybammsolvers-v*). (#5512)

Bug fixes

  • Fixed the Windows wheels failing to build: vcpkg's transitive reference-LAPACK/Fortran chain broke on a pruned upstream MSYS2 download (a 404). The Windows build now uses a suitesparse-klu-only sundials port and vcpkg 2026.06.24 on a windows-2025 runner. (#5650)
  • Fixed the source distribution bundling the SUNDIALS/SuiteSparse submodule trees (~291 MB, over PyPI's per-file limit) when built from a checkout with the submodules initialised; the sdist now excludes them. (#5623)
  • Fixed the editable auto-rebuild failing to configure when the SUNDIALS/SuiteSparse submodules are absent even though the libraries were already built in .idaklu. (#5623)
  • Fixed the Dependabot uv update job failing to resolve the workspace (ModuleNotFoundError: No module named 'scikit_build_core'): pybammsolvers now declares a static version in pyproject.toml, so build-tool-less resolvers read its metadata without invoking the scikit-build-core backend. version.py remains the single source of truth, mirrored into pyproject.toml and vcpkg.json by the sync-pybammsolvers-version pre-commit hook. (#5655)

Full changelog: https://github.com/pybamm-team/PyBaMM/blob/main/CHANGELOG.md

Energy Storage - Battery - Python
Published by BradyPlanden about 1 month ago

goat - v2.4.53 Bugfix Release

This release is a maintenance update addressing various issues identified since the 2.4.52 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.

Full Changelog: https://github.com/plan4better/goat/compare/v2.4.52...v2.4.53

Consumption - Mobility and Transportation - TypeScript
Published by majkshkurti about 1 month ago

CoopCycle - v5.6.0

What's Changed

Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.5.3...v5.6.0

Consumption - Mobility and Transportation - PHP
Published by alexsegura about 1 month ago

CoopCycle - v5.5.3

Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.5.2...v5.5.3

Consumption - Mobility and Transportation - PHP
Published by alexsegura about 1 month ago

Econobis - Release 5.4.2.1

Afhandeling van externe bijlagen verbeterd en gecentraliseerd
Het opslaan van bijlagen vanuit externe webformulieren is samengevoegd in één generieke functie. Naast URL's die eindigen op een bestandsnaam worden nu ook signed PDF-URL's zonder bestandsnaam ondersteund. Hierbij wordt de originele bestandsnaam indien beschikbaar uit de HTTP-header overgenomen en worden alleen geldige PDF-URL's geaccepteerd. Daarnaast is de foutafhandeling verbeterd en worden documentrecords pas aangemaakt nadat de bijlage succesvol is opgehaald en opgeslagen.

Bugfix: verwijderen contact met vrije velden log werkte niet meer
Er ontbrak een relatie in vrije velden tabellen. Relatie toegevoegd en nu werkt verwijderen contact met vrije velden log ook weer.

Energy Systems - Energy Markets - JavaScript
Published by Mosmania about 1 month ago

OpenSTEF - v4.2.1

What's Changed

Full Changelog: https://github.com/OpenSTEF/openstef/compare/v4.1.2...v4.2.1

Energy Systems - Load and Demand Forecasting - Python
Published by lschilders about 1 month ago

flixOpt - v7.2.0

7.2.0 (2026-07-21)

Features

  • cluster: add original-vs-clustered comparison accessors (#734) (82f2be1)

Energy Systems - Energy System Modeling Frameworks - Python
Published by flixopt-release-bot[bot] about 1 month ago

PyPowSyBl - v1.16.0

PyPowSyBl v1.16.0 release notes

⭐ New Features

Integrating powsybl-dependencies 2026.1.0 and powsybl-optimizer 0.18.0 (#1246, #1258, #1261) (see here the associated release notes)

Network

Added setters for name and case_date on the network object. (#1220)
Bus to bus switch import for pandapower import (#1209)
Add a binding for the java switchflow functionality (#1223)
Added a binding for transformers phase clock extension (#1228)
Add network.flatten() binding (#1229)
Remove deprecated reporter (#1243) Breaking Change
Remove default_name in ReportNode (#1244) Breaking Change
Deprecate "operational_limits" methods in favor of "loading_limits" (#1249) Deprecated
Add complete validation of a network with a ReportNode (#1259)

Detailed DC Modeling

Add connection/disconnection API for DC elements (#1242)
Add DcSwitch API in PyPowSyBl. (#1208)
Add access to minP and maxP attributes of Voltage Source Converters (#1247)

Loadflow, Security and Sensitivity Analysis

Support load flow parameters check (#1239)
Bind disconnected elements in post contingency results (#1224)
Bind voltage angle violations functionality (#1225)
New sensi types (#1250)

Diagrams

Fixes NadProfile's custom labels (#1216)

RAO

Import CRAC from NC profiles (#1212)
Export initial set-point / tap in RAO CRAC dataframes (#1222)
Support cim, cse and fb-constraint CRACs (#1255)
Marmot runner (#1231)

⚙ Beta Features

AC OPF prototype with pyoptinterface (#1071, #1226, #1227, #1248)
AC/DC OPF prototype with detailed DC network integration (#1241)

🔨 Technical improvements

CIs rework : functioning fork CIs, using mvn wrapper, caching built libraries (#1192, #1204, #1205, #1206, #1210, #1211, #1213, #1221)
Launch the CI snapshot on powsybl-core 'ci_ref' tag if it exists, or on 'main' branch (#1240)
Add french resources for reports (#1253)
Clean linting warnings (#1257)

🪲 Bug fixes

Fix getSensitivityMatrix and getReferenceMatrix memory leak. (#1251)
Fix bus id voltage sensibility (#1230)

🚨 Breaking changes

Reporting

Deprecated Reporter class has been removed, use ReportNode instead.

Class Methods
LoadFlow run_ac
run_dc
SecurityAnalysis run_ac
run_dc
AcSensitivityAnalysis run
DcSensitivityAnalysis run
ShortCircuitAnalysis run
Network save
save_to_string
save_to_binary_buffer
NetworkCreationUtil load
load_from_binary_buffer
load_from_binary_buffers
load_from_string
NetworkElementModificationUtil create_line_on_line
revert_create_line_on_line
connect_voltage_level_on_line
revert_connect_voltage_level_on_line
create_load_bay
create_battery_bay
create_generator_bay
create_boundary_line_bay
create_dangling_line_bay
create_shunt_compensator_bay
create_lcc_converter_station_bay
create_vsc_converter_station_bay
replace_tee_point_by_voltage_level_on_line
_create_feeder_bay
create_voltage_level_topology
create_coupling_device
remove_voltage_levels
remove_hvdc_lines
create_line_bays
create_2_windings_transformer_bays
remove_feeder_bays

Also, ReportNode now only possesses the task_key argument in its init.
Replace ReportNode(task_key, default_name) with ReportNode(task_key)

📔 Documentation

Add documentation about terminal ids and other CGMES aliases (#1232)

Energy Systems - Energy System Modeling Frameworks - Java
Published by HugoKulesza about 1 month ago

Sinergym - v3.12.2

What's Changed

Full Changelog: https://github.com/ugr-sail/sinergym/compare/v3.12.0...v3.12.2

Consumption - Buildings and Heating - Python
Published by AlejandroCampoy about 1 month ago

Monitorfish - v1.116.2

What's Changed

🎉 Fonctionnalités

Full Changelog: https://github.com/MTES-MCT/monitorfish/compare/v1.116.1...v1.116.2

Biosphere - Marine Life and Fishery - HTML
Published by VincentAntoine about 1 month ago

ONEARMY - v2.142.0

2.142.0 (2026-07-21)

Features

  • supporter onboarding flow redirects to email preferences (5f6b7a3)

Sustainable Development - Knowledge Platforms - TypeScript
Published by onearmy-bot about 1 month ago

fluxopt - v0.1.0

0.1.0 (2026-07-21)

⚠ BREAKING CHANGES

  • fail-fast FlowSystem validation, elements on BaseModel (#229)
  • effects: objective_effects no longer accepts a list; penalty is minimized by default (was: tracked but ignored).
  • unify field naming to quantity_min/max grammar (#204)

refac

  • unify field naming to quantity_min/max grammar (#204) (3459c6c)

Features

  • effects: allow per-period values for periodic bounds (#205) (d8dfc4d)
  • effects: weighted objective with penalty auto-inclusion (#210) (20cef8f)
  • element round-trip (to_dict/from_dict) + ProfileRef (#227) (16a229a)
  • fail-fast FlowSystem validation, elements on BaseModel (#229) (2673131)
  • flow: add flow_hours and load_factor bounds (#206) (3dd45a7)
  • flow: add ramp rate limits (#207) (785875b)
  • FlowSystem declarative front door (YAML + data) (#228) (916fb6c)
  • pydantic element layer (validation + JSON Schema) (#226) (a3b2f50)
  • stats: add StatsAccessor.summary() headline KPI table (#188) (c3540f9)
  • storage: add final level bounds and prevent_simultaneous (#208) (643fede)

Bug Fixes

  • clarify netcdf read error for non-ASCII paths on Windows (#195) (c1c2ffe)
  • keep release-please below 1.0 with bump-minor-pre-major (#232) (fe539d3)
  • pass pd.Index coords for linopy 0.8 compatibility (#194) (9179a36)
  • reject unknown flow short_ids in conversion_factors (#212) (de7ff7a)
  • weight flow-hour aggregates by timestep duration (#211) (4320efe)

Energy Systems - Energy System Modeling Frameworks - Python
Published by fluxopt-release-bot[bot] about 1 month ago

GISWATER - v4.15.4

🔽 Read the summarized changelog here 🔽

Fixed

  • Fix admin dialog: refresh Project Schema list after a connection error.
  • Fix admin dialog: list all WS/UD schemas on the active connection.

Full Changelog: https://github.com/giswater/plugin/compare/v4.15.3...v4.15.4

📃 Check the official documentation here: ⛓️‍💥 Giswater Documentation

Natural Resources - Water Supply and Quality - PLpgSQL
Published by danimarinBG about 1 month ago

mizer - mizer 3.2.0

This release overhauls how species and resource parameters are set, makes the
extension framework composable regardless of load order, adds a new
adjustSizeGrid() function and cheatsheets, and includes a range of smaller
improvements and bug fixes.

For an overview see the
release announcement
on the mizer blog.

Resource setting

  • Assigning to resource_params() (or one of its components, e.g.
    resource_params(params)$kappa <- ...) now immediately rebuilds the
    size-dependent resource rate (rr_pp) and capacity (cc_pp) arrays from the
    scalars, leaving any manually set (frozen) arrays untouched, exactly as
    species_params<- feeds the species rates. As a result changing the
    rate-side scalars r_pp or n now takes effect (previously the value was
    silently discarded), and successive scalar edits accumulate instead of
    overwriting each other. Assigning to resource_params() no longer balances
    the resource; balancing to preserve the steady state is now solely a feature
    of setResource().

  • The resource_rate<-, resource_capacity<-, resource_level<- and
    resource_dynamics<- setters gained a balance argument (default
    unchanged) so it can be switched off, e.g.
    resource_capacity(params, balance = FALSE) <- my_capacity.

  • setResource() no longer silently overwrites a manually set (frozen) rate
    or capacity array when balancing: the frozen array wins and a warning is
    issued. The one exception to the frozen-array protection is that steady()
    will rebalance the resource_capacity in order to return a steady state,
    ignoring any freeze.

These changes and how to adapt existing code are described in the new
vignette("upgrading") ("Upgrading mizer").

Species parameter changes

  • Modifying species parameters via species_params<-() now automatically
    detects your changes, records them in given_species_params so they are
    protected from being overwritten by defaults in the future, and silently
    triggers the recalculation of any dependent parameters and rate arrays.
    Previously, species_params<-() bypassed the given_species_params
    protection and didn't trigger recalculations. This restores expected
    behaviour and makes species_params<-() the recommended setter for scripts.

  • The given_species_params<-() setter remains as an explicit alternative
    that is particularly useful during interactive sessions, because it issues
    warnings if you change a parameter whose effect is overridden by another
    parameter that has already been given.

  • Each species parameter default now has a single home: the rate-setting
    function that uses the parameter. validSpeciesParams() now only fills in
    defaults for parameters that no single rate setter owns, namely w_max,
    w_repro_max, w_mat, w_min, alpha, n, a, b and is_background.
    The defaults for p, k, z_ext, d, E_ext, D_ext and
    interaction_resource are supplied by setMetabolicRate(), setExtMort(),
    setExtEncounter(), setExtDiffusion() and setInteraction() respectively,
    where they were already being set. Built models are unaffected, because
    setParams() calls all the rate-setting functions, but
    validSpeciesParams() applied to a bare species parameter data frame now
    returns fewer columns. See the default_parameters vignette.

  • The p argument of setMetabolicRate() is deprecated (#459). It never had
    any effect on a MizerParams object: such an object always has a p column
    already, and the argument was only ever used to fill in a missing one, so it
    was silently ignored. Set the species parameter instead, with
    species_params(params)$p <- value. The p argument of
    newMultispeciesParams() is a different argument and is not affected.

  • The default for the metabolic exponent p is now n rather than 3/4 in
    setMetabolicRate(), which is where the default now lives;
    validSpeciesParams() no longer sets p. No model changes as a result.
    Models built with newMultispeciesParams() take p from its own p
    argument (default 0.7), which is injected into the species parameter table
    before validation and is untouched by this change, so neither of these
    defaults fires for them. The validSpeciesParams() default (p = n) only
    ever applied when it was called directly on a bare species parameter data
    frame, which now returns no p column, and it shadowed the
    setMetabolicRate() default whenever both were in play.

  • Default values for the a (0.01) and b (3) species parameters (for the
    weight-length relationship) are now saved in species_params instead of
    being calculated internally by l2w() and w2l() only when needed.

  • The species_params data frame is now an S3 subclass of data.frame
    (class = c("species_params", "data.frame")). It supports class-preserving
    subsetting and subassignment S3 methods, making it safer to use and paving
    the way for future auto-recalculations.

  • Columns accessed via $ on a species_params or gear_params object now
    return named vectors, where the names are the species names (or "species,
    gear" row names for gear_params). For example,
    species_params(params)$w_mat now returns a named vector making it easier
    to identify entries. The species vector is left unnamed.

  • When sel_func is set on a gear_params object, any argument columns
    required by that selectivity function (other than w, species_params, and
    ...) are now automatically added as NA columns. This means, for example,
    that setting gp$sel_func <- "sigmoid_length" immediately creates the l25
    and l50 columns, ready to be filled in (#431).

  • Misspelled column names in the gear_params and species_params data
    frames are now detected by fuzzy matching against the recognised parameter
    names. A near miss such as sel_fun (instead of sel_func) triggers a
    warning that suggests the intended name, rather than being silently ignored
    (#442). Columns are only flagged, never renamed, so legitimate custom
    columns are left untouched.

See the new vignette("upgrading") ("Upgrading mizer") for how to adapt
existing code to these changes.

Extension framework

  • An installed extension package is now recognised as a dispatching extension
    from the S3 methods it registers for its marker class (e.g.
    getEncounter.mizerMR), rather than only from a statically defined S4 marker
    class. This lets extension packages omit the static
    setClass("mizerFoo", contains = "MizerParams") and instead let mizer create
    the marker class dynamically when the package is loaded, inserting it at the
    correct place in the S4 hierarchy relative to any other extensions loaded in
    the session. As a result, two independently developed extension packages
    (for example mizerReef and mizerMR) can now be chained in either load order,
    which a static sibling-of-MizerParams class prevented.

  • recordExtension() now prepends a genuinely new extension to the front of the
    object's @extensions chain, keeping it ordered outermost-first to match
    registerExtension(). Existing entries stay in place.

New functions

  • New adjustSizeGrid() function (an S3 generic) adjusts the size grid of
    a MizerParams object to a new minimum and/or maximum size. It can both
    expand and truncate (shrink) the grid. For each species it warns if
    truncation discards a non-negligible fraction of the species' biomass, of
    the diet of its smallest individuals, or of the diet of its largest
    individuals.

  • Added a callback parameter to project() to allow user-defined functions
    to be called at each saved time step.

Other improvements

  • Mizer plots no longer produce the unhelpful warning "log-10 transformation
    introduced infinite values" when a logged axis contains zero values (#463).

  • setColours() and setLinetypes() now also update the linecolour and
    linetype entries in species_params and given_species_params whenever a
    name being set coincides with a species name, so that the choice persists
    with the species rather than only living in the plotting slot.

  • library(mizer) now prints a one-line startup message the first time you
    load a new mizer version, pointing you to news(package = "mizer"). It is
    shown at most once per version and never interrupts a session more than
    that.

  • compareParams() now checks that the number of size bins, species and gears
    agree before comparing the array-valued slots. When they differ it reports the
    mismatch instead of erroring while trying to compare arrays of incompatible
    dimensions. It also compares the species-parameter tables by matching species
    and parameters by name, so differing species no longer produce a long list of
    per-column length mismatches, and duplicated messages are no longer repeated.

  • Error messages that referred to w_max as a species' "maximum size" now
    correctly describe it as the upper size-grid boundary, consistent with w_max
    being a purely computational parameter.

  • newSingleSpeciesParams(), newTraitParams() and newCommunityParams() now
    document why they place the size-grid boundary at the maximum size
    (w_max = w_repro_max): because they do not yet set up stochastic growth by
    diffusion, no individual grows beyond w_repro_max, so no headroom above it is
    needed. This will be revisited when the constructors gain a diffusion parameter
    (#339).

  • print() on ArraySpeciesBySize, ArrayTimeBySpecies, ArrayResourceBySize,
    ArrayTimeByResourceBySize and ArrayTimeBySpeciesBySize objects (as
    returned by getEncounter(), getBiomass(), getResourceMort(), NResource(),
    getFMort() and similar functions) now prints the array's actual values
    instead of a per-species min/mean/max summary, truncating large arrays to
    fit the console: species are shown as a leading subset, sizes as an evenly
    log-spaced sample across the full size range, and time series as a
    representative sample of time steps that always includes the first and
    last, with a note reporting how much was omitted. A three-dimensional
    ArrayTimeBySpeciesBySize object is previewed via its final time slice,
    matching plot()'s existing default for that class. Use
    as.data.frame() for full, untruncated access to the data.

  • plotYieldGear() now supports log_x, log_y, and log arguments,
    aligning its arguments with plotYield().

  • The upper boundary condition of the size-spectrum solvers now holds the
    abundance at zero above each species' maximum size w_max. Without diffusion
    this is automatic and results are unchanged, but with predation diffusion
    switched on it stops a small amount of density leaking to sizes above w_max.
    See the "Numerical Details" vignette.

Documentation

  • The "Getting started" guide now includes a self-contained "A worked example:
    the Celtic Sea" section that takes a real ecosystem from raw species parameters
    through building, finding the steady state, calibrating to observed biomasses
    and growth, checking against observed yields, setting the resilience to
    fishing, and projecting a fishing scenario whose sustainable-yield curve is
    interpreted — the whole mizer workflow in one place (#450).

  • The first example in the "Getting started" guide no longer prints the
    parameter-default notes from newMultispeciesParams(), which were alarming to
    new users out of context (#450).

  • Added three new cheatsheets: "Model Setup and Calibration" (building a model,
    finding the steady state, calibrating to observed biomass/yield/growth, and
    projecting), "Fishing" (gears, selectivity functions, catchability, and
    effort), and "Changing Model Parameters" (the distinction between
    given_species_params(), calculated_species_params() and species_params(),
    when changing a species parameter updates a size-dependent rate versus freezing
    it, and how gear_params() and the resource setters differ).

  • The analysis-and-plotting cheatsheet now covers the newer plotting functions
    (plotCDF(), plotSpectra2(), plotSpectraRelative(), plotCDF2(),
    plot2(), plotRelative(), animate()) and the ArrayResourceBySize
    class, and corrects the interactive-plot advice for array objects to use
    plotHover() (they have no ggplotly() method).

  • The reference index on the website now opens with an "Overview: the mizer
    workflow" section that frames the whole page as a five-stage pipeline (create →
    calibrate → tune dynamics → project → analyse) with links to the key function
    in each stage, so readers can see how the sections below fit together.

  • The reference index on the website now explains the differences between related
    families of functions. It disambiguates the calibrate...()/match...() and
    ...Biomass/...Number calibration functions and the plot...() variants
    (...2, ...Relative, ...ObservedVsModel), and maps mizer's mortality-rate
    names onto the standard fisheries notation (M2, F, Z).

Biosphere - Marine Life and Fishery - R
Published by gustavdelius about 1 month ago

Plant-for-the-Planet - 2026-07-21-release

What's Changed

Full Changelog: https://github.com/Plant-for-the-Planet-org/planet-webapp/compare/2026-07-20-project-search-enhancements...2026-07-21-release

Biosphere - Deforestation and Reforestation - TypeScript
Published by mohitb35 about 1 month ago

HydroPol2D - HydroPol2D v1.17.0

HydroPol2D v1.17.0

Overview

HydroPol2D v1.17.0 consolidates the current MATLAB model, its input
workflows, and its reproducible validation suite in one self-contained
repository.

Model and Inputs

  • Retains the bundled GPLv3 TopoToolbox v2.4-derived runtime, so users do not
    need to configure an external TopoToolbox installation.
  • Consolidates the current layered-soil, asynchronous groundwater, snow,
    evapotranspiration, routing, water-quality, calibration, and particle-filter
    workflows.
  • Keeps spreadsheet and bypass-script inputs aligned with the active model
    configuration.

Validation

  • Standardizes validation paths, case identifiers, registry entries, and
    release commands under Validation/.
  • Corrects cumulative-infiltration storage and map export, groundwater
    diagnostic drainage area, full-momentum hydrostatic reconstruction, and
    water-quality washoff time-step and outlet-mass handling.
  • Provides one release command that runs 23 checks for interception, snow,
    infiltration, evapotranspiration, groundwater, hydrodynamics, routing,
    boundaries, reservoirs, rainfall, water quality, human risk, and the
    Neal (2012) channel extension.

Run the suite from the repository root:

python3 Validation/scripts/run_validation_release.py \
  --matlab /Applications/MATLAB_R2025b.app/bin/matlab
python3 Validation/scripts/audit_validation_registry.py

The local-inertial and diffusive Ritter comparisons are retained as
method-limited diagnostics because those approximations do not represent a
full-momentum dry-bed dam break. The Neal (2012) staged-overbank benchmark
documents its late-recession limitation.

MATLAB Requirements

HydroPol2D requires Mapping Toolbox and Image Processing Toolbox. Optimization
Toolbox is required only when DEM smoothing is enabled.

Natural Resources - Water Supply and Quality - MATLAB
Published by marcusnobrega-eng about 1 month ago

pvlib-python - v0.15.3-alpha.1

Pre-release to allow using the NSRDB PSM4 Polar dataset for a tutorial given at the University of Alaska Fairbanks.

Renewable Energy - Photovoltaics and Solar Energy - Python
Published by AdamRJensen about 1 month ago

xgcm - v0.10.1

v0.10.1 (2026/07/20)

New Features

  • Add an experimental bipolar north-fold boundary condition for tripolar ocean grids
    (MOM6, NEMO, MOM5,
    Oceananigans), requested as a per-axis padding value on the fold axis, e.g.
    padding={"X": "periodic", "Y": {"fold": "corner"}}. The northern edge of the logical grid
    folds onto itself along the bipolar seam joining the two northern poles: the zonal axis is
    mirrored about the pole and vector components reverse sign, so interp/diff/derivative
    work across the Arctic seam. The pivot (center/T, corner/F, U, V) names the
    staggered position the pole sits on. Only the north edge folds; the south edge of a fold
    axis honours a per-call padding override when given, otherwise a configurable south
    mode (default fill). This feature is experimental: its API and numerical behavior may
    change, and constructing a Grid with a fold emits a UserWarning
    (#194,
    #711).
    By Henri Drake.

Breaking Changes

Internal Changes

Documentation

Bugfixes

Climate Change - Climate Data Processing and Analysis - Python
Published by hdrake about 1 month ago

CoralNet-Toolbox - v1.0.5

Full Changelog: https://github.com/Jordan-Pierce/CoralNet-Toolbox/compare/v1.0.4...v1.0.5

Biosphere - Marine Life and Fishery - Python
Published by Jordan-Pierce about 1 month ago

MAAP - v5.1.2a4

Biosphere - Biomass - Python
Published by github-actions[bot] about 1 month ago

echoSMs -

  • Support for Python 3.10 has been removed. The minimum supported Python version is now 3.11.
  • Update docs to mention that we'll soon follow SPEC 0
  • Move project status to beta
  • Setup for manual pre-commit checks

Biosphere - Marine Life and Fishery - Python
Published by github-actions[bot] about 1 month ago

MAAP - v5.1.2a3

Biosphere - Biomass - Python
Published by github-actions[bot] about 1 month ago

uxarray - v2026.07.0

🚀 UXARRAY v2026.07.0

A release adding Python 3.14 support with a YAC v3.18 remapping upgrade, one-file dataset loading, and a batch of bug fixes across SCRIP grids, gradients, and plotting.


🌟 Highlights

  • 🐍 Python 3.14 Support + YAC v3.18
    Added Python 3.14 compatibility and upgraded the YAC backend to v3.18, unlocking DNN remapping (#1563).

  • 📂 One-File open_dataset
    ux.open_dataset() now supports loading grid and data from a single combined file (#1479).

  • 🧮 Whole-Dataset Integration
    UxDataset.integrate() now integrates all data variables at once, plus a new UxDataArray.data_location property (#1531, #1530).


✨ Enhancements

  • Support one-file open_dataset (#1479)
  • Added UxDataArray.data_location property (#1530)
  • Integrate all data variables in UxDataset.integrate() (#1531)
  • Support Python 3.14 and upgrade YAC to v3.18 with DNN remapping (#1563)
  • Honor quadrature kwargs in calculate_total_face_area (#1568)
  • Sped up import and lazily load hvplot (#1541)

🐛 Bug Fixes

  • Fixed SCRIP reader to respect units w/r/t radians (#1433)
  • Fixed gradient returning all NaN on SCRIP-derived grids (#1533)
  • Fixed stale per-radian magnitude assumptions after sphere-radius scaling (#1536)
  • Restored matplotlib backend after HoloViews matplotlib plot (#1538)
  • Fixed crash when subsetting to an empty result (#1557)
  • Fixed structured from_xarray n_face mapping (#1569)
  • Downgraded to matplotlib<3.11 to fix RTD plots (#1554)

📚 Documentation

  • Updated Read the Docs Python installer (#1532)

⚙️ CI & Maintenance

  • pre-commit autoupdates (#1528, #1535, #1565)
  • Bumped GitHub Actions dependencies (#1529, #1540, #1572)
  • Added connectivity benchmarks, gated larger files (#1549, #1550)
  • Fixed time_face_search benchmark (#1546)
  • Allowed forks to run benchmarks and comment (#1551)

👏 Contributors

Thanks to all contributors who made this release possible:

  • @rajeeja
  • @zarzycki
  • @kafitzgerald
  • @Sevans711
  • @cmdupuis3
  • @vakudo
  • @dependabot[bot]
  • @pre-commit-ci[bot]

📦 Full Changelog

Compare v2026.06.0...v2026.07.0

Climate Change - Climate Data Processing and Analysis - Python
Published by rajeeja about 1 month ago

Siphon - 0.11.0

Highlights

The main purpose of the release is to update the WyomingUpperAir client to work with the new server infrastructure. Main data columns are unchanged, but a few columns of data (elevation, station_number, pw)are no longer available from the server.

What's Changed

Enhancements 😄

Other Changes

Full Changelog: https://github.com/Unidata/siphon/compare/v0.10.0...v0.11.0

Sustainable Development - Data Catalogs and Interfaces - Python
Published by dopplershift about 1 month ago

GridPath - GridPath v2026.7.0

What's Changed

Full Changelog: https://github.com/sylvan-energy/gridpath/compare/v2026.6.0...v2026.7.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva about 1 month ago

goat - v2.4.52 Bugfix Release

This release is a maintenance update addressing various issues identified since the 2.4.51 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.

What's Changed

Full Changelog: https://github.com/plan4better/goat/compare/v2.4.51...v2.4.52

Consumption - Mobility and Transportation - TypeScript
Published by majkshkurti about 1 month ago

Arena - v2.5.8

What's Changed

Full Changelog: https://github.com/openforis/arena/compare/v2.5.7...v2.5.8

Biosphere - Biodiversity Citizen Science - JavaScript
Published by SteRiccio about 1 month ago

Hydrocron - 1.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/podaac/hydrocron/compare/1.8.0...1.9.0

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by github-actions[bot] about 1 month ago

HydroShare - Release 3.16.2

https://github.com/hydroshare/hydroshare/pull/6379

Full Changelog: https://github.com/hydroshare/hydroshare/compare/3.16.1...3.16.2

Hydrosphere - Freshwater and Hydrology - Python
Published by porterhyphenborden about 1 month ago

giverny - v3.6.1

  • add new windfarm variables

Atmosphere - Atmospheric Composition and Dynamics - Python
Published by mschnau about 1 month ago

metloom - metloom v0.9.4

  • Patch snowcourse logic for NRCS

Atmosphere - Meteorological Observation and Forecast - Python
Published by micah-prime about 1 month ago

ClimaCore - v0.14.55

ClimaCore v0.14.55

Diff since v0.14.54

📢 API Changes:

🚀 Features

📑 Documentation

  • No docs for AxisTensors (#2509)

🐛 Fixes

  • fix: trigger CLA workflow during bot PR review and auto-merge events (#2534)

Climate Change - Earth and Climate Modeling - Julia
Published by github-actions[bot] about 1 month ago

PowerCalc - v1.23.0 🌈

Changes

💡 Power profiles

  • #4249 Add LSC A60 RGB-CCT E27 806lm @erdoking
  • #4303 Correct mistake in Signify Datura profile @bramstroker
  • #4307 fix: skip author resolution when commit email has no linked GitHub account @bramstroker
  • #4314 Add missing Hue Datura aliases @bramstroker

🚀 Features

  • #4295 Refactor to reduce complexity and LOC @bramstroker

🐛 Bug Fixes

  • #4306 Cost options must always be available in global config @bramstroker
  • #4352 Prevent own group sensors being added to group @bramstroker

Energy Systems - Building Energy Monitoring - Python
Published by github-actions[bot] about 1 month ago

PyCO2SYS - PyCO2SYS: marine carbonate system calculations in Python

What's Changed

Full Changelog: https://github.com/mvdh7/PyCO2SYS/compare/v2.0.0b7...v2.0.0b8

Hydrosphere - Ocean Carbon and Temperature - Python
Published by mvdh7 about 1 month ago

Monitorfish - v1.116.1

What's Changed

🎉 Fonctionnalités

Full Changelog: https://github.com/MTES-MCT/monitorfish/compare/v1.116.0...v1.116.1

Biosphere - Marine Life and Fishery - HTML
Published by VincentAntoine about 1 month ago

Monitorfish - v1.116.0

What's Changed

🎉 Fonctionnalités

🐛 Corrections

👒 Dépendances

Full Changelog: https://github.com/MTES-MCT/monitorfish/compare/v1.115.0...v1.116.0

Biosphere - Marine Life and Fishery - HTML
Published by VincentAntoine about 1 month ago

whoBIRD - V5.4

Fix images not loading

Biosphere - Bioacoustics and Acoustic Data Analysis - Kotlin
Published by woheller69 about 1 month ago

goFlux - goFlux: v0.3.0

0.3.0 (2026-07-20)

What's Changed

New Contributors

Full Changelog: https://github.com/Qepanna/goFlux/compare/goFlux-0.2.1...goFlux-0.3.0

Emissions - Emission Observation and Modeling - R
Published by github-actions[bot] about 1 month ago

icclim - v7.1.3

7.1.3

  • restore compatibility with latest xclim releases by adapting to_agg_units calls to the installed API signature
  • add a bootstrap override to icclim.index(...) for day-of-year percentile thresholds
  • document that overlap-based bootstrap remains scientifically important for percentile-based extreme indices, while bootstrap=False can be a pragmatic workaround on large dask-backed datasets
  • update CI maintenance workflows to use peter-evans/create-pull-request@v8

Climate Change - Climate Data Processing and Analysis - Python
Published by pagecp about 1 month ago

GT4Py - GT4Py v1.1.12

Summary of changes since v1.1.11

Cartesian

  • Improve DaCe loop scheduling for CPU and CUDA backends.
  • Generate cleaner index-bound expressions in the DaCe backend.
  • Use descriptive loop names in the DaCe schedule tree for easier profiling and debugging.
  • Fix out-of-bounds reads for stencils using K-axis interfaces without extra vertical padding.

All changes

New Contributors

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.1.11...v1.1.12

Climate Change - Climate Data Processing and Analysis - Python
Published by edopao about 1 month ago

Antares Simulator - v10.2.0-rc3

Run tests: false

Energy Systems - Energy System Modeling Frameworks - C++
Published by github-actions[bot] about 1 month ago

Spruce - 1.2

What's Changed

New Contributors

Full Changelog: https://github.com/DigitalPebble/spruce/compare/1.1...1.2

Consumption - Computation and Communication - Java
Published by jnioche about 1 month ago

Deadtrees.earth - v2026.07.20

What's Changed

Frontend

Full Changelog: https://github.com/Deadwood-ai/deadtrees/compare/v2026.07.16.12...v2026.07.20

Biosphere - Forest Remote Sensing - TypeScript
Published by github-actions[bot] about 1 month ago

CoopCycle - v6.0.0-beta4

Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v6.0.0-beta3...v6.0.0-beta4

Consumption - Mobility and Transportation - PHP
Published by alexsegura about 1 month ago

CoopCycle - v5.5.2

Full Changelog: https://github.com/coopcycle/coopcycle-web/compare/v5.5.1...v5.5.2

Consumption - Mobility and Transportation - PHP
Published by alexsegura about 1 month ago

EVCC - 0.312.1

Changelog

Breaking Changes 🚨

  • a5956a6804a1bc9f6332fff03c16c817052c0166 Home Assistant: add plugin source, support temp for heating switch devices (BC) (#31915)
  • e239af5d25edd7d79c98b947033a4a01c095dbad FNN/Relay HEMS validates plugins on startup (BC) (#31428)
  • 0cf708a40dba70f32f42035d348b114ec4565399 Merge Marstek Venus E Gen 3.0 template (BC) (#31865)

New Features 💫

  • 9069ccd82a2b349e0e6a48052fc276fb63b2174a Add Growatt MIN 3000TL-XE (non-hybrid) (#31135)
  • 7427ed1260240160669c4c43d2e618587b91b7c4 Anker Solarbank Max AC: add battery control (#31869)
  • b6cca9ea1b791be9fa0ceca7240675e99d320e67 HEMS: add per-hems tests for nil statements when unconfigured or not connected (#31430)
  • b02a40353f351535c81b705c2e9547d7eeb7cf66 Heating: add time-based energy statistics (today, 24h, 7d) to loadpoint tile (#31781)
  • bba63f5df0c90f9c5fe0451fdb497dad88d3f2fc Huawei: add HoldCharge (#30598)
  • a3f58277a31c8dc81823d3636f0c667d25d643d2 SMA hybrid: add battery mode 4 (holdcharge) (#31911)
  • b0b9535475295f9f3f4f267634168873e045472a drivesomethinggreater: add instructions (#31047)

Experimental Features 🧪

  • 28d36a51f08035c0bdc5305c4322692a708e2b87 Battery (experimental): batteryicon: visualize actual percentages (#31917)
  • 362620ba07797f29204209a82df710f65a2a34f2 Battery (experimental): restore priority/buffer soc constraint (#31900)

Other Changes ☀️

  • 8fcd44317173a71eed728bf46d48e5ef28acf8d7 Battery boost: hold at soc limit instead of disabling (#31922)
  • e49b63e80b463f8ba840153dd0f8e9f9e3520767 CI Issue agent: be reluctant to label bugs, push for missing info (#31901)
  • f673c6d0c82a1e3a563a0a39dcb43362bd1c3deb Cardata: status detection for "New Class" vehicles (#30938)
  • 01b4c38231143aab6c29e5fa8f8fe8de209ae284 HTTP plugin: warn on uncached repeated GET requests (#31932)
  • e77fb6071a9a432f245d21a1e427f2b544409d97 Home Assistant: warn when deprecated 'token' parameter is used (#31876)
  • 54188d815f744155625845e3a5527668f4616e88 Loadpoint: keep vehicle soc when re-assigning same vehicle (#31945)
  • d3ae621688d0c2bdf013ca927c8cd5f3bbb80aef Meter: make battery parameters dynamic (#31668)
  • 5e6f1e7356d807785859f6015f7cbd81078f6dbc Metrics: recover downtime energy via persisted meter readings (#31795)
  • cc6bef6b82dca6d4b848cafbedd7666c29bc7080 Modbus: handle NaN values (#31011)
  • 6afed701c0e3df7fcb274e5f51e9b7f237683ae0 Mqtt: limit trace log payload length like http logging (#31944)
  • 8a8abdaede461af416b0f7fedf3f574dc603a65d OCPP: use loadpoint phases for watts-based charging power (#31946)
  • 101839377a59b6902e403476d3a95f2ba2a80b56 Optimizer: pass grid feed-in curtailment limit when active (#31949)
  • 31cf9748aa58cc24371d47f6dd359c3a8f37c873 Planner: use summed slot duration for rate coverage check (#30469)
  • 7a95266a6b125cb5e4424177d897e84ac9147e3d Revert "Modbus: handle NaN values" (#31968)
  • 579df2ad67398614d563cd3a58e76430f3260ae6 Sessions: show export dropdown above bottom tab bar (#31898)
  • e239af5d25edd7d79c98b947033a4a01c095dbad Simplify HEMS api (#31428)
  • 5aed453b3e2f2eafb822cd0b275f2f14bbcc2d66 Site: don't apply battery priority to loadpoints with battery boost active (#31790)
  • 70ad1751deed5f5c6457218fe35dd24ea0c5cbb9 Tariff (pvnode V2 API): make forecast poll interval configurable (#31897)
  • 2a86cc44b1e496e561509d17263c60f2e9827873 UI: move vehicle settings from charging plan modal to own modal (#31775)
  • 199365288acb250f56a850311cec590382f16747 Vehicle: deprecate default charge mode in config (#31893)
  • 90fc0bc71b9f18313dbc7be4694de3f113768f25 Vehicle: restore streaming param on EU Data Act templates (#31970)
  • 16a0ead64045a0de0fbdf898bad8f4ad66a4212e gpio: share line requests across read/write instances on the same pin (#31508)
  • a1e8854df1a386ed80df94b050cd16c6e264ce68 open-meteo-temperature: increase forecast to 5 days (#31960)

Bug Fixes 🐞

  • 279c77ba9d2bb129a7c4962863006372b2484f47 Daheimladen: fix misleading sponsorship error on station id read (#31956)
  • f56aae4aa00e61356248ec0da685ef818ccf2aaa Revert "loadpoint: fix phase detection for low current" (#31931)

Consumption - Mobility and Transportation - Go
Published by andig about 1 month ago

goat - v2.4.51 Bugfix Release

This release is a maintenance update addressing various issues identified since the 2.4.50 release. It does not introduce any new major features, but focuses solely on improving stability and reliability.

What's Changed

Full Changelog: https://github.com/plan4better/goat/compare/v2.4.50...v2.4.51

Consumption - Mobility and Transportation - TypeScript
Published by majkshkurti about 1 month ago

CloudnetPy - CloudnetPy 1.93.6

  • Handle missing values in Limassol weather station

Atmosphere - Atmospheric Chemistry and Aerosol - Python
Published by github-actions[bot] about 1 month ago

Plant-for-the-Planet - 2026-07-20-project-search-enhancements

What's Changed

Full Changelog: https://github.com/Plant-for-the-Planet-org/planet-webapp/compare/2026-07-09-small-updates...2026-07-20-project-search-enhancements

Biosphere - Deforestation and Reforestation - TypeScript
Published by mohitb35 about 1 month ago

Emiproc - v2.8.0

What's Changed

Full Changelog: https://github.com/C2SM-RCM/emiproc/compare/v2.7.0...v2.8.0

Emissions - Emission Observation and Modeling - Python
Published by lionel42 about 1 month ago

icclim - v7.1.2

  • [fix] Fix inflated seasonal totals in icclim.sum(...) when converting filtered daily rate data such as precipitation in mm/day to amounts. Seasonal selections like MAM no longer integrate across inter-season gaps, so reproduced cases such as 4228.6 now correctly return 310.4.
  • [enh] Add a faster daily-source conversion path for seasonal rate-to-amount handling, preserving the bug fix without paying the full cost of rebuilding sparse seasonal timelines.
  • [enh] Add generalized reference-verification scripts and regression tests covering seasonal precipitation and non-precipitation cases, plus a developer protocol for broader Climpact/manual comparisons.
  • [fix] Tighten reference-verification summaries so mismatched period coordinates raise an error instead of being compared positionally.

Climate Change - Climate Data Processing and Analysis - Python
Published by pagecp about 1 month ago

GMSEUS - GM-SEUS 2025 (v2.1) Release

Version 2.1 subversion update to the Ground-Mounted Solar Energy in the United States (GM-SEUS) dataset and codebase. Major technical updates are documented in the README and in the supporting Zenodo repositories.

Renewable Energy - Photovoltaics and Solar Energy - HTML
Published by stidjaco about 1 month ago

openfoodnetwork - v5.7.4 Banana

What's Changed

User-facing changes 👀

None.

Experimental features for testing 🚧

Technical changes 🛠️

Dependencies 📦

Full Changelog: https://github.com/openfoodfoundation/openfoodnetwork/compare/v5.7.3...v5.7.4

Consumption - Agriculture and Nutrition - Ruby
Published by mkllnk about 1 month ago

CodeCarbon - v3.2.9

What’s Changed

  • perf: Performance improvement: Avoid unnecessary GPU detail queries in _monitor_power() (#1264) @vishali-mp
  • perf: speed up CLI monitor startup and fix wrapped commands (4/4) (#1254) @davidberenstein1957
  • perf: defer API run creation until first emission upload (3/4) (#1253) @davidberenstein1957
  • perf: cache hardware detection and optimize warm-path reuse (2/4) (#1252) @davidberenstein1957
  • perf: defer tracker initialization and slim import path (1/4) (#1251) @davidberenstein1957
  • perf(file): read only header row instead of entire CSV in has_valid_headers (#1235) @vishali-mp

API and Dashboard

  • fix(UI): align date picker month arrows (#1233) @inimaz
  • fix(API): runs sums excludes the filtered runs (#1229) @inimaz
  • fix: error when hover emissions chart (#1230) @inimaz
  • fix: requirements-api.txt tested in ci (#1258) @inimaz
  • chore: docker compose runs without auth (#1250) @inimaz

⬆️ Dependencies updates

  • build(deps): bump the pip group across 2 directories with 5 updates (#1247) @dependabot[bot]
  • build(deps): bump the npm_and_yarn group across 1 directory with 2 updates (#1244) @dependabot[bot]
  • build(deps): bump the npm_and_yarn group across 1 directory with 7 updates (#1238) @dependabot[bot]

👥 List of contributors

@benoit-cty, @davidberenstein1957, @dependabot[bot], @inimaz, @vishali-mp, dependabot[bot] and benoit-cty

Consumption - Computation and Communication - Python
Published by github-actions[bot] about 1 month ago

ISSM - 2026.3

This is a regular quarterly release of ISSM.

Cryosphere - Glacier and Ice Sheets - C++
Published by MathieuMorlighem about 1 month ago

claude-carbon - v1.1.1 - npm install, recalibrated factors, self-update flow

Highlights since v1.0:

  • Install via npm: npx claude-carbon now works as an alternative to the curl one-liner. Thin wrapper, the distribution stays git-based.
  • Recalibrated emission factors (Jegham et al. v6, cross-validated with EcoLogits): Sonnet 39/826, Opus 78/1652, Haiku 20/413, Fable 156/3304 gCO2e/Mtok. Bands and caveats in METHODOLOGY.md.
  • EUR display (ECB reference rate) alongside USD.
  • Self-update flow: a discreet status-line notice when a new version ships, /carbon-update to update in one command, and automatic CO2 re-pricing of stored history after each update.
  • Team pointer: /carbon-report and /carbon-card now link to tokenclimate.com for the hosted team view (same methodology, no data collection in the OSS).

Full details in CHANGELOG.md.

Consumption - Computation and Communication - Shell
Published by gwittebolle about 1 month ago

HydroPol2D - HydroPol2D v1.16.0

HydroPol2D v1.16.0

Bundled Terrain Runtime

  • Bundles the required TopoToolbox v2.4-based source subset under
    third_party/topotoolbox_lite/.
  • Removes the user-facing external TopoToolbox setting from bypass
    configuration and spreadsheet inputs.
  • Registers HydroPol2D functions and the bundled runtime through
    hydropol2d_add_runtime_paths.
  • Keeps the existing GRIDobj, FLOWobj, and STREAMobj interfaces so
    terrain preprocessing results remain consistent with the prior workflow.
  • Retains three documented, unmodified later upstream methods needed for
    current MATLAB smoothing compatibility; see
    third_party/topotoolbox_lite/UPSTREAM.md.

Requirements and Licensing

  • Mapping Toolbox and Image Processing Toolbox remain required.
  • Optimization Toolbox is required only when DEM smoothing is enabled.
  • Parallel Computing Toolbox remains optional for GPU execution.
  • HydroPol2D and the bundled TopoToolbox source are distributed under GPLv3;
    see LICENSE and third_party/NOTICE.md.

Upgrade Notes

Remove any previous addpath commands for an external TopoToolbox copy. Run
HydroPol2D_V115.m from the repository root, or use a supported case runner.

Natural Resources - Water Supply and Quality - MATLAB
Published by marcusnobrega-eng about 1 month ago

cellpy - cellpy 2.0.0a5 — native-headers flip

Fifth cellpy 2 alpha. This release lands the native-headers flip: cellpy 2's runtime now speaks native cellpycore column names end to end — no legacy rename sandwich.

Highlights

  • Default runtime is native (CellpyCell(native_schema=True)): from_raw/loadmake_step_tablemake_summarysave all run on native column names via the polars engine.
  • Legacy compatibility preserved:
    • Legacy header attribute access (headers_normal.voltage_txt, …) is carried by a deprecation-warned shim.
    • native_schema=False keeps the full legacy bridge for v8 byte round-trips.
    • Legacy v8 files still load, and save(format="v8") still writes them, via to_legacy/to_native.
  • Native merge() (campaign + continuation) works on the default path.
  • Value-parity oracle: the native and legacy pipelines are asserted equal on 125 mapped columns (raw/steps/summary, incl. IR and CE) on the canonical dataset.

Breaking changes (alpha)

  • data.raw / data.steps / data.summary now carry native column names by default (e.g. potential, cycle_num, datapoint_num, step_type). Access via the header objects (shim-carried) or migrate literals to native names. Set native_schema=False for the legacy names.
  • get_cap curve frames use native CurveCols (potential/capacity/cycle_num/direction).
  • cellpy.utils.easyplot removed (deprecated since 1.1).

Known gaps (tracked, xfailed)

  • Native summary does not yet compute shifted_* capacity, RIC, or cumulated_coulombic_efficiency (#552).
  • Native step_specifications application + exclude_step_types value parity to verify (#554).

Pinned to cellpycore==0.2.2.

Energy Storage - Battery - Python
Published by jepegit about 1 month ago

PowerSimulations.jl - v0.37.1

PowerSimulations v0.37.1

Diff since v0.37.0

Merged pull requests:

  • Fix show(::OptimizationProblemResults) for single-period results (#1646) (@luke-kiernan)
  • powerflows reactive multiperiod (#1648) (@jd-lara)

Closed issues:

  • Modeling base case flowgates (#1634)
  • HVDC components: power-flow-in-the-loop bugs (#1635)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 1 month ago

Food Expiration Dates - Version 2.9.2

GitHub release (by tag)

The FOSS version does not have the function to scan barcodes because it requires non-FOSS dependencies.

✨ What's New

  • Fix network callback leak

Full Changelog: https://github.com/lorenzovngl/FoodExpirationDates/compare/v2.9.1...v2.9.2

Consumption - Agriculture and Nutrition - Kotlin
Published by lorenzovngl about 1 month ago

Green Metrics Tool - v4.1 - Small fixes for install script

On fresh installs the SQL and config.yml files had syntax errors.

This is simple regression fix release

What's Changed

Full Changelog: https://github.com/green-coding-solutions/green-metrics-tool/compare/v4.0...v4.1

Consumption - Computation and Communication - Python
Published by ArneTR about 1 month ago

Juelich Rapid Spectral Simulation Code - v1.15

Changes in this release

Documentation & Metadata

  • Updated the README, MkDocs manual, Doxygen main page, examples, references, CITATION.cff, and dependency documentation.
  • Added a dedicated DEPENDENCIES.md file and clarified mandatory netCDF/HDF5 requirements and installation instructions.
  • Added a Matrix chat room, AGENTS.md, a JOSS submission badge, and author metadata including an additional ORCID.
  • Expanded the manual with figures, including infrared limb-spectrum illustrations, and corrected inconsistencies across the documentation.
  • Removed the external polyfill.io dependency from the manual.
  • Improved documentation for MPI parallelization, testing, workflows, command-line usage, lookup tables, and file formats.

JOSS Paper

  • Added and iteratively revised the JOSS paper.
  • Added a concise introduction, a statement of need, updated figures, citations, references, and author information.
  • Incorporated reviewer and collaborator feedback and aligned the paper with the current software capabilities and documentation.

Build System, Dependencies & CI/CD

  • Updated Makefiles, library build scripts, GitHub Actions workflows, documentation deployment, and coverage configuration.
  • Removed the obsolete Coveralls workflow.
  • Added and revised CLI, regression, MPI, netCDF, and lookup-table tests in continuous integration.
  • Added an optional hybrid MPI retrieval regression test.
  • Removed explicit -lzstd linking where it caused problems with static builds.
  • Improved workflow guidance, installation notes, and dependency handling.

Command-Line Interface & Tools

  • Added CLI help and usage documentation for all command-line tools.
  • Introduced a shared USAGE macro and expanded cli_test.
  • Improved handling and usability of the -h option.
  • Added clearer help text for control parameters.
  • Improved runtime timer reporting in the forward model, retrieval, and kernel applications.
  • Added or updated tools for zenith geometries, lookup-table reduction, table conversion, and table reading.

netCDF & Binary I/O

  • Added netCDF support for atmospheric profiles, observations, lookup tables, retrieval profile lists, and matrices.
  • Added binary and netCDF matrix I/O together with a matrix-format conversion tool and tests.
  • Added generic profile-index support to shared I/O wrappers.
  • Generalized dataset-aware matrix I/O.
  • Added MPI-safe shared netCDF retrieval I/O.
  • Added shared netCDF profile-list handling for retrieval applications.
  • Added macros and common infrastructure for netCDF support.
  • Improved atmospheric, observational, table, matrix, and retrieval netCDF test coverage.
  • Improved the performance of netCDF lookup-table reading.
  • Allowed netCDF readers to skip empty lookup tables safely.
  • Added distinct rad_* and bt_* netCDF variables for radiance and brightness-temperature observation spectra.

Lookup Tables & Interpolation

  • Added netCDF reading and writing for lookup tables.
  • Added filter functions to binary and netCDF lookup-table files.
  • Stored filter functions together with emissivity lookup tables.
  • Made emissivity lookup tables dynamically allocatable and added explicit cleanup routines.
  • Refactored table writers into per-(id, ig) functions.
  • Empty emissivity tables are now skipped with a warning instead of being written.
  • Reused common table packing and unpacking functions for binary lookup tables.
  • Added tests for lookup-table compression and extended table I/O tests.
  • Switched emissivity-curve interpolation to logarithmic space using precomputed log(u) and log(eps).
  • Added log-pressure interpolation and reused precomputed logarithmic pressure values.
  • Revised interpolation routines and changed invalid logarithmic interpolation fallbacks to linear interpolation.
  • Clamped interpolated segment emissivity to valid bounds.

Retrievals & Parallelization

  • Added MPI parallelization to the retrieval code.
  • Enabled MPI-safe shared access to netCDF retrieval data.
  • Added shared profile-list input and output for retrievals.
  • Refactored common retrieval input-target handling.
  • Added an optional hybrid MPI retrieval regression test.
  • Improved timing reports for retrieval and kernel calculations.

Observation Geometries & RFM Interface

  • Added support for zenith observation geometry.
  • Added a dedicated zenith geometry tool and example.
  • Extended zenith calculations to angles greater than 90 degrees.
  • Fixed zenith geometry handling and updated the associated regression tests.
  • Added zenith support to the RFM interface.
  • Fixed reading of netCDF filter functions through the RFM interface.
  • Updated limb, nadir, and zenith examples and their reference outputs.

Atmospheric Profiles & Vertical Grid

  • Added an option to refine the near-surface atmospheric layer.
  • Modified the vertical grid near the surface.
  • Removed an obsolete surface-level validation check.
  • Revised atmospheric memory allocation.
  • Added and expanded tests for atmospheric profile reading and writing.

Spectroscopy & Physical Parameters

  • Updated the refractivity equation to use dry-air Edlén refraction.
  • Updated regression data for the revised refractivity calculation.
  • Revised the global CO₂ fit using NOAA annual-mean data for 1980–2025.
  • Improved interpolation and emissivity handling for radiative-transfer lookup tables.

Code Quality & Refactoring

  • Revised memory allocation and lookup-table cleanup.
  • Removed unused variables and obsolete code.
  • Updated log messages, comments, Doxygen annotations, and API descriptions.
  • Refactored shared I/O, retrieval, and lookup-table helper functions.
  • Fixed documentation comments, references, manual inconsistencies, and compilation-related issues.

Tests & Examples

  • Added dedicated formod_test, obs_test, and atm_test programs.
  • Added tests for atmospheric and observational netCDF files.
  • Extended lookup-table, matrix, retrieval, CLI, MPI, and geometry regression tests.
  • Updated test scripts and reference datasets for interpolation, refractivity, zenith geometry, netCDF I/O, and examples.
  • Added a zenith example and refreshed the limb and nadir examples.
  • Updated example documentation and workflows.

Atmosphere - Radiative Transfer - C
Published by lars2015 about 1 month ago

cellpy - v2.0.0a4

What's Changed

Full Changelog: https://github.com/jepegit/cellpy/compare/v2.0.0a3...v2.0.0a4

Energy Storage - Battery - Python
Published by jepegit about 1 month ago

MPTRAC - v3.2

Changes in this release

Documentation & Metadata

  • Updated README, quick-start instructions, MkDocs and Doxygen manuals, application documentation, model-physics documentation, references, CITATION.cff, and DEPENDENCIES.md.
  • Clarified example workflows, mesoscale diffusion, compression APIs, meteorological model-level limitations, UTM-grid usage, and dd_test comparison semantics.
  • Added CLI help messages for tools, a Matrix chat room link, AGENTS.md, and updated MPTRAC architecture and module diagrams.
  • Fixed Doxygen warnings, parameter descriptions, documentation deployment, and various script and interface descriptions.

Build System, Dependencies & CI/CD

  • Updated Makefiles, compiler flags, library build scripts, dependency definitions, and GitHub Actions workflows.
  • Improved MPI compiler-wrapper handling and propagated compile-time dimension overrides to the Fortran interface.
  • Added and strengthened CI tests for the Fortran wrapper, LZ4, compression configurations, GPU builds, and domain decomposition.
  • Upgraded ZSTD from version 1.5.5 to 1.5.7 and enabled pthread support.
  • Fixed compilation issues involving the Fortran wrapper, CMS, PCK+ZSTD, MPI, NVHPC, GPU code, and optional dependencies.
  • Improved build defaults, wrapper rebuild behavior, coverage builds, and GPU memory pinning.

Code Quality & Refactoring

  • Added const qualifiers, cleaned up interfaces, comments, pragmas, logging, timers, and obsolete conditional compilation.
  • Refactored shared compression helpers, meteorological writers, CLI initialization, and utility-program setup.
  • Unified compression diagnostics and simplified codec-specific logging.
  • Removed obsolete warnings, debug statements, NVTX markers, redundant flags, and unsupported code paths.
  • Improved error messages and corrected stale comments, declarations, and type definitions.

Domain Decomposition

  • Reworked domain decomposition to use index-based particle ownership and MPI all-to-all communication.
  • Added dd_push() implementations for CPUs and GPUs as an alternative to repeated particle sorting.
  • Replaced the fixed particle buffer with a dynamically resized buffer.
  • Revised particle communication interfaces, MPI datatype registration, DD grid initialization, and GPU memory allocation.
  • Improved DD netCDF reading, halo setup, longitude handling, particle ordering, and support for MET_CONVENTION=1.
  • Added GPU support, edge-case handling, guarding pragmas, local test execution, and improved DD comparison tests.
  • Fixed issues involving particle quantities, vertical velocity checks, sorting types, missing domain-decomposition calls, and CPU/GPU consistency.

Physics, Numerics & Algorithms

  • Revised horizontal, mesoscale, PBL, and vertical turbulent diffusion schemes.
  • Added drift and density corrections to vertical diffusion and improved reflection at the surface and model top.
  • Refined the Hanna-style PBL turbulence closure, boundary handling, initialization, and optional control parameters.
  • Adopted the ECMWF heat-flux sign convention and extended GRIB surface-data reading for PBL closure fields.
  • Added PBL-relative particle initialization and density-weighted initialization through the new INIT_RHO parameter.
  • Added validation of DT_MOD against DT_MET and updated the met_check_dt utility.
  • Updated pressure-level definitions, wind defaults, wind-field generation, and well-mixed tracer sampling.
  • Disabled the unsupported ADVECT = 0 option and fixed geopotential, KPP, and related physics code.

UTM Coordinates & Output Timing

  • Added support for meteorological data and simulations on UTM grids.
  • Introduced the MET_COORD_TYPE configuration option and UTM reference coordinates for climatology-based physics.
  • Updated atmospheric initialization and particle splitting for UTM coordinates.
  • Added UTM documentation, validation, logging, safeguards, and dedicated test cases.
  • Added support for sub-minute trajectory output.
  • Trajectory and gridded output filenames now always include a seconds component.

I/O, Data Handling & Formats

  • Added a netCDF trajectory export option to the web runner.
  • Refactored the wind tool to use the shared meteorological writer and auxiliary fields.
  • Added a time dimension and additional surface and boundary-layer fields to generated wind data.
  • Improved meteorological availability checks, data validation, model-level handling, and netCDF layout support.
  • Updated ERA5.1 retrieval scripts for the 2000–2006 period.
  • Added a flag to convert surface geopotential to surface height.
  • Updated reference data and example outputs to reflect revised file naming, physics, diffusion, compression, and particle ordering.

Compression

  • Added LZ4 support for compressed meteorological data and tuned its default acceleration.
  • Added optional PCK+ZSTD recompression and configurable multithreaded ZSTD compression via MET_ZSTD_NWORKERS.
  • Added level-dependent scaling for ZFP and SZ3 compression.
  • Introduced codec-specific control arrays for CMS, ZFP, and SZ3 precision settings.
  • Retuned the default ZFP, SZ3, ZSTD, and strong-compression settings, particularly for ERA5 data.
  • Improved handling of near-zero relative tracer deviations and compression-rate diagnostics.
  • Revised compression interfaces, helper functions, tests, reference outputs, logging, and round-trip validation.
  • Fixed CMS, ZSTD, ZFP, SZ3, and PCK-related compilation and documentation issues.

GPU & Performance

  • Improved GPU support for domain decomposition, particle communication, dynamic buffers, diffusion tests, and sorting.
  • Added a fallback for Thrust-based sorting on GPUs.
  • Revised GPU memory allocation and fixed memory-pinning and timer issues.
  • Added CPU and GPU execution paths for particle pushing and DD edge cases.
  • Updated GPU test datasets and associated reference results.
  • Cleaned up GPU pragmas, compiler flags, and conditional compilation.

Fortran Interface

  • Fixed the Fortran wrapper ABI, declarations, string lengths, configuration fields, and generated documentation.
  • Added support for MET_COORD_TYPE, UTM reference coordinates, and compression control arrays.
  • Updated interfaces for revised MPTRAC APIs and compile-time dimensions.
  • Added a dedicated Fortran-wrapper CI test and ensured the interface is rebuilt during testing.

Tests & Examples

  • Refreshed Python example plots, documentation, simulation outputs, and reference datasets.
  • Aligned Python examples with current MPTRAC output and clarified the example README workflow.
  • Added tests for UTM grids, sub-minute trajectory output, DD push behavior, local DD execution, GPU edge cases, and updated diffusion schemes.
  • Updated compression, CMS, GPU, trajectory, wind, and domain-decomposition reference data.
  • Improved dd_test local mode, tabular comparison behavior, particle ordering, and documentation.

Web Runner & User Interface

  • Modernized the web runner interface, layout, form labels, presets, and visual hierarchy.
  • Added local test mode, selectable output quantities, netCDF trajectory export, and improved dataset validation.
  • Added meteorological data-availability checks and clearer guidance through the submission and execution workflow.
  • Improved input validation, runtime messaging, progress handling, and stale-modal cleanup.
  • Refined presets, default values, copy, form organization, and dataset-specific warnings.

Tracer Chemistry & Specialized Modules

  • Added a new module for radionuclide tracers.
  • Updated tracer quantity naming and related loss-rate handling.
  • Fixed KPP chemistry code and updated associated build and documentation components.

Atmosphere - Atmospheric Dispersion and Transport - C
Published by lars2015 about 1 month ago

cellpy - v2.0.0a3

What's Changed

Full Changelog: https://github.com/jepegit/cellpy/compare/v2.0.0a2...v2.0.0a3

Energy Storage - Battery - Python
Published by jepegit about 1 month ago

ClimaAtmos.jl - v0.42.1

ClimaAtmos v0.42.1

Diff since v0.42.0

📢 API Changes:

🚀 Features

📑 Documentation

🐛 Fixes

Atmosphere - Atmospheric Composition and Dynamics - Julia
Published by github-actions[bot] about 1 month ago

ClimaLand.jl - v1.10.3

ClimaLand v1.10.3

Diff since v1.10.2

📢 API Changes:

🚀 Features

📑 Documentation

🐛 Fixes

  • Typo in default parameters (#1790)

Natural Resources - Soil and Land - Julia
Published by github-actions[bot] about 1 month ago

cellpy - v2.0.0a2

What's Changed

Full Changelog: https://github.com/jepegit/cellpy/compare/v2.0.0a1...v2.0.0a2

Energy Storage - Battery - Python
Published by jepegit about 1 month ago

Arena - v2.5.7

What's Changed

Full Changelog: https://github.com/openforis/arena/compare/v2.5.6...v2.5.7

Biosphere - Biodiversity Citizen Science - JavaScript
Published by SteRiccio about 1 month ago

Battery-Emulator - v11.1.0

What's Changed 📦

This release adds initial support for CCS charging. It also significantly improves connectivity, and Volkswagen MEB platform support with DTC reading.

Stark CMR, a chargebyte CCF and a 4kW Fronius Primo working together

Volkswagen MEB, diagnosing DTCs without ODIS directly in Webserver

Apart from all this, there are several other bugfixes and enhancements. Please check out the full list of changes below

Taking this release into use ⚙️

[!IMPORTANT]
In order to OTA update to this version, you already need to be on a v10 release!

Note that v10 was a major new release of the Battery-Emulator software. The first time when taking a version > v10.0.0 version into use, you are required to perform an initial one time USB setup via this webpage! This is because we changed the flash frequencies, partitioning layouts and other under the hood changes to ensure longterm system stability. After any v10 has been installed via USB, following 10.X.X releases can be updated over the air.

Quickstart video: https://youtu.be/sR3t7j0R9Z0

Batteries 🔋

Connectivity 🛜

Inverters :zap

Hardware 🤖

Housekeeping 🧹

New Contributors

Full Changelog: https://github.com/dalathegreat/Battery-Emulator/compare/v11.0.0...v11.1.0

Energy Storage - Battery - C++
Published by dalathegreat about 1 month ago

cellpy - v2.0.0a1

What's Changed

Full Changelog: https://github.com/jepegit/cellpy/compare/v1.1.0.post1...v2.0.0a1

Energy Storage - Battery - Python
Published by jepegit about 1 month ago

pyunicorn - pyunicorn v1.0.0

Improved EventSeries class, better packaging, faster CI and a new documentation site. See CHANGELOG for details.

Thanks to @ntfrgl for putting in major work, and @GurupremBishnoi for making their first contribution in https://github.com/pik-copan/pyunicorn/pull/257.

🎉

Climate Change - Earth and Climate Modeling - Python
Published by fkuehlein about 1 month ago

Climate Data Rescue - v2.3.8

What's Changed

Climate Change - Climate Data Processing and Analysis - JavaScript
Published by balen about 1 month ago

open-MaStR - v0.17.4

What's Changed

Full Changelog: https://github.com/OpenEnergyPlatform/open-MaStR/compare/v0.17.3...v0.17.4

Energy Systems - Energy Data Accessibility and Integration - Python
Published by FlorianK13 about 1 month ago

Scaphandre - Scaphandre v1.0.3

Fixes for kubernetes, prometheus scraping, and json exporter.

The tests and package workflows on Windows and RHEL have been discontinued, as we didn't find any client or sponsor for this since we intiated it. It could be back either if proposed by the community or if we find a way to sustain hubblo's efforts on those topics.

Changes

New Contributors

Full Changelog: https://github.com/hubblo-org/scaphandre/compare/v1.0.2...v1.0.3

Consumption - Computation and Communication - Rust
Published by bpetit about 1 month ago

EVCC - 0.312.0

Changelog

Breaking Changes 🚨

  • d4430248a9f34af3607211087598ecad8e053407 Epexprijzen-nl: remove atoom alliantie (BC) (#31700)
  • 7c7a74b390e1a48dae4df4d3449ecfd06d18e6ca SunSpec: make curtail (model 123/704) optional (BC) (#31607)

New Features 💫

  • b2068fb764c518c37dfb3a4906f15999fa21d06c Add Ambibox ambiCHARGE Home (#31464)
  • 3158ff16efb266581ab282ac7466a54b623723a6 Add Anker SOLIX Solarbank Max AC (#31696)
  • db77790145655722ff6f2ca20bc773c5aa5a10ba Add Mennekes PnC variants (#31806)
  • 5216c88cb8128a09ee73472815fb4d8016b12b94 Add Solplanet AI-Dongle LAN (local HTTP API) (#31732)
  • 92c89adf6b547908b2eb5fa77b9dc4ce59061ff0 Add Voltcast tariff (#31848)
  • 62ed1c4710a82bab8fb90e0d743c5585f33b51d7 Add pvnode Solar Forecast API V2 (#31178)
  • 20a1c0886e40baafecb4728acdbbeecec9b0aea9 Atmoce: add curtail and dimming, add holdcharge and rework normal/hold/charge (#31632)
  • 58bda986421266a8b3395ff9c36630ea771641b7 Config (Remote): add title to app deep-link QR code (#31746)
  • 36c422f7a8c791301e2f9ccba2867bdd15283637 EEBus: add MGCP, MPC, LPC and LPP conformance tests (#31384)
  • 0d76c1277e7232d9b67d762036df14af9e51cc18 Indevolt: add battery control (#31741)
  • 3bb943cbe53524427e37e9cea1221a099b3becd4 Loadpoint: add min temperature for heating devices (#31749)
  • 49b93c6f4d424617dedada5a01556d540642fb69 Marstek Venus: add holdcharge battery mode (#31831)
  • 3a3d7ad36bf2a0c0f68eb19c86d294c74e941869 Phoenix EV-ETH: add millicurrentsupported option (#31860)
  • d68e5e58093613d3d2813572e96ee657bbf0ad8b Tariffs: add outdoor temperature type and OpenMeteo (#27780)
  • 023a48dd2483b9dd161689f7a47c8f21e4e87664 Templates: add capabilities on product level (#31588)
  • d495d3e44232424be27290a912fa2731dfde9b49 Tinkerforge WARP: add WARP4 support with vehicle SoC via ISO 15118 (#31446)
  • cc5ba51c3158128a15d7e2ed99daca12d60d8a70 Vehicle: add charge mode in arrival tab (#31330)
  • cc0b5acafbf139e3e5b428c998d755fb1efeb0ac askoheat: add aux meter template (#31683)
  • 3ce6600143c1dd028bff4c66a3af18247d0b7a7f feat: add xlsx export wherever csv export exists (#31690)

Other Changes ☀️

  • 6d2ed7d2aceffc45577b903245dc8d4c4724e488 Battery UI: history chart polish, axis consistency (#31661)
  • b1f35fbaa7c3979ce217230163f248e10d09bc76 Battery UI: show fully visible day as history window title (#31663)
  • 5120c8d94310a056b9b22ed92849db03ee335d39 Battery: optimizer suggestion state icons (#31748)
  • 69f817d78cf8042527725bbc817ee0987b213c34 Bender: extract Spelsberg Smart Pro (#30493)
  • 83a2b7de2363ec2fff1e07106857979518957a90 Circuit: apply HEMS consumption limit even without configured maxPower (#31751)
  • b900237a8b047ccb1fc427fe9de7f015b6e51359 Config UI: streamline loadpoint creation and unify wording (#31658)
  • 857a93f83ea1c610bf72fe390f712f311d58d244 Config: persist settings immediately on device delete (#31755)
  • 43627f66492d691be9aa00f2a874e3235416d1c6 Config: persist settings immediately on site update (#31754)
  • eed3aece143221c714bcd31c6bb0500939cdfca4 Config: show vehicle asleep state instead of value errors (#31859)
  • fc565af2b4310c7bfcb9ad0ff883f11d7fde8112 Daheimladen: check stationid
  • 7e3da98630b336b8cea8652f733ad9f66e0721cd Daheimladen: restore safe current limit after charger reset (#31729)
  • 469d659fe99f2cdf51983bcbe7d5cc5c814ddccf Drivesomethinggreater: update description (#31723)
  • df5dc0e74f1db4cb9ed5fa9cb66b73d17935941b EEBus: ignore IEC61851 default current limits, honor loadpoint minCurrent (#31737)
  • 333bdcb93181318f2cbe126bd50432ff4a36fad0 EEBus: skip flaky TestShipPairing in CI
  • 20c8c3b0d799ed0d068d4cebbd7b698a5dd4d2b7 EM24: drop kWh(-) export register, not available on all devices (#31736)
  • 276629732920a4cf17129c36475a6070a83a534e Energyflow: remove battery SoC forecast (#31611)
  • 668c163663ce210c89ae62771d3c6419d6ecdaff Epexprijzen-nl: added 'essent' and 'samenom' (#31699)
  • a95a5595aeead647b89e6d42b93f781f5d736007 Forecast: make solar adjustment a server-side setting (#31862)
  • ecb9cb05e243e740e546b9a29c16feb58b378350 IDM: remove thermal energy register (#31701)
  • 9ad5120c988d5c5745d6cde05862aef7ada612af Loadpoint: release priority PV reservation when car reached charge goal (#31759)
  • ba279718d2ffc1be60587139f383b703fe3931d9 Meter (Home Assistant): support return energy entity (#31857)
  • e7a49bc9388d3927cc565b53d98f98db8f64910b Metrics: fixed grid entity title, merge series of swapped grid meters (#31739)
  • c52b4a79ea11d6614885e14912819f7f93ee16fa OCPP: clear failed charge point registration on init error (#31652)
  • ab3220c47543d387a3c01d63e206da1be4c8693f Optimizer: derive per-device action suggestions from result (#30834)
  • 60af1de1e8176065661b2ffb05ae1f309976756d Planner: log the rate window and fallback triggers used for planning (#31621)
  • ac08a53e0e4cf81026744d07874e8ea60e90b657 Remote Access: user agent and status display fixes (#31667)
  • 9ab2be9b10dd93692dda7ad72986a86b42d863a7 Revert "Energy Flow UI: Chrome (Skia Graphite) rendering bug workaround" (#31623)
  • 4f71e9675cf096ca0ce45f6b7a8ce0849aa3e6ec Site: base solar forecast scale on produced energy (#31612)
  • 142c93a47b128c537b37cda5289e71c636a78ec8 Solarmax MAX.STORAGE: remove grid charging (#31589)
  • 8b243c2a2519c144ec81ee667b65366424bc13e7 Sponsor: remove Creem license key activation (#31824)
  • 09b0d9cb25b146934cd7e3ce5120d17f2422c2d0 Sponsor: trim pasted token in UI (#31841)
  • 7e564b058c7c6ac2c10318daf3216cf6e257ace2 SunSpec: curtailed false when limit is 100% (#31610)
  • 661af417a1005ca7120ead37e571651e1f5b7ab2 Tariffs: persist tariff values in 15min intervals (#31845)
  • 56bd94e7713774293089662e27348040e11f3b13 Tinkerforge WARP: correct capabilities per generation and variant (#31590)
  • 50e81a0726f1e2fd63f2f617f98b5006a9bb853d UI: darker dark mode, card layout, battery card polish (2) (#31593)
  • 9325ed4f9e95e7258abe5abe1202546a01379032 UI: update docs links to new notifications and external limit pages (#31628)
  • 75cb289a618fb9987e97c7a4e5906604131942c8 Zaptec: detect cable swap between vehicles via session identifier
  • 88b7621d90a9033b557f37816fafaaddb38fb07d Zaptec: propagate Enable errors other than 528 (#31803)
  • 00d6d9bc1dcc9e9b9ed3c7f44e550db60521609e fixes #31671 esphome dlms/slimmelezer-luxembourg: address sensors by name on firmware 2026.1+ (#31676)
  • 5b77c109c1779dda571a50c253d3bbf9eadc8bb8 octopus-it: drop unused ItAgreement.ID (GraphQL ID scalar is a string)
  • 8a42b0d74a294a6adb6a5479fb259804d2d6d99c open-meteo: use icon_seamless model (#31570)
  • fd88c8069b215edc228f3197f88d5931a003a1ee optimizer: flag suggestions actionable only when they change the current mode (#31693)
  • 04d4f4b0913b242c716c4858bebb4b891af68cd5 optimizer: only suggest actions for controllable batteries (#31715)
  • df437d536f52bb144c9f62d9a70f5dc452499490 plugin: cache http responses from devices that omit the Date header (#31675)
  • 623427e72841a80b892d47690a1c425029b4d898 plugin: watchdog must assume a reset write may have just happened after restart using defer (#31635)
  • c3f2b054ef3e9d6e3cdd34a5da03ee7240a505ba pv: reserve surplus for higher-priority loadpoints starting up (#31194) (#31684)
  • ad4324bb66db411fa697918d1f0008b28f79a9c9 sqlite: serialize access on a single connection (#30902)
  • 44bc075cd20c95e07ec550994476d97de95448c3 tariff: deprecate solarprognose tariff (service shut down) (#31770)

Bug Fixes 🐞

  • 68db0b7727901d8b89530b1c3c7f9a62b5d92762 Anker-solix-x1: fix energy scale (0.01 kWh/LSB) and revert PV changes (#31787)
  • 78e2ec9514b4921afb93b1e68444abfa4da8073a Config: fix loadpoint modal reusing previous charger on repeated add (#31614)
  • 226622893fa19801953db393170c1899f07f3892 EEBus: fix test cleanup regression breaking TestShipPairing (#31617)
  • 526d17ff4a74a02376a7c4c792bbd03ffa316ca6 Fix DoJSON error on empty-body 2xx response (#31801)
  • 0e62646cd8978dc316c3e3e9ecaa8f36d70b4341 Fix instantiating meters referenced only by circuits (#31788)
  • 4dc9775ea383a6cb61d6174b0003b95b3e4ae038 Fix vehicle mode reset on RFID re-identification of already-active vehicle (#31654)
  • 1074db922d5748c0b6b7510e047979938371ca2b Huawei SUN2000: fix curtailed false-positive at 100% feed-in limit (#31695)
  • 884956f3cf9e021f09258e3a0425a3ed7541c030 IBC HomeOne: fix battery SoC scale and grid meter word order (#31591)
  • 999bed78c5de5da79917d2b98fc1b357a82481a4 Loadpoint: fix coarse power-limited chargers never enable on fractional current (#31685)
  • bf4e6e8974116eb80a755e143ed8e70ce74c09a5 Loadpoint: fix minSoc config error on restart (#31819)
  • 8fe199dc268ebdec33f23377650a03bc0199e9f6 fix: prevent infeasible optimizer result from battery soc outside configured limits (#31821)
  • 5246b84f942a7916e7635442e51adf5a42afdbde meter/anker-solix-x1: fix wrong Total PV Generation register address (#31771)
  • 017d77d0be8511a5baab38d14902991a87b44e36 octopus-it: fix account query for Italy's Kraken schema (#31656)
  • 3a2711cc4f817ace3414e4455daea0f34e199388 optimizer: fix pause suggestion for idle-but-enabled loadpoints (#31792)
  • 48606017b41ecd0fb3e3126ecbe8afe614d6ebbf server: fix TestSessionHandlerTimezoneFilter on UTC CI runners (#31688)

Consumption - Mobility and Transportation - Go
Published by andig about 1 month ago

open-MaStR - v0.17.3

What's Changed

Full Changelog: https://github.com/OpenEnergyPlatform/open-MaStR/compare/v0.17.2...v0.17.3

Energy Systems - Energy Data Accessibility and Integration - Python
Published by FlorianK13 about 1 month ago

OpenSTEF - v4.2.0

What's Changed

New Contributors

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_auth to get correct credentials from pg_service.conf.
  • Fix config_form_fields dv_querytext to use vf_hydrometer and hydro_customer_code instead of v_rtc_hydrometer and hydrometer_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

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

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

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

  • scores has introduced support for pandas version 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_value and scores.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_rates and scores.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 using scores.probability.roc_curve_data. See PR #1036.
  • Added a kwarg to scores.continuous.kge to 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_components will be removed from threshold-weighted continuous ranked probability score (twCRPS) functions in a future version of scores. The scores development team believe using include_components=True may lead to misleading results when used with twCRPS functions. As such, the following are now deprecated:
    • support for include_components in scores.probability.tw_crps_for_ensemble,
    • support for include_components in scores.probability.tail_tw_crps_for_ensemble and
    • support for include_components in scores.probability.interval_tw_crps_for_ensemble.
      See PR #991.

Bug Fixes

  • Improved NaN handling in scores.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_auc function (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 scores repository 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, changed scores.probability.functions.fill_cdf to :py:func:`scores.processing.cdf.fill_cdf` and changed scores.probability.functions.cdf_envelope to :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.ipynb and src/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.md from 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 the docs/tutorials/ subdirectory. This change was made to support how recent Sphinx versions handle symbolic links to files located outside of the docs subdirectory. 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 of Sphinx used by scores, so that the most recent versions of Sphinx can be used. See PR #1042.
  • Introduced the use of the Python doctest module for automated testing of examples in API documentation (docstrings). Revised existing docstrings as appropriate to meet doctest tool requirements. Added the doctest tool 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

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 401 but 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: latest silently 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. The latest default 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 return 503 with a Retry-After and the player waits them out on its own, while genuinely missing clips still return 404 (#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.temperature metric 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:

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

DevOps

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

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 parameterized resolution and projection arguments. (#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 DataCube apply- and band-math operations (#903)
  • Introduction of simple (experimental) event system at Connection.events to allow hooking into various events of the API and internals (#922)
  • Initial implementation of pytest plugin auto_list_job_ids to automatically list created jobs and sync processing requests (#922)

Changed

  • ResultAsset.__init__(): renamed name argument to key for 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