Nightly 8.1 Changelogs - 2023

Repost from early Jan 2023:

Weekly Changelog: 8.1.25-b20230103

Visualization

6701: Option to serialize Vision windows in plain XML
Added support for specifying the format you wish to use for serialization for Vision Windows, Templates, and the Template's Drop Target configuration. The configuration is exposed in the Vision Modules 'General' Project properties and supports Binary, XML, and Auto (the default and is currently Binary). This may help improve readability and file diffing in some systems using VCS.

Weekly Changelog: 8.1.25-b20230109

Swing

5852: Change format of date(time) values copied to clipboard from the DB query browser
Updated the result table in the DB query browser to copy values to the clipboard in an RFC 2339 compatible local datetime format. In addition, adding shift to the copy keystroke will copy values in a tab-separated format suitable for directly pasting into spreadsheet tools such as MS Excel.

Weekly Changelog: 8.1.25-b20230110

Tags

6924: Reading nested UDT Tags instances is slow due to the ConfigurationPropertyModel
Improved performance of browse on Tag Providers with large amounts of deeply nested UDTs.

Alarming

4351: Profile delete within an alarm notification block retains previous settings
Previous settings on Alarm Notification Blocks are no longer retained after being removed.

Platform Core

7019: Jetty 10 throws HTTP ERROR 400 Invalid SNI when Web Server URL's hostname does not exist on the installed Web Server SSL Certificate
Fixed a regression introduced by the Jetty 10 upgrade where Ignition threw an HTTP ERROR 400 Invalid SNI when the Gateway URL's hostname does not exist on the installed Web Server SSL Certificate's Subject Common Name or Subject Alternative Names.

Weekly Changelog: 8.1.25-b20230111

Tags

6926: System.tag.readBlocking will timeout when run within a system.tag.readAsync callback function in gateway scope against a remote Tag
Fixed a bug which led to timeout when calling system.tag.readBlocking inside the callback of system.tag.writeAsync and both functions target the same remote tag provider. This also applies to other permutations of read and writes such as calling system.tag.writeBlocking inside the callback of system.tag.readAsync.

1 Like

Weekly Changelog: 8.1.25-b20230112

Gateway Network

5414: Gateway Network visual mapping tool: MVP 1
The Gateway Network status page now has a live diagram tab. This is a visual representation of the gateway network from the perspective of the local gateway, presented as a graph.

6915: Gateway network incorrectly routes a redundant gateway thru a secondary gateway instead of an available direct connection
Gateway network would sometimes route a remote gateway through an indirect redundant or proxy connection instead of an available direct connection.

Security

5272: Security Zone "Require Secure Connection" seems to incorrectly depend on GAN settings also requiring SSL
SSL mode is now properly detected on incoming gateway network connections. Security zones that require a secure connection qualifier can now be used for both outgoing and incoming gateway network connections.

Comms

6845: Modbus RTU driver needs an "RS-485 Mode" setting
Added an "RS-485 mode" setting to Modbus RTU driver.

Alarming

4233: Alarm 'Unacknowledged Duration' expression never returns a value
Fixed an issue where alarm custom messages wouldn't evaluate with the correct property value when using ackDuration.

Data & Logic

2996: value in key/value pair inadvertently copied to other transaction group
Fixed the Designer transaction group Key/Value editor carrying values between groups when a save operation is performed while editing.

Weekly Changelog: 8.1.25-b20230113

Tags

4537: Tag/Group editor have time units missing
Fixed Tag/Group editor so that time units are added to rate execution timing fields.

Data & Logic

2996: value in key/value pair inadvertently copied to other transaction group
Fixed the Designer transaction group Key/Value editor carrying values between groups when a save operation is performed while editing.

Gateway Network

3011: Service Security: Remote historical provider access doesn't inherit from default setting as expected
Some of the GAN service security settings (specifically History Provider Access, Alarm Journal Access and Audit Log Access) now use the default access level if an access level under one of those providers is set to "Inherited".

Infrastructure

6762: Upgrade the bundled version of java to 11.0.17
The bundled version of java is bumped to 11.0.17

Weekly Changelog: 8.1.25-b20230117

Gateway Network

6947: Redundancy: Manual Recovery Mode Ignored When Upgrading Master
The redundancy manual recovery mode is now respected when one redundant gateway is upgraded and the gateways are now incompatible.

Perspective

