Neops Web Client 3.2.0
Released 2026-06-03
This is a major working-release update rather than only a visual refresh. It adds a safer dry-run path for configuration tasks, dedicated execution details, recurring-task management, structured dashboard editing, and an Angular 20 and Carbon 11 interface foundation.
At a glance
| Area | What changed | Why it matters |
|---|---|---|
| Configuration tasks | Supported tasks can run as a dry run before changes are applied. | Users can review the proposed configuration and keep the same targets and inputs when they decide to apply it. |
| Executions | Each execution can open on its own details route with task, subtask, entity, and device-log context. | A running or failed execution is easier to revisit, bookmark, and investigate. |
| Recurring tasks | A cron job browser and editor are available in the web client. | Users can create and maintain schedules without editing the backend record directly. |
| Dashboard charts | Color mappings use structured editor controls with presets and custom hexadecimal colors. | Dashboard authors can make operational states visually consistent without hand-editing an encoded value. |
| Tables | Columns can have explicit sizes and can be hidden from the table while remaining in row details. | Dense tables can emphasize the fields that matter during scanning. |
| Platform | The UI moves to Angular 20 and Carbon Design System 11, and entity IDs become numeric. | Custom extensions need compatible dependencies, and some saved JMESPath comparisons may need updating. |
Highlights
Preview a configuration task before changing devices
Supported configure tasks now have a Dry run choice in the task panel. The task follows the normal execution workflow, but the execution details show the proposed configuration outcome before the user commits to applying it.
| 1. Prepare | 2. Preview | 3. Decide | 4. Continue |
|---|---|---|---|
| Choose the task, targets, and inputs. | Enable Dry run, start it, and inspect the proposed changes. | Apply the result or leave the devices unchanged. | Applying or replaying reopens the task with the same targets and inputs. |
A typical workflow is:
- Open a configure task and select the devices or interfaces it should target.
- Enable Dry run and start the task.
- Follow the new execution into its details view.
- Review the diff-oriented result and any entity-level failures.
- Use the follow-up action to apply or replay it without selecting the targets and entering the task data again.
The web client preserves the target selection and task inputs, including older backend payloads where the target context is serialized inside the task arguments.
Give every execution a stable place to inspect
Executions now open at /executions/:executionId.
The routed page brings together the execution summary, task and subtask status, affected entities, result messages, and remote device logs when they are available.
This changes the investigation flow from a temporary side-panel-only view to a page that can be reopened directly. Polling also stops when an execution reaches a final state and refreshes active visible rows without discarding richer detail already loaded for the selected execution.
Create and edit recurring tasks in the web client
The new cron job browser lists saved schedules in a searchable table and keeps the toolbar available even when the first schedule has not been created yet. Users can create a job from the toolbar or open an existing row to edit its schedule, task, and target filter.

The first cron browser makes recurring jobs discoverable and editable from a normal Neops table.
For a cron schedule, the five values represent minute, hour, day of month, month, and day of week. Periodic jobs use an interval and period instead.
Configure chart colors with structured values
Bar and pie chart cards, including their aggregation variants, now edit colorMapping as repeatable rows.
Each row pairs a result label with a preset color or a custom hexadecimal value.
The saved dashboard configuration remains a compact object:
{
"cardId": "pie-chart",
"data": {
"title": "Interface status",
"entityType": "interface",
"groupJmesPath": "@[*].state",
"colorMapping": {
"UP": "green",
"DOWN": "red",
"MAINTENANCE": "#8a3ffc"
}
}
}
Preset values are red, green, yellow, orange, and blue.
Custom values accept three-, six-, or eight-digit hexadecimal colors.
Label matching is case-insensitive, while the chart keeps the label spelling returned by the data.
Existing object mappings and legacy string mappings continue to load. The editor translates them into rows while editing and saves them back in the compatible object form.
Make dense tables easier to scan
Dynamic table columns now accept columnSize and visible in their header configuration.
The following example gives the primary name more room and moves an internal identifier out of the main table while keeping it in expanded details:
{
"columns": [
{
"header": {
"data": "Name",
"orderKey": "name",
"columnSize": "lg"
},
"labelExpression": "name"
},
{
"header": {
"data": "Internal ID",
"orderKey": "id",
"columnSize": "sm",
"visible": false
},
"labelExpression": "id"
}
]
}
columnSize accepts xs, sm, md, lg, xl, xxl, or grow.
If visible is omitted, the column remains visible.
Setting it to false hides the column in the main table but keeps its value available in the expanded row detail.
Bring task tools into the updated interface
The Jinja renderer, JMESPath evaluator, and TextFSM processor are carried into the Angular 20 and Carbon 11 interface. Report and card selection flows, expanded-row wrapping, multi-line table labels, and JSON form selections were also corrected during the migration.
Upgrade notes
Review JMESPath expressions that compare IDs
Entity IDs are numeric in the underlying client models from this release. A saved expression that compares an ID with a quoted string may no longer match.
For example, change a string comparison such as [?id == '42'] to the numeric JMESPath literal [?id == `42`].
Align custom extensions with the new platform
Custom web-client extensions must be compatible with Angular 20 and Carbon Design System 11 before they are rebuilt against this SDK line. Standard saved table and chart configurations continue to load through their backward-compatible defaults and adapters.
