All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix blank multilingual projects: respect locale
cat_feature.activeand keep MULTI-CREATEconfig_form_fields(skip sample CFF wipe in empty profile). - Fix
gw_fct_mincut_minsectorandgw_fct_setmincutfunctions to count hydrometers correctly. - Fix selector performance on large projects: optimize
vf_node/vf_arc/vf_connec/vf_element/vf_linkfilters and stop probingve_nodeinsidegw_fct_setselectors(check-all exploitations was multi-second). - Fix
vf_elementview to useCOALESCE(pp.state, e.state)instead ofe.statewith plan_psector_x_node.
4.15.4 - 2026-07-21
- Fix admin dialog: refresh Project Schema list after a connection error.
- Fix admin dialog: list all WS/UD schemas on the active connection.
4.15.3 - 2026-07-17
- Fix
tools_db.ensure_service_authto get correct credentials frompg_service.conf. - Fix config_form_fields
dv_querytextto usevf_hydrometerandhydro_customer_codeinstead ofv_rtc_hydrometerandhydrometer_customer_code.
4.15.2 - 2026-07-16
- Fix
gw_fct_setnodefromarcfunction to return the correct error message withgw_fct_exception_othersfunction. - Fix admin dialog: do not show ghost schemas in parentheses when switching connections or after delete; restore selection only if the schema exists on the current connection.
- Fix admin dialog: persist last selected schema per connection instead of globally.
- Fix admin dialog: refresh schema list and project info when switching connections (ignore stale async load results).
- Fix admin dialog: avoid
TypeErrorand missing-table warnings when a deleted or invalid schema is still selected. - Fix admin dialog: show PostgreSQL/PostGIS/pgRouting versions for the active connection even when the server version is incompatible.
- Fix admin dialog: pg_service connections without user/password in
pg_service.confnow prompt credentials via QGIS (same as Browser) instead of failing withfe_sendauth.
4.15.1 - 2026-07-15
- Fix
gw_trg_edit_inp_gullytrigger to usegully_methodinstead ofmethod. - Fix
gw_trg_edit_inp_nodetrigger to usegully_methodinstead ofmethod. - Fix
gw_trg_edit_nodetrigger to usegully_methodinstead ofmethod. - Fix
gw_fct_setmincutuse DISTINCT ON to avoid duplicate records inom_mincut_valve. - Fix check if column
addparamexists insys_versiontable.
- Refactor
v_om_mincut_initpoint: now uses a JOIN instead of a LEFT JOIN withselector_mincut_resultand removes the check forid > 0.
4.15.0 - 2026-07-13
- Add unique index on
linktable to enforce feature_id and feature_type uniqueness when state is 1 and feature_id is not null. - New validation message for invalid or missing QGIS project CRS (EPSG) on pg2epa INP export.
- New validation message for
sys_codenot null andsys_code_autofillactivated.
- Change
dataquality_obstype to text[] inarc,node,connec,link, andelementtables. - Change
edit_sys_code_autofillvariable to accept new values:uuid,code,none.
- Fix schema integration of
cibsandutils. - Change wmeter_number type to text in ext_hydrometer table.
- Fix
gw_fct_settoarcso settingto_arcno longer auto-adds the node to mapzone'sgraphconfig, it only updatestoArcwhen the node is already configured asnodeParent(avoids duplicate mapzone delimiters after arc divide). - Fix
dqaIdparameter parsing (dqaIdwas incorrectly read frompresszoneId). - Fix
gw_fct_setsearchfunction to improvesys_query_text_addfunctionality. - Fix
gw_fct_setnodefromarcfunction to return the correct error message. - Fix
gw_trg_edit_<feature>triggers to set the correct state in the polygon table. - Fix
gw_trg_edit_psectortrigger to set the correct state in the polygon table.
4.14.5 - 2026-06-25
- Fix
get_major_versionfunction ontools_qgisto return the correct major version.
4.14.4 - 2026-06-19
- Fix
gw_fct_setselectorsandgw_fct_getselectorsfunctions using cat_manager configuration.
4.14.3 - 2026-06-15
- Fix
add_demand_check, initialize cur_step correctly.
4.14.2 - 2026-06-12
- Fix
gw_fct_graphanalytics_mapzones_v1function to setexpl_visibilityandexpl_idin mapzones expl_ids.
4.14.1 - 2026-06-11
- Fix
config_form_fieldsdv_querytextto useve_exploitationinstead ofvf_exploitationformacroexpl_idfilter column. - Enable and require
sector_idandmuni_idon netscenario mapzone formsplan_netscenario_dmaandplan_netscenario_presszone. - Fix netscenario mapzone Create/Update in
mapzone_managerto upsert intoplan_netscenario_*(not operativeve_*) and refresh the netscenario table after accept. - Fix
gw_fct_graphanalytics_mapzones_v1function to filter byexpl_idin the graphconfig. - Fix
gw_fct_graphanalytics_mapzones_v1function to useexpl_visibilitywithexpl_idin the views. - Add missing
cur_userfilter toconfig_param_userqueries forepa_dscenario_percent_hydro_thresholdparameter. - Fix netscenario views to use
vf_exploitationto filter with permissions.
4.14.0 - 2026-06-10
- Add "Filter by selector" checkbox to mapzone manager to toggle between exploitation-permission scope and user selector scope.
- Persist mapzone manager "Filter by selector" checkbox state per user session (defaults to checked on first open).
- Add
vf_exploitationview (based oncat_managerandadmin_exploitation_x_user). - Add
v_ui_*_selmapzone views for selector-based filtering (selector_sector,selector_macrosector,selector_expl). - New tests for
vf_exploitationview and mapzones_selviews.
- Refactor mapzone
v_ui_*views to filter byvf_exploitationinstead of inline selector filters. - Improve
gw_fct_graphanalytics_manage_temporarynow uses the newvf_exploitationview to filter with permissions.
- Fix
gw_fct_getprofilevaluesfunction to use the correct columns for ud and ws.
4.13.1 - 2026-06-04
- Fix
graphanalytics_mapzonesfunction by addingmapzone_typefilter to graph delete queries in order to avoid deleting graph records belonging to other mapzone types stored in the same table. - Fix
cibs.cat_hydrometer_categorytable by changing the id type to int4 and add foreign key constraint for cat_period_id in hydrometer_period table. - Fix
graphanalytics_mapzonesmapzones for ud can also be in SelfConflict, fix small bugs. - Fix
graphanalytics_omunitfunction by resettingomunit_idto 0 when the referenced omunit no longer exists.
- Remove default value for
dataquality_obscolumns.
4.13.0 - 2026-06-03
- Add new key
sys_limittoconfig_param_systemto set the limit of the search results, modify thegw_fct_getsearchfunction to use the new key, default to 10. - Add new columns
dataqualityanddataquality_obsto thenode, arc, connec, link, element and gullytables. - Add new column
turns_countto theman_valvetable.
- Ignore TCV valves on
sys_fprocessprocess 368.
- Update messages for arcs without start/final nodes.
- Update
gw_fct_admin_manage_fieldsfunction to use the correct schema name and table name.
4.12.0 - 2026-06-01
- Manage Schemas dialog (
GwManageSchemasDialog): single UI to inventory network anchors and manage satellite schemas (utils, cibs, AM, CM, audit) with contextual actions, fixed geometry, and refresh after admin load. - Connection selector and read-only system info panel in Manage Schemas (PostgreSQL / PostGIS / PgRouting versions and missing extensions); switch DB connection without closing the dialog (
reload_connection_for_manage_schemas). - Rename and delete actions for network (WS/UD) schemas from Manage Schemas, wired to existing admin rename/delete flows.
_admin_catalogmodule andAdminLoadTask: fastpg_cataloginventory (schemas withsys_version, aux flags, pending updates) instead of repeatedinformation_schemaround-trips.GwSchemaBuilderTask: genericQgsTaskaroundgiswater_admin.engine.SchemaBuilder, replacing legacy per-schema create threads (project_schema_*_create).- New
cibsschema and manifest;sys_versionon cibs; WS/UD integration SQL and admin actions to create, update, adapt, and copy hydrometer data from a selected network parent. - Hydrometer model refresh (4.12.0):
ext_hydrometer_period,v_/ve_hydrometer views, editableve_hydrometer_period, andv_cat_*catalogue views; sample dumps and forms updated. - AM/CM manifests and parent-schema creation stubs from Manage Schemas (WS-only AM).
- pgTAP tests for UD link views (
ve_link,ve_link_vlink,ve_link_pipelink). - CI/dbmodel: PostGIS matrix, Docker/Podman test runner, parallel
pg_prove, and stricter SQL folder validation insql_runner. - libs:
show_warning_box, configurable DB connection timeout, and message boxes that respectmessage_parent(modal child of admin dialogs). - Add column
is_twinandparent_idtorpt_cat_result - Add column
vnomtoman_tank - Recreate triggers for
poltables
- Manage Schemas CM panel: Create/Integrate/Sample/QGIS actions replace the old
admin_cm_createlauncher dialog. schemas grouped underdbmodel/schemas/mainandaddons; network updates consolidated intopatch.sqlper version (drop separateddl/dml/ddlview/trgfiles for new bumps). - Admin: utils/cibs/audit flows consolidated; schema SQL paths point at
main/; build logs list SQL files only; progress/time labels on schema builder tasks. - Hydrometers: rename
ext_rtc_hydrometer→ext_hydrometer,ext_rtc_hydrometer_data→ext_hydrometer_period;sum→billed_volume; form/list queries usev_/ve_views;ext_cat_hydrometer_categoryid type integer. - SCADA tables:
ext_rtc_scada/ext_rtc_scada_x_datanaming aligned across imports, functions, and tests. ws_gw_fct_create_dscenario_from_crm: joins andhydrometer_idreferences updated for the new hydrometer tables (nopattern_id).- Manage Schemas: cibs adapt/copy pass the selected network schema directly (no
dlg_readsql.cmb_cibsworkaround); info messages useshow_info_boxwhen opened from the dialog. - Mapzone type columns (
sector_type,drainzone_type,omzone_type,dwfzone_type) widened tovarchar(30)in tests and patches.
- Deprecated
ext_cat_hydrometer_category_x_patterntable and related tests. - Legacy admin threads:
project_schema_create,project_schema_utils_create,project_schema_cm_create,project_schema_audit_create,project_schema_asset_create,project_schema_update. - Standalone cibs “copy data” button from the main admin UI (copy remains available from Manage Schemas).
- Obsolete dbmodel per-version changelog/SQL trees under old
updates/layout (superseded byschemas/main/.../updates).
gw_fct_anl_arc_*pgTAP tests: drop leftover temp tables between cases.- UD schema tests and link view definitions after hydrometer / structure refactors.
- WS schema tests after hydrometer catalogue and view renames.
om_mincut_hydrometerFK targetsext_hydrometer; mincut hydrometer views rebuilt onv_hydrometer/v_hydrometer_period.- Plugin/schema path resolution (
plugin_version, cibs integration SQL, manifests).
4.11.2 - 2026-05-29
- Improve UD checks in getvisit and setvisit
- Update mincut selector config in
config_param_system(basic_selector_tab_mincut): addtypeaheadFilterso filter in web works. - Rename columns in
tbl_mincut_managertableview:expl_idtoexploitation,muni_idtomunicipality. - Fix
gw_fct_setselectors: useselector_municipality(muni) instead ofselector_sectorto update selector_expl. gw_fct_setmincut: setexpl_idfrom arc andmacroexpl_idfrom exploitation onom_mincut.- Fix visit dialog: unify
parameter_idcombo fill logic and refresh it after visit load and on Event tab entry.
4.11.1 - 2026-05-27
- Update reference function id for gw_fct_anl_node_topological_consistency.
gw_fct_graphanalytics_omunitfunction to disableedit_disable_arc_fkarraywhen updating omunits.- Optimize
gw_trg_array_fk_array_table: pg_catalog type lookup and globaledit_disable_arc_fkarraybypass. - Fix function id references in
sys_functionandconfig_functiontables.
4.11.0 - 2026-05-26
- Algorithm to calculate omunits and macroomunits
gw_fct_graphanalytics_omunit. has_accesscolumn tonodetable.ve_omunitandve_macroomunitviews with edit triggers.- New function
gw_fct_admin_manage_view_dependenciesto manage view dependencies.
sector_idandmuni_idfromexploitationtable.psector_statustypevalue4(EXECUTED).
gw_trg_edit_psectortrigger to set obsolete features where psector_x_* state is 0 before setting on service features.gw_fct_graphanalytics_mapzones_v1check if there are any nodes/arcs in the graphconfig that are not in the operative network (only for connected networks).config_form_fieldsdv_querytextformuni_idinmincutform to use correct alias.visitinsert correctly the records onom_visit_x_*tables.- correct signal for rejected visit dialog.
- recreate the triggers for the mapzones when the utility scheme is activated.
- fix visit dialog to show the correct features when the dialog is accepted.
- fix update of omunit and macroomunit geometry type to multipolygon.
- add
work_order,forecast_start, andforecast_endcolumns totemp_t_mincuttable. - Improve performance of
gw_fct_getinfofromcoordinatesfunction.
4.10.1 - 2026-05-20
config_form_fieldsdv_querytextformuni_idinmincutform to use correct alias.visitinsert correctly the records onom_visit_x_*tables.- correct signal for rejected visit dialog.
- recreate the triggers for the mapzones when the utility scheme is activated.
- fix visit dialog to show the correct features when the dialog is accepted.
- fix update of omunit and macroomunit geometry type to multipolygon.
- add
work_order,forecast_start, andforecast_endcolumns totemp_t_mincuttable.
4.10.0 - 2026-05-18
- stable
gw_idcustom map layer property when adding layers to the TOC so lookup and removal do not rely on the layer display name alone. add_layer_providerwith URI builders (WMS, WFS, OAPIF, XYZ, GeoJSON) for loading non-PostGIS layers fromproviderConfig.gw_fct_getaddlayervalues: returnproviderConfigfromsys_tablefor add-layer value lists.- Add
basic_search_v2_tab_visitin config_param_system for web and desktop search
- child-layer menu, temporal and snapshot layers, mincut/psector overlap layers, EPA dscenario/netscenario removal, Go2Iber imports, ValueRelation layers in HIDDEN, and backend query layers updated for the new TOC APIs.
- Profile algorithm: now accept mid features (arcs) in addition to nodes.
4.9.1 - 2026-05-18
- Fix functions and triggers to use
v_raster_deminstead ofext_raster_dem. - Fix mincut offline result layer names and styles.
- Align mincut plan address fields in
config_form_fields(muni_id,streetaxis_id,postnumberonlyt_plan_address). - Update mincut default JSON in
config_param_systemaddforecast_start/end. - Set default list sorting for
tbl_mincut_managerinconfig_form_list(device 5). - Fix mincut snapping and related signals on mincut buttons.
4.9.0 - 2026-05-14
- New dscenario pattern and pattern value tables (
inp_dscenario_pattern,inp_dscenario_pattern_value). - New typevalue for dscenario type: CALIBRATION.
- New visibility tables
node_x_sector_visibility,node_x_municipality_visibility,element_x_sector_visibility,element_x_municipality_visibility. - New trigger
gw_trg_update_element_mapzonesto update mapzone columns onelement. has_treatmentcolumn on UDnode,connec, andgullytables, related triggers, andve_node,ve_connec, andve_gullyviews.drainzone_outfallcalculation and updates todwfzone_outfallin graph analytics mapzones.v_recalculate_macromapzonesparameter and related macro mapzone logic ingw_fct_graphanalytics_mapzones.- Temporary table and view for element management inside graph analytics.
- Drainzone handling in graph analytics extended so
addfields/addparam.drainzonereceive aggregated results where applicable. provider_configcolumn onsys_tableplus related catalogue checks.- View
v_type_streetand updatedconfig_form_fieldsreferences for street types. - CSO overflow mapping table for storm overflow workflows.
- Config toolbox: SQL input parameters for graph class and exploitation options.
sys_style: improved line symbology for fluid types.- Municipality assignment for nodes when several municipalities lie nearby (selection logic refined).
- Upstream/downstream analysis: traverse network regardless of
is_operativeon elements. fct_cm_check_progress: exposes percentage of executed nodes per campaign.- Network mincut: streamlined SQL queries and address autofill usable from web and desktop.
- Multiple SQL functions:
sector_idconditions normalized for clearer integrity rules. - i18n: labels, tooltips, and descriptions (graph tools, exploitation, and general wording).
- Optional dependencies resolved via
tools_os.get_depinstead of bare imports.
inp_dscenario_demand: moveidcolumn to first position for stable column ordering.- Composer: logo image path resolution.
gw_fct_graphanalytics_mapzones_v1: drainzone insert/update; correctexpl_id[],muni_id[],sector_id[]arrays for mapzones; ignoresector_id = 0when aggregating sectors; createtemp_pgr_mapzone_graphonly when running graphanalytics mapzones.- Graph analytics visibility: WS/UD compatibility for
node_x_sector_visibility-related flows. gw_fct_getfeatureupsert: default value handling for filter combo widgets when updating features in Info.gw_fct_cm_setcheckproject: GeoJSON payload handling for check results.gw_fct_cm_check_data_context: expanded checks and clearer error texts; QC output limited to rows withstatus = 1andaction <> 3.gw_fct_pg2epa_check_network:sector_idanddma_idbehaviour on disconnected networks.gw_fct_pg2epa_exportWS dscenario path: tank parameters updated correctly on inlet links.gw_fct_getsearch: optional JSON key to target a specific layer in the search call.gw_fct_setelevfromdem: propagate detailed errors back to the client on failure.om_check_data: use cataloguedt_tablesinstead of ad hoc target tables.- Asset Manager: insert into
sys_versionuses schema SRID (SCHEMA_SRID) for EPSG. gw_fct_getprofilevalues: cast JSONdescriptthrough text for stable typing.- Lot/campaign selectors:
ON CONFLICThandling for campaign/lot selectors to avoid duplicate key failures. inp_subcatchment: enforce foreign keys referencing municipality where defined in utils/tablect DDL.temp_anl_arc/temp_anl_node: drop redundant duplicate index DDL where the index already existed.
4.8.4 - 2026-05-07
- Improve composer warning handling and correct coverage.
- Fix ve_plan_psector and v_plan_psector references.
- Fix hardcoded logo.png path.
- Improve psector manager performance.
- Fix psector other_prices tab bug with ',' and '.' as decimal separator.
- Fix problem with psector pca calculation.
- Fix dscenario manager to check columns from views instead of tables.
- Performance profiling in get_psector method when open existing one.
- References from
ve_plan_psectortov_plan_psectorinsys_tableandsys_styletables.
- Deprecated code on psector manager to improve performance.
- Hide pump additional tab in dscenario manager.
4.8.3 - 2026-05-05
- Fix
config_param_systemupdate epa_automatic_man2graph_values value
4.8.2 - 2026-04-20
- Removed dependency on chardet.
4.8.1 - 2026-04-07
- This changelog file
- New indexes on
anl_*tables.
gw_trg_arc_node_valuestrigger on ws schemas.gw_fct_graphanalytics_macromapzonesstreamline temporary table management.gw_fct_pg2epa_export_inpadd alias for emitter_coeff.gw_fct_graphanalytics_mapzones_v1function.- Performance of dscenario views for ws and ud
gw_trg_gully_proximity,gw_trg_connec_proximitytriggers to useve_gullyandve_connectables instead ofgullyandconnectables.gw_fct_getfeatureupsertfunction to useve_node,ve_connecandve_gullytables instead ofnode,connecandgullytables.- Recreated
ve_connecandve_gullyviews. - Improved
inp_familytable andresult_familiesfunction. gw_fct_setfeaturereplaceplanfunction.ud_gw_trg_topocontrol_nodetrigger.ud_gw_trg_topocontrol_arctrigger.gw_fct_psector_mergefunction.ud_pg2epanow export undefined nodes connected to not undefined arcs.
- Losses dscenario.
4.8.0 - 2026-03-17
- Tab
supplyzoneon mapzone manager.
- Getting style for some layers.
- QGIS crash with toolbox processes.
- QGIS project creation.
- Various CM bug fixes.
- Refactor
getlistand tableviews header with alias management. - QGIS maximum version to 4.0.
4.7.1 - 2026-02-24
- Make some user parameters mandatory (
sys_param_user). - Mapzone checks on mapzones.
4.7.0 - 2026-01-30
- New EPA export result families.
- Mapzones checks before execution.
- New checks on
pg2epaexport. - Load temporal layers when getting profile values.
- Topology fields and various UD/WS analysis routines.
- Graph inundation and profile values retrieval.
- Refactor UD topology fields and related views.
- Update psector/mincut logic to use
pgr_linegraphand new algorithms.
4.6.0 - 2025-12-18
- Update submodules and database logic for new CI and tests.
4.5.4 - 2025-11-12
- Multiple triggers and functions related to config control, proximity, connectivity and plan psector logic.
config_form_fieldsto use the correctdv_query_textonman_type_*columns.- Deleting psectors with
to_arcproperty. - Various EPA export and topology control routines (
pg2epa,setfeaturereplace,setendfeature,topocontrol_arc, etc.).
4.5.3 - 2025-10-28
- Translation of
cat_arc.areafores_CR. admin_currencytranslation.config_fprocessto addrpt_arc_statsandrpt_node_statsentries.pg2epanetwork check to use-2asdma_idfor undefined values.
4.5.2 - 2025-10-27
- Widget type compatibility and UI checks.
- Psector topology validation and error handling.
- Psector translations, initproject,
config_form_fieldsfor dma and canvas refresh.
4.5.1 - 2025-10-23
- GwPlan application when a psector is current.
- Psignals on psector manager and play/pause button.
- Psector merge, duplicate and topology when duplicated nodes are found.
- Adding connecs into a psector without
arc_id. - Several rows on
sys_messageand selector_psector clarity. - Log order on
audit_check_data.
- Legacy
chk_enable_allbehavior. - Deleting from
selector_psectorwhen psector is set to inactive.
4.5.0 - 2025-10-20
- New CM toolbar for campaigns, lots, organizations, teams and users with role-based permissions.
- New AM toolbar for priority calculation, breakage analysis and result management.
- New translation logic and i18n overhaul.
- Psector mode toggle in status bar with context menu.
- Go2IBER integration (DAT/RPT support).
- Import EPANET/SWMM with save-to-psector.
- New selection-by-expression tools and unified selection logic.
- New elements managers (
ve_genelem,ve_frelem) and non-visual managers enhancements. - Markdown generator for documentation.
- Hidden form logic for feature creation.
- PgRouting version compatibility check on project load.
- GitHub workflow templates and flake8 CI for Python compatibility checks.
- Project creation for
es_CRand other locales with malformed JSON. - Psector toggling and table relation refresh.
- Mincut conflicts deletion and result selector updates.
- EPANET import (time options, diameters, catalogs).
- SWMM import (flow regulators, trigger enabling).
- Selection tools snapping precision and map/table interaction.
- macOS dialogs that blocked the main QGIS window.
- Feature replace catalogs and arc snapping in psector mode.
- Info docker double-click and cross-section image display.
- Signal/thread handling for psector, CM and selection tools.
- Massive refactor of
v_edit_*views tove_*prefix. - Refactor of setfields logic to use database-side feature creation.
- Refactor of docker references and psector UI buttons.
- Consolidation of psector loading and signal management.
- Performance optimizations on selectors, table refresh and map rendering.
- SQL performance improvements for i18n, CM and EPA imports.
- Form change detection and caching improvements.
- Large-scale flake8 and typing standardization.