6978: DateTime Input no longer displays the input for seconds depending on format
Fixed DateTimeInput regression, not showing seconds when format string contains seconds.

2 Likes

Weekly Changelog: 8.1.25-b2023018 through 8.1.25-b20230120

Containers

6994: Docker Image: Make file ownership/permissions explicit on entrypoint and healthcheck scripts
Fixed read/execute privileges on entrypoint script that might cause permission denied errors for derived Docker images using non-root user.

Perspective

1770: Context menus for Perspective components
Implementation of a configurable context menu for Perspective components that allow the user to configure an array of context menu items to display on right click of said component. Menu items range from a navigation link, custom component method invocation, sending a system message, or an expandable submenu.

7024: (Piping) Convert to Drawing results in incorrect Viewbox dimensions
Converting pipes to a drawing will once again generate a Drawing component with the correct position props and props.viewBox.

6970: Table: column filters should also write to filter results
Fixed an issue where filtered column result data was not written to filter.results.data when filter.results.enabled was true.

7066: Alarm Status Table: Extension functions no longer filter alarm events
Fixed an issue where extension functions (filterAlarm of the Alarm Status Table, and filterBrowseNode of the Tag Browse Tree) no longer filtered the displayed results.

7068: Perspective popups are no longer draggable by clicking anywhere on the popup when partially off of the screen
Fixed an issue where users were unable to drag Popups which were rendered partially off-screen by clicking a non-input component.

Swing

4944: Add onShelve extension function to Alarm Status Table
Added onShelve extension function to the Alarm Status Table component.

6236: Add tooltip with full resource path to Perspective designer tabs
Added tooltips displaying full resource paths for Perspective Views, Named Queries, Reports, and Web Dev designer tabs.

Security

6883: User Source option Schedule Restricted does not take individual user Schedule Modifications into account.
User Source option 'Schedule Restricted' now takes individual user Schedule Modifications into account.

Alarming

6178: Alarm state properties do not show proper states in Email Custom Message
Fixed alarm custom messages to return the correct values for {isActive}, {isAcked}, and {isClear}.

Tags

4933: TagProviderImpl executor threads are not registered with TPC
Fixed a bug where tag provider threads weren't being categorized under the Tags system when viewed from Ignition Gateway → Status → Threads.

6847: Prevent the usage of Wildcard path in Derived and Reference tags
Prevent use of wildcard paths in Reference/Derived Tags.

2 Likes

Weekly Changelog: 8.1.25-b20230123

Gateway Network

6933: Taking gateway backups from agents via EAM through a proxy causes unexpected thread contention
Added max concurrent backups setting to EAM gateway backup task.

7002: Remote tag history storage does not use Tag History Storage Service queue to send data
Fixed a problem where the tag history for the sent historic data was being stored in the default queue. It is now stored in the Tag History Storage Service queue instead.

Reporting

6892: Reporting: Using a Tag Reference in the Basic SQL Query will result in null values
Fixed an issue where tag references inside Basic SQL Queries were evaluated to null.

Alarming

4871: Alarm pipeline script block - event['isAcked'] and event['isShelved'] returning wrong values
Fixed alarm pipeline script blocks to return the correct event data for event['isAcked'] and event['isShelved']

Perspective

2200: Table: Add nullFormat options to table column properties
Null values in the table component can now be formatted via table props or more specifically individual column props.

1 Like

Weekly Changelog: 8.1.25-b20230124

Comms

6844: Modbus RTU driver doesn't reset buffer after an invalid response or CRC mismatch
Force a "reconnect" after a CRC mismatch to discard any invalid buffered serial data.

Perspective

7081: Failed to resolve schema error found in the GW logs
Resolved "Failed to resolve schema ref 'urn:ignition-schema:schemas/style-properties.schema.json', validation will not succeed!" error related to Perspective Context Menu.

Weekly Changelog: 8.1.25-b20230125-8.1.25-b20230126

Alarming

7055: Alarm missing correct config properties for initial event
Fixed alarms to return configuration properties for initial events.

Security

3095: Designer: UI indication when Perspective Permissions config points to a security level which does not exist
Perspective Permission config tree now has visual cues when a security level is selected which doesn't exist.

4409: Add Badge Attribute and Badge-Based Authentication to Pure Active Directory User Source
Pure Active Directory User Sources now support Badge Based Authentication.

Perspective

6109: Table: Filter displays incorrect plurality for result text
Fixed multiple areas across the Table components where we were using the incorrect singular form of "result" when no results were found. ("0 result found").

