Nightly 8.1 Changelogs - 2020

This post contains changelog entries for nightly builds available in 2020.

Nightly Changelog: 8.1.0-b220901

Infrastructure

141: Client/Designer does not open if launcher fails to connect to the Backup gateway
Fixed so you are able to open the designer or client on a redundancy setup, where the backup is down.

112: Perspective session launcher can be accessed without authenticating
Accessing the perspective session launcher now requires authentication if homepage roles are defined.

40: Deleting Inherited Parent Tags from a UDT Definition is possible via Tag Browser
Updated to prevent the deleting of parent tags.

Data Model

128: Write to item in Transaction group displays NPE
Updated so that no longer seeing the NPE, when you create an Expression item and write to item.

Nightly Changelog: 8.1.0-b20200902

Data Model

129: ConcurrentModificationException when attempting to Ack an Alarm
Synchronize on the outer class instead of inner and no longer erroring.

303: Changes made to a client tag’s event script is reflected on the initial client tag it was copied from
Changes made to any client tag’s event script will now not directly affect another client tag’s event script.

1 Like

Nightly Changelog: 8.1.0-b20200904

Connectivity

283: Allow certificate validation to be disabled on a per-connection basis

Data Model

94: EventID associated data causes tag import to fail in 8

Fixed associated data on EventID causing tag import to fail

Visualization

311: Designer blank states

All workspaces now have beginner-friendly “welcome” tab for creating resources and seeing what was recently edited.

69: Smart Symbols

Smart symbols for Perspective

3 Likes

Nightly Changelog: 8.1.0-b20200906

Platform

337: Multi-monitor issues: error and input dialogs on incorrect screen
Error, warning, message and input dialogs would only appear on the client primary desktop when spawning the dialogs from a secondary desktop.

3 Likes

Nightly Changelog: 8.1.0-b20200908

Enterprise

302: Remote project pushed from EAM task includes parent resources
Sending a remote project over EAM no longer includes all inherited resources.

Connectivity

51: Upgrade to Milo 0.5 for 8.1
Upgraded to Milo 0.5

359: Update jSerialComm to latest version, stop using custom build
Using the public artifact instead of our own because it has binaries compiled
for ARM that don’t require GLIBC >= 2.28.

Visualization

330: Icon: Stroke property applies to boundaries of component instead of just the shape
The version of Material Icons used in the Icon Component has been updated. For a complete list of available icons see https://material.io/resources/icons/ . Our version of these icons have been lightly modified to remove the borders that are seen when a style.stroke is applied to the Icon component.

382: Perspective symbols should not animate when state="default"
Removed animations from default state.
Renamed the “Symbol” category to “Symbols” in the pallet.
Added location hidden to all the Symbol values and labels.
Vessel states made consistent with Motor, Pump, and Sensor states (Valve is an outlier).
Fixed an visual issue Vessel symbol in the Designer, when transitioning between value 0 and any other
value the liquid level would appear in the wrong place.

338: Horizontal Menu: Menu in Top Docked View throws component error on click
Updated to protect against null elements.

Nightly Changelog: 8.1.0-b20200909

Data Model

324: UDT Defs with Params that match built-in Params will fail to upgrade properly when upgrading to 8.0.15+
UDT Defs with parameters matching Built-in parameters no longer prevent tags from starting up.

323: Tag bindings get stuck in stale quality after connection between designer/client and remote server is re-established
When connection between a designer/client and remote server is severed then reconnected, tag bindings on vision components will now successfully re-establish good quality.

Enterprise

352: Expand gateway network to allow for deeper routing
Adds an environment parameter “ignition.gan.maxproxydepth” that allows for more than 1 hop in gateway network routing.

Connectivity

289: Serial SECS/GEM equipment connection throws NoClassDefFoundError: Serialio/SerialConfig error
Refactored serial code in SECS/GEM module to use jSerialComm.

Platform

355: Gateway unable to deserialize arguments from a client-scoped system.db.runPrepUpdate call
An InvalidClassException was thrown when system.db.runPrepUpdate was called with parameters that resolved to BigDecimal objects.

1 Like

Nightly Changelog: 8.1.0-b20200914

Infrastructure

76: Gateway Page for Regenerating OPC-UA Certs
Added config page to regenerate Ignition OPC UA Server and Client certificates.

