Nightly 8.1 Changelogs - 2021

Nightly Changelog: 8.1.8-b20210722

Visualization

998: page.props.path and page.props.primaryView properties can be wrong after navigation
Fixed issue that could cause page and session props to become out-of-sync temporarily.

1 Like

Nightly Changelog: 8.1.8-b20210723

Data Model

3182: Performance decay in tag folder child management can cause performance issues when folders have many tags
Performance improved for creating or managing tags when many (tens of thousands) exist within the same folder.

Enterprise

3247: Runtime Alarm Metric Properties under Tags go Null after a Failover occurs
Alarm metrics properties under tags (such as Alarms.HighestActivePriority and others) now maintain correct values across redundancy failovers.

1 Like

Nightly Changelog: 8.1.8-b20210726

Data Model

2701: Remote alarm notification profiles do not send out notifications unless they are the last created profile on the gateway
Multiple remote notification profiles will work correctly now, instead of only the last created remote notification profile working.

3547: NPE in DefaultHistoryColumn#finishAggregationWindow
Fixed a potential NPE.

3185: SFCs with parallel blocks are not seen by backup gw and do not fail over
Fixed an issue where SFCs with persist states or redundancy sync enabled wouldn’t resume properly if last running within a transition element inside a parallel block.

3140: (Forward Port) SFC charting issues when Master regains active status from Backup
Fixed a few SFC issues:

  • SFCs now maintain the correct state when failing over from master to backup and vice-versa
  • Run-always SFCs were creating duplicate charts when switching from backup to master. Now the backup sends the master the correct chart and no duplicates are created.
  • Switching quickly between master > backup > master could cause SFCs to get stuck in a RedundantInactive state. Now RedundantInactive will correctly switch to a Running state after redundancy state has been changed.

Nightly Changelog: 8.1.9-b20210727

Visualization

2480: Numeric Entry Field: Quality Overlay prevents interaction while component is using button mode
Implemented less intrusive Perspective quality overlay when component is small enough.

1 Like

Nightly Changelog: 8.1.9-b20210728

Visualization

1234: Pressing Escape While In An Input Element Should Not Close An Open Popup
Using the escape key for un-focusing input components inside of a popup will now correctly un-focus instead of incorrectly closing the popup.

Platform

3772: NPE in Designer Log When Attempting to Create Update NQ From Existing SQL Query
Fixed an NPE thrown when updating a Vision query binding to a named query.

Connectivity

3774: Update Milo to version 0.6.3
Updated OPC UA SDK to latest version.

Nightly Changelog: 8.1.9-b20210729

Data Model

3076: Duplicate Acknowledgment when using a Remote tag Provider
Fixed an issue causing duplicate alarm events when acknowledging through a remote tag provider using subscribed query mode.

3219: Certain legacy tag scripting functions add “Access Rights” custom property to tag
Legacy tag scripting functions were not upgrading tag permissions to the new model, resulting in custom “Access Rights” property being added to tags.

Visualization

3203: Unable to load image on a report when the URL uses HTTPS
Fixed an issue preventing images with HTTPS source URLs from loading within reports.

786: UDT Drop Targets return an NPE when multiple instances are dropped onto the Vision Window
Dropping multiple UDT instances (that are template drop targets) onto a Vision window no longer throws an NPE.

2630: Report design tab locks up when trying to load data from an invalid data key
Reporting path keys beginning with a number no longer lock up the Design tab when dropped onto a report.

1108: Reports with blank text shapes cannot be exported to XLS
Reports with empty text boxes no longer throw a ClassCastException when exported to an excel sheet.

Platform

3103: Importing Legacy App Scripts creates duplicate nodes in the Project Browser
Importing and overwriting legacy App project scripts no longer creates multiple nodes in the Designer project browse tree.

Nightly Changelog: 8.1.9-b20210730

Connectivity

3216: Omron FINS TCP Device does not return bad quality for a tag when disconnected
Ensure tags subscribed to the FINS driver get Uncertain_LastKnownValue quality when the device is disabled or deleted.

