v2026.1.0-rc2
Pre-release
Pre-release
·
69 commits
to main
since this release
This second pre-release for v2026.1.0 adds a QGIS plotting pane with water balance and fractional flow plots, a new Observation node, and allocation control for the TabulatedRatingCurve.
We fully switched from Arrow to NetCDF-based I/O, and have a new set of icons for our nodes.
Breaking changes: Arrow support was removed and NetCDF is now the only format for results.
model.to_fews was removed. The Ribasim QGIS plugin now requires QGIS 3.40 or newer.
Added
- Add Observation node. #2950
- Add implicit listen edges to Link table on write. #2949 #2969
- Add a Boolean for allocation-controlled behavior. #2912
- Add allocation-controlled TabulatedRatingCurve. #2907
- Add guide for installing other Ribasim versions. #2906
- Add VS Code guide. #2857
- Add allocation technical reference documentation. #2809
- Add section on debugging unexpected flow rates. #2814
- QGIS: Add experimental QGIS 4 support. #2960
- QGIS: Add configurable
RIBASIM_HOME. #2919 - QGIS: Support running Ribasim models. #2881
- QGIS: Load external NetCDF input. #2880
- QGIS: Add Plotly widget and NetCDF results support. #2903
- QGIS: Add water balance plot. #2939
- QGIS: Add fraction plotting. #2968
Changed
- Default to NetCDF for results storage. #2855
- Complete writing remaining results to NetCDF. #2856
- Remove Arrow support. #2937
- Remove
model.to_fews; add CF attributes to NetCDF input. #2938 - Introduce Node table at Model level again. #2886
- Use
RIBASIM_HOMEconsistently in tooling and scripts. #2891 - Set default interpolation behavior to block/constant. #2909 #2896
- Set default basin route priority to
0. #2942 - Rename allocation output terminology from realized to supplied. #2962
- Switch between control state and
ribasim.allocation. #2808 - Require QGIS 3.40 (LTR) or newer. #2862
- Use new icons for
model.plot()and docs. #2917 #2916 - Keep external file paths in Python model handling. #2943
- Add lazy reading and writing in Python. #2878
- Remove migration warnings on model load. #2826
Fixed
- Handle allocation case with zero links. #2959
- Fix default subnetwork ID to
1in Julia core. #2835 - Skip Junction in route-priority allocation problem building. #2801
All changes
What's Changed
- Pin PythonCall and juliacall to v0.9.31 by @visr in #2795
- Piracy: force
has_concretizationby @visr in #2796 - Update pre-commit hooks by @evetion in #2798
- Update pixi lockfile by @evetion in #2799
- skip junction in route priority allocation problem building by @verheem in #2801
- Fix typos and grammar errors in documentation by @Copilot in #2807
- Add technical reference docs by @verheem in #2809
- Replace cascading polder example by @verheem in #2811
- Add section on debugging unexpected flow rates by @visr in #2814
- Use Julia 1.12 and Pkg workspaces by @visr in #2815
- Update Julia manifest by @evetion in #2816
- Update pre-commit hooks by @evetion in #2818
- Update OrdinaryDiffEq by @visr in #2817
- Update pixi lockfile by @evetion in #2819
- Use Runic as Julia formatter by @visr in #2821
- Fix invalid binding errors reported by JETLS. by @visr in #2822
- Update AppxManifest.xml by @evetion in #2820
- Enable more ruff rules, and fix violations by @visr in #2823
- Use older runic pre-commit hook by @visr in #2825
- Stop threading by @visr in #2824
- Remove all migration warnings on model load by @visr in #2826
- Address Python test warnings by @visr in #2827
- Fix CLI threading logic by @visr in #2828
- Update PkgToSoftwareBOM requirement to 0.1.17 in /core by @dependabot[bot] in #2829
- Add compat for root-only deps, run dependabot on root by @visr in #2834
- fix default subnetwork id to 1 at Julia side by @verheem in #2835
- Switch between control state and ribasim.allocation by @verheem in #2808
- Update pixi lockfile by @evetion in #2847
- Switch from PackageCompiler to JuliaC without trimming by @visr in #2761
- Improve version mismatch docs and logging by @visr in #2849
- No convergence on ubuntu by @verheem in #2812
- Uncomment "netcdf dimensions" tests by @visr in #2854
- Add VSCode guide by @visr in #2857
- Various doc improvements by @visr in #2858
- Fix QGIS UI test script by @visr in #2861
- Update Julia manifest by @evetion in #2865
- Run all tests models with allocation by @verheem in #2810
- Require QGIS 3.40 (LTR), take 2 by @visr in #2862
- QGIS: Remove vendored tomllib by @visr in #2866
- Complete writing remaining results to net cdf by @verheem in #2856
- Bump prefix-dev/setup-pixi from 0.9.3 to 0.9.4 by @dependabot[bot] in #2872
- Update pixi lockfile by @evetion in #2871
- Update pre-commit hooks by @evetion in #2870
- Update rust edition and dependencies by @visr in #2873
- MSIX: Add
AppListEntry="none"by @visr in #2874 - Test reading NetCDF files from Delft-FEWS by @visr in #2859
- default to netCDF format for results storage by @verheem in #2855
- Update Julia manifest by @evetion in #2877
- Enhance documentation and support for NetCDF format in Ribasim API by @verheem in #2876
- Switch from pre-commit to prek by @visr in #2882
- Implement "Run Ribasim model" context menu by @visr in #2881
- Introduce Node table at Model again. by @evetion in #2886
- Use RIBASIM_HOME everywhere by @visr in #2891
- Update from Julia 1.12.4 to 1.12.5 by @visr in #2895
- Update pixi lockfile by @evetion in #2897
- Update Julia manifest by @evetion in #2898
- Exit QGIS better in Docker test by @visr in #2893
- [Python] Lazy reading and writing. by @evetion in #2878
- Add icon generator script + input file in util by @Fati-Mon in #2890
- change results documentation to netcdf format by @verheem in #2894
- Load NetCDF input in QGIS by @verheem in #2880
- Update UsedIds for node/link removal. by @evetion in #2902
- default interpolation types from linear to constant by @verheem in #2896
- Test logging extra info by @visr in #2904
- Default-to-block-interpolation by @verheem in #2909
- QGIS: Support NetCDF results, add Plotly widget by @visr in #2903
- Embed new node icon SVGs into NodeStyle.qml by @visr in #2916
- Use the new icons for
model.plot()and docs by @visr in #2917 - Allocation controlled TabulatedRatingCurve by @verheem in #2907
- Add guide for installing other versions of Ribasim by @verheem in #2906
- QGIS: add configurable Ribasim home by @visr in #2919
- Update pixi lockfile by @evetion in #2921
- QGIS timeseries: subplot per unit by @visr in #2926
- Remove global workload preference by @visr in #2928
- Switch to default check-bounds by @visr in #2927
- Docs: overwrite
run_ribasimby @visr in #2929 - A Boolean for allocation controlled by @verheem in #2912
- Fix dimensional ordering of concentration results. by @evetion in #2931
- Remove
model.to_fews, add CF attrs to netcdf input by @visr in #2938 - [Python] Make sure filepaths are kept for external files. by @evetion in #2943
- default basin route prio to 0 by @verheem in #2942
- Document and automate Runic installation by @visr in #2945
- remove arrow support by @verheem in #2937
- Add implicit listen edges to Link table on write by @visr in #2949
- Add Observation node by @visr in #2950
- Add CLI logo by @evetion in #2932
- Update pixi lockfile by @evetion in #2955
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #2956
- QGIS: bundle plotly.js by @visr in #2954
- Add experimental QGIS 4 support by @visr in #2960
- catch case with zero links by @verheem in #2959
- stabilize transient pump outlet test by @verheem in #2961
- realized to supplied in allocation by @verheem in #2962
- Align concentration output tables by @verheem in #2963
- fix bound error in OrdinaryDiffEQ and update dependencies by @verheem in #2947
- Remove Arrow and CodecZstd Julia dependencies by @Copilot in #2965
- Update Python testing configuration for pytest integration by @verheem in #2966
- Update pixi lockfile by @evetion in #2967
- Update Julia manifest by @evetion in #2920
- QGIS: plot fractions by @visr in #2968
- Prepare for release v2026.1.0-rc2 by @visr in #2970
- Implicit-listen-edge-follow-up by @verheem in #2969
Full Changelog: v2026.1.0-rc1...v2026.1.0-rc2