Nightly 8.1 Changelogs - 2020

Nightly Changelog: 8.1.2-b20201221

Visualization

135: Project Dialog UI refactor
Improved the user interface in the create project dialog in the designer to better support project inheritance.

993: One-Shot Button: State changes on exiting Preview mode
The Perspective One-Shot Button no longer goes into writing state, or an inconsistent state, when exiting preview mode in the Designer.

574: Alarm Status Table: mobile devices, event details button is getting stuck on initial row selection, touching other rows does not update its position
For the Perspective AlarmStatusTable and AlarmJournalTable components, the alarm details action button, which becomes visible on mouse hover or touch on mobile if enabled, will no longer get “stuck” on the “first” row of said alarm table.

847: Perspective Popups not resizable on touch panel devices
Fixed issue where the popup component could not be resized on touch devices.

Data Model

91: Improve tag backfill data support, allow most recent value first delivery
Improves the handling of out-of-order data in tags. When outside data, such as OPC or tag references, arrives with timestamps that are out of sequence, the data will be processed by the history system, instead of being ignored.

Connectivity

1303: Logix driver fails to write to unsigned datatypes
Fixed to support writes to USINT, UINT, UDINT, and ULINT tags in L8x controllers.

Nightly Changelog: 8.1.2-b20201222

Visualization

1077: Power Chart: Add option to change the time format when exporting to a CSV
Adjusted the format of the time column data when exporting the chart data to a CSV file. Rather than the millisecond timestamp value used in the raw chart data, the time formatting supplied by the newly added config.export.dateFormat and config.export.timeFormat component properties are now used to build the values for the time column data in the exported file. This also takes the session’s timeZone property into account when creating the value. This also provides a place in component properties to add additional export config in the future (file format, etc…).

Connectivity

1174: No longer receiving unsolicited messages after DNP3 device is power cycled
Continue receiving unsolicited messages after the DNP3 device is power cycled.

Data Model

1173: Deadlock during alarm evaluation
Replaced the synchronizedMap with a ConcurrentHashMap, which doesn’t have the same locking requirements for iteration. This removes the need for the locking on profiles while calling profile.receiveAlert().

Nightly Changelog: 8.1.2-b20201224

Data Model

811: Bulk alarm acknowledgement against remote providers is slow
Improved performance of bulk tag acknowledgments to remote tag providers.

Connectivity

835: Trailing Space in Modbus TCP Device Causes DriverType Registration to Fail
Any leading/trailing spaces in device names will be stripped out when using system.device.addDevice() scripting function.

1256: Trailing Space in Logix 21+ Device will cause issues with Device and Drivers
Any leading/trailing spaces in device names will be stripped out when using system.device.addDevice() scripting function.

Nightly Changelog: 8.1.2-b20201228

Visualization

611: Dropdown: use of scroll bar to scroll options closes option list in Designer and Popup Views
Fixed bug that was closing the dropdown component upon clicking the scrollbar of the dropdown if it was nested inside a Popup component OR when trying to use the scrollbar in the Designer preview mode.

Nightly Changelog: 8.1.2-b20201229

Enterprise

667: Gateway Network denied connection temporarily spams log on gateway startup
Fixed so that the logs are no longer being flooded.

Nightly Changelog: 8.1.2-b20201231

Visualization

331: Map: Inline styles are not applied to marker icons although Style Classes are
Fixed the issue that was not correctly applying inline styles to markers on the Map component.

Nightly Changelog: 8.1.2-b20210104

Data Model

1383: UDT: Writing to array member tags of UDT instances can write back to UDT definition
Stop applying UDT Instance array member tag writes to the array member tag of UDT Definition.

1180: system.tag.deleteTags() and system.tag.configure() result in duplicate tags after a Gateway restart
Fix batching of tag configuration edit/deletes to ensure deletes are processed in correct order.

Platform

1314: OPC Browser no longer reflects servers belonging to gateway of remote tag providers
Selecting a tag provider will now update the OPC browser panel with the servers corresponding to the selected provider’s gateway.