Visualization

3274: Tag’s .jsonValues is not resolving properly in Vision bindings
Fixed an issue where the explicit jsonValues node on UDT instances could not be used from Vision. New bindings should be created directly to the UDT instance node, without the trailing jsonValues, as in Perspective.

413: Jxbrowser upgrade: Zoom level doesn’t reset to 100% when view is closed and reopened
Perspective’s Designer View Editor now correctly displays and applies altered zoom levels to the selected open view, leaving other views unaltered.

Infrastructure

2396: Docker Image: Add automated EAM Agent / GAN Connection configuration capability
Docker image now supports provisioning of outgoing Gateway Network connections and EAM setup configurations (Agent/Controller) via environment variable definitions such as GATEWAY_NETWORK_n_HOST=foo, GATEWAY_NETWORK_n_PORT=8060, EAM_SETUP_INSTALLSELECTION=Agent, EAM_AGENT_CONTROLLERSERVERNAME=GatewayName and more.

Nightly Changelog: 8.1.9-b20210802

Security

1953: Add Support for Proxy Forwarding of Remote HTTP Client Details
Added a new setting in the Gateway Web Interface > Config > Networking > Web Server page under the “HTTP Settings” section named “Use Proxy Forwarded Headers” which allows the Gateway to use a reverse-proxy’s HTTP client details instead of the reverse-proxy itself.

1260: Resolve hostname from session IP so the Gateway can leverage host-based Security Zones

  • Added a new setting in the Gateway Web Interface > Config > Networking > Web Server page under the “HTTP Settings” section named “Resolve Client Hostnames” which allows the Gateway’s web server to perform reverse-DNS lookups of HTTP client IP addresses in order to use the hostname for Security Zones
  • Perspective’s session.props.host session property now uses the resolved HTTP client hostname if the above setting is enabled, otherwise it falls back to the IP address
  • Added a new session property session.props.address to Perspective which always contains the remote HTTP client’s IP address

IGN-3234 Ignition Exchange Routes are vulnerable to RCE via ZIP-Slip
Added various defenses against potential zip-slip and path traversal vulnerabilities.

Connectivity

3186: Siemens Driver issue reading/writing to Counters (S7-300)
Fixed a bug in the Siemens driver where timers/counters were being incorrectly addressed when reading/writing from an S7-300.

Enterprise

IGN-3152 Not all remote alarms show up on the central Gateway when the alarm mode is set to subscribed
Remote alarm subscriptions will no longer drop some alarm events when a large volume of remote alarms occur at once.

Infrastructure

3404 Allow resolveHostNames and useProxyForwardedHeader properties to persist through container restart
Docker image now supports passing arbitrary “gateway.*=” key/value pairs for the gateway.xml after the double-hyphen in the command args, similar to the existing capability for JVM/wrapper args.

Nightly Changelog: 8.1.9-b20210803

Platform

2935: Named Query editor “undo” operation with empty undo stack clears the query
Fixed an issue where ‘Undo’ in the named query editor could remove the default sample query text.

1872: Allow overriding JSON serialization behavior in system.net.httpClient
Added the ability to override the JSON serialization behavior of a given system.net.httpClient() instance.

Data Model

3319: UDT tag values are unexpectedly being overridden if there’s an override set elsewhere
XML tag imports could generate null value overrides for member UDT tags, when no such definitions were in the file.

2606: Block Transaction Group With Value Mode set to Name on Block Item Stores Source Value Instead of Item Name
Using the ‘Name’ property in the ‘Value Mode’ of a block item should return the item name just as it did in 7.9.

2482: RemoteException thrown when 8.1 gateway queries history annotations from 7.9 gateway through remote tag provider
History annotation queries are no longer attempted through remote tag providers if the remote gateway does not support annotations (versions prior to 8.1.4).

Connectivity

