Nightly 8.1 Changelogs - 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.

Nightly Changelog: 8.1.1-b20201007

Security

202: Implement Session Fixation Mitigations
Ignition Gateway’s Session Cookie IDs are now rotated upon successful authentication from an IdP.

651: Username label no longer visible on the IdP login page unless focus is removed from the field
Fixed a bug where the username label was no longer visible on the internal Ignition IdP login page unless focus was removed from the field.

Connectivity

517: DNP3 “Error decoding unsolicited response: Unexpected g22v1"
DNP3 driver will now handle all Class 1, Class 2, Class 3 events.

Visualization

536: Power Chart: Post 8.1 RC Follow-Up

Power Chart

Component Props:
Updated the description for the …xTrace.values component property to make it relevant to what values actually is.

Annotations:
Exposed annotation icon colors. The interaction.annotation.infobox property has a new child property called icon. It contains config for the stroke and fill as well as a general style property where the user can provide custom style.

Annotations now show in both preview and design mode

Pen control table:
The text of the range selection table headers was made much darker so it is visible when the theme is switched to dark.

Adjusted the width of the Pen Name column based on the largest name provided. Done using a temporary canvas element (never attached to the DOM and garbage collected) this time for a calculation based on current font family and size. Accurate to roughly one pixel.

Time Series Chart

Binding Chart to a DataSet:
Ensuring that the default t_stamp column name is correctly removed when binding to a dataset. This was introduced as a regression during some initial work on the PowerChart in shared source files.

561: Power Chart: Chart interaction issues with annotations and range brush on Safari
Removed the foreignElement (for all platforms except Android) inside of the chart library that was responsible for keeping touch/pointer events from disrupting the pinch zoom and drag interaction. The latest versions of Safari do not support this as they did previously.

579: Simple Gauge: Component update from prop changes are delayed
Property application issues mentioned in the ticket addressed. The chart also regenerates on resize.

604: Time Series: Icon is missing on zoom reset button
Time Series zoom icon restored.

613: Component Rename not displayed in Project Browser until View is re-opened
Component meta.name changes will once again be reflected in the Project Browser. This was broken in RC1, and is now fixed.

Nightly Changelog: 8.1.1-b20201008

Connectivity

425: NJ driver needs a manual date/time offset setting
Added Date/Time offset setting to Omron NJ Driver.

Visualization

727: Vision query bindings with update queries have “UPDATE” checkbox un-selected after upgrade from 7.9.6 or prior
Upgrading a vision window with query bindings will now keep the binding settings the same as they were in the originating version.

Nightly Changelog: 8.1.1-b20201012

Connectivity

762: Logix Driver UTF-8 String Support
Fix length calculation when writing UTF-8 strings.

Infrastructure

** 433: Installer needs to account for different filenames of MSSQL Windows auth DLL**
Newer mssql-jdbc_auth dll files which contain versions in their names are retained on upgrades when using the Installer.