6968: XY Chart: “Bullets” label rendered not affected by fill color
Fixed a bug with the Perspective XY Chart where bullets rendering as 'label' would not be affected by fill color.

Swing

6979: Dropdown for On-Call Rosters in Alarm Pipeline Notification Block does not scroll
Fixed an issue where the On-Call roster popup menu in Alarm Notification Blocks would not present items in a scrollable area for large menus.

5677: Use an automatically scrolling base menu class in system.gui.createPopupMenu
Fixed an issue where popup menus using system.gui.createPopupMenu would not present items in a scrollable area for large menus.

6827: Vision: When editing a cell from the table/power table the text color defaults to dark gray, becoming less readable in some cases
Fixed issue where only the default foreground color is applied when editing a table/power table cell.

Gateway Network:

6787: Module gateway network service/intent classes remain in security map after module has been uninstalled
Fixed issue where module gateway network service/intent classes remained in a map after the module had been uninstalled, causing a memory leak.

2 Likes

Weekly Changelog: 8.1.25-b20230127

Drivers

4912: IEC 61850 Driver
A new driver has been added to support IEC 61850 devices using MMS protocol. Features include: SCD file support, Reporting Control Block handling and new system functions. See Forum post.

Swing

6690: Argument type mismatch error thrown when deserializing numeric text field
Fix a serialization issue with the bindings of Numeric Text Fields in Vision where a Type Mismatch Error is thrown for projects with the following conditions:

  1. There are more than one Numeric Text Fields in a single Window or Template
  2. At least 2 of the Numeric Text Fields have their Value fields bound to different Value types (Int, Double, Long, Float)
  3. At the time of saving the project, the Numeric Text Fields bound to different Value types have values of 0
  4. Numeric Text Fields with Float/Double is serialized before those with Int/Long

Tags

7093: NPE causes 7.9 LegacyTagConverter to fail
Fix NPE during 7.9.* tag conversion.

6402: Upgrade from 7.9 to 8.1 changes overrides in UDT Definitions
Fix upgrade from 7.9.13 not applying all UDT member overrides.

Weekly Changelog: 8.1.26-b20230207

Perspective

6897: Perspective: Table component property editor refreshes when a tag binding changes quality
Improved quality overlay related performance and stopped Property Editor from refreshing each time property qualities change.

Web UI

6183: Internal Historian sync incorrectly mentions EAM requirement
Removed a declaration that an EAM Module license is required for Internal Tag Historian Sync.

Weekly Changelog: 8.1.26-b20230208

Perspective

3212: Perspective Pie Chart: Legend and chart are not interactive when embedded in a Carousel
Fixed inability to interact with PieChart legend when rendered within a Carousel.

Weekly Changelog: 8.1.26-b20230209

Perspective

7077: SVG Drawing Importer fails to import "font-size" SVG attribute
Perspective Drawing Component - the font-size SVG attribute will now correctly be parsed as fontSize prop when embedding an SVG in Perspective.

384: Perspective symbols need project-wide way to define new "states"
Added ability to add new symbol states and override existing states in Perspective.

7132: Alarm Status Table: Provide locators for shelve times
Fixed an issue where the conversion of shelve time seconds to readable measurements of time would sometimes include a trailing space. This was affecting translations of these terms because the term to be translated would need to also include the trailing space. Existing translations which previously worked around this issue by supplying the extra space will need to have the space removed. The most likely terms this would affect would be "1 hour ", "2 hours ", and "4 hours ".

7025: SVG’s with changing color gradient ID’s causes chromium memory leak
Perspective Drawing Component - Drawings Components containing radial or linear gradients that were generated before 8.1.22 ("legacy gradients") will no longer result in random HTML IDs being generated periodically ("onRender"). This prevents a Chrome browser memory leak on Perspective views containing such Drawing Components.

Comms

7152: 61850: Disabling a device does not affect status of currently subscribed items
Set an Uncertain_LastUsableValue StatusCode on existing MonitoredItems during shutdown.

Platform Core

7134: Restarting device driver modules can result in device connections showing N/A status
Fixed a bookkeeping issue tracking licensed device count when restarting a driver module.

Infrastructure

6252: gwcmd.sh should return non-zero exit code on failures
Improved the gateway control utility's error handling; more descriptive errors are returned and errors will consistently return exit code 1 to facilitate automation.