1441: Tag browser import error doesn’t display stacktrace on read failure
Now displaying exception details in the error console when importing tags in the Designer Tag Browser.

Nightly Changelog: 8.1.2-b20210105

Visualization

1417: Global variables set from a retarget function call are not being saved
Now setting globals _RETARGET_FROM_PROJECT and _RETARGET_FROM_GATEWAY params on Vision client retarget.

Nightly Changelog: 8.1.2-b20210106

Data Model

100: system.tag.browse with recursive filter returns incorrect tag paths
Return correct tag paths when using system.tag.browse() with recursive filter enabled.

1471: Successful writes to memory tag array types are not immediately reflected in subscriptions
Changes to arrays will correctly reflect in subscriptions.

1462: expression tags on edge will return “platform edition does not support database access” message if edge gateway upgraded from 7.9
Expressions within tag provider now execute properly if the system is an edge gateway upgraded from 7.9.

Visualization

1183: Time Series Chart: date/time supports english locale format only

This update allows the Time Series Chart, the Chart Range Selector, and the Power Chart to display locale-aware date values. The following is a list of local codes that will modify the display of a date value (if a code is used that is not part of this list, it will fall back to en-US as the default locale):

  • Afrikaans --> af, af-za
  • Arabic --> ar
  • Arabic Algeria --> ar-dz
  • Arabic Kuwait --> ar-kw
  • Arabic Lybia --> ar-ly
  • Arabic Morocco --> ar-ma
  • Arabic Saudi Arabia --> ar-sa
  • Arabic Tunisia --> ar-tn
  • Azerbaijani --> az
  • Belarusian–> be, be-by
  • Bulgarian–> bg, bg-bg
  • Bamara–> bm
  • Bengali–> bn, bn-bd
  • Tibetan–> bo, bo-bt
  • Breton–> br, br-fr
  • Bosnian–> bs
  • Catalan–> ca, ca-es
  • Czech–> cs, cs-cz
  • Chuvash–> cv
  • Welsh–> cy, cy-gb
  • Danish–> da, da-dk
  • German–> de, de-de
  • German Austria–> de-at
  • German Switzerland–> de-ch
  • Maldivian–> dv, dv-mv
  • Greek–> el, el-gr
  • English–> en, en-us
  • English Australian–> en-au
  • English Canadian–> en-ca
  • English United Kingdom–> en-gb
  • English Ireland–> en-ie
  • English New Zealand–> en-nz
  • Esperanto–> eo
  • Spanish–> es, es-es
  • Spanish Dominican Republic–> es-do
  • Spanish United States–> es-us
  • Estonian–> et, et-et, et-ee
  • Basque–> eu, eu-es
  • Persian–> fa, fa-ir
  • Finnish–> fi, fi-fi
  • Faroese–> fo, fo-fo
  • French–> fr, fr-fr
  • French Canadian–> fr-ca
  • French Switzerland–> fr-ch
  • Frisian–> fy, fy-nl
  • Scottish Gaelic–> gd, gd-gb
  • Galician–> gl, gl-es
  • Konkani–> kok, kok-in, gom-latn (Exception to the BCP-47 format)
  • Gujarati–> gu, gu-in
  • Hebrew–> he, he-il
  • Hindi–> hi, hi-in
  • Croatian–> hr, hr-hr
  • Hungarian–> hu, hu-hu
  • Armenian–> hy, hy-am
  • Indonesian–> id, id-id
  • Icelandic–> is, is-is
  • Italian–> it, it-it
  • Japanese–> ja, ja-jp
  • Javanese–> ja
  • Georgian–> ka, ka-ge
  • Kazakh–> kk, kk-kz
  • Cambodian–> km, km-kh
  • Kannada–> kn, kn-in
  • Korean–> ko, ko-kr
  • Kyrgyz–> ky, ky-kg
  • Luxembourgish–> lb, lb-lu
  • Lao–> lo, lo-la
  • Lithuanian–> lt, lt-lt
  • Latvian–> lv, lv-lv
  • Montenegrin–> me
  • Maori–> mi, mi-nz
  • Macedonian–> mk, mk-mk
  • Malayalam–> ml, ml-in
  • Marathi–> mr, mr-in
  • Malay–> ms, ms-my
  • Maltese–> mt, mt-mt
  • Burmese–> my, my-mm
  • Norwegian Bokmal–> nb, nb-no
  • Nepalese–> ne, ne-np
  • Dutch–> nl, nl-nl
  • Dutch Belgium–> nl-be
  • Nynorsk–> nn, nn-no
  • Punjabi–> pa, pa-in
  • Polish–> pl, pl-pl
  • Portuguese–> pt, pt-pt
  • Portuguese Brazil–> pt-br
  • Romanian–> ro, ro-ro
  • Russian–> ru, ru-ru
  • Sindhi–> sd, sd-pk
  • Northern Sami–> se, se-se
  • Sinhalese–> si, si-lk
  • Slovak–> sk, sk-sk
  • Slovenian–> sl, sl-sl
  • Albanian–> sq, sq-al
  • Serbian–> sr, sr-rs
  • Serbian Cyrillic–> sr-cyrl
  • Si Swati–> ss
  • Swedish–> sv, sv-se
  • Swahili–> sw, sw-ke
  • Tamil–> ta, ta-in
  • Tetun Dili–> tet
  • Thai–> th, th-th
  • Tagalog–> tl, tl-ph
  • Klingon–> tlh (…because I had the rules)
  • Turkish–> tr, tr-tr
  • Talossan–> tzl
  • Central Atlas Tamazight–> tzm
  • Central Atlas Tamazight Latin–> tmz-latn (Exception to the BCP-47 format)
  • Ukrainian–> uk, uk-ua
  • Urdu–> ur, ur-pk
  • Uzbek–> uz, uz-uz
  • Uzbek Latin–> uz-latn (Exception to the BCP-47 format)
  • Vietnamese–> vi, vi-vn
  • Yoruba Nigeria–> yo, yo-ng
  • Chinese–> zh, zh-cn
  • Chinese Hong Kong–> zh-hk
  • Chinese Taiwan–> zh-tw

