Nightly 8.1 Changelogs - 2021

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.

Nightly Changelog: 8.1.10-b20210819

Visualization

2737: Perspective Table: Sorting a column of dates does not always sort correctly
Perspective Table should now sort date values correctly.

Platform

3052: Duplicate entry in ignition.conf when doing gateway restore from 7.9 to 8
Avoiding duplicate wrapper.java.command entries in ignition.conf when upgrading from Ignition 7.9 to 8.

2 Likes

Nightly Changelog: 8.1.10-b20210820

Visualization

2885: Alarm Status Table: add filterShelvedAlarms extension function
Alarm Status Table now has a new extension function called filterShelvedAlarms that works the same way as the existing filterAlarms extension function, but for shelved alarms.

3901: Key Events - Need to add a “matches” value to the event data when a regex match is made
Added an event.matches value to the scripting function that is an array of string values containing all matched terms when a regex match has been made.

Platform

2902: Local Historian storage count isn’t updated after maintenance task resulting in misleading metric on S&F status page
The local internal historian now properly updates its data cache count when storing data to disk.

Nightly Changelog: 8.1.10-b20210823

Visualization

2885: Alarm Status Table: add filterShelvedAlarms extension function
Alarm Status Table now has a new extension function called filterShelvedAlarms that works the same way as the existing filterAlarms extension function, but for shelved alarms.

3901: Key Events - Need to add a “matches” value to the event data when a regex match is made
Added an event.matches value to the scripting function that is an array of string values containing all matched terms when a regex match has been made.

Platform

2902: Local Historian storage count isn’t updated after maintenance task resulting in misleading metric on S&F status page
The local internal historian now properly updates its data cache count when storing data to disk.

Nightly Changelog: 8.1.10-b20210824

Data Model

3235: 7.9 remote tag providers are not exposed in 8.1 OPC server when the option is enabled
7.9 remote tag providers are now exposed in 8.1 OPC server when the option is enabled.

Nightly Changelog: 8.1.11-b20210901

Visualization

3854: Alarm Journal Table: Event Time displayed in alarm details is wrong
Correctly displaying the acknowledged, active, and cleared Event Time values in the details popup.

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

Infrastructure

3148: Update Linux Installer to Allow for Detached Processes (EAM Upgrade) and Passwordless Service Restart

Ignition installs on Linux and Mac OS via the Installer now add an appropriate sudoers file for the Ignition Service so that EAM Agent Upgrades can be performed successfully without requiring interactive authentication. This only occurs if the RUN_AS_USER env variable is set in ignition.sh (the default for installs and upgrades using the Ignition Installer) or ignition.shconf.

Added ignition.sh runupgrader command as well as run-upgrader.bat on Windows to simplify running Ignition’s Upgrader on upgrades.

EAM Agent Upgrades no longer change the Ignition Gateway service name back to the default when upgrading.

1 Like

Nightly Changelog: 8.1.11-b20210901

Visualization

1217: Quality Overlay: presence is affecting the layout of the button component
Button Components with Quality Overlays and long text will no longer display outside its bounding box.

3134: Login or Logout from Perspective Pages whose URLs contain Square Brackets Results in 500 Error
When using the Login and Logout events, URLs with valid special characters are now correctly encoded to avoid any 500 errors.

4235: Perspective Piping: When user clicks any arrow on a pipe origin a pipe segment is created but does not register on the Event Stack
When clicking a Pipe Connection arrow to create a new connection a new Undo action will be created, even if the new connection has not been moved.

Nightly Changelog: 8.1.11-b20210902

Data Model

3417: Transaction group run-always expression item Write Target doesn’t write if trigger isn’t met
Run-always expression items that target other Tags should write regardless of the trigger status.

4075: Tag browser in SFC editor should insert tag paths with curly brackets when selected
Tag reference action on SFC transition editor inserts incorrect tag paths.

4404: System.tag.exists poor performance in Ignition 8
system.tag.exists is no longer inefficient when checking UDT instances.

2 Likes

Nightly Changelog: 8.1.11-b20210907

Connectivity

3383: Deleting Aliased Point For DNP3 Device Does Not Result In Bad Quality For Aliased Tag
Fixed an issue where tags referencing DNP3 aliased points would remain in good quality even after those aliased points have been deleted.

2776: DNP3: issues connecting resulting in unbounded number of threads
Fixed an issue which caused the DNP3 request queue to be backed up if IIN bits are constantly set on requests from the outstation. When in this state, editing and saving the device connection would lead to unbounded number of threads.

Data Model

3843: system.alarm.createRoster() invoked by Vision Clients Do Not Enforce Access Controls
Fixed an issue where the Gateway did not enforce access controls using the alarm management permission when system.alarm.createRoster() was invoked by Vision Clients.

4414: System.alarm.createRoster doesn’t trim leading white space in name field

  • Leading and trailing whitespace on roster names are now trimmed before creating the roster.
  • Blank roster names are now rejected.

Infrastructure

3913: In the Binary installer, old modules may not be deleted when selected for upgrade
Text Mode upgrades using the installer now appropriately remove old 3rd party modules which were marked for upgrade if their filenames don’t match that of the new module.

Nightly Changelog: 8.1.11-b20210908

Platform

1883: Add “-” to list of acceptable characters for project names
Project names now allow hyphen characters, i.e. my-project.

3145: Project import on Gateway in a docker instance gives a failure message even on successful import
Fixed an issue where large project imports through the gateway could show an error even if the project imported successfully.

3876: System.util.audit when called from perspective malforms orginatingSystem argument
system.util.audit() script function now correctly parses sequences/lists supplied to the originatingSystem parameter. Tuple pairs of strings (id/value) within a sequence are also accepted. Error reporting has been improved in situations where originatingSystem parameter values are invalid.

Enterprise

3813: When Connection is broken for GAN with Redundancy Enabled, Backup reports OutOfDate after connection is restored
Fixed redundancy issue where the backup’s project sync status remained OutOfDate after reconnecting with the master.

Visualization

3138: Date picker UI: icon needs to be available at all times for date props
The date picker icon will always show for properties that support Date types.

Nightly Changelog: 8.1.11-b20210909

Visualization

4214: When Vision Launcher is configured for http, failover on new connections default to https and fail when it’s not enabled
Launchers no longer try to force SSL for backup gateways which don’t have SSL configured.

2774: Perspective Property Editor - Property Bindings appear to affect values outside of the view that they’re defined
Property Bindings will no longer appear to affect Properties of Components outside their view with the same Property & Component Path. This issue was evident within the Property Editor when two or more views were open, and a Component with a shared Component and Property Path’s bindings changed due to a binding.

4088: Vision Project Properties Client Menu setting doesn’t actually do anything
Fixed an issue where the ‘Client Menubar Font’ property was being ignored.

Data Model

4056: Alarm Journal not respecting Store Shelved Events config setting
Alarm Journals will now respect the “Store Shelved Events” setting.