3612: system.opc.writeValues fails all writes if one fails
Fixed a bug with system.opc.writeValues where an out of range value being written to a Node with an unsigned datatype would cause the entire call to fail and not just the writes with out of range values.

Security

2734: Update BouncyCastle to avoid Vision Client reconnect loop after loading a PDF
Updated the BouncyCastle library to version 1.69, which may resolve some intermittent issues that presented as “ClassCastException: class org.bouncycastle.jcajce.provider.asymmetric.edec.BCXDHPublicKey cannot be cast to class java.security.interfaces.XECPublicKey (org.bouncycastle.jcajce.provider.asymmetric.edec.BCXDHPublicKey is in unnamed module of loader java.net.URLClassLoader @645a8e69; java.security.interfaces.XECPublicKey is in module java.base of loader ‘bootstrap’)” in Vision clients using the PDF Viewer component.

Nightly Changelog: 8.1.9-b20210804

Security

1279 8.1: Add option to control how much information is given to clients/designers in error messages
Gateway errors sent to the designer or client containing external system details can now be suppressed via an optional system property.

588: Limited license parsing needs to ‘fail-open’ if restrictions are malformed/invalid
Prevented a NumberFormatException from being thrown when parsing invalid license restrictions for limited vision client & reporting counts.

Connectivity

2518: system.device.addDevice should take “description” as a parameter
Allow Description to be set by system.opc.addDevice.

Platform

1036: SQLite DB connections should allow relative path
SQLite connections can now reference the gateway’s data and local directories within the connect URL by using the ${data} and the ${local} parameters, respectively.

1962: Project Scripts are unable to call each other’s function in the Script Console
Fixed an issue where a function within a project script couldn’t reference a function from another script library if invoked from the script console.

1 Like

Nightly Changelog: 8.1.9-b20210805

Infrastructure

2133: Unable to stop gateway if it was started by the Linux installer without installing service
Installing Ignition on Linux in non-service mode now correctly launches the gateway as the target user instead of root. This fixes an issue wherein a follow-up stop command (via the control scripts) might produce a permissions error.

Platform

1747: system.user.getRoles fails to map empty string to default user source in Perspective context
Using an empty user source when executing system.user methods from the gateway scope will now map the user source to the project’s default one.

Security

3257: Ignition displays an Access Denied Error After Logging Into IdP After Waiting Until Session Expiration Post-Commissioning
Fixed an issue where users could erroneously land on an Access Denied page after logging into the Gateway Web Interface’s IdP if they waited long enough for the session to expire after commissioning.

Connectivity

2015: Allow OPC UA DataChangeTrigger to be configured on a per Tag Group basis
Added “Include Timestamp-Only Changes” OPC UA tag group property.

Nightly Changelog: 8.1.9-b20210806

Platform

2008: Make thread dump output consistent
Made all Ignition thread dump utilities (Gateway web interface, system.util.threadDump, gwcmd) export thread dumps in a common JSON format.

1900: Tag event scripts and gateway event scripts offer client-scoped intellihints
Fixed various editors offering autocomplete ‘hints’ for scripting functions from the wrong context - e.g. offering Vision client scoped hints for events that run on the Gateway.

Visualization

248: XYChart and Pie Chart: adding a selected items
A new property “selection” has been added to the XY Chart and the Pie Chart components. When enabled, the selection property allows the user to select specific slices, bullets, or columns on their respective chart that is reflected in the selection.data read-only sub property.

3263: Equipment Schedule: expose datetime in onPopupTrigger extension function
Added ‘getDateAt(MouseEvent)’ method to the Equipment Schedule chart to convert events to datetime.

3314: Vision serialization of binary content (i.e. datasets) is unnecessarily slow
Fixed a longstanding issue with performance during the Vision module’s serialization of binary data.

230: Perspective Components Should Have Tooltips
A new Tooltip feature is now a native part of the Meta Component properties along with two new Component based scripting functions: requestTooltip and removeTooltip which allow the user to configure and handle tooltips from scripting events.