NOTE: The application of date locales utilize an internal class accessed by most components that display date values. If those other components are on screen with the Time Series Chart, Power Chart, or Chart Range Selector, they will be able to take advantage of the locale date formatting that the TS and CRS components have initiated. This does not mean that all components that display date data are locale-aware; that must be handled in a separate effort. …but we are a step closer to that end.

Time Series

The places where date values will be modified based on locale are:

  • Time Axis ticks
  • Date ranger display at the bottom of the chart
  • X trace time value

Chart Range Selector

The places where date values will be modified based on locale are:

  • Time Axis ticks
  • Date ranger display at the bottom of the chart

Power Chart

The places where date values will be modified based on locale are:

  • Annotation time values (when adding an annotation as well as the date on the persistent annotation display)
  • Time Axis ticks
  • Historical mode date display
  • Brush range date display
  • X trace time value

Nightly Changelog: 8.1.2-b20210107

Data Model

1457: Tag provider does not return accurate state while loading
Tag providers now provide more accurate status to other systems during startup.

1201: system.tag.browseHistoricalTags() path param doesn’t work with gateway name in driver on internal historical provider
Browsing using system.tag.browseHistoricalTags() will now return results if the gateway name isn’t included within the historical path parameter. If not included, the current gateway name will be used instead.

1388: Tag Editor no longer shows invalid tag config underlines in Type Structure list
Corrected Tag Editor warning indications on invalid UDT parent data type configurations.

Platform

1438: Exception while switching projects in Designer
Switching projects in the designer no longer throws tag subscription exceptions for the Tag Browser.