Visualization

362: Implement Write Functionality For jsonValues to Support Perspective UDT Bi-Directional Writes
Added document sub-indexing support in 8.1.
Drop-target embedded view bindings are automatically bidirectional for output parameters.
Added picker for UDT types for dropConfig schema.

131: Perspective Workstation Edition
Perspective Workstation Edition will be a stand alone desktop application that will run a Perspective Session.

77: Powerchart: 8.1 Implementation
Phase one completion of Perspective’s version of the Easy Chart.

75: MobX Extraction
Removal of 3rd party library from PropertyTree model and changes to component authoring API’s in pursuit of larger performance improvements. Targets reducing browser script execution time and blocking of JavaScript thread. Important: breaking changes for component authors. See component SDK for more details.

Security

63: Ignition 8.1 - Full IdP Support
Partial completion of this feature, including:
Gateway Web Interface IdP-based login.
Designer Authentication Strategy to choose between Classic and IdP modes.
Vision Project Authentication Strategy to choose between Classic and IdP modes.
GCU password reset takes care of the extra layer of indirection introduced by the system IdP.

Platform

430: Important tag() function fixes (forwardport of IGN-404)
Three fixes to the tag() expression function: 1) No longer executes an initial read in Vision clients, going back to previous behavior. 2) fixes a potential deadlock in the function 3) Relative paths now work correctly in all alarm property bindings.

329: system.util.getGlobals() acts differently in 8.0 than 7.9, causing backwards compatibility issues for advanced scripts
Made system.util.getGlobals accessible as a constant at system.util.globals, and made values in the globals dictionary persist for the lifetime of the JVM instance.

366: Quick Start
The first phase of a new on-boarding flow to guide new Ignition users to a configured sample project.

7 Likes

Nightly Changelog: 8.1.1-b20200916

Platform

54: Improve performance of PyDataSet iteration
Improved iteration performance for PyDataset and PyRow classes. Also, changed both classes to implement more Python list methods, including index(item) and count(item).

3 Likes

Nightly Changelog: 8.1.1-b20200917

Visualization

328: jsonFormat Error_ExpressionEval when script transform returns java.util.ArrayList with unquoted strings
Converting arrays to strings in a script transform now returns valid JSON.

Connectivity

286: O(n^2) operation in OpcUaSubscriptionSynchronizer is too slow for large subscriptions (8.0)
Improve performance of OPC UA subscriptions.

Nightly Changelog: 8.1.1-b20200921

Data Model

150: Unable to modify the folder path of an existing WebDev mounted folder resource
Folder location for existing mounted folder resources can now be modified.

Nightly Changelog: 8.1.1-b20200923

Security

501: IDP that’s set as System Identity Provider should not be allowed to be deleted
IdP that’s set as the System Identity Provider can no longer be deleted.

454: Unable to Change System User Source Profile or Identity Provider if there is only one choice
Users may now unselect a user source profile or identity provider in Config > Security > General settings. This helps alleviate a problem where users were unable to change the system user source profile or identity provider if there is only one choice and that one choice does not match the current setting’s value.

Visualization

455: Power Chart: Additional RC1 follow-up issues

Annotations:

  • Annotations require at least one non whitespace character before they can be saved (save button is not enabled).
  • Config for the width of all boxes added to the interaction.annotation.infoBox.width component property.
  • Config added for interaction.annotation.infoBox.dateFormat and interaction.annotation.infoBox.timeFormat component properties.

Pen control table:

  • Caching of the brush range values has been added on the FE side to ensure that the displaying data for each range brush stays static.
  • The “Current Value” column does not display when the chart is in historical mode; it only makes sense in real-time mode.

Chart pen setting:

  • Switched all of the stroke/fill dropdowns over to using the ColorPicker component so the user can choose any value they want.

440: Workstation - Polish, Linux javaFX issue

