Version 4.5.0
π½ Read the summarized changelog here π½
PYTHON
- refactor: rename all v_edit_* views to ve_* prefix across entire plugin
- refactor: setfields - use database setfields instead of QGIS insert for feature creation
- refactor: remove legacy docker references and "show on top" / "zoom to selection" buttons from psector
- refactor: consolidate psector loading and signal management into dedicated methods
- feat: add new CM toolbar to Giswater - CRUD operations for campaigns, lots, organizations, teams, users with role-based permissions
- feat: add new AM toolbar to Giswater - priority calculation, breakage analysis, and result management
- feat: implement new translation logic - complete i18n overhaul with new schema, JSON management, and type-ahead search
- feat: psector mode toggle in status bar with context menu and upward popup
- feat: connect link - implement psector double-insert logic (state=0 and state=1)
- feat: go2iber integration - full IBER model export with DAT file generation and RPT import
- feat: import EPANET/SWMM - add save to psector functionality
- feat: selection by expression - unified selection class with point/polygon/expression methods
- feat: elements - add ve_genelem and ve_frelem support with multiple tabs
- feat: dscenario manager - add frshortpipe tab and flow regulator add/remove functionality
- feat: mapzone manager - dynamic mapzone support with save last active tab
- feat: nonvisual managers - implement ctrl+z logic in curves and patterns
- feat: markdown generator for documentation
- feat: hiddenForm logic to suppress form on create feature
- feat: pgRouting version compatibility check in load project
- feat: GitHub workflow templates and flake8 CI configuration
- perf: optimize selectors, table refresh logic, and map rendering
- perf: improve SQL query performance for i18n, CM, and EPA imports
- perf: enhance form change detection and caching
- fix: project creation for es_CR and other locales with malformed JSON
- fix: psector - toggle doable in new psectors and refresh on table relations
- fix: mincut - proper deletion of conflicts and result selector updates
- fix: import EPANET - time options (HH:MM), diameters as mm, node catalogs
- fix: import SWMM - flow regulators methodology and enable triggers
- fix: selection tools - improve snapping precision and map/table interaction
- fix: macOS - avoid blocking main QGIS window with dialogs
- fix: feature_replace - catalog_id combobox and arc snapping in psector mode
- fix: info docker - double click functionality and crosssection image display
- fix: signal and thread handling for psector, CM, and selection tools
- chore: add flake8 configuration and CI workflow for Python compatibility checks
- chore: refactor hundreds of files to meet flake8 and typing standards
Full Changelog (Python): mv3.6.023...v4.5.0
DATABASE
- refactor: parent tables, node_id, arc_id, connec_id, link_id, gully_id, element_id now are integer
- refactor: parent tables, reorder all fields
- refactor: add uuid column to parent tables: node, arc, connec, element, link, gully
- refactor: add [feature]uuid columns to element_x[feature], doc_x_[feature], om_visit_x_[feature]
- refactor: parent views, v_edit_node, v_edit_arc, v_edit_connec, v_edit_link, v_edit_gully, v_edit_element now are ve_*
- refactor: change psectors strategy for better manageability, enhanced topology
- refactor: rename staticpress to staticpressure, pression to pressure
- refactor: recreate dma table with updated structure (UD)
- refactor: recreate inp_inlet with updated structure (UD)
- refactor: recreate inp_frshortpipe tables (WS)
- feat: new type of elements, ve_man_genelem and ve_man_frelem
- feat: links now are visitables, adapt logic to include links in the om_visit...
- feat: new configured templates of qgis using sys_table
- feat: create new algorithm to calculate mapzones from zero
- feat: add new column 'crm_number' on 'ext_rtc_hydrometer_x_data' to store values from the device where the data has been taken. Eventually, it could be different from hydrometer_id
- feat: create dma table (UD)
- feat: change macrodma/macrodqa/macroomzone expl_id to integer arrays
- feat: drop macrominisector table (UD)
- feat: add element_add table
- feat: create archived_psector_link table
- feat: set expl_id as NOT NULL on mapzone tables (dma, dqa, omzone, presszone, dwfzone)
- feat: add help_domain parameter to config_param_system for custom documentation domain
- feat: add shorterThan and biggerThan to gw_fct_anl_arc_length
- feat: add new psector mode
- feat: add missing ON CASCADE constraint to element_x_gully
- feat: add missing 0 (Undefined) and -1 (Conflict) values to some mapzones tables
- feat: update config_form_tableview for nonvisual manager forms (patterns, curves, controls, rules, roughness, timeseries)
- feat: add missing tableview configurations for cat_mat_roughness and ve_inp_timeseries
- feat: update foreign key constraint on plan_psector_x_connec.link_id to include CASCADE and SET NULL options
- perf: recreate views refactorizing join of selectors
- perf: new mapzones algorithm (with pgrouting)
- perf: new mincut algorithm (with pgrouting)
- perf: new minsector algorithm (now massive mincut use the new mincut core)
- fix: graphical error log of go2epa
- fix: staticpressure in presszone netscenario
- fix: minsectory analysis now can handle exceptions correctly
- fix: trg_edit_municipality to manage expl_id
- fix: fct_setarcfusion to better manage arc directions. Allow any combination on WS and restrict logical directions on UD
- fix: edit_control trigger to handle deleting 0 and -1 mapzones (remove unnecessary rules)
- fix: ve_inp_dwf definition
- fix: objectname references from v_edit_* to ve_inp_* for better form integration
- chore: add new CI for tests
Full Changelog (Database): Giswater/giswater_dbmodel@mv3.6.023...v4.5.0