Nightly 8.1 Changelogs - 2021

Nightly Changelog: 8.1.11-b20210929

Platform

4435: Upgrade object-path NPM dependency to 0.11.7 due to high risk CVE

  • object-path dependency in the @inductiveautomation/ignition-react web package was no longer used. Dependency removed.
  • resolve-url-loader dependency in the @inductiveautomation/map web package (which uses adjust-sourcemap-loader which uses object-path) was no longer used. Dependency removed.

Nightly Changelog: 8.1.11-b20211004

Enterprise

4661: NPE on startup when Edge is configured as EAM Agent
Fixed a NPE that caused an Edge Agent to be unable to send its Edge project to another Gateway when using EAM.

Nightly Changelog: 8.1.12-b20211007

Data Model

4527: Legacy tag upgrader does not calculate node rankings correctly
Improved the ranking of tags upon legacy upgrade, resulting in more efficient and more correct loading of the new tag provider.

4581: Tag folder names sometimes change to lowercase when previously UPPERCASE or CamelCase when upgrading from 7.9 to 8+
Tag folder names now retain casing when upgrading from 7.9.

Nightly Changelog: 8.1.12-b20211008

Visualization

1156: Drag and drop tag bindings fail when using a value from a dataset tag
Dragging and dropping dataset values onto Vision components will now correctly create bindings.

2925: Perspective- Text fields bound to a tags metaData result in “value” when written to
Values written from bi-directional tag bindings on Perspective Text Field / Text Area components to Tag Properties are no longer wrapped in quotes.

Nightly Changelog: 8.1.12-b20211011

4843: Ignition’s Web Server’s Default Error Handler returns Detailed Error Responses
Detailed server information is no longer leaked by Ignition’s web server when an unhandled exception is thrown while handling HTTP requests.

Nightly Changelog: 8.1.12-b20211012

Visualization

3286: Perspective Map Component: props.layers.ui.markers get redrawn every time another props.layers property is modified
An individual marker is only redrawn when the layers.ui.marker [ x ].icon component property of that marker is modified.

2343: Perspective session logging error “Unable To Send Updates To Client” repeatedly
Listening for WebSocket errors and trapping two error types that will render the WebSocket unrecoverable. In those cases, the session will be disconnected. All other WebSocket errors are now logged for easy visibility in case this first effort doesn’t solve the problem.

3844: Power Chart - The “showSettingsButton” visibility toggle needs to apply to the “Settings” menu item when in responsive mode
The config.visibility.buttons.showSettingsButton component property now hides the “Settings” menu item when set to true and the chart is in responsive mode.

4480: Designer - Tab Container Design Delegate add tab button missing/non-functional
Fixed an issue where in the Designer the Tab Container’s “+” add tab button was missing when nested within a coordinate container, or non-functional in all other instances. Also Fixed an issue where in the Designer, the Tab Container’s delete tab confirmation would remain active even when switching tabs or deep selecting other components.

1 Like

Nightly Changelog: 8.1.12-b20211013

Visualization

1500: Numeric Entry Field: option to toggle spinner and adjust increment
A new prop has been added to the Numeric Entry Field to control the spinner - props.spinner.enabled will display a spinner when true, and props.spinner.increment controls the amount to increment(or decrement) the value when using the spinner.

4486: The view parameters suggestion submenu of the JSON editor is displaying deleted view parameters
Deleting a param from a view through the property editor will no longer orphan its propConfig in the view json. This prevents the deleted param from showing up in the param suggestions menu within the property config (for example, when using an Embedded view component). Previously orphaned propConfigs will remain, however they may be cleaned up manually either through editing the view json or by adding the param back and then deleting it once again.

2196: Shared polling engine to consolidate polling queries from multiple sessions
Added “Cache & Share” option to polling tasks and Alarm tables to improve Gateway CPU load caused by many concurrent sessions.

Data Model

4824: Dedicated Tag conversion log for upgrades
Log files are now created in logs/legacy-tag-conversion when upgrading 7.x gateways to 8.1. The logs contain more detailed information about any potential problem tags after upgrade.

Connectivity

