Home / Downloads / Release Notes

Ignition Release Notes

Fixes, changes and features In Ignition

Version 8.1.12

Released November 18, 2021
Area
Change Type
Description

DNP3

Connectivity
Enforce Vision Client access controls on system.dnp3.freeze* scripting functions.

OPC-UA

Connectivity
Count running simulators as connected in "Connected Devices" metric on the Status > Devices page.
Connectivity
Fix behavior of device simlulator's "realistic" function relative to its set/start point.
Connectivity
Recognize both "edge-iiot" and "edge-mqtt" license parameters.

Perspective

Visualization - Web
Fixed specific Gateway wrapper log error happening due to tooltip style property
Visualization - Web
Added new JVM property: perspective.websocket.max-message-size
Visualization - Web
Overall performance with Piping has been improved, particularly when zooming with complex pipes. This was achieved by reducing the complexity of the SVG masks generated for P&ID pipes as well as various other performance related optimizations, little to no visual differences should occur.
Visualization - Web
Added "Cache & Share" option to polling tasks and Alarm tables to improve Gateway CPU load caused by many concurrent sessions
Visualization - Web
When the "download" icon is clicked, the cursor while hovering over the component will display a progress state (loading spinner or hourglass depending on the browser). Additionally, the "download" button will be disabled. These changes will remain in place until the report has been downloaded to the browser at which point the browser will either present a dialog asking the user to open/save/cancel (if the user has not made a permanent browser download preference), or the browser will honor whatever download preference the user has made.
Visualization - Web
A new prop has been added to the Numeric Entry Field to control the spinner - props.spinner.enabled will display a spinner when true, and props.spinner.increment controls the amount to increment(or decrement) the value when using the spinner.
Visualization - Web
Values written from bi-directional tag bindings on Perspective Text Field / Text Area components to Tag Properties are no longer wrapped in quotes
Visualization - Web
There was an issue with Piping in which having multiple Coordinate Container with Pipes would affect the rendering of each other, resulting in the pipes being partially rendered. This has been fixed.
Visualization - Web
The URL content disposition when using the scripting function system.perspective.download, this allows for non-ASCII keys to be used for the filename parameter
Visualization - Web
The Popup now stores any updates to view params (output or inout) and merges them to provide updated parameters to the view that it presents.
Visualization - Web
The `config.visibility.buttons.showSettingsButton` component property now hides the "Settings" menu item when set to `true` and the chart is in responsive mode.
Visualization - Web
Keeping the interaction of sibling dropdown components from crossing into each other.
Visualization - Web
When a TimeoutException is encountered, the following will be logged to the console: "Unable to save the view. Could not retrieve view resource data." When any other exception type is encountered, the following will be logged to the console: "Unable to save the view".
Visualization - Web
A download queue system has been implemented for the system.perspective.download. Functionally this has no impact, except for the Safari browser which can now download multiple files when there are multiple simultaneous calls of system.perspective.download where it couldn't previously. A short 250ms delay between each of the initiation of each of the downloads has been added for all browsers when calling system.perspective.download multiple times simultaneously.
Visualization - Web
An individual marker is only redrawn when the `layers.ui.marker[x].icon` component property of that marker is modified.
Visualization - Web
Component tooltips will now correctly update if any of its properties have changed
Visualization - Web
Deleting a param from a view through the property editor will no longer orphan its propConfig in the view json. This prevents the deleted param from showing up in the param suggestions menu within the property config (for example, when using an Embedded view component). Previously orphaned propConfigs will remain, however they may be cleaned up manually either through editing the view json or by adding the param back and then deleting it once again.
Visualization - Web
Fixed encoding of event.params argument to the "onInstanceClicked" event of the view canvas component.
Visualization - Web
Listening for WebSocket errors and trapping two error types that will render the WebSocket unrecoverable. In those cases, the session will be disconnected. All other WebSocket errors are now logged for easy visibility in case this first effort doesn't solve the problem.
Visualization - Web
In the Designer, reverting changes to a Perspective View, Style, or other pre-existing project resource will no longer result in that resource being deleted. Rather it will be restored at its original name. Resources that did not previously exist/have not been saved will still be deleted upon revert changes.
Visualization - Web
Fixed specific Gateway wrapper log happening due to tooltip style property
Visualization - Web
Fixed an issue where in the Designer the Tab Container's "+" add tab button was missing when nested within a coordinate container, or non-functional in all other instances. Also Fixed an issue where in the Designer, the Tab Container's delete tab confirmation would remain active even when switching tabs or deep selecting other components.
Visualization - Web
fixed NPE that would occasionally happen with the Alarm Status Table when restarting the gateway

Platform - Alarms

Data Model
Fixed an issue which prevented alarm associated data named "value" from correctly evaluating after the tag provider has been restarted.

Platform - Designer

Visualization - Swing
The script console now automatically updates with any project script changes within the current Designer session.

Platform - Gateway Network

Enterprise
Docker image now redirects, via sym-link, Gateway Network keystore creation from `webserver/metro-keystore` to `data/local/` folder. This allows a Docker container's gateway network certificate identity to persist via the data volume without having to rely on extra bind-mounts.

Platform - IdP + User Sources

