2151: Add extra parameter to MySQL default parameters rewriteBatchedStatements=true
Added “rewriteBatchedStatements=true” parameter to the default connection properties for both the MySQL and the MariaDB drivers.
991: Map: ability to add custom map controls as views to the top right, bottom left, and bottom right corners of the map
Added a customControls component property (an array of custom control objects) that allows the user to embed a view into the Map component. For each custom control, the user will specify a path to the view, any params for the view, a position on the map where the view will be located (options being top-right, bottom-right, and bottom-left), and the enabled state of the custom control. The user can add any number of controls to a corner. Through the use of property bindings, scripts, etc, the user can now perform actions on the Map component from these custom controls.
578: Perspective Workstation: Fallback Redirect
Perspective Workstation added a new Fallback Redirect feature. If communication with the gateway stops Workstation can open a different application after a specified delay. It also supports auto-returning to the original application once that gateway(s) comes back online and active.
Enterprise
1750: Multiple calls to system.eam.runTask() within a short time yields inconsistent results
Fixed an issue where duplicated tasks (including generated tasks via system.eam.runTask) would not have unique IDs, leading to undesired behavior if multiple tasks were generated in a short time.
2010: Map: add vector layer component mouse events
Added a onVectorClick event function for Map component vector layers that will return the vector layers name, type of vector as a string, and the vectors position coordinates. Also changed the type expected for the name parameter in both onVectorClick and onMarkerClick events to be of any type.
Enterprise
2271: Gateway Network duplicate connection errors after reconnect
Fixed an issue where upon reconnect, gateway network connections could fault, and report a duplicate connection error once per minute.
944: Allow OPC writes to BuiltIn OPC UA structures
Support writes to custom structures that contain built-in structures as members.
2081: OPC tags get stuck with Bad_NotConnected or Uncertain_InitialValue on startup or reconnect
Fixed a bug that caused tags to get stuck with Bad_NotConnected or Uncertain_InitialValue quality on startup or reconnect.
Nightly Changelog: 8.1.6-b20210421
Visualization
1422: Make Perspective notifications less intrusive on mobile devices
Made Perspective notifications less intrusive by making notifications take up less space and be swipe dismissible.
Enterprise
2182: Remote Tag Provider against Redundant Edge Gateway Fails to Recover from Disconnect
Fixed a bug where a remote tag provider pointed to a redundant pair would not reconnect after re-establishing the gateway network connection.
1910: Device Diagnostics Overhaul
Overhauled diagnostics for polling-based drivers and replaced the old “Load Factor” metric with a new “Overload Factor” metric that is a more accurate representation of current polling performance.
Visualization
1993: Perspective Table Component - Allow sorting on the underlying array values
Table component will now sort values based on the underlying data type passed to it instead of sorting alphanumerically due to string formatting.
Security
1681: IdP login can take a long time (or timeout) if the user source profile type is an AD-variant with cache enabled with large AD forest size
Improved the speed with which users authenticate against existing IdP sessions, especially when the underlying user source is an Active Directory variant or a Database variant with many users/roles
For Database User Sources in Manual Mode or AD/DB Hybrid User Sources, a new “Find User Query” setting must be configured in order to take advantage of the improved performance
Added a new “Populate Users On-Demand” feature to the AD/Internal Hybrid user source profile type which populates the internal side of the user source with the information captured from the AD side during authentication if the user did not exist on the Internal side
2036: Rework execution system for usersourcemanager cache updater - RejectedExecutionException
Improved user source profile user/role caching performance and efficiency
2233: Device data directories should be renamed or deleted when device is renamed or deleted
A device’s data directory should now be renamed or deleted when the device is renamed or deleted.
Platform
159: Create a cron-based scripting event
Added a new type of gateway scripts - scheduled scripts, driven by a cron expression. Configured in the designer, these allow triggering business logic at specific recurring frequencies.
Visualization
2138: Issues with Tag Bindings to Document Tags
Fixed issues where arrays written inside of document tags were converted to strings.
2153: Perspective dropdowns that use ‘multi-select’ write an array of qualified values back to the tag.
Fixed type coercion issues attempting to write back from bidirectional bindings from arrays to array tags and document tags.
2304: Expression tag with tag group execution mode not firing after GW restart
Expression tags with alarms will now correctly startup on Gateway restart.
2257: Shut down LocalDevice instances during module shutdown
Shutting down the gateway or BACnet module now also correctly shuts down the local BACnet device. This resolves a conflict with the bind address that could prevent devices from re-initializing.
Data Model
2349: Changing Parent value in a UDT def from bad value to good can leave tags in uncertain state
Resolved an issue where tag subscriptions in Perspective may not be successful because the subscription was case sensitive to the tag path.
862: Decorate Bad_NotFound quality from invalid tag subscriptions with path information
Bad_NotFound quality now provides extended information about the requested tag path that was not found.
Infrastructure
2285: CoherentCertificate Class NPE when cert does not have SAN
Importing certificates into the launchers which do not have Subject Alternative Names do not throw NullPointerExceptions.
Visualization - Web
2370: Perspective page urls with illegal characters do not open from designer correctly
Illegal characters in Perspective page URL path segments are now escaped so that they can be launched from the Designer properly
2305: Unicode in view path param of login / logout routes drops the view path on return from the IdP
Non-ASCII characters in page URLs are no longer dropped on return from the IdP during login / logout
1132: Perspective Page URLs that contain a space character redirect user to main page after authentication
Perspective pages with space characters should be encoded so that redirects work
2355: Power Chart - “Print” option no longer works in 8.1.4
Print works again
2376: Modified Database connections fail to heal back to Valid after Faulted
Fixed an issue where the database connection retry thread would be shut down and not restarted if changes were made to a database connection.
2314: Script Manager: Saving Gateway event scripts that can’t compile prevent script manager from updating other Gateway scripts on the same project
Fixed an issue where deliberately saving tag change scripts that did not compile could affect the execution of unrelated tag change scripts.
Visualization Swing
1976: Perspective Components in the Vision Web Browser Component will not receive input from the Vision On-Screen Keyboard
The Vision Web Browser Component now supports Touchscreen mode for perspective sessions running inside the component.
Visualization Web
2252: Upgrade underscore JS Dependency Versions due to CVEs
Underscore dependencies in both the react-timeseries-charts and pondjs libraries were updated to 1.13.1. 1.12.1 and below are vulnerable to Arbitrary Code Execution via the template function, particularly when a variable property is passed as an argument as it is not sanitized.
2263: MissingFormatArgumentException: Format specifier ‘%s’ in TimePartBetweenFunction-based expression functions
Fixed an error message that caused another error if a null value sent to expressions that calculate the time between dates.
Connectivity
2323: Programmable Simulator UI coerces values using locale
Stop using Locale to parse numbers.
2330 Perspective Table Component - Add ability to adjust table row height
This adds a height property under the rows component property that allows for a value of auto or any numeric value (representing a height in pixels) to be specified. This value is treated as as a min-height value so that subview expansion can remain operational. Table rows can be larger than this value (depending on the height of the content that they display), but that cannot be smaller.
2286 Embedded View: Changes to instanced view are not reflected in Embedded View component until main view is re-opened
Embedded View component will once again immediately render changes to the underlying View in the Designer. This is evident when editing both the Embedded View Component’s view, and the View containing the Embedded View Component simultaneously.
2009: system.net.httpClient timeout parameter doesn’t accept int values
Passing a number for the timeout parameter of scripting function system.net.httpClient will now succeed.
1293: ScriptManager Collision at system.util.initialize
No longer logging harmless ScriptManager collision logs to ERROR.
Infrastructure
2340 Upgrade the bundled JRE to 11.0.11
Upgraded the bundled version of java to 11.0.11. NOTE: This version disabled TLSv1 and TLSv1.1 by default and must be manually re-enabled as defined in the openJDK issue JDK-8254713 if these protocols are required.
2444: Tables: no rows displayed when placed in Tab Container
Fixed an issue with the tab container which forced Table based components such as the Alarm Journal, Alarm Status, and Table Component rows to have 0 height. Also tab’s with an empty string for a tab prop will now correctly render their contents.
1728: As a Perspective app designer, I would like a UI to help me visualize and select an icon from my available icon libraries
Implemented schema helper for browsing and choosing SVG icons.
1504: Concurrent user bundle key loaded by Vision module, not platform
Fixed the tooltips for resources in the Project Browser tree when multiple users are editing concurrently.
Data Model
2290: Previous Gateway’s SFC charts appear on SFC Monitor after a Restore
Previous Gateway’s persisted SFC charts no longer appear on SFC Monitor after a Restore.
2292: Error stopping SFC module (NPE), on gateway shutdown, while enclosed persistent charts are running
Fixed NPE stopping SFC module on gateway shutdown while enclosed persistent charts are running.
2296: Persistent SFC charts resume in a Stopped state upon gateway restart, and cause a NPE in the SFC Monitor Component
Persistent SFC charts no longer resume in a Stopped state upon gateway restart and no longer cause an NPE in the SFC Monitor Component.
2417: Missing vector coordinates field in Map onVectorClick scripting function detail
Added missing details regarding the position field on the onVectorClick scripting function.
953: Catch NPE and throw more useful error when you create a roster and add user(s) that don’t actually exist
Avoiding an NPE and printing an error when passing a null to system.roster.addUsers().
Infrastructure
769: Gateway cacerts file corrupted after upgrade (intermittent)
Improved gateway supplemental import mechanism and added additional logging to show certificates which are imported into the gateway’s default trust store.
Nightly Changelog: 8.1.6-b20210510
Data Model
965: Importing UDTs with existing definitions doesn’t overwrite the entire definition when overwrite option is selected.
Importing a UDT or UDT instance with the overwrite collision policy now overwrites the entire definition instead of just the member tags included with the import.
Infrastructure
1809: Docker Image: Support automated restore of gateway backups
Docker image now supports -r <path/to/gateway.gwbk> argument to automate the restore of a gateway backup on fresh container launch.
Platform
1983: system.alarm.listPipelines intellihint provides no info about optional string argument
Modified the system.alarm.listPipelines scripting hint to provide more information.
2402: Perspective Closed Session terminal state page is failing to load
Checking that the center element exists before reading data from it.
2419: Passing page parameters in the URL will not update when modified from the address bar in browser
Corrected issue with URL parameters being passed to views that were already running.
2377: Quality Overlays not applied to Text Field and Text Area
Making sure that qualities get applied to both components.