3273: WriteBlocking to a DNP3’s AnalogOutput tags will fail if writing to 35+ tags
Fixed a bug which would cause large Analog Output point writes (35+ at the same time) to fail.

3 Likes

Nightly Changelog: 8.1.12-b20211014

Visualization

4411: Report Viewer - Prevent download button from being pressed twice
When the “download” icon is clicked, the cursor while hovering over the component will display a progress state (loading spinner or hourglass depending on the browser). Additionally, the “download” button will be disabled. These changes will remain in place until the report has been downloaded to the browser at which point the browser will either present a dialog asking the user to open/save/cancel (if the user has not made a permanent browser download preference), or the browser will honor whatever download preference the user has made.

882: Uncaught (in promise) Browser Console Errors when logged out from Gateway
Within the Gateway: logged out users or users who no longer have permissions for the appropriate Gateway section (Config/Status) will be taken to the Login Page or insufficient permissions page respectively via an automatic Browser Refresh.

2359: NPE in AlarmStatusTableModelDelegate after gateway restart with active/shelved alarms
Fixed NPE that would occasionally happen with the Alarm Status Table when restarting the gateway.

3603: Script console requires manual reset after adding / modifying new project scripts
The script console now automatically updates with any project script changes within the current Designer session.

Platform

4495: system.util.getGatewayStatus fails between 8.1 and 7.9 gateways
Fixed an issue with system.util.getGatewayStatus() system function where incorrect values would be returned when run against older gateway versions.

3672: Designer Script Console does not close resources on Reset
Fixed an issue where resetting the script console wasn’t properly disposing of resources.

3851: Project Script updates on an inheritable global are not properly updating child projects
Fixed an issue where the script console wasn’t updating properly with project script changes when merging any project updates.

1 Like

Nightly Changelog: 8.1.12-b20211015

Visualization

1450: Perspective embedded views bidirectional bindings writing default values to tags when view is opened
Fixed issue that could cause bidirectional bindings on View parameters to inadvertently write back when loading the view.

4484: system.perspective.download implementation does not URL-encode the Content-Disposition header value
The URL content disposition when using the scripting function system.perspective.download, this allows for non-ASCII keys to be used for the filename parameter.

4702: Improve error message in ViewResourceEditor.getObjectForSave()

  • When a TimeoutException is encountered, the following will be logged to the console: “Unable to save the view. Could not retrieve view resource data.”
  • When any other exception type is encountered, the following will be logged to the console: “Unable to save the view”.

Security

4398: Add setting so the Gateway can evict idle connections after a configurable timeout
Exposed the following new system properties:

  1. ignition.http.client.manager.socket.keepalive - when set to true, HTTP connections issued from the IdP system as well as Perspective’s HTTP Bindings will set the SO_KEEPALIVE flag on the underlying socket, which should enable keepalive. Note: the OS keepalive settings must also be set accordingly. When set to false or undefined, the SO_KEEPALIVE flag remains unset on these sockets, just as they always have been in the past.
  2. ignition.http.client.manager.pool.maxIdleConnectionTime - an integer representing the number of seconds that connections in the HTTP connection pool may be idle (i.e. no data is sent or received on the socket) before it is evicted and closed. If set to any number less than or equal to zero or undefined, idle connection eviction will be disabled as it always has been in the past.
  3. ignition.http.client.manager.pool.idleConnectionCheckInterval - an integer representing the duration in seconds between each check for idle connections. This value is ignored when maxIdleConnectionTime is less than or equal to zero. If this value is undefined or less than or equal to zero, then the interval is set to match maxIdleConnectionTime.

4521: Unable to retrieve user info from Auth0 OIDC IDP
Added more lenient parsing for OIDC IdPs which set updated_at property values on UserInfo responses which are not compliant with the OIDC spec.

4522: Unable to parse HTTP response cookies from Auth0 OIDC IdP
Exposed a new system property ignition.http.client.manager.cookieSpec to control the cookie parsing behavior of the IdP and Perspective HTTP Binding’s Http Client. This new system property may take one of the following values:

  • default: Default cookie specification that picks up the best matching cookie policy based on the format of cookies sent with the HTTP response.
  • netscape: This CookieSpec implementation conforms to the original draft specification published by Netscape Communications. It should be avoided unless absolutely necessary for compatibility with legacy applications.
  • standard: Standard CookieSpec implementation that enforces a more relaxed interpretation of the HTTP state management specification (RFC 6265, section 5) for interoperability with existing servers that do not conform to the well behaved profile (RFC 6265, section 4).
  • standard-strict: Standard CookieSpec implementation that enforces syntax and semantics of the well-behaved profile of the HTTP state management specification (RFC 6265, section 4).