2840: Rotated Components Displays No Snap Lines
Rotated Components will now snap to other components, parent, and guidelines just like non-rotated components do.

4 Likes

Nightly Changelog: 8.1.10-b20210809

Connectivity

1283: Implement OPC UA Redundancy
When Ignition is configured for redundancy, set the value of the OPC UA ServiceLevel Node according to the rules for “Non-transparent Redundancy”.

3341: BACnet driver fails when database-revision property is not found
Default to zero instead of failing to initialize when a device doesn’t support the mandatory database-revision property for some reason.

Nightly Changelog: 8.1.10-b20210810

Data Model

2478: Copying and Pasting Tags in Tag Browser creates duplicate tags
Copy and Pasting tags from Tag Browser will no longer create duplicates.

Infrastructure

3838: Upgrade to 8.1.8 overwrites gateway.xml file reverting ports to default
Fixed an issue where existing gateway ports will be overwritten on an upgrade. See Technical Advisory.

3378: Upgrade the bundled JRE to 11.0.12
Bundled Java runtime upgraded to 11.0.12.

Security

2775: Allow Anonymous Property on Active Directory Hybrid User Source Types don’t work
‘Allow Anonymous’ setting updated to be consistent across all Active Directory user source types (standard/hybrid/internal hybrid).

Platform

3786: system.opc.setServerEnabled throws when enabling an already enabled server or disabling an already disabled server
No longer throws an exception in system.opc.setServerEnabled when the connection is already in the requested state.

1 Like

Nightly Changelog: 8.1.10-b20210811

Platform

3790: Gateway IDB will get stuck when trying to add a User to a Roster immediately after the Roster is deleted
Fixed an issue causing the internal database to remain locked after attempting to add users to a nonexistent roster.

Nightly Changelog: 8.1.10-b20210812

Infrastructure

3614: Handle project name misspellings better with native launcher settings
Reworded an error message that could be thrown during Vision client initialization to be more descriptive.

Connectivity

2940: Logix driver will become idle if fastest polling request is greater than 16 seconds
Allow CIP connection timeout to be configured.

Platform

2631: Global Variables in the Project Script Library do not update after the first write from within Vision or Perspective
Fixed an issue where top-level constants in project scripts could not be updated before being read at least once.

Security

3303: SSO Domain field for AD profiles should not be enforced as case-sensitive
SSO Domain field for AD profiles are no longer enforced as case-sensitive.

Visualization

377: Power Chart - Need Ability to Resize the Tag Browser and Settings Menus
Added the ability to resize the Tag Browser, Pen Data Display, and Settings menus by dragging the innermost border of each area inward. Works via a drag action on mobile browsers. The new size of each area is temporary and will be reset to the default size once the browser has been refreshed in a session, or toggling preview/design mode in the Designer.

615: Global key handlers (analog of Vision keystroke scripts) in Perspective
Perspective Session key event detection has been added and can be found under Project > Session Events > Key Events. This provides the ability to match either a single key (with or without modifiers), or a regex pattern (series of keys) and execute a script once the match has been detected. The match for a single key can be made either on “key down” or “key up”. A regex match is always made on “key up”.

For single keys entered, the match can be a physical key typed, or the code generated by the key. Modifiers for a key include “alt”, “control”, “shift”, and “command/meta”. In addition, the resulting event that is used for match detection can be bound on its capturing phase, and it can also stop event propagation or prevent the default behavior of the event.

For a regex pattern match, the user would supply a regex pattern to match against, and they would also supply the number of characters that they would like to keep in a rolling buffer that will be scrutinized for a match. This buffer will always be the most recently typed characters and should be the length of whatever a “correct match” would be based on the supplied regex pattern. This pattern match can be a great way to execute a script when a barcode has been scanned from an HID barcode scanner.

Note: Key event detection is meant to work inside of a Perspective session and is not active inside of the Designer.

Also to Note: The device being used to trigger the key events must actually generate a key event when a key is pressed. HID barcode scanners WILL generate key events as they mimic a user typing keys on a physical keyboard. Scanners and other input devices that do not create key events will not trigger this logic.

