Nightly 8.1 Changelogs - 2022

Weekly Changelog: 8.1.16-b20220314

Infrastructure

177: Mac OS launchers & workstation should use the new App Notarization process
The Mac OS Designer Launcher, Vision Client Launcher, and Perspective Workstation are now Notarized by apple to pass Gatekeeper checks.

Security

5494: Perspective Electronic Signature Support: Finish MVP 1
Added a new authentication challenge action and scripting function to Perspective in order to better support 21 CFR Part 11 electronic signature requirements.
See forum post

Connectivity

5611: Omron NJ with a large array size will result in the wrong tag being updated
Fixed an issue where large boolean arrays were being read from the PLC incorrectly resulting in array elements sometimes showing incorrect values.

Visualization

634: Multi-monitor issues: Image Dialog modal spawning on incorrect monitor and locking out the rest of the Designer
Designer component image path selector dialog should no longer spawn in an inaccessible location on the screen.

2 Likes

Weekly Changelog: 8.1.16-b20220315

Visualization

5699: Exception when deserializing a dataset client tag, which crashes the Vision module on Designer startup
Corrected a regression from 8.1.15 that could cause a null pointer exception and Designer crash during serialization/deserialization of Vision Client tags containing a PyDataSet value (instead of a standard DataSet datatype).

1081: Audio Component: Provide to play sound clips in browser
Added audio component in Perspective. See forum post

Platform

4466: Lookup expression throws an error when the dataset parameter is from a tag and a header is used for the lookup column or results column parameters
The Lookup expression function no longer throws an exception when a binding to a tag dataset is initializing with Uncertain quality.

Data Model

3097: Unable to drag-n-drop tags into a Gateway Event Tag Change Script
You can now drag tags from Tag Browser to Gateway Event Tag Change Scripts and Client Event Scripts.

Infrastructure

177: Mac OS launchers & workstation should use the new App Notarization process
The Mac OS Designer Launcher, Vision Client Launcher, and Perspective Workstation are now Notarized by apple to pass Gatekeeper checks.

1 Like

Weekly Changelog: 8.1.16-b20220316

Connectivity

5615: Attempt to fix issues writing the NJ devices with Unicode Names
Added support for UTF-8 tag names in the NJ driver.

Weekly Changelog: 8.1.16-b20220317

Visualization

3377: Designer doesn’t maximize properly on Windows
The Designer window now maximizes correctly on windows.

5714: PropertyTree listeners that write back will not have their changes published
Fixed issue for 3rd party Perspective components writing back to properties inside of tree listeners.

5573: Webserver becomes unresponsive due to a component within a nested template writing to a UDT template param of that template
Reduced the number of duplicate writes for a UDT’s initial value and fixed a bug in Reference Tags when it has an invalid tag path which caused a write operation to never complete.

Infrastructure

1807: Docker Image: Setup for Multi-Architecture Builds
Docker Image build is now multi-architecture and supports linux/amd64, linux/arm64, and linux/arm/v7.

Platform

5418: binEnc expression function has no limit on argument count
The tag expression binEnc() function now enforces up to 64 max arguments. Note that 32 arguments or less will return an Integer and 33 arguments to 64 arguments will return a Long.

5334: system.net.httpClient doesn’t close post connections when called at Gateway Level
Added a version argument to system.net.httpClient() system function to allow specifying either HTTP_2 (for http/2 first with fallback to http/1.1) or HTTP_1_1 (for explicit use of http/1.1) for the HTTP protocol. When omitted, the previous default of HTTP_2 is implied. Also verified during the addition of this version argument was the 8.1.15 update to 11.0.14.1 JDK enabling periodic garbage collection to successfully reap closed connections where they may have been left lingering on previous versions (when http/2 was being used).

Enterprise

5717: 8.1.15 version of EAM upgrade-assistant.jar is missing the Apache Commons IO classes
Fixed EAM remote upgrade functionality that was broken by 8.1.15

Data Model

3221: Nested UDT Instances require manual restart of tag to affect change to Enabled/Disabled
Enabling or Disabling a nested UDT Instance will now correctly enable or disable children.

2 Likes

Weekly Changelog: 8.1.16-b20220318

Connectivity

5084: BACnet Out_Of_Service property should not be read-only
Fixed an issue where the BACnet Out_Of_Service property was Read-Only. This property is now Read/Write to devices that allow it.

Data Model

IGN-5526 Creating a Historian Splitter with the name of an existing connection name causes StackOverflowError
Fix stack overflow when Tag History Splitter has a connection with the same name as the splitter.