If the system prop is undefined or does not match any of the supported values, default value should be default, which is the spec that was used by default in Ignition versions before this system property was exposed.

4530: IdP and Perspective HTTP Binding Http Client does not respect system proxy settings

  • Exposed a new system property ignition.http.client.manager.proxy.enabled
    • If set to true, the Platform’s HTTP Client will respect the JVM’s system default proxy settings
    • If false, the Platform’s HTTP Client will ignore the JVM’s system default proxy settings and disable proxying altogether as it has always been
    • Default value if undefined is false to reduce risks of breaking anything on upgrades
  • This new system property affects the IdP system and Perspective Http Binding’s Http Client
2 Likes

Nightly Changelog: 8.1.12-b20211018

Data Model

4176: Associated data property named ‘Value’ not handled consistently on upgrade
Fixed an issue which prevented alarm associated data named “value” from correctly evaluating after the tag provider has been restarted.

Visualization

2754: Perspective Report Viewer: Reports do not follow project timezone in the Perspective report viewer like they do in the Vision report viewer
Reports now follow the project session time zone for the Perspective Report Viewer.

Nightly Changelog: 8.1.12-b20211019

Connectivity

4291: Simulators don’t count as “Connected Devices” in Status > Devices on Gateway
Count running simulators as connected in “Connected Devices” metric on the Status > Devices page.

Data Model

2416: UDT Instance’s type cannot be changed even if it is not nested in another UDT Instance
UDT Instances that aren’t nested in UDT Definitions can have their Parent Types changed now.

3 Likes

Nightly Changelog: 8.1.12-b20211020

Connectivity

3842: Several DNP3 Scripting Functions Invoked by Vision Clients Do Not Enforce Access Controls
Enforce Vision Client access controls on system.dnp3.freeze* scripting functions.

4797: Rename setPoint function parameter in Sim realistic function to startPoint
Fix behavior of device simlulator’s “realistic” function relative to its set/start point.

Enterprise

3259: Verify File integrity for redundancy restores
A checksum is now used for file integrity verification when performing a system restore on a redundant backup.

Nightly Changelog: 8.1.12-b20211021

Visualization

1028: Add ability to toggle simple table and crosstab dividers
Exposed Top/Left/Bottom/Right divider properties for cross tab and simple table cells, to allow toggling the default dividers.

2901: Make position and size properties of simple table and cross tab cells read-only
Made certain properties of cross tab & simple table cells read only in the property inspector to indicate that they cannot be edited outside of the design tab.

IGN-1830 Unable to set custom icon for vision desktop shortcuts
PNG, SVG, GIF, and JPEG formats are now supported as launch icons for the Vision Client Launcher. These can be specified in the applications config or within the project’s Vision → launching → Launch Icon

1 Like

Nightly Changelog: 8.1.12-b20211022

Connectivity

4421: OPC UA should respect both edge-iott and edge-mqtt license parameters
Recognize both “edge-iiot” and “edge-mqtt” license parameters.

Platform

2125: One-Shot Driven Tag Group always executes once when condition is true
Ensure one-shot driven Tag Groups only execute once when the condition evaluates to true and not on subsequent changes that cause the condition to remain true (i.e. on the rising edge).

4469: Error logging from gateway scripts no longer report Traceback information with line numbers from script
Fixed an issue that prevented traceback line numbers from being shown in log output.

Visualization - Web

4896: Safari browser limitation to download only a single file at a time when script is added to download multiple files
A download queue system has been implemented for the system.perspective.download. Functionally this has no impact, except for the Safari browser which can now download multiple files when there are multiple simultaneous calls of system.perspective.download where it couldn’t previously. A short 250ms delay between each of the initiation of each of the downloads has been added for all browsers when calling system.perspective.download multiple times simultaneously.

