Ignition Release Notes
Fixes, changes and features In Ignition
Version 8.1.7
Released June 4, 2021Area
Change Type
Description
BACNet
Connectivity
Shutting down the gateway or BACnet module now also correctly shuts down the local BACnet device. This resolves a conflict with the bind address that could prevent devices from re-initializing.
CI
Infrastructure
Docker image no longer errors on upgrade or container replacement of Ignition Edge installation.
Commissioning
Infrastructure
Docker image now supports accepting the Ignition EULA commissioning stage through the application of `ACCEPT_IGNITION_EULA=Y` environment variable.
Deployment
Infrastructure
Docker image now supports `-r <path/to/gateway.gwbk>` argument to automate the restore of a gateway backup on fresh container launch.
Designer Launcher
Infrastructure
Importing certificates into the launchers which do not have Subject Alternative Names do not throw NullPointerExceptions.
Infrastructure
Launcher no longer requires a rewrite to get gateway status when the gateway is behind a reverse proxy
EAM
Enterprise
Fixed an issue preventing EAM tasks from executing if using an on-demand mode.
Enterprise
Fixed an issue where duplicated tasks (including generated tasks via `system.eam.runTask`) would not have unique IDs, leading to undesired behavior if multiple tasks were generated in a short time.
Java - Azul
Infrastructure
Improved gateway supplemental import mechanism and added additional logging to show certificates which are imported into the gateway's default trust store.
Infrastructure
Drag and drop into the Designer on Linux systems with HiDPi Displays which are using scaling now correctly identifies the bounds of the drop target area.
Infrastructure
Upgraded the bundled version of java to 11.0.11. NOTE: This version disabled TLSv1 and TLSv1.1 by default and must be manually re-enabled as defined in the openJDK issue JDK-8254713 if these protocols are required.
OPC-UA
Connectivity
Stop using Locale to parse numbers.
Connectivity
Overhauled diagnostics for polling-based drivers and replaced the old "Load Factor" metric with a new "Overload Factor" metric that is a more accurate representation of current polling performance.
Connectivity
A device's data directory should now be renamed or deleted when the device is renamed or deleted
Perspective
Visualization - Web
Implemented schema helper for browsing and choosing SVG icons
Visualization - Web
Dropdown component's dropdown, and other popups now displays in the correct position within the center view when docks are enabled.
Visualization - Web
Perspective column and breakpoint containers: fixed bug introduced in 8.1.4 where toggling preview mode within the designer may result in an error if the root container is either a column or breakpoint container.
Visualization - Web
Table component will now sort values based on the underlying data type passed to it instead of sorting alphanumerically due to string formatting
Visualization - Web
Added a primarily read-only `dimensions` object property to Perspective pages.
The object has the following shape:
```
{
"enabled": Boolean,
"viewport": {
"width": Float (in pixels),
"height": Float (in pixels)
},
"screen": {
"width": Float (in pixels),
"height": Float (in pixels)
},
"centerView": {
"width": Float (in pixels),
"height": Float (in pixels),
"scrollLeft": Float (in pixels),
"scrollTop": Float (in pixels)
}
}
```
`enabled`: The page dimensions in this object will update accordingly if true. While false, the dimension values will not update.
`viewport`: The "inner" boundaries of the browser, ie: the dimensions of the page.
`screen`: The dimensions of the screen the page is on (only updates on browser resize and Page Startup).
`centerView` The dimensions of the primary view in use for the page, and how much scroll is currently applied to that view.
These properties are available for binding through the view, and can also be accessed as part of the Page object within scripting contexts which have access to the page object in any way (Page Startup/Shutdown events or anything similar).
Visualization - Web
Added "title" field to page configuration for easier management of browser tab title.
Visualization - Web
Added a `customControls` component property (an array of custom control objects) that allows the user to embed a view into the Map component. For each custom control, the user will specify a `path` to the view, any `params` for the view, a `position` on the map where the view will be located (options being `top-right`, `bottom-right`, and `bottom-left`), and the `enabled` state of the custom control. The user can add any number of controls to a corner. Through the use of property bindings, scripts, etc, the user can now perform actions on the Map component from these custom controls.
Visualization - Web
Perspective Workstation added a new Fallback Redirect feature. If communication with the gateway stops Workstation can open a different application after a specified delay. It also supports auto-returning to the original application once that gateway(s) comes back online and active.
Visualization - Web
Added a onVectorClick event function for Map component vector layers that will return the vector layers name, type of vector as a string, and the vectors position coordinates. Also changed the type expected for the name parameter in both onVectorClick and onMarkerClick events to be of any type
Visualization - Web
Made Perspective notifications less intrusive by making notifications take up less space and be swipe dismissible.
Visualization - Web
Added an option to the context menu on Embedded View and Flex Repeater components allowing you to easily jump to the source view in the designer.
Visualization - Web
This adds a `height` property under the `rows` component property that allows for a value of `auto` or any numeric value (representing a height in pixels) to be specified. This value is treated as as a min-height value so that subview expansion can remain operational. Table rows can be larger than this value (depending on the height of the content that they display), but that cannot be smaller.
Visualization - Web
Workstation shortcut creation for projects running on edge gateways now function
Visualization - Web
Fixed an issue with the tab container which forced Table based components such as the Alarm Journal, Alarm Status, and Table Component rows to have 0 height. Also tab's with an empty string for a tab prop will now correctly render their contents.
Visualization - Web
Making sure that qualities get applied to both components.
Visualization - Web
Fixed issues where arrays written inside of document tags were converted to strings.
Visualization - Web
Corrected issue with URL parameters being passed to views that were already running
Visualization - Web
Checking that the center element exists before reading data from it.
Visualization - Web
Embedded View component will once again immediately render changes to the underlying View in the Designer. This is evident when editing both the Embedded View Component's view, and the View containing the Embedded View Component simultaneously.
Visualization - Web
All charts have had their resize handling logic debounced in an effort to avoid the `ResizeObserver loop limit exceeded` error. The Power Chart can still throw this error, but the Time Series Chart and Chart Range Selector will not.
Visualization - Web
Underscore dependencies in both the **react-timeseries-charts** and **pondjs** libraries were updated to 1.13.1. 1.12.1 and below are vulnerable to Arbitrary Code Execution via the template function, particularly when a variable property is passed as an argument as it is not sanitized.
Visualization - Web
Illegal characters in Perspective page URL path segments are now escaped so that they can be launched from the Designer properly
Visualization - Web
Non-ASCII characters in page URLs are no longer dropped on return from the IdP during login / logout
Visualization - Web
Redirects to/from the IdP during login/logout now properly handle space characters in page URLs
Visualization - Web
Added missing details regarding the position field on the onVectorClick scripting function
Visualization - Web
Fixed type coercion issues attempting to write back from bidirectional bindings from arrays to array tags and document tags.
Platform - Databases + S&F
Platform
Fixed an issue where database alarm journals could not insert or retrieve records from tables with very large primary indexes.
Platform
Added "rewriteBatchedStatements=true" parameter to the default connection properties for both the MySQL and the MariaDB drivers.
Platform - Designer
Visualization - Swing
Fixed the tooltips for resources in the Project Browser tree when multiple users are editing concurrently.
Platform - Expressions
Platform
Fixed an error message that caused another error if a null value sent to expressions that calculate the time between dates.
Platform - Gateway Network
Enterprise
Fixed a bug where during reconnect, gateway network connections could remain faulted, and report a duplicate connection error once per minute.
Enterprise
Fixed a bug where a remote tag provider pointed to a redundant pair would not reconnect after re-establishing the gateway network connection.
Platform - IdP + User Sources
Security
Improved the speed with which users authenticate against existing IdP sessions, especially when the underlying user source is an Active Directory variant or a Database variant with many users/roles. For Database User Sources in Manual Mode or AD/DB Hybrid User Sources, a new "Find User Query" setting must be configured in order to take advantage of the improved performance. Added a new "Populate Users On-Demand" feature to the AD/Internal Hybrid user source profile type which populates the internal side of the user source with the information captured from the AD side during authentication if the user did not exist on the Internal side.
Platform - Projects
Platform
Updated named query resource storage to use a query.sql file on disk and store metadata as resource attributes, allowing for human-readability and conflict resolution.
Platform - Scripting
Platform
Modified the system.alarm.listPipelines scripting hint to provide more information
Platform
Avoiding an NPE and printing an error when passing a null to system.roster.addUsers().
Platform
No longer logging harmless ScriptManager collision logs to ERROR.
Platform
Passing a number for the timeout parameter of scripting function system.net.httpClient will now succeed.
Platform
Fixed an issue where deliberately saving tag change scripts that did not compile could affect the execution of unrelated tag change scripts.
Platform
Added a new type of gateway scripts - scheduled scripts, driven by a cron expression. Configured in the designer, these allow triggering business logic at specific recurring frequencies.
Platform
Email notifications and scripted sendEmail() calls which do not use an SMTP profile now use TLSv1.2 by default. Re-enabling TLSv1 or TLSv1.1 requires updating the java.security files (see JDK-8254713) as well as adding the following prop: -Dmail.smtp.ssl.protocols=TLSv1,TLSv1.1,TLSv1.2
Platform
Fixed an issue where the scheduled script editor would sometimes overwrite a saved script with another script's content.
Platform - Security Model
Security
Improved user source profile user/role caching performance and efficiency
Platform - Web Interface
Visualization - Web
Added the Project Update script to the gateway scripting section.
SFC
Data Model
Fixed NPE stopping SFC module on gateway shutdown while enclosed persistent charts are running
Data Model
Previous Gateway's persisted SFC charts no longer appear on SFC Monitor after a Restore
Data Model
Persistent SFC charts no longer resume in a Stopped state upon gateway restart and no longer cause an NPE in the SFC Monitor Component
SQL Bridge
Data Model
Using the runScript expression function in Transaction Groups now allows the Transaction Group to reference project scripts instead of exclusively global scripts. Upgrade Warning: if you have a Transaction Group with an expression which calls runScript pointing to a Project Library Script in the Gateway Scripting Project, and the Transaction Group is in a project which is not the Gateway Scripting Project or a descendant of the Gateway Scripting Project, the runScript expression will fail to find the Project Library Script unless you copy it into the project with the Transaction Group. If a Project Library Script with the same name exists in the project with the Transaction Group, it will be invoked instead of the script from the Gateway Scripting Project.
Vision
Visualization - Swing
The Vision Web Browser Component now supports Touchscreen mode for perspective sessions running inside the component.