Added Data Pipelines. Pipelines take flow output and provide additional capabilities like buffering and transforming, making it easier to implement use cases like protocol translation, file buffering, and more.
Added support for a new embedded MQTT Broker that supports v3.1.1 and v5 of the MQTT standard.
Enhanced the UI navigation and layout.
Added support for Tagging to group objects in Central Configuration mode.
Enhanced the roles and claims policy syntax to support assigning access rights at a Tag level.
Added product licensing.
Added support for performing test writes on Outputs.
Added support for UA Methods as OPC UA Connection Inputs.
Added branch read support to OPC UA Inputs.
Added an option to OPC UA Outputs for automatically casting write data types to the UA Server defined type.
Added the ability to browse MQTT Connections for Inputs.
Added the ability to browse MQTT and OPC UA Connections from the Reference panel and auto-create inputs.
Enhanced the AWS IoT SiteWise Connection to support updating Models and Assets with new attributes and hierarchy.
Enhanced the AWS IoT SiteWise Connection to support AWS STS (Security Token Service) Authentication.
Added support for using System Variables in Connection settings to make it easier to manage Dev/Test/Production environments.
Enhanced System Variable to allow viewing and configuring variables through the UI in both the Settings and Remote Hub Configuration views.
Added support for LDAPS to Active Directory authentication.
Enhanced Sparkplug Inputs to allow for using wildcards as the Group or Edge of Node. In this mode, a single Input can ingest the entire Sparkplug namespace.
Enhanced Sparkplug Inputs to include metadata (edge, group, and device IDs).
Enhanced Webhook inputs to support file, form-encoded-url, and other content types.
Added HTTPS and bearer token authentication support to Webhook Inputs.
Added support for retrieving HTTP header information on REST Client and Webhook Inputs.
Improved the REST Client Connection Output to find files in the payload when set to Binary mode.
Improved REST Client Connection Inputs to support binary payloads and control the inputs content type.
Enhanced the REST Client Connection to log the HTTP response body on failures.
Added support for synchronizing Conditions, Instances, and Flows via Central Configuration.
Added an option to OPC UA Collections and Branches to ignore bad quality values.
Added an environment variable to control the location of the settings.json file on startup.
Enhanced the Redundancy settings to include an optional connection timeout, required in some environments to support faster switchover times.
Added support for mass OPC UA Input import via CSV file.
Enhanced Model Import to support importing models in JSON format.
Updated Store and Forward to support Files.
Added String Array support to the Sparkplug Connector.
Fixes:
Fixed an issue where changes to Global Functions were not picked up by a Custom Condition unless the condition was re-saved.
Fixed an issue in Custom Conditions where recursive logic could cause high CPU utilization.
Fixed an issue in Custom Conditions where internal keys “_name”, “_model”, and “_timestamp” were shown when iterating an objects key.
Fixed a bug where a test read result with a quoted JSON text was shown as JSON and not an escaped string.
Fixed an issue with CSV and Parquet File Output writes failing when the output directory didn’t exist.
Fixed an issue with AWS IoT SiteWise Outputs where hierarchy that was not part of a model definition was not created correctly in the SiteWise Asset and Model.
Fixed the shell scripts for Linux and Windows to allow launching the runtime from outside the runtime directory.
Fixed an issue with Outputs where payloads with a “.” character in the attribute names created hierarchy in the output data.
Instances no longer log errors for read errors on non-required fields.
Fixed an issue with long read response payloads causing the UI to hang when performing test reads. Read responses are now truncated to 256K characters.
Fixed an issue in Store and Forward where data types for null/empty values were not propagated to the Output.
Fixed an issue where MQTT inputs that subscribed to /parent/# did not receive publishes sent to the topic /parent.
Changed MQTT inputs to receive data in Binary format to return an Int8 array versus UInt8 array.
Fixed an issue where event-based Flows did not work if a Sparkplug Input had a Device defined.
Improved error handling in the Sparkplug Connection to log parsing errors for incoming data.
Fixed a bug in Sparkplug Outputs where bad quality data was not being sent to the Output.
Fixed a bug with the Azure IoT Edge Connection where the connection would not reconnect without manually saving the Connection in the UI.
Fixed a bug with the Parquet Connection outputs that caused invalid data when using an Output across multiple flows.
Fixed an issue where PI points that started with a “_” character were not written to PI.
Fixed an issue where Sparkplug Inputs added hierarchy to leaf attribute names.
Fixed a bug where flows that start with the same name shared the same status.
Fixed a bug where the CSV Connection failed to read some UTF-8 CSV files that contained a BOM.
Fixed a bug with the MQTT Connection where subscribing to a top like “topic/” with a trailing “/” caused reads to fail.
Fixed a startup race condition that could sometimes cause the hub to not restart.
Fixed a bug that caused SQL Outputs that write to Stored Procedures to fail.
Breaking Changes:
Changed the default internal hub binding from “ihub” to “hub”. This only impacts customers using the internal binding with internal functions like ihub.withMetaData. Users need to either change this to hub.withMetaData or update the Application Settings Hub Binding Name parameter to use “ihub” instead of “hub”.
Changed the text log output time format to YYYY-MM-dd hh:mm:ss (ISO 8601 standard) to be consistent with the rest of the product. This may impact log reading applications like Splunk or DataDog if they are not configured to read the timestamp generically.