5218: UDT instances that are copy/pasted do not follow UDT definition Type Color changes
Copying a UDT Instance will no longer overwrite Type Color.

5716: Make the hardcoded 30 second timeout in SingleConnectionDatasource a system property
Users can set an additional Java parameter in the data/ignition.conf file formatted like -Dignition.internalDbMaxWait=60000 to increase the max amount of time to wait for a connection to the internal DB.

2986: Can’t rename a tag to change capitalization
Changing a tags letter casing from Tag Browser Rename will now correctly update the tag’s name.

Security

3931: Renaming IdP that’s set as the System Identity Provider locks users out of the Gateway webpage
If the name of the Gateway’s Identity Provider changes, the Gateway config is updated at the same time to prevent users from getting locked out of the system.

Visualization

2981: Time Series Chart, Power Chart, Chart Range Selector: Add a background grid display
Grids are now a configurable option for the Power Chart, Time Series Chart, and the Chart Range Selector for both the Y axes and the time axis. Grids are drawn behind the chart display. Because of this, the plot background color for a Power Chart should either be removed or made transparent (slightly or completely) to get the most of the grid display.

NOTE: When displaying multiple Y axes on the same side of a chart, those that are not directly connected to the chart will use their tick configuration regardless of having the grid configuration in place.

IGN-299 In the Designer’s “new project setup” dialog, the design should make better use of space to avoid unnecessary scrolling
Improved the layout of the Designers Open/Create project dialog.

2 Likes

Weekly Changelog: 8.1.17-b20220322

Data Model

1790: Tag Editor Refinement
See forum post

3 Likes

Weekly Changelog: 8.1.17-b20220329

Infrastructure

3349: http header names that include underscores can be problematic for nginx users

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.

Visualization

5658: Find/Replace for vision ‘Set Tag Value’ actions on Component Scripting still use old values
Fixed some minor issues with using Find & Replace to update scripts authored using the ‘Set Tag Value’ builder.

Enterprise

5525: EAM Collect Backup task fails when agent’s backup takes longer than 60 seconds to create

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)

Security

2062: Audit login/logout of Gateway Config and Status pages
Added audit events for gateway login and logout.

1 Like

Weekly Changelog: 8.1.17-b20220330

Visualization

2040: Reduce usage of EventBus in Perspective to avoid performance hit
Increased performance of view startup and shutdown for views with high binding counts.

5694: View parameters revert to input value after write
Fixed issue where in/out parameters on a popup could revert values after being written to.

Platform

5633: Ensure logback.xml is included in gateway backups
$GATEWAY_HOME/data/logback.xml is now included in gateway backups.

Connectivity

5799: Modbus driver stuck in Connecting state after Gateway starts
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.

Data Model

5606: Deleting a disabled database connection does not delete the associated historical provider
Deleting a disabled database connection will now also delete the associated historical provider.

1 Like

Weekly Changelog: 8.1.17-b20220401

Connectivity

1991: Add Elapsed_Active_Time property to BACnet driver
Added support for Elapsed_Active_Time and Time_Of_Active_Time_Reset properties on BI, BO, and BV objects.

Infrastructure

5735: Allow default (80, 443) ports for linux gateways which use AmbientCapabilities=CAP_NET_BIND_SERVICE for the service with non-root user
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.

1780: Docker Image: Run as standard user (non-root) and provide flexibility for UID/GID mappings
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.

1 Like

Weekly Changelog: 8.1.17-b20220404

Visualization

865: Table mapping in new xls report export feature needs to account for respective table layout positions
Report exports to excel now properly align the report’s tables to the appropriate column of the excel spreadsheet.

Data Model

Fixed an issue where values written from bi-directional tag bindings on Perspective Text Field / Text Area components to UDT instance parameters would be wrapped with additional quotes.
Fixed an issue where values written from bi-directional tag bindings on Perspective Text Field / Text Area components to UDT instance parameters would be wrapped with additional quotes.

1 Like

Weekly Changelog: 8.1.17-b20220405

Data Model

5729: Shelved alarm with ‘None’ for shelved by user causes unexpected behavior in Alarm Status Table
Prevented a null pointer exception in the Alarm Status Table when shelving an alarm with a null user.

Security

432: Ignition 8.1 - IdP - Vision - Configurable IdP Login Screen Title and Text
Vision Clients with the Identity Provider Authentication Strategy now allow the login title and message to be customized via Vision’s Login Project Properties.

5330: Improve Config UI Experience for Adding Values to Multi-valued List
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)

Connectivity

5710: Implement Milo’s SubscriptionListener::onSubscriptionWatchdogTimerElapsed
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.

