v2026.1.0
·
111 commits
to main
since this release
This stable release fixes several issues found during testing of rc2.
We do extra validation on node IDs in Python, and added support for mass loads.
There are no breaking changes since rc2.
See the rc1 and rc2 changelog entries below for all changes since v2025.6.0.
Added
- Add
Basin / MassLoadtable. #2990 - Add more
node_idvalidation. #2983 - QGIS: Support Junctions in fractional flow plot. #3004
Changed
- Support Pandas 3. #3002
- Delwaq: don't plot from
concentration_external. #3007 - Replace, don't add to UserDemand tracer in UserDemand return flow. #3009
- Provide
node_idin Basin profile interpolation errors. #2988
Fixed
- Delwaq: Don't count removed Junctions in network generation. #3001
- Don't load external NetCDF input in QGIS. #2999
- Fix Jacobian state and time dependent cache bug. #2972
- Allocation: Use flow at
tinstead of cumulative flow divided by time. #3000 - Remove dangling listen links. #2978
- QGIS: Fix water balance plot storage. #2975
- QGIS: Fix column order display. #3005
- Add millisecond precision to fake
last_change. #2974 - Exclude UserDemand from default tracer set. #3007
All changes
What's Changed
- Add a Windows installation script by @visr in #2682
- Document installing QGIS plugin from qgis.org by @visr in #2687
- Rename project to workspace in pixi.toml by @visr in #2683
- ci: Teamcity cleanup, updates and disable minio upload. by @evetion in #2689
- Update pre-commit hooks by @evetion in #2694
- Update pixi lockfile by @evetion in #2695
- Update Julia manifest by @evetion in #2693
- Replace CompatHelper.jl with dependabot by @visr in #2692
- Bump prefix-dev/setup-pixi from 0.9.2 to 0.9.3 by @dependabot[bot] in #2696
- Bring back #2624 better by @SouthEndMusic in #2685
- Add ResidenceTime tracer by @evetion in #2701
- Document control by allocation by @verheem in #2698
- Fix the last Heisenbug by @verheem in #2691
- Remove duplicate documentation by @verheem in #2708
- Expand saveat documentation for months and years by @visr in #2709
- Add diagram for the physical <-> allocation interaction by @SouthEndMusic in #2712
- Prepare for datacompy 0.19 breaking changes by @visr in #2714
- Add RUF ruff rules by @visr in #2715
- Docs: cross reference global and local
source_priorityby @visr in #2718 - Update datacompy to 0.19.0 by @visr in #2722
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #2728
- Recommend Pixi VSCode Extension by @visr in #2732
- Log full configuration. by @evetion in #2730
- Allow replacing/deleting links. by @evetion in #2733
- Add a "getting started" section by @visr in #2734
- Use TimeZones.jl v 1.22.2 by @visr in #2738
- Add allocation route priorities by @verheem in #2731
- Polder management with allocation by @verheem in #2739
- Validate Delwaq substance names. by @evetion in #2744
- [Delwaq] More includes for LWKM. by @evetion in #2745
- Update pre-commit hooks by @evetion in #2747
- Update pixi lockfile by @evetion in #2748
- Unpin pandas-stubs now we use pandera 0.27 by @visr in #2750
- Update Julia Manifest.toml by @visr in #2751
- Create MSIX app package by @visr in #2710
- Remove activity by @evetion in #2764
- Add indexes to geopackage. by @evetion in #2763
- [core] Use SQLite fork for faster read performance. by @evetion in #2762
- Generate consistent binary Geopackage by @evetion in #2765
- Add UserDemand migration for removed
activefield by @evetion in #2772 - default subnetwork_id = 1 by @verheem in #2766
- Bump peter-evans/create-pull-request from 7 to 8 by @dependabot[bot] in #2769
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #2770
- Fix UserDemand migration by @evetion in #2775
- Let run_ribasim use RIBASIM_EXE if set by @visr in #2783
- Prepare changelog for v2026.1.0.dev1 by @visr in #2785
- source_priority to route_priority by @verheem in #2768
- Preparations for pre-releases by @visr in #2784
- Bump version to 2026.1.0-rc1 by @visr in #2787
- 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
- Bump julia-actions/cache from 2 to 3 by @dependabot[bot] in #2973
- Add millisecond precision to fake
last_changeby @visr in #2974 - remove dangling listen links by @verheem in #2978
- QGIS fix water balance plot storage by @visr in #2975
- Add note on XML build number in release dev docs by @visr in #2981
- Fix relative path to Ribasim source by @visr in #2982
- fix jacobian state and time dependent cache bug by @verheem in #2972
- Add loads table. by @evetion in #2990
- [Delwaq] Don't count removed junctions in network generation. by @evetion in #3001
- Provide node ID in Basin profile interpolation errors by @Copilot in #2988
- use actual flow at current t instead of cumulative flow divided by time by @verheem in #3000
- Revert "Load external NetCDF input in QGIS (#2880)" by @visr in #2999
- Support Pandas 3 by @visr in #3002
- Add node_id validation by @visr in #2983
- Remove all QML style categories besides Symbology and Labels by @visr in #3005
- Support Junctions in QGIS fractional flow by @verheem in #3004
- Bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #3006
- Delwaq parse and doc improvements by @visr in #3007
- Don't count concentration of previous user demand by @verheem in #3009
- Prepare release v2026.1.0 by @visr in #3008
Full Changelog: v2025.6.0...v2026.1.0