2 Likes

Nightly Changelog: 8.1.10-b20210813

Platform

3512: Old MySQL drivers prevent Gateway startup if using alarm journal profile
An old installed MySQL JDBC driver (prior to v5.1.0) no longer prevents the Gateway from fully starting when having an alarm journal configured.

388: Improve handling of QualifiedValues/QualityCodes in expressions
Added the following expression functions:

  • isUncertain
  • isBad
  • isError
  • isBadOrError
  • qualityOf
  • timestampOf
  • In addition, overloaded the equality operation in expressions so that QualityCodes (as extracted by the new qualityOf() function) can be directly compared against their constant names or integer codes.

Data Model

3181: System.tag.readBlocking() throws ‘cannot assign instance’ error if one tag in list does not exists on remote tag provider
system.tag.readBlocking() no longer throws an ‘cannot assign instance’ exception if one tag in list does not exist on remote 7.9 tag provider.

3180: system.tag.exists() always returns true when ran from a 8.1 GW to a remote tag provider on 7.9
system.tag.exists() now correctly returns false for tags which do not exist on remote 7.9 providers.

1 Like

Nightly Changelog: 8.1.10-b20210816

Visualization

156: Perspective Piping
Introducing Perspective Piping, a major new Coordinate Container feature. Perspective Piping allows you to quickly draw pipes within Perspective.

2352: Timezones used in some Perspective components are inconsistent
Updated time zone support for the following components: Datetime Picker, Datetime Input, Alarm Status Table, Alarm Journal Table, Table, Chart Range Selector, Power Chart.

Enterprise

2959: Improve hint for Specified List in Gateway Network Settings
Updated hint for Specified List field in the Gateway Network Settings.

2958: Disabled gateway network connections show up as Unknown status on config page

  • Disabled outgoing GAN connections now show status as Disabled instead of Unknown, peer gateway name as N/A, and redundancy role as N/A
  • Outgoing GAN connections now show status as Disabled instead of Unknown, peer gateway name as N/A, and redundancy role as N/A when Gateway Network is disabled
  • Incoming GAN connections now show status as Disabled instead of Unknown, peer gateway name as N/A, and redundancy role as N/A when Gateway Network is disabled
3 Likes

Nightly Changelog: 8.1.10-b20210817

Platform

2322: Bump HSQLDB version
HSQLDB library (used primarily for S+F disk cache) has been updated from 2.3.3 to 2.6.0.

Visualization

3847: Dropdown - Component move action is much slower than other components
Removed the offending transition that was targeting all CSS properties.

Connectivity

3858: Exposing monitored item count in sampling diagnostics
Added “MonitoredItemCount” sampling diagnostics node.

2 Likes

Nightly Changelog: 8.1.10-b20210818

Infrastructure

3888: CTRL key events don’t fire on macOS after upgrading bundled JRE to 11.0.12
Reverted the bump to java 11.0.12 due to missing key events which have a CTRL or Command (Mac OS) modifier.

Visualization

1381: Changing Root Node Path of Tag Browse Tree has no effect in Historical Tag Tree Mode
Fixed an issue where the Vision historical browse tree wouldn’t accept the same path format for the root node path property as in versions previous to Ignition 8.

Platform

1126: Tag history splitter provider doesn’t provide any data on Store and Forward status page
Improved the diagnostics for tag history connections, especially splitters.

Data Model

3246: Logs flooded with errors if annotations queried from historical provider that has never stored annotations before
Tag history tables are now initialized before querying annotations to avoid potential errors flooding the logs.

3217: Tags disappear after a Gateway upgrade when Legacy Tag Conversion fails on startup
Fixed an NPE during tag conversion that could occur on first startup after an upgrade from 7.9 to 8.x.

3099: Data Types folder XML export fails to import into sub folder and creates a new types sub folder instead
XML tag export of UDTs will no longer add extra types folder when importing into folder.