Some cleanup and polish for workstation

  • Terminal state updates to ensure that an appropriate call to action appears
  • Shortcut Create dialog now shows correct styling for button and decorator icon (also renamed to more appropriate class name and removed excess logging for mac
  • Allow All launchers to shrink their height down to the size of one card at minimum
  • Moved version testing out of LaunchUtilTest to BrowserUtilsTest (more appropriate)
  • Shrunk the title icon down a bit to match the other launchers
  • Updated Link Mode to a more appropriate Tab/Window Links verbiage since it applies to browser tabs/windows and not necessarily all links
  • Application Names now use the projects Title
  • Secondary monitor maximize button now has two states based on the maximized state
  • Allow any level for the JXBrowser logging system
  • Renamed Display Configuration tab to Page Configuration as it makes a bit more sense based on what the goal is.
  • Secondary window sized on Windows update the browser view’s size once shown now eliminating the layout issue discussed in this ticket.

Nightly Changelog: 8.1.1-b20200924

Visualization

350: ClassCastException from converting Java collection to a qualified value
Fixed issue that could throw ClassCastException when returning a map from a script transform.

Visualization

530: Power Chart: feature request - handle multiple tags with same base name
Allowing pens with the same name to be renamed by default before added to the chart. Using the strategy of the first pen with the name conflict keeps the name (assuming it already exists). Any conflicting name that is being added (including multiple conflicting names being added at the same time) will be renamed by default before being added to the chart. An attempt will be made to include the path of the parent folder in the name. If this cannot happen (i.e. pens that were added to the root a history provider), _1 will be appended to the pen name.

506: Perspective in/out parameters don’t bubble up inside Flex Repeater or Accordian
Fixed issues in output param writeback for flex repeater and accordion.

548: Sparkline: needs performance optimizations, proper use of getters that are no longer mobx computed values
Overhaul of the component to reduce unnecessary calculations/rendering when component properties and component coordinates change. No user-facing changes, just better performance.

465: Video Player: Video loops even if loop is False
The bug noted in the title of the ticket was fixed. Additionally:

If the user has controls.autoplay enabled, the video will be muted when playing initially. This standardizes the autoplay behavior across all browsers.

Removed the custom skin for Safari to allow the user to opt into playing the video. This was needed for the tightened security in this browser since this component was initially built. This means that for iOS (in place when built initially) and now Safari, the controls.play property will not update when the user plays/pauses the video. The user can still key off of the status.playing and status.paused component properties if they need to present some type of custom “is this video playing” display in their UI.

Safari 14 does not play embedded media files. It’s recommended that the user use a different browser for playback to occur.

446: PyDatasets in Perspective properties appear as arrays instead of objects
Fixed issue that caused PyDatasets returned from transforms to be converted to arrays instead of datasets.

Security

424: Ignition 8.1 - IdP - Designer and Vision Client Terminal Web Page UIs
Added terminal web pages for IdP login to the Designer and Ignition Vision Clients.

227: Offline Unactivation removes the license from the Gateway but does not give an unactivation file
Fixed an issue where unactivating a license offline wouldn’t download the offline unactivation file.

1 Like

Nightly Changelog: 8.1.1-b20200928

Infrastructure

367: Add Apache commons-text to ignition common
Apache commons-text v1.9 added as common platform dependency. Apache commons lang3 dependency updated to version 3.11 in common platform.

2 Likes

Nightly Changelog: 8.1.1-b20200929

Security

456: Select Better Defaults for Edge Project User Source and IdP
Edge project now gets created with the system default User Source Profile and IdP and can be used to authenticate.

238: Audit profile retention field inadvertently marked invisible in all contexts
The audit profile retention field is now visible when editing audit profiles in the gateway.

Data Model

187: Browsing Exposed Remote Tag Providers over OPC UA extremely slow
Improved performance when browsing a remote provider via Exposed Tags feature.

Connectivity

385: Omron NJ driver write optimizations
Fixed Omron NJ Driver write optimization calculations. Grouped writes will no longer exceed CIP connection size.

3 Likes

Nightly Changelog: 8.1.1-b20201003

Visualization

318: Map: Always displays on in front of other components due to incorrect Z-Index value
Fixed so that any component placed after the Map is visible on top of the Map.

Platform

200: Alarm Journal buffer full exception when Acknowledging a large number of alarms
Fixed issue where Alarm Journal buffer was throwing exceptions when acknowledging a large number of alarms at once.

668: system.opc.browseServer should return datatype information
system.opc.browseServer results now include datatype information when run in gateway scope.

Infrastructure

124: Remove HASP from the installers
Installing HASP via the Installer has been removed.