Nightly Changelog: 8.1.12-b20211025

Visualization

4497: NPE when using runScript expression in a report parameter’s default value
Fixed an issue with the runScript expression function in report parameter’s default values.

Security

4620: SAML IdP Config UI - Save button doesn’t highlight when importing new metadata
Save button is now enabled when importing new IdP metadata which changes existing settings

Nightly Changelog: 8.1.12-b20211026

Enterprise

3801: Docker Image: Add support for directing the Gateway Network Certificate store location to the data/ folder
Docker image now redirects, via sym-link, Gateway Network keystore creation from webserver/metro-keystore to data/local/ folder. This allows a Docker container’s gateway network certificate identity to persist via the data volume without having to rely on extra bind-mounts.

Infrastructure

3818: Docker Image: Add support for directing the SSL keystores to be stored under data/ folder
Docker image now redirects, via sym-links, SSL keystore creation from webserver/ssl.pfx and webserver/csr.pfx to data/local/ folder. Disabling SSL now recognizes presence of sym-links when removing the keystore and removes the final target of the link, leaving the sym-link in place. This allows a Docker container’s SSL configuration to persist via the data volume without relying on extra bind-mounts.

Visualization

4829: In Perspective, Views are deleted when selecting “Revert Changes” after renaming the View
In the Designer, reverting changes to a Perspective View, Style, or other pre-existing project resource will no longer result in that resource being deleted. Rather it will be restored to its original name. Resources that did not previously exist/have not been saved will still be deleted upon revert changes.

Nightly Changelog: 8.1.12-b20211027

Visualization

3917: View Canvas: onInstanceClicked event.params returns dollar-encoded PyJsonObjectAdapter instead of dict
Fixed encoding of event.params argument to the “onInstanceClicked” event of the view canvas component.

Data Model

3250: Prevent adding Atomic and UDT Instance Tags to Types Folder through scripting
Prevent adding non UDT Definition tags from being added to Types folder through scripting.

Nightly Changelog: 8.1.12-b20211028

Visualization

3906: Perspective Component Tooltip text content display should update when bindings update
Component tooltips will now correctly update if any of its properties have changed.

171: Equipment Schedule: implementation and addition of new component to Perspective’s component palette
Introducing the Equipment Schedule, a powerful new component that conveys equipment scheduling information in a concise and easily digestible format.

4551: Perspective Piping Slow While Zooming
Overall performance with Piping has been improved, particularly when zooming with complex pipes. This was achieved by reducing the complexity of the SVG masks generated for P&ID pipes as well as various other performance related optimizations; little to no visual differences should occur.

4892: Perspective pipes in stacked containers affect each other
There was an issue with Piping in which having multiple Coordinate Container with Pipes would affect the rendering of each other, resulting in the pipes being partially rendered. This has been fixed.

3 Likes

Nightly Changelog: 8.1.12-b20211101

Platform

4594: SendRequestAsync doesn’t use onError parameter
Fixed an issue where a supplied onError callback for system.util.sendRequestAsync would not be called.

Visualization

1518: Popup View params reset when popup is dragged
The Popup now stores any updates to view params (output or inout) and merges them to provide updated parameters to the view that it presents.

4963 Vision Client Thread dump Feature Requests
Added thread dump saving and automatic EDT blockage monitoring to the designer and Vision client

4821 Multiple dropdown component selections can affect the currently selected component during runtime
Keeping the interaction of sibling dropdown components from crossing into each other.

Data Model

3572 Prefix tag name with underscore if OPC item name contains invalid first character
Importing OPC Items with invalid first character will now be prefixed with underscore.

3 Likes

Nightly Changelog: 8.1.12-b20211104

Visualization

1452: Dropdown doesn’t render width and height correctly when in Table mode
Fixed various rendering issues with the Dropdown component when in ‘Table’ mode. Also, added functionality so that if ‘Max Table Width’ or ‘Max Table Height’ are negative, the table popup will grow to fill contents.

4945: Client tags silently lost on upgrade, 7.9 to 8.1
When upgrading from 7.9 to 8.1, client tags are no longer lost when overlapping records exist in the internal database.