Weekly Changelog: 8.1.26-b20230210

Perspective

1560: Hide the "Copy Binding" options if the property doesn't have a binding
Improved Perspective property context menu consistency by removing options from the property context menu if those options would otherwise be disabled. For example, if a property has no binding in place, the context menu should not display a disabled option of "Copy Binding". This also holds true for "Paste Binding" when the clipboard does not contain a binding configuration. We previously omitted other binding options ("Disable Binding", "Remove Binding") based on the presence of an existing binding and we will now follow that logic for all binding options.

Gateway Network

6969: ConcurrentModificationException can be thrown on EAM controller when agent connects
This change adds a try catch and logs an exception that can be thrown when an EAM controller and agent connect.

Swing

6746: Required Designer Roles: role autocomplete uses project user source instead of system
Fixed the autocomplete hints in the Required Designer Roles section of the project properties to properly reflect the system user source or identity provider.

1 Like

Weekly Changelog: 8.1.26-b20230213

Docker

7013: Docker Image: Update default UID to non-root user
Docker image now defaults to non-root user (UID/GID 2003). Migration steps will be required for existing data volumes, see documentation for details.

Weekly Changelog: 8.1.26-b20230214

Perspective

5302: Numeric Entry Field: Numbers are hidden by the spinner when used in an embedded View
Fixed numeric entry fields nested in embedded views to prevent the component's spinner from overlapping entered numeric values.

7158: Table: translate apply button text and remove text
Repaired the "Apply" and "Remove Filter" text of Table column filtering modals so that they are now locale-aware and will use terms defined in the Translation Manager when applicable.

Tag Historian

6535: AbstractDatasourceStore.java is throwing NPE on Nightly Automation runs
Fixed a potential issue where a NPE would be thrown when quarantining historical data from the memory buffer to the local cache.

Swing

183: Project Browser UI refactor
Updated the Project Browser with the following:

  • New menus and badge icons for inherited and overridden resources
  • For overridden resources, the "Delete" context menu is now replaced with "Discard Overrides"
  • Added ability to open Named Queries as read-only
  • Removed Paste menu item from the context menu of Stylesheet Nodes
  • Added tooltips showing the inheritance hierarchy when mouse is over the inheritance icon
4 Likes

Weekly Changelog: 8.1.26-b20230216

Security

7198: Fixed a vulnerability identified at Pwn2Own event
See Security Portal Trust Center Update

Swing

6874: Update Batik library from 1.12 to 1.16 due to CVE
Updated Batik library dependencies to version 1.16 in order to address multiple CVEs

Perspective

7173: Perspective DateTimeInput incorrectly reset the seconds to 00 if day selected after
Fixed Date Time Input regression, where seconds were not getting applied when the date was selected last.

2 Likes

Weekly Changelog: 8.1.26-b20230217

Perspective

7021: Perspective popups set to modal should not allow interaction with background views
Fixed issue of modals allowing for interaction with background views.

Weekly Changelog: 8.1.26-b20230220

Swing

2510: ConcurrentModificationException encountered in the designer when mass deleting or mass importing languages/translations
Fixed a ConcurrentModificationException being displayed when modifying Designer translations.

Perspective

7021: Perspective popups set to modal should not allow interaction with background views
Fixed issue of modals allowing for interaction with background views.

Weekly Changelog: 8.1.26-b20230221

Gateway Network

6996: Improve gateway network message trace logging
The metro.CentralManager.MessageRouting logger will now log the data contained in each gateway network message when the logger is set to TRACE.

Perspective

3536: Designer: Inline editing of text components on deep selection
Added designer inline text editing for the label component, and toggle switch, checkbox, button, and radio group component labels (when deep selected).

6975: Direct deep select a component
Alt + Shift + Click on a component in the designer will now directly deep select that component or container (containers are also components).

5 Likes

Weekly Changelog: 8.1.26-b20230222

Gateway Network

6591: Changing the gateway system name to Include brackets prevents a successful redundant connection
Fixed the Gateway system name containing brackets from causing a redundant connection to fault.

Swing

6486: Vision Client set to Read-only mode should allow writing to a Vision Client tag from a script like in 7.9
Fixed an issue that prevented scripts from writing to vision client tags when the client was in read-only mode.

Scripting

4899: Script Console fails to load properly when Project Library scripts import site-packages libraries
The Script Console no longer fails to load when Project Library scripts import site-packages libraries.