3351: File Upload: Implement clearUploads() component method
Added clearUploads() script function to the FileUpload Component.
Platform
5392: Add formatting pattern / replacement tokens for manual and scheduled backup filename generation
Scheduled backups (as well as manually downloaded backups) now feature a customizable filename pattern with optional placeholders such as ${os}, ${version}, ${gatewayName}, ${edition} and ${timestamp}.
5235: BACnet âreadRawâ and âwriteRawâ scripting functions
Added the system.bacnet.readRaw and system.bacnet.writeRaw scripting functions which allows any object/property combination to be read/written. Because the functions accept and return types used by the underlying BACnet4j library instead of translating to OPC UA and into types supported by tags, it serves as an escape hatch for objects not explicitly supported by the BACnet driver.
1920: SQL Update script settings on Button Disappear After Saving
Fixed an issue where the âSQL Updateâ script builder would appear to lose its context when re-opened.
3208: Find/Replace IllegalArgumentExceptions are thrown unhandled to the EDT
Fixed an issue in Designer where some Find/Replace operations that result in an error would silently emit to the Console instead of presenting an error dialog window.
Connectivity
5963: Browsing and subscribing to tags via OPC-UA against an exposed remote tag provider takes too long
Improved performance of Exposed Tags, especially when subscribing to tags from a remote gateway.
Data Model
5182: Quick Blocking writes to Derived tags using JSON are not always completing
Improved to help ensure the OPC Tag has the most current value from source.
5971: Upgrade twilio-sdk dependency to 7.55.3 due to transitive dependency CVEs
Upgraded Twilio SDK dependency from 7.35.0 to 7.55.3.
2090: Perspective Split Container
The split container has been added to the list of Perspective components along with two component events: minBoundReached and maxBoundReached.
See Forum Post
5373: Translatable Terms via Component Translation will only allow one Term to be saved and remove any existing terms if adding a new one
Fixed a regression with component level translations being lost on Vision components.
Data Model
6118: Unable to edit parameters of remote tag provider UDTs that arenât on 8.1.17+
The Designer tag editor now properly shows the UDT Parameters category for remote Gateways using older versions.
5476: Power Chart: Annotations donât store to the annotations table when using a Tag History Splitter
Tag history splitter does not support storage of historical annotations.
4028: The designerâs âResource Notesâ panel deviates from standard design, is not universally applicable
Expanded the concept of âresource documentationâ to apply to all resources. Right click any resource in the project browse tree to edit the documentation describing that resource.
Note: Named query and report resources had a unique documentation field previously. This documentation will be upgraded to the new style once the resource is opened and saved in the designer.
5958: NPE in Discovery Wizard when server returns null discovery URL array
Fixed an NPE in discovery wizard when server returns a null discovery URL array.
Platform
5462: Disable HTML escaping in ThreadDumpUtilâs GSON instance
Ignition file-based or console-based thread dumps now pretty print HTML characters, so word strings such as ââ\u003cinit\u003e" in the dump are now formatted as .
3085: Allow Launchers to use OS Trust Store
Support for OS Trust Stores were added to Designer Launcher, Vision Client Launcher, Designers, Vision Clients, and Perspective Workstation. The trust.store property in each launchers config JSON now has three options:
trust.store value
Windows
Mac OS
Linux
system
Windows-ROOT
KeychainStore
ca-certificates
user
Windows-MY
KeychainStore
ca-certificates
jvm
Java internal cacerts
Java internal cacerts
Java internal cacerts
jvm is the default and matches the existing behaviors of the launchers which support certificate imports from within the application. The other OS trust store types map to their named Java Trust Store implementations with the exception of ca-certificates.
ca-certificates loads PEM bundles or certificate directories as defined by the ca-certificates package available for most linux distros. this option also supports two additional system properties to define either:
These OS trust stores will be used by running Designers, Clients, and Workstation once launched, but all types which are not jvm require launching clients and designers against gateways which include support for these trust store types. Retargets also conform to this requirement.
Visualization
994: Add âsystem.perspective.alterDockâ scripting function to make dock configuration dynamic
New alterDock(dockId, config) scripting method, and complimentary Alter Dock action event. Alter the configuration of a dock on the fly by supplying the dockâs ID and the desired configuration. See the alterDock scripting methodâs intelligent hint, or the Alter Dock actionâs documentation for more details.
6146 Ignitionâs Web Serverâs Default Error Handler returns âCaused Byâ line revealing Java Exception Message Details
Detailed server information is no longer leaked by Ignitionâs web server when an unhandled exception is thrown while handling HTTP requests.
2865: Translation Manager save working incorrectly when filter is applied
Fixed an issue with the translation manager in the designer not correctly loading translations when a search filter was applied.
Data Model
6086: Saving Internal Historian with Remote Sync Enabled while GAN connection is disabled causes duplicate data to be sent when GAN connection is re-enabled
Fixed an issue where the internal historian sync wouldnât properly deregister if interrupted while executing.
5829: In OPC-DA connections, NPE in ComUtil#getValueForVariant method
Fixed an issue where OPC-DA subscriptions containing tags with unknown/unsupported data types causes other tags to stop updating.
6004: Logix devices unable to connect to backup GW when Standby Activity Level is set to âWarmâ and the master GW is active
Fixed a bug which prevented Logix devices from connecting in certain situations while the gateway had a warm activity level.
Visualization
846: Totals on report duplicate a value intermittently depending on where page ends
Fixed Reporting summary row totals for table groupings from contributing to the grand total more than once when multiple pages are involved.
4671: Erroneous âComponent name ânullâ is invalidâ error thrown on Vision clients accessed via thin client
Fixed an issue in the look-and-feel that would cause erroneous âComponent name ânullâ is invalidâ errors in Vision clients and Designer sessions in certain RDP scenarios.
Security
4316: Password Reset Page can be used as an Oracle by attackers
Improved security of password reset page.
Data Model
6091: Transaction Group: DB to OPC mode value not scaling
Transaction group bidirectional OPC to database items now âde-scaleâ a scaled value when writing an updated database field value to the OPC tag.
784: Tree View componentâs Default Node Selected Background property not working in Ignition 8
Fixed some issues with tree view rendering. Also added two new properties to the tree view component: selectionFillColor, to change the full width selection highlight color, and fullWidthSelection, a boolean allowing you to disable the full width selection highlight entirely.
3787: LaF issue: Vision Progress Bar will always show a border regardless of Border prop setting
Fixed an issue with the Look-and-Feel causing the âprogress barâ component to always have a visible border.
6160: Vision Windows, a new feature to disable the root containers context menu
Removed a superfluous context menu that was showing up on containers with no other mouse event handlers in place.
2144: Report Parameters should default to default tag provider if one is not specified
Reimplemented default project provider evaluation for Reporting parameters when referencing tag paths.
1912: Backup failover notification canât be dismissed
Backup failover notification can now be dismissed.
Infrastructure
6122: Project Shortcut fails to launch due to large Description Length
Shortcuts created by the launchers on Windows now automatically truncate the description field to prevent launch issues.
6140: Service Security for MQTT providersâ Tag Access reverts to âInheritedâ on Gateway Restart
Fixed issue where service security policies wouldnât refresh with the correct access levels when loading managed tag providers.
Visualization
4964: Redirect /web/workstation to /web/perspective-workstation
The /web/workstation route now redirects to /web/perspective-workstation.
1282: Increase Size of Security Level Permissions Text Input
Security level permissions text inputs are now resizable text areas.
Platform
6197: Folders in the data/modules donât get copied over from backup on Gateway restore
Cirrus Link module data is now restored from a gateway backup.
4433: Add Retention Policy to EAM Collect Backup Task
EAM Controller now implements an optional maximum retention policy for agent gateway backups. Older gateway backups will be automatically deleted when the max retention age is exceeded. A maximum number of retained gateway backups can also be specified.
Visualization
3264: Unable to apply certain text style properties to the selected value of a perspective dropdown component
Dropdown Component - Added textAlign prop, it aligns the value(s) and/or placeholder text displayed within the dropdown. Valid values are âleftâ, âcenterâ, and ârightâ. textAlign within the dropdown modal itself may be overriden/set separately using props.dropdownOptionStyle.textAlign.
6217: Uncaught exception thrown when querying remote alarm journal in 8.1.18-rc1
Fixed uncaught exception when querying alarm journal through remote journal profile targeting gateway with version prior to 8.1.18.
Infrastructure
6159: Upgrade the launchers to javaFX 17
The Designer Launcher, Vision Client Launcher, and Perspective Workstation now use JavaFX 17.0.2
Enterprise
2393: Tag values not synchronizing correctly after comms were lost between redundant master and backup
After redundant master and backup lose contact with each other and both go active, the backup will now check if it has conflicting sync data as compared to the master. If it does, it will drop its own data in preference of the masterâs data.
Platform
584: Throw bespoke error message if message handler cannot be executed due to inheritable project
Now throwing a more specific error message when a message handler is called on an inheritable project (which canât run message handlers).
Visualization
2437: Add scary warning when trying to change a gateway name
Changing the gateway name now displays a warning modal, which requires confirmation before the change can be made.
5882: Tag Browse Tree - Shows a perpetual loading state if the project does not have a default tag provider specified
Perspective Tag Browse Tree component will now correctly display âno results foundâ if a default tag provider and a root path are not set.
4434: Button: The âalignâ component property doesnât work when button is in flex container in jxbrowser
Fixes an issue where the align property, in a flex container, would not properly align in the designer, but would function in a session.
6111: Improve Robustness of Transaction groups so that manual row insertions donât delete Data
Transaction groups now calculate old rows to be deleted by timestamp instead of id. The delete settings can now be modified to calculate old records by either gateway local time or database local time.
6117: Error publishing tag change event caused by attempt to nest TagValues
Prevent exception when subscribing to tags from 7.9 remote tag provider.
3789: Cosmetic: In alarm pipeline notification block, Roster Type drop down has blank description boxes
Added Tooltip descriptions on each Dropdown option for Pipeline Notification Blockâs Roster Types.
2063: Internal alarm journal, audit profile, and tag historian âdropâ all records when renamed
Internal alarm journal. audit profile, and historian data will now persist when the configuration record (i.e. provider / profile) is renamed, resulting in renaming of the local SQLite database file.
6198: Remove ability to Bind Parent Data Type on UDT Definitions/Instances
Removed binding option from the UDT âparent data typeâ property within the tag editor.
Visualization
6090: Multiple popups will unmount when changing the stacking context on focus
Fixed issue with popups unmounting views when the stacking context of multiple popups changes.
5931: RunScript expression that calls custom method on template causes GUI thread to hang when loading
Fixed a significant performance regression in Vision template initialization.
5780: Perspective front-end should log information about why the websocket was closed
Adds websocket disconnect events to client side logs. Also alters client and server websocket disconnect logs with disconnect code information.
3993:Remove redundant config links on Edge config overview page
Redundant config links on edge config overview page have been removed.
2407: Fix potential NPE in RMKey.KeyAccessor.set() in reporting-common
Modified the loggers for Reporting key errors to be less frequent.
2280: File Upload and Icon components become unusable in Flex Container when not using stretch, cross browser and designer behavior inconsistent
The following Perspective Components will no longer have 0 width then they are the child of a Flex Container with props.alignItems not equal to stretch: Cylindrical Tank, File Upload, Flex Repeater, Icon, Image, Map, Moving Analog Indicator, LED Display, Progress Bar, Slider, Sparkline, Table, Thermometer, Embedded View, and View Canvas. In addition the sizing of SVG based components when in a Flex Container will be more consistent between Design and Preview modes in the Designer, and between supported browsers in the Client.
6143: Ignore Bad Quality Option Missing on Tag History Bindings in Perspective
Fixed missing Ignore Bad Quality option on Tag History Bindings in Perspective.