Security
Save button is now enabled when importing new IdP metadata which changes existing settings
Security
Exposed a new system property `ignition.http.client.manager.cookieSpec` to control the cookie parsing behavior of the IdP and Perspective HTTP Binding's Http Client. This new system property may take one of the following values: - `default`: Default cookie specification that picks up the best matching cookie policy based on the format of cookies sent with the HTTP response. - `netscape`: This CookieSpec implementation conforms to the original draft specification published by Netscape Communications. It should be avoided unless absolutely necessary for compatibility with legacy applications. - `standard`: Standard CookieSpec implementation that enforces a more relaxed interpretation of the HTTP state management specification (RFC 6265, section 5) for interoperability with existing servers that do not conform to the well behaved profile (RFC 6265, section 4). - `standard-strict`: Standard CookieSpec implementation that enforces syntax and semantics of the well-behaved profile of the HTTP state management specification (RFC 6265, section 4). If the system prop is undefined or does not match any of the supported values, default value should be `default`, which is the spec that was used by default in Ignition versions before this system property was exposed.
Security
Added more lenient parsing for OIDC IdPs which set `updated_at` property values on UserInfo responses which are not compliant with the OIDC spec
Security
Exposed a new system property `ignition.http.client.manager.proxy.enabled`. If set to `true`, the Platform's HTTP Client will respect the JVM's system default proxy settings. If `false`, the Platform's HTTP Client will ignore the JVM's system default proxy settings and disable proxying altogether as it has always been. Default value if undefined is `false` to reduce risks of breaking anything on upgrades. This new system property affects the IdP system and Perspective Http Binding's Http Client
Security
Exposed the following new system properties: 1. `ignition.http.client.manager.socket.keepalive` - when set to `true`, HTTP connections issued from the IdP system as well as Perspective's HTTP Bindings will set the `SO_KEEPALIVE` flag on the underlying socket, which should enable keepalive. Note: the OS keepalive settings must also be set accordingly. When set to `false` or undefined, the SO_KEEPALIVE flag remains unset on these sockets, just as they always have been in the past. 2. `ignition.http.client.manager.pool.maxIdleConnectionTime` - an integer representing the number of seconds that connections in the HTTP connection pool may be idle (i.e. no data is sent or received on the socket) before it is evicted and closed. If set to any number less than or equal to zero or undefined, idle connection eviction will be disabled as it always has been in the past. 3. `ignition.http.client.manager.pool.idleConnectionCheckInterval` - an integer representing the duration in seconds between each check for idle connections. This value is ignored when `maxIdleConnectionTime` is less than or equal to zero. If this value is undefined or less than or equal to zero, then the interval is set to match `maxIdleConnectionTime`.

Platform - Redundancy

Enterprise
A checksum is now used for file integrity verification when performing a system restore on a redundant backup.

Platform - Scripting

Platform
Fixed an issue where the script console wasn’t updating properly with project script changes when merging any project updates.
Platform
Fixed an issue that prevented traceback line numbers from being shown in log output.
Platform
Fixed an issue where a supplied `onError` callback for `system.util.sendRequestAsync` would not be called.
Platform
Fixed an issue where resetting the script console wasn’t properly disposing of resources.
Platform
Fixed an issue with `system.util.getGatewayStatus()` system function where incorrect values would be returned when run against older gateway versions.

Platform - Security Model

Security
Detailed server information is no longer leaked by Ignition's web server when an unhandled exception is thrown while handling HTTP requests

Platform - Tags

Data Model
Ensure one-shot driven Tag Groups only execute once when the condition evaluates to true and not on subsequent changes that cause the condition to remain true (i.e. on the rising edge).
Data Model
Fixed an issue where the legacy system.tag.editAlarmConfig function wouldn’t include the alarm name property within the tag’s alarm configuration.
Data Model
UDT Instances that aren't nested in UDT Definitions can have their Parent Types changed now.
Data Model
Tag folder names now retain casing when upgrading from 7.9
Data Model
Prevent adding non UDT Definition tags from being added to Types folder through scripting.
Data Model
Importing OPC Items with invalid first character will now be prefixed with underscore.

Platform - Web Interface

Visualization - Web
Within the Gateway: logged out users or users who no longer have permissions for the appropriate Gateway section (Config/Status) will be taken to the Login Page or insufficient permissions page respectively via an automatic Browser Refresh.

Platform - Web Server

Infrastructure
Docker image now redirects, via sym-links, SSL keystore creation from `webserver/ssl.pfx` and `webserver/csr.pfx` to `data/local/` folder. Disabling SSL now recognizes presence of sym-links when removing the keystore and removes the final target of the link, leaving the sym-link in place. This allows a Docker container's SSL configuration to persist via the data volume without relying on extra bind-mounts.

Reporting

Visualization - Swing
Fixed an issue with the `runScript` expression function in report parameter's default values.
Visualization - Swing
Fixed some edge cases that could throw errors in Vision's report viewer component, including attempting to print a report before it has finished loading.
Visualization - Swing
Made certain properties of cross tab & simple table cells read only in the property inspector to indicate that they cannot be edited outside of the design tab.
Visualization - Swing
Reports now follow project session time zone for the Perspective Report Viewer.
Visualization - Swing
Exposed Top/Left/Bottom/Right divider properties for cross tab and simple table cells, to allow toggling the default dividers.

Vision

Visualization - Swing
Dragging and dropping dataset values onto Vision components will correctly create bindings.
Visualization - Swing
Fixed various rendering issues with the Dropdown component when in 'Table' mode. Also, added functionality so that if 'Max Table Width' or 'Max Table Height' are negative, the table popup will grow to fill contents.
Visualization - Swing
PNG, SVG, GIF, and JPEG formats are now supported as launch icons for the Vision Client Launcher. These can be specified in the applications config or within the project's Vision -> launching -> Launch Icon
Visualization - Swing
When upgrading from 7.9 to 8.1, client tags are no longer lost when overlapping records exist in the internal database.
Visualization - Swing
Added thread dump saving and automatic EDT blockage monitoring to the designer and Vision client