Added a new Snowflake Streaming Connector that uses the Snowpipe Streaming API to create and write to tables in Snowflake.
Added a new Snowflake SQL Connector that supports reading data from Snowflake using the JDBC Driver.
Improved the speed and memory usage when working with large data sets.
Added support for limiting REST Data Server read and write access using user roles and claims.
Enhanced the Pipeline user interface (UI) to include additional stage and pipeline status.
Enhanced the Pipeline UI to include a new event replay feature to easily troubleshoot workflows.
Added support to the Pipeline “On Change” stage for compressing arrays.
Added an Array Builder in the UI to aid in building arrays of objects for Instance Attributes.
Added the ability to get the name, model, and path in Instance Expressions.
Added a new “Create & Update” option for SQL Outputs to support automatically adding new columns to a table when new attributes are written.
Added a new “Table Cache Interval” setting to SQL Outputs to detect changes in the table schema on a given interval. This allows the Output to write to new columns that are added to the table manually.
Added support for Modbus Outputs.
Added Browse support to the AWS IoT SiteWise Connector.
Enhanced Flow Templates to expand Targets.
Added metrics to Connections for pending Connection writes and dropped rights.
Added the ability to clear the Store and Forward cache for Connections via the UI.
Improved Connection write queuing when Store and Forward is disabled to reduce the occurrence of dropped write errors and retry writes in FIFO order.
Improved rendering performance of the UNS Client.
Added the ability to clear retained messages by publishing an empty payload in the UNS Client.
Added a warning event log message if the runtime is unable to write to the appData directory.
Test Reads now show a warning in the UI to let the user know that the result is truncated.
Updated the product favicon.
Breaking Changes:
When a parent Instance includes a child Instance, the Model Attribute “Array” switch no longer performs Array Expansion on the child Instance. To perform this expansion, enable the “Expand Arrays” feature on the child Instance directly. The Model Attribute “Array” switch now serves to expose the new Expression Builder to help build out arrays of objects and will transform single values and scalars in the expression result to array types.
The AWS IoT SiteWise Output was changed to cache Assets by unique path versus by unique name. If an Asset exists at the root of the IoT SiteWise hierarchy but an Output has the “Parent Asset” field set, the Asset will be re-created under the Parent Asset. To migrate this, either clear the “Parent Asset” setting for the Output or manually move the Asset in IoT SiteWise to be placed under the Parent.
Fixes:
Fixed an issue where an Apache Parquet file could be created with a zero-minute duration.
Fixed a bug where MQTT Inputs could produce duplicate events for a single message.
Fixed an issue where all PI System writes failed if a single write had an invalid reference.
Fixed an issue where the PI System Connector was not retrying write failures when failing to connect to the PI Agent.
Fixed a bug with the PI System Connector where Standard Deviation and other Input types would return Average results.
Fixed an issue where renaming a Network Group could cause a loss of Network Hubs assigned to the group.
Fixed an issue where Int64 and UInt64 values did not always work when used in Flow triggers.
Fixed an issue where files were not created as UTF-8 encoded in some JVM versions.
Fixed issues where Pipeline Status was not updated correctly or was delayed.
Fixed an issue where Dynamic reference errors on Outputs would not produce useful error messages for troubleshooting.
Fixed an issue where no error was reported if a user could not be found in Active Directory.
Fixed an issue where items in a list page (e.g., List of Instances) would not immediately be removed from the list page after deletion.
Fixed an issue where it was possible to open multiple expression editors in full screen mode.
Fixed an issue where Sparkplug would output “Unknown” data types, causing issues with Ignition and other Sparkplug clients.
Fixed an issue with Sparkplug Output command (CMD) messages throwing an exception.
Fixed a bug where the MQTT Broker would disconnect a client leading “/” character or empty path segment “//”.
Fixed an issue where the SQLite event log could grow beyond the size limit.
Fixed an issue where a Model allowed two attributes with the same name.
Fixed an issue there the System statistics object for Flows was not available when the Flow was disabled.
Fixed an issue where project import failed when a Connection had an invalid Uniform Resource Identifier (URI).
Fixed an issue where an OPC UA Connection reported good status with a subscription with no valid tags.
Security Patch Updates:
Apache Parquet Connector, Kafka Connector
CVE-2023-43642, CVE-2023-39410: Potential man-in-the-middle vulnerability when not using hostname validation
Runtime
CVE-2023-6378: Denial-of-Service (DOS) in logback
MQTT Broker, REST Server, REST API
CVE-2023-44487: HTTP/2 Rapid Reset can lead to DOS
SAML Third Party Authentication
CVE-2023-44483 SAML Sensitive information disclosure
MQTT Input, REST Client Input
CVE-2023-5072: Bug in parser can lead to DOS in JSON-Java
Azure Blob Storage, Apache Parquet Connector
[CVE-2023-43642, CVE-2023-39410] Avro and snappy-java DOS for unchecked input
Patch (3.3.1 2024.5.15.1220):
Fixed an issue where templated Inputs or Instances that had a dynamic reference that required more than one read could cause a deadlock. An example would be a Condition that parses SQL data into template parameters. The deadlock could occur on startup or anytime the runtime is restarted (e.g., settings change, redundancy change over).