Ignition Release Notes
Fixes, changes and features In Ignition
Version 8.1.17
Released May 12, 2022Area
Change Type
Description
AB Suite
Connectivity
Reverted a change introduced in 8.1.15 that traded increased CPU usage for lower memory usage.
Backup & Restore
Platform
`$GATEWAY_HOME/data/logback.xml` is now included in gateway backups.
BACNet
Connectivity
Upgraded the BACnet library used by Ignition's BACnet driver.
* enables caching of already-discovered devices
* limits concurrent device initialization to prevent overwhelming the network
* debounces global broadcast discovery messages to prevent possible "broadcast storm"
Connectivity
Added support for Elapsed_Active_Time and Time_Of_Active_Time_Reset properties on BI, BO, and BV objects.
Commissioning
Infrastructure
Fixed an issue where Commissioning would not allow you to continue past the port selection step while using Linux 'reserved ports', even if the service would be able to bind to those ports.
Deployment
Infrastructure
Docker image now supports a new `GATEWAY_MODULES_ENABLED` environment variable that can declare a comma-delimited set of identifiers that will whitelist the set of built-in modules that will remain installed prior to gateway startup. This feature will help with container re-creation events where you want to ensure only a subset of modules remain enabled.
Infrastructure
Docker image now supports running as non-root user. Use `IGNITION_UID` and `IGNITION_GID` environment variables to set the numeric UID/GID values for the target user to run Ignition as. When set, the entrypoint will automatically update file ownerships for the Ignition installation on startup to match the target user prior to stepping down from `root` user to launch the gateway.
DNP3
Connectivity
Added setting to disable time synchronization in DNP3 driver.
EAM
Enterprise
EAM Gateway Config section items are now sorted in alphabetical order
Enterprise
- EAM Collect Backup task now times out by default after waiting 60 minutes for the agent to generate the backup plus another 60 minutes for the agent to transfer the backup to the controller over the Gateway network if the backup generation did not timeout (previous defaults were 60 seconds for backup generation plus 10 minutes for backup transfer, which was too short for some large backups).
- Transfer timeout is configurable using system property `ignition.eam.task.collectBackup.transferTimeout` (must be a valid integer measured in milliseconds)
Installers
Infrastructure
Upgrades performed by the installer now fully wait for the backup to complete instead of cancelling at the 30 second mark for updates starting from 8.1.17. The gwcmd utility starting with 8.1.17 now supports a timeout argument for backups to allow for very large backup creation
Infrastructure
The installer now provides timestamped logs for installs and upgrades in the logs directory and uninstall logs in the root install directory.
Java - Azul
Infrastructure
Updated the bundled Java runtime across all scopes to the latest patch release - 11.0.15.
Modbus
Connectivity
Fixed a race condition that caused Modbus connections to get stuck in "Connecting" state after Ignition Gateway start/restart. The race condition was only likely to be triggered on under-powered single-core embedded hardware.
OPC-UA
Connectivity
Fixed a possible memory leak when 3rd party client connections allow their subscriptions to time out.
Connectivity
Implement a client-side subscription watchdog timer that re-creates subscriptions when 125% of the keep-alive interval has elapsed with no response from the server.
Connectivity
The Ignition OPC UA server's max session count is now configurable.
Connectivity
The $GATEWAY_HOME/data/opcua directory is now included in gateway backup files.
Connectivity
Simulator functions now work with non-US locales
Connectivity
Prevent Simulator functions from returning values outside of minimum and maximum bounds.
Perspective
Visualization - Web
Increased performance of view startup and shutdown for views with high binding counts.
Visualization - Web
Allow text color and font size to be specified for the info box for the Power Chart and Time Series components. Also includes a feature where the info box will automatically resize if width is set to auto.
Visualization - Web
Added 15-minute zoom level to Perspective Equipment Schedule.
Visualization - Web
The `display.breakLine` property for each pen displaying as a ""line"" chart now works as intended. If set to `true`, a visual break is shown when there is bad/missing data. If set to `false` a line will be drawn between the last and next available good data points in the data this is being shown. If there is not a next/previous good data point available, the line will not be drawn regardless of the setting. Additionally, if there is no good data available per pen in the displaying time range, an overlay will be shown on the tabular pen data below the chart. If available, the quality code will be presented as well.
Visualization - Web
The Table component now has two scripting functions: expandSubviews and collapseSubviews. ExpandSubviews takes in an array of indices of rows to expand (will only expand rows that are currently visibly displayed on the table) and collapseSubviews takes in either an array of indices of rows to collapse (will only collapse rows that are currently visibly displayed) OR no parameter at all to collapse all currently expanded subviews that are part of the current visible data
Visualization - Web
Fixed issue where in/out parameters on a popup could revert values after being written to.
Visualization - Web
A tag listener can now only be registered once per tag in an expression binding.
Visualization - Web
When pen data sources change, the zoom level will be reset to 1X (if zoomed in).
Visualization - Web
Table component selection property will now work with only a selectedRow or a selectedColumn value when its respective enableRowSelection or enableColumnSelection value is true
Visualization - Web
Fixed issue where appearance of scrollbars could cause column widths to be out of sync.
Visualization - Web
Page config json files will now be saved deterministically
Visualization - Web
Now returning a copy of the json structure from the transform to keep the data immutable.
Visualization - Web
Historic array tags work as expected.
Visualization - Web
Fixed issue with inputs losing focus when popup is rendered out of view bounds.
Platform - Alarms
Data Model
Prevented a null pointer exception in the Alarm Status Table when shelving an alarm with a null user.
Platform - Databases + S&F
Data Model
Fixed an issue where the schemas prune task for the store and forward disk store would continue to execute even after the store was shutdown.
Data Model
Fixed an issue where schema information for data contained within the store and forward HSQL database would be improperly removed, resulting in associated serialized data unable to be forwarded.
Data Model
Fixed an unlikely issue where historical tag data couldn't be deserialized when reading from the S&F disk cache due to a ClassNotFoundException when loading com.microsoft.sqlserver.jdbc.SQLServerException class.
Data Model
Fixed an unlikely issue where historical tag data couldn't be deserialized from S&F disk cache after upgrading to 8.1.15 due to ClassCastException thrown when attempting to deserialize incompatible field types.
Data Model
Deleting a disabled database connection will now also delete the associated historical provider.
Platform - Designer
Visualization - Swing
Importing a Project Script Library resource in the Designer no longer presents a "Resolve Conflict" message box if a resource of the same name exists somewhere else in the Project Script Library. Now, a conflict will only be triggered when the existing resource exists at the same path as the resource being imported.
Visualization - Swing
Fixed an issue where the designer would use the wrong tag provider in unqualified tag subscriptions after switching projects.
Visualization - Swing
When editing a Tag Event Script from within a UDT, the Insert Tag action's UDT tab now displays relative to the parent UDT.
Platform - IdP + User Sources
Security
Vision Clients with the Identity Provider Authentication Strategy now allow the login title and message to be customized via Vision's Login Project Properties.
Security
Added audit events for gateway login and logout
Platform - Other
Platform
Significantly improved the performance of the system.util.translate function in gateway scope by caching the translation package between calls.
Platform - Projects
Platform
Fixed "ResourceNotFound" error when importing and overwriting a project resource
Platform - Redundancy
Enterprise
Failover to the other redundant node is now allowed if the nodes have different platform versions, which will allow attached clients to remain connected to at least one node during a redundant pair upgrade.
Platform - Security Model
Security
UI improvements to the following Gateway Pages:
* Config \> Web Server (Included and Excluded Ciphers)
* Config \> Web Server \> Create Certificate (Subject Alternative Names, and DNS Names)
* Config \> Identity Providers \> OpenID Settings (Scope)
* Config \> Identity Providers \> OpenID Settings \> JSON Web Key Configuration (Key Operations, and X.509 Certification Chain)
* Config \> Identity Providers \> SAML Settings (Signature Verifying Certificates)
Security
Fixed vulnerabilities disclosed at Pwn2Own
Platform - Web Server
Infrastructure
Fixed a WicketRuntimeException which was sometimes thrown in the Gateway logs when attempting to navigate to the Gateway Web Interface while Gateway was starting up
Infrastructure
The style of Perspective http header names has been modified to avoid underscores, NGINX silently dropped HTTP headers with underscores when configured without ""underscores_in_headers on;"" which previously caused issues including:
* all perspective sessions will appear as having a designer scope from the Status \> Perspective Sessions page.
* the iOS mobile app will route users to an external browser for auth instead of keeping them in the app.
Reporting
Visualization - Swing
Report exports to excel now properly align the report's tables to the appropriate column of the excel spreadsheet
Tag Historian
Data Model
Range aggregation mode will now correctly return "0" if the historical tag value remains static over a given time interval.
UDP + TCP
Connectivity
Refactored TCP Driver to prevent thread contention and added the "Connect Timeout" setting.
Vision
Visualization - Swing
system.db.refresh now only refreshes Vision bindings if the binding root is on a root which is actually running to prevent orphaned bindings from executing long after the parent has been closed
Visualization - Swing
Fixed some minor issues with using Find & Replace to update scripts authored using the 'Set Tag Value' builder.
Voice Notification + Voices
Data Model
Fixed memory leak in Voice Notification Module's SIP library