1374: Store and Forward cache can become extremely inefficient due to hash code clash (8.1)
Inefficiency in forwarding tag group/scan class evaluation records (which happen when tag history uses “Tag Group” evaluation) can cause backups in data in the datacache. This is a regression introduced in 8.0.7.

Nightly Changelog: 8.1.2-b20210108

Data Model

1285: Tag provider does not return accurate state while loading
Tag providers now provide more accurate status to other systems during startup.

1449: Datatype of array tag in UDT not getting set properly
Pasting one array tag value into another array tag value will no longer convert the pasted value to a Dataset.

Connectivity

132: Autocomplete on system.serial.port is missing descriptions
Fixed script autocomplete hints/descriptions across various editor contexts.

1243: Upgrading to 8.1.0 Failover is enabled for OPC UA connection
Keep the previous Failover Enabled setting for OPC UA Connection when upgrading from 7.9.x.

Visualization

1259: Perspective Symbol animations take more CPU on workstation than in browser
Perspective Workstation now relies on Hardware Rendering which improves rendering performance.

Nightly Changelog: 8.1.2-b20210111

Infrastructure

1277: Launcher’s Fallback application no longer works

Vision Client Launcher’s Launch Fallback application now works when one has been set and the target gateway (or any backups) cannot be reached when a retry count of 1 or greater is set.

Nightly Changelog: 8.1.2-b20210112

Data Model

1272: DatasourceQueryExecution::runSpecialValueQuery throws IllegalArgumentException: Comparison method violates its general contract
Fixed a rare issue where a tag history query for seed values could throw an exception from its comparison method.

1200: Transaction Group DB Writes don’t occur on execution after restart until a watched value changes
Transaction group executions will correct resume on Job disable/enable, gateway restarts, and SQLBridge module restarts.

Nightly Changelog: 8.1.2-b20210113

Data Model

159: Txn group scheduled to run at 23:59 executes two extra times on day of DST changeover’
Prevent Transaction Groups from running at unexpected times on the day of a daylight saving time change.

1362: Writing a mutated qualified value to a tag will change the tag value but not trigger valueChanged script on the target tag
Writing QualifiedValues to tag will now correctly trigger valueChanged script.

Security

1513: Vision / Designer configured for https silently reverts to http

Fix an issue where vision clients and designers would establish insecure http connections despite launching with secure https URLs when the target gateway has force secure redirect and auto detect public address both set to disabled. Vision clients and Designer should no longer ever downgrade to insecure http connections once an https connection is established.

Nightly Changelog: 8.1.2-b20210114

Visualization

713: Table: ability to configure table body’s empty message
The empty message of the Perspective Table component is now configurable.

1435: Dashboard: users may no longer confirm or cancel widget selection
The add widget modal of the Perspective Dashboard component will no longer overflow outside of the viewport in scenarios where the viewport dimensions are constrained.

Infrastructure

1064: System Name system tag doesn’t update when gateway name is populated via init.properties file
System Name tag now reflects initial value set within init.properties file on first gateway launch.

Data Model

1404: SFC’s Cannot Reference Project Scripts like Gateway Events Can (8.0)
SFC Python scripts and expressions can now reference Project Scripts.

Nightly Changelog: 8.1.2-b20210115

Platform

1165: Update MariaDB JDBC driver to work with MySQL 8.0
Updated MariaDB JDBC Driver for fresh installations to version 2.7.1.

Data Model

1540: Client tags don’t coerce dataset into array type like normal tags
Added additional check to return the first column if data type is array instead of scalar value.

1493: Deleted alarms appearing in the Alarm Status Table
Deleting alarms will correctly remove alarms from Alarm Status Table.

333: Duration On Aggregation Mode returns incorrect number momentarily
Stop “Duration On” aggregation mode for tag history bindings from going into the future (to the end of the time window) by stopping at the current time when the value is still “ON”.

1389: Add support for relative chart references in Enclosing Steps
Enclosing Steps can now use relative paths to reference other charts. A dot (.) will translate to the current directory, while a double-dot (…) will translate to up a directory.