Nightly 8.1 Changelogs - 2021

Nightly Changelog: 8.1.11-b20210927

Platform

1974: Allow tag provider editing on Edge, but only load 1 standard provider

Added the ability to modify and change tag providers on an Edge Gateway. Only one standard tag provider can still be used on Edge, but, if changing between platform editions, another tag provider can be selected instead of previously being forced to used the default Edge provider.

2155: Add Redundancy Support to IdPs

Identity providers now have an optional backup configuration that will automatically load when a redundant gateway setup’s role switches from master to backup.

Visualization

3255: Vision sound player throws error if the client machine has no audio device

The Vision Sound Player component no longer gives an error popup if no output device is found and logs the message instead.

Nightly Changelog: 8.1.11-b20210928

Data Model

4482: Querying for future historical values will return non-existent 0s with good quality when using Vision Easy Chart

Fixed an issue where querying for future historical values within the Vision Easy Chart would render interpolated non-existent 0 values.

Platform

4441: System.tag.readBlocking is writing back to an array tag in perspective

Writing to elements of arrays obtained from system.tag.read* Gateway-scoped script invocations should no longer write back to the element in the Tag’s array instance

2 Likes

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.