5048: Blocked TCP Driver Threads
Refactored TCP Driver to prevent thread contention and added the “Connect Timeout” setting.

Weekly Changelog: 8.1.17-b20220406

Connectivity

5761: Allow time synchronization to be disabled
Added setting to disable time synchronization in DNP3 driver.

5608: Simulator built in functions don’t work properly with non-en_US locales
Simulator functions now work with non-US locales

Data Model

5303: Error Retrieving Diagnostics when opening Tag Editor
Fixed potential issue where a ClassNotFoundException would be thrown when retrieving tag diagnostics during opening of tag editor.

Visualization

1766: Perspective Table: Manually setting the selected row to an index from a NULL value prevents table selection
Table component selection property will now work with only a selectedRow or a selectedColumn value when its respective enableRowSelection or enableColumnSelection value is true.

3651 Perspective Expression Tag Listeners Could Register / Unregister Multiple with Session EventBus Multiple Times
A tag listener can now only be registered once per tag in an expression binding.

Enterprise

5762: EAM Remote Upgrade from 7.9.x to 8.1.x failing
Fixed EAM remote upgrade functionality of a 7.9 agent that was broken by 8.1.15

Weekly Changelog: 8.1.17-b20220407

Platform

5211: ResourceNotFound trying to overwrite a project
Fixed “ResourceNotFound” error when importing and overwriting a project resource.

Visualization

4670: Power Chart / Time Series Chart: Allow text color and size to specified on infoBox
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.

Enterprise

5698: Redundant Gateway fails to go inactive when the Master completes its upgrade
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.

1 Like

Weekly Changelog: 8.1.17-b20220408

Visualization

5624: After project switch, tag bindings in the Designer that don’t use [provider] in the path don’t use the current project’s default tag provider
Fixed an issue where the designer would use the wrong tag provider in unqualified tag subscriptions after switching projects.

Infrastructure

5312: Docker Image: Add interim support for conditional exclusion of built-in modules in 8.1
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.

Data Model

5818: Previously quarantined historical data serialized within S&F disk cache cannot be deserialized properly after upgrading to 8.1.15
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.

1690: SQL JDBC driver exception serialized into HSQL data store
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.

2930: Range aggregation mode returns only value if value didn’t change over interval
Range aggregation mode will now correctly return “0” if the historical tag value remains static over a given time interval.

Connectivity

4793: Simulator Functions can return values outside of defined Max
Prevent Simulator functions from returning values outside of minimum and maximum bounds.

Weekly Changelog: 8.1.17-b20220411

Data Model

5273: Voice Notification - SIP Transaction Manager Memory leak
Fixed memory leak in Voice Notification Module’s SIP library.

Visualization

1357: Popup: user interaction with components that require focus to function is hindered when a portion of the popup is beyond the available viewport
Fixed issue with inputs losing focus when popup is rendered out of view bounds.

1 Like

Weekly Changelog: 8.1.17-b20220412

Visualization

4023: Vision window query bindings remain active after close
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.

1 Like

Weekly Changelog: 8.1.17-b20220414

Connectivity

3184: Bacnet driver fails to initialize connections when there are a large number of Bacnet device connections and the Gateway restarts
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”

5874: Make OPC UA server session limit configurable
The Ignition OPC UA server’s max session count is now configurable.

Visualization

5813: Power Chart can’t trend array tags
Historic array tags work as expected.

5360: Equipment Schedule: Add 15-minute zoom level
Added 15-minute zoom level to Perspective Equipment Schedule.

Weekly Changelog: 8.1.17-b20220418

Visualization

5317: Need to prevent the ability to mutate the value of an incoming data structure in a Script Transform when Cache & Share is Enabled
Now returning a copy of the json structure from the transform to keep the data immutable.

Connectivity

5803: External Clients to the Ignition OPC-UA Server cause a buildup in memory of Monitored Items
Fixed a possible memory leak when 3rd party client connections allow their subscriptions to time out.

Weekly Changelog: 8.1.17-b20220419

Visualization

4923: Save page configs deterministically
Page config json files will now be saved deterministically.

1985: Table: Provide function to expand/collapse subviews
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

5158: Setting width values for perspective tables with two or more columns causes rows to be off centered
Fixed issue where appearance of scrollbars could cause column widths to be out of sync.

2 Likes

Weekly Changelog: 8.1.17-b20220420

Infrastructure

3174: Error encountered during upgrade
Upgrades performed by the installer now fully wait for the backup to complete instead of canceling 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

Data Model

3409: Unable to set tag binding to array element on Vision client tags
You can now reference array and dataset elements in Client Tag bindings.