Releases: gridsuite/deployment
Releases · gridsuite/deployment
GridSuite v2.32.0
🎯 New Features
Copy Link in GridExplore
- Share element links: Users can now copy a direct link to any element in GridExplore, making it easy to share studies, cases, or filters (#818, #833)
Export Network Modifications as CSV
- Modification export for a node: Users can now export the list of network modifications applied to a given node as a CSV file (#3758, #953)
Temporary Limits in Line Catalog
- Multiple temporary limits per catalog entry: Line catalog entries now support a list of temporary limits, enabling richer limit definitions directly from the catalog (#764, #3739)
Short-Circuit Node Cluster
- Node cluster filtering: Short-circuit analysis now supports node clusters, restricting fault computation to a specific subset of buses, with a fix to ensure only faults present in the cluster are included (#188, #193, #194)
Persist Case via API
- API-driven case persistence: Cases can now be persisted via a dedicated API endpoint, enabling programmatic case ingestion workflows (#175, #819)
Not-Found Elements Count in Contingency Lists
- Missing element visibility: Users can now see how many elements in a contingency list could not be found in the network, directly in the UI (#159, #960, #3773)
Computation Result Filters Notification
- Real-time filter sync: The frontend now receives and handles notifications when computation result filters are updated, keeping the displayed filters in sync across sessions (#961, #3783)
Copy Modification/Node with Cross-Study Applicability
- Cross-study copy support: Modifications and nodes can now be copied between studies with applicability checks based on common root network tags (#946)
Sensitivity Analysis: Equipment Container Names from Directory
- Container name resolution: Sensitivity analysis now resolves equipment container names by querying the directory server, enabling clearer result display (#160)
TapChanger Values by Tap Position
- Indexed tap changer access: TapChanger values are now accessible by tap position index, with the corresponding data exposed in the map server and frontend (#328, #3766)
Ratio/Phase High Tap Position in Formula Modification
- New fields for TWT formulas:
RATIO_HIGH_TAP_POSITIONandPHASE_HIGH_TAP_POSITIONfields added for two-winding transformer formula modifications (#3754)
Exported/Unexported Modifications by Group
- Granular modification visibility: New endpoint to retrieve exported and unexported network modifications filtered by group (#772)
Business Error for Empty Contingency List
- Explicit error feedback: Security analysis now returns a proper business error when the contingency list configuration is empty, rather than silently failing (#227)
Power Balance in SLD Bus Legend
- Bus legend enrichment: Power balance information is now displayed in the SLD bus legend, giving users a quick power summary directly in the diagram (#219)
🎨 UI/UX Improvements
Bus Colors in Voltage Level Popover
- Voltage-based bus coloring: Buses in the voltage level popover now display colors based on their voltage values, with a fallback voltage used when data is partially available (#3771, #3775, #3791)
Workspace Panel Error Boundary
- Resilient workspace layout: An error boundary is now wrapping workspace panels, preventing a single panel crash from taking down the entire workspace (#3742)
Alert on Workspace Switch with Unsaved Parameters
- Unsaved change warning: Users are now alerted when switching workspaces while having unsaved computation parameter changes (#3781)
Substation Filtering in Global Filters
- Substation as filter scope: Substations can now be used as a filter scope in global filters, in addition to voltage levels (#3780)
Substation Modification Form in Commons-UI
- Shared modification form: The substation modification form is now moved to
commons-ui, reused consistently across GridStudy and GridExplore (#3755, #816)
Smoother Panel Drag
- Improved drag UX: Panel dragging in the study interface is now smoother, reducing visual jank during layout adjustments (#3774)
🔧 Technical Improvements
Global Filters State Management Refactor
- Simplified filter state: Major refactor of the global filters state management to reduce complexity, improve maintainability, and unify the
unselectedDate-based sort logic (#3744, #3786)
Fix Cyclic Dependencies
- Module graph cleanup: Resolved cyclic imports across the study app that were causing subtle initialization bugs and blocking future refactors (#3765, #3763)
Tanstack Table for Modification List
- Virtualized modification table: The network modification table is now implemented with Tanstack Table, enabling virtualization and better performance on large modification lists (#3751)
Sensitivity Analysis Async Persisting Refactor
- Readable async logic: Refactored the async result persisting logic in sensitivity analysis server for improved readability and long-term maintainability (#155)
Actions Server: Extract Code to Library
- Shared actions library: Common code extracted from actions server into a dedicated library, reducing duplication (#152, #157)
Remove Separate Provider Endpoints
- Simplified parameter APIs: Dedicated provider endpoints removed from load flow, security analysis, short-circuit, and sensitivity analysis servers; provider is now handled as part of the parameters (#952, #226, #225, #189, #161, #3761)
Move Equipment Type Filter Evaluation to Filter Library
- Centralized filter logic: Equipment type filter evaluation moved to the filter library, reducing duplication across servers (#185)
Network Tree Event Handling Refactor
- Cleaner event management: Refactored network tree event handling for clarity and reduced side effects (#3768)
TypeScript Migration
- Continued TS adoption: By-formula dialog and load dialog header/tabs migrated to TypeScript (#3753, #3778)
Report Duplication Optimization
- Faster report copy: Optimized the report duplication process to reduce overhead when copying studies with large report histories (#144)
Filter Library: Bus IDs from VL Filters
- New filter endpoint: Added an endpoint to retrieve bus IDs matching voltage level filters, supporting finer-grained network queries (#190)
UserId Header on Sensitivity Parameter Endpoints
- Audit trail: User ID is now passed as a header on sensitivity analysis parameter endpoints for improved traceability (#948, #962)
🐛 Bug Fixes
- **LimitSet update regressi...
GridSuite v2.31.0
🎯 New Features
Dynamic Margin Calculation (DMC)
- New DMC computation: Dynamic Margin Calculation is now available as a full computation in GridSuite, accessible from the study interface and routed through the gateway (#910, #3669, #160)
Persist Computation Result Filters
- Saved result filters: Filters applied on computation results (load flow, security analysis, etc.) are now persisted per user, so they are restored on next session (#3484, #97, #884)
Contingency Lists in Security Analysis Parameters
- SA-embedded contingency lists: Contingency lists are now managed as part of the security analysis parameters, removing the need for separate configuration (#220, #3711, #934)
Short-Circuit: PowerElectronicsCluster Parameter
- New specific parameter: Short-circuit analysis now supports the
PowerElectronicsClusterspecific parameter for more precise computation configuration (#180)
Short-Circuit CSV Export with Sort & Filters
- Configurable CSV export: Short-circuit results CSV export now supports sort and filter configuration, consistent with the security analysis export (#181, #923, #3695)
Named Composite Modifications
- Name field on composite modifications: Composite modifications now have a name, and the composite creation endpoint has been updated accordingly. A new
INSERT_COMPOSITEaction type has been added (#762, #933, #3732, #757)
Configurable Upload File Size Limit
- Admin-configurable upload size: The maximum file upload size in the explorer is now configurable via
apps-metadata(#811, #594)
Regulation Type in Spreadsheet Prefill
- RegulationType column in prefilled config: Generator regulation type is now available as a prefilled column in the spreadsheet configuration (#3719, #324)
🎨 UI/UX Improvements
Substation Creation Form in Commons-UI
- Shared creation form: The substation creation form has been moved to
commons-uiand is now reused across GridStudy and GridExplore composite modifications, ensuring consistency (#3715, #806)
Adaptive Text Zoom in NAD
- Dynamic label scaling: NAD now supports adaptive text zoom, keeping labels readable at various zoom levels (#3747)
Pagination Reset on Global Filter Change
- Consistent pagination: Changing a global filter now automatically resets the page to the first one, avoiding empty result pages (#3725)
CSV Copy Separator
- Customizable copy separator: Updated the copy CSV label and adapted the separator behavior to align with
commons-uichanges (#3745)
Planned Active Power Set Point Validation
- Input check: Added a validation check on the planned active power set point field to prevent invalid entries (#3713)
🔧 Technical Improvements
Redux Refactor: Remove studyUpdated
- Cleaner state management: Removed the
studyUpdatedfield from the Redux reducer, reducing unnecessary re-renders and simplifying the state shape (#3687)
TypeScript Migration
- Continued TS adoption across modification dialogs:
Error Management Migration
- Unified error handling: Case server and SLD server migrated to the new harmonized error management system (#137, #199)
SLD: Voltage Config from Server Config
- Configuration-driven voltage colors: SLD server now reads voltage configuration from its own server config instead of the request body, simplifying client calls (#207)
RabbitMQ Load Balancing for Load Flow
- Improved message distribution: Load flow server now uses RabbitMQ message load balancing for better throughput under concurrent computation requests (#222)
Docker Compose Refactor
- Modular compose setup: Docker Compose configuration refactored to use
includedirectives, simplifying local deployment and usage from arbitrary locations (#596, #597)
Test Infrastructure: WireMock Migration
- Reliable integration tests: Study server sensitivity and short-circuit integration tests migrated from
MockWebServertoWireMockServerfor better test stability (#925, #927)
Modification by Formula JSON
- Updated payload format: Changed the JSON structure sent to the backend for modification-by-formula operations for better consistency (#3714)
Security Analysis: acceptableDuration Null Handling
- Cleaner SA parameters:
acceptableDurationis now stored asnullinstead ofInteger.MAX_VALUEwhen not set, avoiding confusion in parameter display (#221)
🐛 Bug Fixes
- Enum value on computation result column filters: Fixed incorrect enum values used in column filters for computation results, causing filter mismatches (#3723)
- Short-circuit one-bus CSV export: Fixed broken CSV export for single-bus short-circuit results (#183)
- Diagram fetch race condition: Fixed a race condition when fetching multiple diagrams simultaneously (#3730)
- Charging status for SA and limit violation results: Fixed incorrect charging status shown in security analysis and limit violations tabs (#3738)
- NAD edit mode performance: Fixed performance degradation when editing in NAD mode (#3694)
- Report viewer fetch count: Fixed incorrect fetch count displayed in the report viewer (#3740)
- Buses cleanup on voltage level deletion: Fixed spreadsheet buses not being cleaned up when a voltage level is deleted (#3736)
- Global filter for paged sensitivity results: Fixed global filter not being applied correctly on paged sensitivity analysis results (#3724)
- SVC creation by copy: Fixed missing fields when creating a static VAR compensator by copy (#3720)
- NAD arrow CSS class: Fixed incorrect CSS class applied to NAD arrows (#3731)
- Undefined node status for unbuilt nodes: Fixed
undefinednode status not correctly handled for unbuilt nodes (#3728) - maxSusceptance value: Fixed incorrect maxSusceptance value in shunt compensator forms (#3718)
- Copy column filter: Fixed filter not being correctly copied in spreadsheet configuration (#100)
- JsonProperty for shunt compensator fields: Fixed missing
@JsonPropertyannotations forqAtNominalVandbPerSectionin network map server (#323) - Redux typing errors on initialState: Fixed TypeScript typing errors in Redux initial state definitions (#3688)
- Diagram error handling adaptation: Fixed diagram components not adapting correctly to the new error handling setup ([#3667](https://github.com/gridsu...
GridSuite v2.30.0
🎯 New Features
Workspace Backend Persistence
- Workspaces saved server-side: Study workspaces configuration is now persisted in the backend, enabling users to retrieve their workspace layout across sessions and devices. Workspaces can be saved, replaced, and initialized from user profiles (#3629, #3684, #86, #94, #96, #901, #919, #91, #161, #804)
Export Network to GridExplore
- Direct network export from study: Users can now export a network file directly to GridExplore from within the study interface (#902, #3553, #921)
Security Analysis CSV Export with Sort & Filters
- Configurable CSV export for SA results: Security analysis CSV exports now support sort and filter configuration, giving users control over the exported content (#213, #922, #3696)
Security Analysis Result Endpoints
- Save SA results without network enrichment: New endpoint to persist security analysis results without re-fetching data from the network, improving performance on large studies (#215)
- Unpaged NMK results: New endpoint to retrieve all N-k security analysis results without pagination (#217)
Case Import from S3 Directory
- Batch S3 case import: New endpoint to import a case directly from an S3 directory path, enabling smoother cloud-native workflows (#143)
Security Node Auto-Rebuild
- Automatic node rebuild after multiple operations: Security nodes are now automatically rebuilt following bulk operations, keeping study results consistent without manual intervention (#908)
PCC Min Server Integration
- PCC Min computation available: Gateway and explorer now expose the PCC Min server, with parameter persistence (#152, #787, #167)
Shunt Compensator Bus Columns in Spreadsheet
- New spreadsheet columns: Shunt compensator bus data is now included in the network map spreadsheet view (#322)
Directory Permission Check
- Access control on directory operations: Study server now verifies directory permissions before allowing operations, preventing unauthorized access (#924)
Monitoring: Dashboards & Alerts Provisioning
- Observability stack: Grafana dashboards and alerting rules are now provisioned as part of the deployment, enabling out-of-the-box monitoring of GridSuite services (#52, #577, #581)
🎨 UI/UX Improvements
Diagram Panels UI Enhancements
- Refined diagram panel controls: Visual and interaction improvements to the diagram panels for a cleaner study experience (#3702)
Virtualized NAD Voltage Level Search
- Performant VL search menu: The voltage level search menu in NAD is now virtualized, ensuring smooth rendering even with large networks (#3686)
Global Filters Sorted by Categories
- Categorized filter display: Selected global filters are now grouped and sorted by category for easier navigation (#3664)
Error Feedback Harmonization
- Consistent error snackbars: Error notifications harmonized across GridExplore and GridStudy to use a unified snacking system (#803, #797)
🔧 Technical Improvements
TypeScript Migration
- Continued TS adoption: Further migration of modification dialogs and network components to TypeScript:
Error Handling Harmonization (Backend)
- Unified exception management: Directory server, explore server, study-config server, and network conversion server migrated to the new error management system (#230, #169, #85, #236)
powsybl-dependencies v2025.3.0
- Core library update: All servers upgraded to powsybl-dependencies v2025.3.0 (network-modification-server #753, network-store-server #167, loadflow-server #219, and others)
Network Conversion Export Improvements
- Export to S3 with ZIP support: Network conversion now supports zipping exports and handles names containing
/; export directory path and content type are included in finished notifications (#245, #239, #246)
Network Modification: Network Store Decoupling
- Independent library version: Network modification server now uses the network store independent version of the network-modification library (#755)
Sensitivity Analysis Writer Fix
- Prevent thread hang on early writer exit: Fixed a hang in the finished computation thread when writer threads had exited early (#151)
SpringBoot HTTP Compression
- Compressed HTTP responses: HTTP compression enabled in SpringBoot across services to reduce bandwidth (#579)
Workspace Notification Header
- Workspace UUID in notifications: Study notification messages now include a workspace UUID header for better client-side routing (#116)
🐛 Bug Fixes
- VL desynchronization in map menu: Fixed a desynchronization between the displayed voltage level and the checked one in the map's contextual menu (#3658)
- Equipment deletion dialog not opening: Fixed the modification dialog not opening on equipment deletion in certain scenarios (#3676)
- Fitview button in tree panel: Fixed the fitview button not working correctly in the study tree panel (#3659)
- Busbar section reset in connectivity: Fixed busbar section being incorrectly reset when editing connectivity (#3655)
- Line attach to voltage level: Fixed incorrect behavior when attaching a line to a voltage level (#3661)
- Export failed snackbar: Fixed the export failure notification not appearing in some cases (#3697)
- Description button color: Fixed the color of the description button in the study app and GridExplore (#3699, #810)
- Case download attachment name: Fixed missing attachment name in the case download response header (#147)
- Fix package-lock for Node.js 24: Resolved package-lock inconsistencies introduced by the Node.js 24 upgrade (#3675, #801)
- Properties validation edge case: Fixed a validation ...
GridSuite v2.29.0
🎯 New Features
Export Model & Collection Parameters
- Parameterized model/collection export: Users can now pass additional parameters when exporting a model or collection, giving finer control over the exported content (#3601)
User Identity Enrichment
- Full name display for users: User identities are now enriched with full name information, visible in the admin interface (#88, #153)
Sensitivity Analysis Factor Count
- Factor count endpoint with sensitivity parameters: Sensitivity analysis now uses dedicated parameters to compute analysis factor count, with business error handling when the count exceeds limits (#147, #148, #898)
Contingency Count by Group
- New contingency count endpoint: Added an endpoint to count contingencies by group, enabling better monitoring of contingency lists (#150)
Global Filter Voltage Range Support
- Min/max voltage range in global filters: Global filters now support voltage range fields (min/max), with matching UI and backend support (#90, #183, #3626)
Copy Node UUID
- Node UUID copy to clipboard: Users can now copy a node's UUID directly from the study interface (#3638)
🎨 UI/UX Improvements
Global Filters UI Clarification
- Clearer filter interface: Reworked the global filters UI for better readability and usability, including a delete button on generic filter autocomplete chips (#3616, #3628)
MUI X v7 → v8 Migration
- Updated data grid components: Migrated MUI X from v7 to v8 across the study and explorer apps, bringing improved table performance and new component APIs (#3545, #784)
Temporary Limits Operation Type
- OperationType support for temporary limits: Temporary limits now carry an operation type, improving edit/delete granularity in the UI (#3551, #744)
Spreadsheet Config Sorting
- Consistent column ordering: Spreadsheet configuration sorting is now applied uniformly, ensuring a predictable column order across sessions (#87, #903)
🔧 Technical Improvements
Case Server: Remove File System Storage
- Cloud-native storage only: Removed local file system storage from the case server, enforcing object storage as the sole backend (#141, #575, #578)
Export Network File Rework
- Unified export endpoint: Reworked the network file export flow in the study server, with the frontend now fetching directly from the study server (#899, #3577)
TypeScript Migration
- Incremental TS adoption: Multiple modification dialogs and components migrated to TypeScript for improved type safety:
- Voltage level creation/modification (#3636)
- Generation dispatch modification (#3633)
- Create-rule dialog (#3644)
- Delete attaching line (#3639)
- Line split with voltage level (#3631)
- Generator scaling (#3621)
- Delete voltage level on line (#3632)
- Create switches between sections (#3640)
- Load scaling (#3618)
Node.js 24 (Krypton) Upgrade
Filter Server — POST-based Count
- POST mapping for filter count: Filter count endpoint migrated to POST to support larger filter payloads and deduplicate identifiables (#180)
Geo-Data Error Management Migration
- Unified error handling: Geo-data server migrated to the new error management system (#170)
Limits Attribute Name Synchronization
- Consistent naming across layers: Attribute names for network limits synchronized between network modification server and frontend (#748)
Spreadsheet Global Filter Schema Migration
- Renamed filter field:
spreadsheet_global_filtermigrated tosubstationOrVoltageLevelfor clearer semantics (#91)
🐛 Bug Fixes
- Line creation attribute names: Fixed incorrect attribute names used during line creation, causing silent data issues (#3574)
- Mvar and min labels: Corrected mislabeled Mvar and min fields across study app, study-config-server, study-server, and voltage-init-server (#3602, #89, #904, #135)
- Voltage level contextual menu in NAD: Fixed contextual menu not appearing correctly on voltage levels in NAD (#3625)
- Progress bar hidden in limit violations tab: Fixed the progress bar not showing in limit violations and log tabs for load flow results (#3604)
- Selected operational limits group ID: Fixed incorrect handling of
selectedOperationalLimitsGroupIdin the network map server (#319) - Download case file extension: Fixed missing or incorrect file extension in the download case response header (#140)
- Null result UUID on computation failure: Study server no longer inserts a null result UUID when a computation fails (#906)
- Missing properties in line split with VL: Fixed missing voltage level properties when creating a VL inside a line split modification (#3637)
- Properties validation: Fixed edge case in properties validation form (#3641)
- Low voltages hidden in NAD at zoom out: Fixed low voltage elements remaining visible when zoomed out in NAD (#3617)
- Dynamic simulation curve checkbox styling: Fixed checkbox tree view and model filter styling in dynamic simulation (#3624)
- Default precision on tap changer rule generation: Applied correct default precision when generating tap changer rules (#3650)
- Generation dispatch form label: Removed unnecessary label and fixed error message display in the generation dispatch form (#3646)
🧹 Cleanup & Deprecations
- Remove unused fetch calls: Cleaned up dead fetch code in the study app (#3607)
- Remove SLD Middle2WT decorator: Removed obsolete decorator for
Middle2WTNodein the SLD server (#202) - Deployment: remove file system storage config: Cleaned up file system storage configuration from deployment manifests (#575)
- Add ingress for gateway: Added missing ingress configuration for the gateway service (#573)
GridSuite v2.28.0
🎯 New Features
NAD & SLD Association
- NAD/SLD diagram linking: Users can now associate Network Area Diagrams (NAD) with Single-Line Diagrams (SLD), enabling seamless navigation between both views (#3556)
Short-Circuit Specific Parameters
- Per-analysis short-circuit parameters: Dedicated parameter management for short-circuit computations, configurable directly from the study and explorer interfaces (#163, #772, #3443)
Custom Base Voltages
- Configurable base voltages: Users can define custom base voltage levels, stored in configuration and applied to SLD, NAD, and network map coloring (#185, #868, #568, #3435, #3579)
Enhanced Prefilled Model Generation
- Smarter tabular modification prefilling: Improved model generation with filter support, NAD config integration and removal of "Select All" for clarity (#3563, #3489, #193)
Load Flow Status Enrichment
- Extended load flow result tab: New metrics and richer status information are now displayed in the load flow results panel (#212, #3530, #3611)
Unbuild All Nodes
- Bulk node unbuilding: New button and endpoint to unbuild all nodes across all root networks of a study in one action (#900, #3581)
Network Modification Description
- Description field on modifications: Network modifications now support a description field for better traceability (#743, #894, #3546)
Attachment Point Enhancement
- Detailed attachment point on line-to-VL: Users can now specify attachment point details when connecting a line to a voltage level (#3525, #739)
🎨 UI/UX Improvements
Rich Equipment Tooltips
- Line & transformer tooltips: Hovering over lines and two-winding transformers in the map now shows key electrical parameters (#3534, #310)
- Generator tooltip: Generator data is now accessible via tooltip in the network map (#3564, #315)
- Load tooltip: Load information exposed as tooltip (#3562, #312)
- Voltage level tooltip in NAD: Voltage level details now appear on hover in NAD (#3570, #313)
SLD Legend Redesign
- Legend as table with voltage level info: SLD legend is now displayed as a structured table, including voltage level details (#198, #188, #3569)
Responsive Panels Layout
- Adaptive panel layout: Study panels now respond dynamically to screen size changes for a better experience on various resolutions (#3549, #3533)
Permission-Aware Editing
- Read-only mode in explorer: Elements can no longer be edited when the user lacks write permission (#778)
Equipment Search Ordering
- User-input-first results: Equipment search now prioritizes results that start with the user's input, then sorts by type and alphabetically (#886)
Spreadsheet Improvements
- Filter empty column values: Empty values in spreadsheet columns can now be filtered out (#3567)
- Formula edition dialog layout: Improved layout for the spreadsheet formula edition dialog (#3593, #3608)
- Enhanced contingency list panel: Contingency list by filter panel now resizes correctly at breakpoints (#775, #779)
🔧 Technical Improvements
Operational Limits by Name
- Limits group access by name: Temporary limit data is now accessed by name rather than index, with spreadsheet initialization aligned accordingly (#309, #317)
Context Propagation
- Async executor context passing: Proper request context propagation within executor services across conversion, SLD, geo-data, and study servers (#226, #190, #168, #885, #893)
Exception Handling Harmonization
- Unified error responses: Harmonized exception handling across short-circuit, voltage-init, sensitivity-analysis, security-analysis, and load-flow servers (#170, #129, #143, #208, #209)
Network Elements Retrieval by Global Filter
- New filter-based endpoint: Study server exposes a new endpoint to retrieve network element infos using global filters (#897, #316)
Form Migration to React Hook Form
- Export case dialog modernization: Export case dialog migrated to React Hook Form for improved validation and performance (#3543)
SpringBoot 3.5.6 Upgrade
- Backend dependency bump: All backend servers upgraded to SpringBoot 3.5.6 (filter-server #176, directory-server #224, explore-server #163, user-admin-server #86, and others)
🐛 Bug Fixes
- Copy-paste in workspaces: Fixed inconsistent copy-paste behavior across study workspaces (#3584)
- SA/SE/VI computation status: Fixed incorrect status and result invalidation when resetting parameters to profile origin (#895)
- Saved NAD config cleanup: Fixed stale NAD configuration not being properly cleaned up on save (#3529)
- CSV export language injection: Prevented
sysfrom being passed as a language parameter in CSV exports (#3571) - Prefilled model in tabular modification: Fixed generation of prefilled models in tabular modification mode (#3576)
- Global filter subtype on collection duplicate: Fixed subtype not being copied when duplicating a filter collection (#83)
- Load flow status computed values: Fixed incorrect computed values in some load flow status entries (#216)
- Attachment point creation dialog: Fixed layout and validation issues in the attachment point dialog (#3594)
- Max built nodes error display: Fixed error message display when the maximum number of built nodes is exceeded (#3494)
- Shunt compensator validation: Fixed validation button being incorrectly disabled in shunt compensator creation dialog (#3613)
- Disconnected colors consistency: Unified disconnected equipment colors between SLD and NAD (#3554)
🧹 Cleanup & De...
GridSuite v2.27.0
🎯 New Features
Study Navigation & Workspace
- Workspaces UI: Major redesign of the workspace interface with improved layout management and user experience (#3480)
- SLD navigation system: New navigation system for single line diagrams enabling easier movement between voltage levels and network elements (#3501)
- Network Analysis Diagram (NAD) configuration management: Added support for saving and managing NAD configurations, allowing users to preserve their custom network visualization settings (#879, #3519)
- Workspace panel persistence: Workspace panels now preserve their positions and sizes when closed, making it easier to restore your preferred layout (#3511)
- NAD voltage level locator: Added ability to search and locate specific voltage levels within NAD (#3455, #3458)
Single Line Diagram Enhancements
- Short-circuit current (ICC) display in SLD legends: Voltage level single line diagrams now display ICC values in their legends when short-circuit computations have been run, providing critical fault analysis information directly in the visualization (#189, #881, #171, #3473)
Access Control
- Write permission enforcement: Studies in read-only directories are now protected - users without write permission cannot open studies for modification, preventing accidental changes to protected content (#768, #3485)
Results & Analysis
- Enhanced CSV export with sorting: CSV result exports now support sorting and filtering without pagination constraints (#882, #3477)
Spreadsheet Features
- Copy to clipboard: Added option to copy spreadsheet content as CSV directly to system clipboard (#3454)
- Formula editing improvements: Field selection from tree view now inserts at cursor position when editing spreadsheet formulas (#3469)
- Formula error display: Added proper error handling and display for invalid formulas with localized error messages (#3439)
Network Modifications
- Import parameters in root network creation: Import parameters can now be modified when creating root networks (#3466)
- Cut-paste harmonization: Improved clipboard behavior for nodes and network modifications across multiple open studies (#3468)
- Operational limits groups management: Enhanced UI for managing operational limits groups with contextual menus and improved validation (#3467, #3427, #3460)
Report Management
- Advanced report inheritance system: Implemented robust report management that properly handles report inheritance across node trees, prevents premature deletion, and supports report reuse (#878, #728, #136)
🎨 UI/UX Improvements
Contingency List Management
- Resizable contingency list form: Contingency list filter-based forms now use resizable panels with responsive layouts for better space utilization (#769)
- Equipment type labels: Updated filter chips to use improved equipment type labels for better clarity (#766, #762)
Workspace Enhancements
- Workspace styling improvements: Visual refinements to workspace interface for improved aesthetics and usability (#3521)
- Panel corner resize handles: Enhanced panel resize handles for more intuitive window management (#3513)
- Parameters panel close confirmation: Added confirmation dialog when closing the parameters panel to prevent accidental loss of unsaved changes (#3508)
Visualization
- Diagram viewbox preservation: Single line diagrams now maintain their zoom and pan position when updating (#3499)
- SLD legend visibility: Fixed bottom padding in SLD legends to ensure all content is visible in the default viewbox (#194)
- NAD hover popup fix: Fixed issue where hover popups would not disappear when right-clicking on NAD elements (#3432)
Operational Limits UI
- Enhanced error visibility: Added error icons next to operational limits groups without limits for better validation feedback (#3460)
- Contextual menu: Right-click contextual menu for operational limits with delete, duplicate, and rename options (#3427)
- Improved naming interface: Enhanced UI for editing operational limits group names with better validation (#3467)
🔧 Technical Improvements
Framework Upgrades
- React 19 upgrade: Major upgrade to React 19 across all frontend applications (#745, #3491, #142)
- PowSyBl dependencies 2025.2.0: Updated to the latest PowSyBl framework version across all backend services
Performance & Architecture
- Indexation complexity reduction: Simplified and optimized network element indexation logic, reducing object creation and storage overhead (#732)
- Modification application refactoring: Refactored to use DTOs throughout the modification application pipeline for better transaction management (#731)
- Filter library integration: Unified results filtering logic across computation servers using shared filter library code (#208, #206, #142, #168, #128)
REST Template Standardization
- Spring Boot managed RestTemplate: Migrated to Spring Boot managed RestTemplate across all services for better configuration management and HTTP client consistency (multiple PRs: #145, #220, #159, #172, #204, #202, #724, #139, #164, #125, #47, #84)
Error Handling
- Improved exception handling: Implemented standardized error handling with business exception framework and reduced unnecessary error wrapping (#871, #872, #873, #3452)
- Cyclic filter detection: Enhanced filter error messages to include filter names involved in cycles for better debugging (#177)
Code Quality
- Test suite improvements: Split large test classes into focused, maintainable units for better test organization (#877)
- Component refactoring: Extracted reusable components and simplified complex component logic (#3488, #3496, #3449)
Operational Improvements
- Blocking supervision endpoints: Made node invalidation endpoints blocking for better deployment script reliability (#888)
🐛 Bug Fixes
Data Integrity
- Variant deletion race condition: Fixed critical issue where deleting and recreating variants in rapid succession could cause data corruption (#159)
- Operational limits groups query: Fixed exception when querying operational limits groups for lines without selected groups (#160)
- HVDC converter station indexation: Corrected indexation to use specific HVDC converter station...
GridSuite v2.26.0
🎯 New Features
Asynchronous Network Export & Case Conversion
- Async Export/Conversion: Network exports and case conversions are now performed asynchronously with S3 storage support for result files (#201, #849, #743)
Enhanced SLD Legend
- Generator & Load Values: Added sum of load and production P values to single-line diagram legend (#182, #3421)
Network Topology
- Topology Endpoint: Refactored topology information handling and created new dedicated endpoint (#298, #857)
Limits Management
- Operational Limits Groups: Added Limits properties support for two-winding transformers, lines, and operational limits groups (#295, #704, #717)
Battery Short-Circuit Fields
- Battery Modifications: Added TRANSIENT_REACTANCE and STEP_UP_TRANSFORMER_REACTANCE to modify by filter and by formula for batteries (#3437)
🎨 UI/UX Improvements
Modification Search Grouping
- Grouped Results: Network modifications search results are now grouped by modification ID for better readability (#719, #3417, #3436)
Export Success Notifications
- Success Snackbar: Replaced info notifications with success notifications for completed export operations (#757, #3451)
Directory Owner Display
- Owner Identity: Directory owner identity is now displayed in properties dialog and tooltips (#756, #753)
Limit Set UI
- UI Improvements: Enhanced UI around the limit set switch for better user experience (#3413)
🔧 Technical Improvements
Error Handling
- Standardized Exceptions: Implemented consistent exception handling across multiple servers (#213, #155, #170, #78, #744)
- Business Errors: Added proper snackbar notifications for backend business errors (#744)
Spring Boot 3.4.9 Migration
- Framework Upgrade: Migrated all backend services to Spring Boot 3.4.9 with ReactorHttpClient regression fixes (Multiple PRs across repositories including #147, #708)
- HTTP Client Configuration: Added managed RestTemplate support with configurable SimpleClientHttpRequestFactory to address hangs (#55, #92, #219)
Resource Optimization
- CPU & Memory Sizing: Comprehensive adjustment of CPU and RAM requests/limits for all deployments with new template system (#554, #560, #562, #563, #565, #566)
Database Performance
- Connection Pool: Increased Hikari maximumPoolSize from 10 to 20 for better performance (#164, #178)
- Index Optimization: Added indexes on start_date and end_date columns in announcement table (#82)
Async Request Handling
- Servlet 3.0+ AsyncContext: Import/export operations no longer block Tomcat threads (#695)
Data Model Improvements
- UUID Primary Key: Added UUID primary key to EquipmentTypesByFilterIdEntity (#142)
- Single Entity Model: Unified tabular modifications to use a single entity (#696)
User Profile Handling
- Default Profile: User admin now returns default profile with default configuration instead of 404 when profile not found (#157, #80, #861)
Native Image Support
- GraalVM Metadata: Added Liquibase metadata for native image compilation (#219)
- Base Image: Switched to builder-jammy-base for native image builds (#225)
Development Tools
- Vite 7 Upgrade: Upgraded ViteJS to version 7 (#141, #742)
- ESLint & TypeScript: Upgraded ESLint, TypeScript, and Prettier with Airbnb style guide (#145, #146, #749, #752, #3412, #3418)
Permissions
- Scope Separation: Properly separated permission scope from directory scope (#222)
- Admin Bypasses: Added admin explore read permission bypasses (#218)
Filter Validation
- Voltage Init Filters: Added validation for filters in voltage initialization parameters (#123, #122)
- Generation Dispatch: Added logging for filters not found in generation dispatch (#720)
Move Feeder Enhancement
- Improved Workflow: Enhanced move feeder functionality with better handling (#3416)
🐛 Bug Fixes
- Spreadsheet CSV Export: Fixed exclusion of empty calculation lines from export (#3440)
- Spreadsheet Filter Application: Prevented filter application on unbuilt nodes (#3431)
- Spreadsheet Model Import: Fixed column filters not being passed during import (#3434)
- Spreadsheet Button Disabling: Fixed toolbar button state when node is not built (#3445)
- Modification Double Request: Fixed duplicate requests when editing with double-click (#3426)
- Formula Editor: Removed double-click variable insertion in formula editor (#3425)
- Formula Length Validation: Limited spreadsheet column formula to 1000 characters (#3429)
- Tabular Modification Optimization: Reverted optimization when moving or loading modifications (#718, #712)
- Reactive Limits Form: Fixed validation and empty field handling (#3444)
- Min/Max Control: Fixed validation for voltage levels and active power limits (#3424)
- Connection Position Check: Replaced blocking check with warning for duplicate positions (#3423)
- Direct Study Creation: Fixed element not found error when creating study without case conversion (#158)
- Voltage Init Preview: Fixed preview button functionality (#3414)
- Generation Dispatch Substation: Enabled free substation ID input (#3422)
- Generation Dispatch Filters: Added filter translations for proper label display (#3420)
- **Securit...
GridSuite v2.25.0
🎯 New Features
Filter & Contingency Management
- Enhanced Filter-Based Contingency Lists: Added support for filtering by substation or voltage level with selected equipment types (#140, #169, #741, #858)
Network Modifications
- Cross-Study Copy/Paste: Network modifications can now be copied and pasted between different studies (#3357, #3382, #856)
- Move Feeder Bays Enhancement: Improved feeder bay movement with support for duplicated feeder IDs for internal branches (#3368, #3391, #301)
- Modification Menu Refactor: Streamlined modification menu for better usability (#3388)
Battery Short-Circuit Support
- Battery Short-Circuit Properties: Added support for battery short-circuit information in forms, creation, and modification workflows (#297, #698)
Operational Limits Groups Management
- Enhanced Limits Groups: Added limits group properties and improved edition for lines and transformers (#3363, #3371, #3392)
- Operational Limits Groups Switch: Added support for editing operational limits groups (#691)
🎨 UI/UX Improvements
Map Enhancements
- Fixed Map Initial Position: Resolved issues with map positioning on load (#3398)
- Voltage Level Aggregation: Improved nominal voltage filter with aggregated voltage levels (#3387)
- Disabled Tilt & Rotation: Disabled map tilt and rotation interactions for better user experience (#3355)
Single Line Diagram (SLD) Improvements
- SLD Navigation: Reuse the same SLD when navigating voltage levels, or use CTRL to open a new one (#3359)
- Transformer Arrow Style: Updated phase shift transformer arrow style in NAD and SLD (#3354)
- Fixed Transformer Interactions: Removed unintended node bolding on transformer circle hover (#3383)
- Network Viewer Update: Upgraded to powsybl-network-viewer 2.0.0 (#3394)
- NAD Viewbox Fix: Fixed viewbox issues in NAD (#3372)
Spreadsheet Enhancements
- Update Performance: Improved spreadsheet updates on large modifications (#3360)
Other UI Improvements
- Formula Fields Aid: Various enhancements to formula fields assistance (#3377)
- Tooltip Persistence Fix: Fixed tooltip persistence issues (#3362)
- Disabled Icons: Properly disable icons for root nodes (#3361)
- Diagram Focus: Added focus functionality on opened diagrams (#3366)
- Contingency List Padding: Improved padding in contingency list by filter (#735)
🔧 Technical Improvements
Performance & Architecture
- Async Processing: No longer block Tomcat threads when waiting for geodata (Servlet 3.0+ AsyncContext) (#162)
- Modification Transactions: Split long-running transactions for better performance (#690)
- Thread Pool Optimization: Use bounded thread pool for large modifications (#692)
- Tabular Modifications: Unified entity handling for tabular modifications (#696)
- Transaction Management: Improved remote data deletion without aborting transactions (#838)
Dependencies & Libraries
- Jest v30: Upgraded to Jest version 30 (#135, #727)
- UUID v13: Upgraded UUID library to version 13.0.0 (#134, #722)
Code Quality
- API Refactoring: Refactored API utility functions (#143, #3395, #746)
- Error Handling: Improved error handling throughout applications (#738, #3390)
- Exception Messages: Replaced TODO exception messages with detailed descriptions (#299, #699)
- Sonar Fixes: Node.js built-in modules now use "node:" protocol (#138, #731)
- Permissions: Homogenized permissions checks (#215)
🐛 Bug Fixes
- Switch Updates in SLD: Fixed error handling for switch updates (#3390)
- Voltage Level Creation: Added default country for new substations in voltage level creation (#3370)
- By Filter Modification: Fixed issues with by filter modification (#3367)
- Move Feeder Bays Label: Fixed label issues (#3374)
- Busbar Section Retrieval: Enhanced busbar sections retrieval (#294)
- Indexed Modifications: Fixed update issues with indexed modifications (#697)
- User Profile Handling: Improved handling when user profile is not found (#157, #80, #861)
- Row Counter Fix: Fixed stale display issues in spreadsheet row counter (#3381)
- Buses Tab Fix: Resolved spreadsheet update issues on buses tab (#3378)
- Column Management: Fixed column toggle and lock handlers (#3384)
🧹 Cleanup & Deprecations
- Non-Evacuated Energy: Removed non-evacuated energy computation (#543, #150, #854, #135)
- React-Ace Components: Removed unused react-ace components (#729)
- SVGO Package: Removed svgo package (#139, #733)
- LintOnStart: Removed lintOnStart from Vite config (#140, #736)
- Logging: Changed to debug logging for directory server exceptions (#212)
- Map Layout Cleanup: Deleted entries in map_layout_entity table (#76)