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.
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().
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.