Neops Web SDK 5.2.1
Released 2026-09-23
Web SDK 5.2.1 prevents unsupported sorting in dynamic entity tables and asks before closing a dialog that contains unsaved edits.
At a glance
| Area | What changed | Why it matters |
|---|---|---|
| Dynamic entity tables | Sorting controls follow the fields advertised by Core for each entity index. | A configured column can no longer send an unsupported Elasticsearch sort request. |
| Table configuration | Unsupported orderKey values remain visible but cannot be selected for sorting. |
Dashboard authors get a concrete explanation without losing the column. |
| Dialogs | Backdrop clicks, the header close button, Cancel, and Escape use one dirty-state policy. | Edited values are not discarded without confirmation. |
Highlights
Dynamic tables validate sorting before enabling it
Dashboard table columns can still declare an orderKey in their existing configuration:
When the table loads, the SDK asks Core which public ordering keys the entity index supports.
If updatedAt is supported, the column uses the existing sorting flow.
If it is not supported, the column stays visible but its sorting control is disabled with this explanation:
Sorting is unavailable because ‘updatedAt’ is not supported by this backend.
The SDK shows one warning for each misconfigured column instead of repeating the same notification whenever the table renders.
No saved configuration migration is required.
Dashboard authors should correct unsupported orderKey values when the warning identifies them.
During a mixed-version rollout, a recognized older Core version keeps the previous configured sorting behavior. Transient capability failures are retried, and late responses are ignored after a dashboard card is replaced or destroyed.
Dialogs protect unsaved edits consistently
Editable dialogs now use the same close policy for every common dismissal gesture:
- Open a dialog and change a value.
- Select Cancel, press Escape, click the header close button, or click the backdrop.
- Choose Keep editing to return to the dialog or Discard changes to close it.
Clean and read-only dialogs still close immediately. Save actions close directly after the component handles the save. Carbon selectors, Monaco editors, and native form controls all participate in dirty tracking.
Changing a value and then changing it back still counts as an edit for this policy. The confirmation is deliberately conservative because it does not compare serialized form snapshots.
Upgrade notes
Deploy Neops Core 2.1.2 and rebuild the devices, interfaces, clients, and groups Elasticsearch indexes before relying on the new sorting capability contract.
@zebbra/ngx-neops-client now requires @zebbra/neops-angular-graphql-client >=2.1.2 <3.
All seven SDK npm packages and the quay.io/zebbra/neops-web-sdk Docker image were published as version 5.2.1.
