Skip to main content

Release Notes

HighByte Intelligence Hub Version 4.0 Beta

Caution: The HighByte Intelligence Hub version 4.0 beta is intended to demonstrate new features, receive feedback, and adjust those features for the release. It is not intended for production, and we provide no guarantee that work done in beta will be ported to release. 

New Features:
  • Updated minimum Java version to JRE 21.
  • Migrated all Flows to Pipelines and removed Flows. Pipelines are now self-triggering with new Trigger stages and do not require Flows to run.
  • Added Model and Instance support for inline hierarchy. Hierarchy no longer requires child Models and Instances.
  • Added a Model Validation stage to Pipelines to validate event values against a Model.
  • Decreased the read times for Instances by evaluating an Instance using a single JavaScript context. This requires existing Attribute Expressions to be updated with return statements.
  • Added early support for Namespaces and Pipeline Smart Query Stage.
  • Added Polled, Event, and Flow-based Triggers for Pipelines. All existing 3.x Flows are ported as Flow Triggers.
  • Added support in Instances to allow an attribute to be a simple Reference (e.g., OPC tag) or an advanced JavaScript Expression. References do not require the use of JavaScript and are computed faster.
  • Added support in Instances for an Initialization step that is called before the instance computes. This allows data shared across attributes (e.g., SQL results, default values, functions) to be defined in one place.
  • Added support for running Instances in “Legacy Mode”. Instances in this mode operate like they did in 3.x with no functional or configuration changes required.
  • Added support to bulk enable and disable all Pipeline Triggers.
  • Added support for Model Attribute descriptions and default values.
  • Updated Instance Attribute default value fields to support JSON format.
  • Updated the Pipeline Transform stage to support hints and code completion.
  • Updated the main navigation and layout of the UI.
  • Updated Pipeline, Instance, and Model views to support table sorting.
  • Added unique IDs (GUIDs) to serialized configuration objects in the configuration.json file. This will be removed for the release.
  • Removed Element Unify Connector and Model/Instance import support.
Fixes:​​
  • Fixed a File Output issue where whitespace in a file value could cause issues when base64 decoding. The File Connector now removes whitespace before decoding.
  • Removed outputting _model: “ComplexData” in the default JSON output of a value. _model and _name are now only included in the JSON if they have meaningful values (i.e., Model and Instance names). 

Known issues that will be fixed for release:
  • Remote configuration is disabled and not functional.
  • GroupAs for Pipelines, Instances, and Models are persisted in the configuration but not functional in the UI.
  • The Array Builder UI helper for building arrays of modeled types is currently missing.
  • Templated Flows that used template parameters for Targets are not correctly migrated to Pipelines. The Write stage will include the target with the template parameter and will not resolve.
  • The monaco code editor that’s enabled in expression fields incorrectly flags references like as syntax errors. This can be ignored.
  • Importing an older 3.x project multiple times can result in unexpected behavior (e.g., duplicate flows, failed model imports).
 
Breaking Changes:
  • Updated minimum JRE requirement from v11 to v21 or greater.
  • Removed v1/instance and v1/model routes from the configuration API. There are new v2/instance and v2/model routes.
  • The reference and other Datetimes are now bound to JavaScript as a Date data type. JavaScript expressions like “ + 1” will now evaluate to a string in the form “Tue Jun 11 2024 18:50:00 GMT+0000(GMT)1”. In 3.x this would evaluate to a number (unix epoch time +1). To keep the previous behavior, update the expression as follows “.getTime() + 1”.
 
Security Patch Updates:
  • Parquet Connection
    • CVE-2024-36114: In some cases, decompression (reading) could cause access to memory outside of the file.
  • Redshift Connection
    • CVE-2024-32888: Fixes an issue where SQL injection was possible if the preferQueryMode=simple JDBC connection property was used in the connection settings.

HighByte Intelligence Hub Version 3.4

OpenJDK 22 is not compatible with Intelligence Hub version 3.4 or older. Please run OpenJDK 21 or any version from 11 to 21.  This issue will be resolved in a future release.

New Features:
  • Added Change Data Capture (CDC) support for Microsoft SQL Server and PostgreSQL Connections.
  • Added support for reading OPC UA Structured and Complex Data.
  • Added support for OPC UA Alarms & Conditions Inputs.
  • Added a new Switch stage to Pipelines.
  • Added support for managing secrets and passwords external to the project.
  • Added success and failure paths to Pipeline Write stages.
  • Added a new Connection for Google BigQuery.
  • Added new Buffered Ingest support to AWS IoT SiteWise Outputs.
  • Added functions to project import and export.
  • REST Client Connector Inputs and Outputs now support GET, POST, PUT, PATCH, DELETE methods.
  • Added an application setting to easily enable advanced debug logging.
  • Enhanced the Pipeline Read Stage to allow for inline read results in the event payload.
  • Added a new Point Browse Input type to the PI Connector to query the PI Archive for points and metadata.
  • Enhanced the metadata returned for PI Point reads of Current Value with Include Metadata enabled.
  • Enhanced SQL Browse to be able to see and browse across table schemas.
  • Added passive mode support to the File Connector in FTP mode.
  • Added a server type option to the File Connector to select Unix (Default) or Windows types in FTP mode.
  • Added a configurable connection timeout to the PI System Connector.
  • Increased the default size of VARCHAR/String columns created for SQL tables from 256 to 2048.
  • Added new setting to CSV Inputs to set the quote and escape characters.
  • Enhanced the UNS Client to automatically select the first MQTT or Sparkplug connection in the list and to remember the previously selected connection.
  • Enhanced the Pipeline UI to provide more space when configuring and troubleshooting Pipelines.
  • Enhanced the S3 Output to allow setting the Content-Type.
  • Changed the unlicensed version to run fully functional for two hours at a time.

Breaking Changes:
  • Changed the behavior of the system level “Allow Environment References” Setting to only import environment variables that start with “PUBLIC_”. Prior to this change, all environment variables were available. This could possibly leak secrets and other information. This change requires customers to change any environment variables they are using to start with “PUBLIC_”.
  • SQL outputs using Update/Upsert with a WHERE that is just the column name must update the WHERE clause to be an expression (ex. mycolumn = ‘’).
Fixes:​​
  • Fixed an issue where an OPC UA Connection could consume too many threads in certain error conditions.
  • Fixed issues where invalid Sparkplug metrics could cause read failures for the entire Input.
  • Fixed an issue where Webhook Inputs were incorrectly parsing XML arrays into strings.
  • Fixed an issue with the UNS Client where subscribing to an invalid topic caused rapid re-connection attempts.
  • Fixed an issue where browsing an empty OPC UA branch navigated the user to an empty screen with no tags to select. The user now stays on the same page with a message saying no tags were found.
  • Fixed an issue where the Flow Trigger Delay was not shown for Flows that were in Polled mode.
  • Fixed an issue where enabling the “Ignore Self Signed Certificates” for MQTT and Sparkplug Connections disabled the ability to use Client Certificate/Key authentication.
  • Fixed an issue where refreshing the Connection Statistics page caused outputs to be de-selected in the UI.
  • Removed a warning produced for SQL Output updates in cases where no rows were found to update.
  • Fixed an issue where switching from a PI System Input Point Current Value to a Raw Values read could cause read errors.
  • Fixed a UI issue where additional read sources could be added to a Read Stage when a Pipeline was in replay mode.
  • Fixed an alignment issue in the OPC UA Input Methods UI.
  • Fixed a bug where incorrect text was shown over the Tag selector when hovering.
  • Fixed an issue where a plus icon was shown in the SQL table browser.
  • Fixed an issue where Project page step numbers had incorrect formatting.
  • Fixed an issue where console.log messages logged in Pipeline Transform stages were not shown in the UI for troubleshooting.
  • Fixed an issue with the Docker image where the Store and Forward directory did not default to the appData directory, resulting in Store & Forward data being lost on container reboots.
  • When “Include Metadata” is enabled, REST Client reads that return non-200 level responses now return the error code and message in the same format as 200 responses.
  • Fixed an issue where the UNS Client could not connect to secure MQTT connections.
  • Fixed an issue where SQL Inputs that did not run SELECT queries returned bad status.​​
 
Security Patch Updates:
  • Amazon Kinesis Data Firehose
    • CVE-2024-21634: DOS when deserializing data from untrusted source. It is not possible to execute this code in the HighByte Intelligence Hub implementation.

Patch (3.4.4 2024.6.12.2):
  • Added support for Sparkplug Inputs to receive data from edge nodes that do not publish birth certificates. This does not work if metrics use aliases in the publish.
  • Added Binary and ASCII modes to the File FTP Connection to support reading/writing binary files without modifying them. 
  • Changed the UI to hide password fields when they are being entered in connections settings.
  • Improved Snowflake Streaming output performance by avoiding metadata queries that caused warehouse compute costs. 
  • Fixed a bug where the product name was changed from “HighByte” to “Highbyte”. This could result in existing OPC UA Connections failing with a Bad_CertificateUriInvalid error, because the name in the certificate did not match the name used in the connection.
  • Fixed a bug with SQL Outputs where column names were being matched to the output data as case sensitive, resulting in failed writes or missing data.
  • Fixed issues with OPC UA reading empty primitive arrays and null objects in Structured Data types.
  • Fixed an exception thrown and displayed in the logs when writing to an invalid IP or hostname from a Write New stage.
  • Fixed an issue where remote hubs with older versions could connect to a central hub on version 3.4 but configuration requests would timeout.
  • Fixed an issue where SQL Inputs with multiple lines returned the first line and not the first result. For example, if a statement had an insert followed by a select, it would return “good no data”. Now it returns the select result.
  • 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).
  • Fixed an issue where SQL connections would not recover from a disconnect in some cases.
  • Fixed OPC UA Connection threading issue that could result in reads and writes no longer working on the connection. This could occur in some cases where the connection is dropped because of request timeouts or other network issues. 
 
Patch (3.4.5 2024.7.18.2):
  • Fixed a bug with Sparkplug CMD inputs where multiple commands sent in a single message could cause event based Flows to not execute. 
  • Fixed an issue with Microsoft SQL Server, PostgreSQL, Google Big Query inputs where reads would check the SQLite cache for the latest index value when indexing was disabled. 
  • Fixed an issue with Active Directory (AD) authentication where a blank password could grant product access if the ‘LDAP unauthenticated authentication’ isn’t explicitly disabled in AD. Logins are now rejected if the username or password fields are empty.

HighByte Intelligence Hub Version 3.3

New Features:
  • 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).

HighByte Intelligence Hub Version 3.2

​New Features: 
  • Added new Read stage to Pipelines to read one or more Sources.
  • Added support to Pipelines state variables to perform actions like track machine state.
  • Added new Zip and Gzip stages to Pipelines.
  • Added UNS Client to connect to MQTT servers and visualize the namespaces that support JSON and Sparkplug data payloads.
  • Added a new SQLite Connector that supports memory or file-based storage.
  • Added support for OPC UA Browse to Browse Variable type nodes. This allows UDTs from Siemens and Allen-Bradley ControlLogix to be browsed and read using Branch Reads.
  • Changed Flow timing to trigger the Flow at the Flow rate. Prior to this change, the Flow triggered at the Flow rate plus the time it took for the Flow to finish reading all sources.
  • Added support for viewing Flow Template Projections and creating Flows from the template settings.
  • Added support to PI Event Frame reads to return child Event Frames.
  • Added a pendingWrites Connection status to indicate how many writes are pending on a given Connection. Added a queuedWrites Pipeline status to indicate how many writes are waiting to be processed. Both pendingWrites and queuedWrite can be set to only trigger a Flow when all events have been fully processed.
  • Enhanced the Modbus Connector to allow users to set the Unit ID at the Input level.
  • Added support for disabling flows while they sync to remote hubs.
  • Increased the max file ingest size from 32MB to 128MB.
  • Removed the 10MB Store and Forward and Input Cache limit.
  • Added support for compressed communication between the PI Agent and the Intelligence Hub, improving performance for large queries.
  • Added a username and password authentication option to the PI Agent for cases where the Agent and PI Server are not on the same domain.
  • Added MQTT connection option to enable and disable clean session.
  • Added an option to the JDBC Driver Connector to control the quote/escape character.
  • Previously imported OPC UA tags, MQTT topics, etc. are no longer hidden from the browse results in the UI.
  • Changed the REST Client Output to only retry requests that fail because of a connection failure rather than 400/500 HTTP errors.
  • Remote Clients connected to a Central Configuration Hub can now provide their own clientId GUID.
  • Changed the URLs in the UI to use friendly names instead of GUID identifiers.
  • Removed version number from the main intelligencehub-runtime.jar file.
  • Added the ability to terminate the flow of a Pipeline using a Transform stage. This enables Pipelines to stop execution under certain logical conditions (e.g., Machine is off).
  • Added the ability to cherry-pick elements from the compare page and sync them to a different hub.
  • Updated the import and sync pages to show a summary result of the import or sync operation.
  • Added an internal system source to read the system time.
  • Added new Compression stages to Pipelines to support filtering On Change and Only Changes. This functionality is similar to Flow output compression.
  • Added a timeout limit to the Pipeline Size Buffer Stage to send data after buffering N events or exceeding time T.
  • Added support for viewing, editing, and deleting Pipeline state variables in the UI.
  • Added a new Filter stage to Pipelines to enable attribute filtering in payloads and relocation to metadata.
  • Added the ability to configure the base URL used by the REST API after login.
  • Added output template support for Sparkplug Outputs.
  • Increased the OPC UA browse timeout from 60 seconds to 5 minutes.
Fixes:​​
  • Fixed various issues with JavaScript expressions where numeric values were interpreted as either Integer or Double data types. They are now always treated as Doubles.
  • Fixed an issue where OPC UA Branch read result order did not always match the browse order.
  • Fixed a bug where the runtime could become unresponsive when saving a Condition that referenced a templated Instance or Input.
  • Fixed an issue where a Flow was not restarted if referencing a deleted Source or Target.
  • Fixed a bug where circular Model references could cause overall runtime performance issues.
  • Fixed an issue where a Pipeline Transform stage with long running execution could block expression execution in other parts of the product.
  • Fixed an issue where bulk copy of inputs would result in invalid text in the result summary.
  • Fixed various data type issues with OPC UA Input CSV import that resulted in missing or incorrect fields.
  • Fixed a UI issue where the Connection title disappeared when trying to save an invalid Input that resulted in a 404 response.
  • Improved the performance of runtime event logging to better handle overall performance when the runtime is generating many events.
  • Fixed a concurrency issue where exceptions could be thrown when processing Dates.
  • Fixed a bug introduced in version 3.1 where Instance names were not reflected in SPB output hierarchy.
  • Fixed an issue where the GE iFix OPC UA server did not accept the Intelligence Hub’s self-signed certificate.
  • Fixed an issue where a Flow could continue to execute after being removed from the project.
  • Fixed an issue where the Timed Buffer stage in a Pipeline would stop working after a Pipeline becomes idle.
  • Fixed a bug where the AWS IoT SiteWise Connection could not import Models/Assets if there were more than 250 models or 250 assets for a model.
  • Fixed a bug where naming a Network Hub as “hub” created an error in the UI.
  • Fixed a bug where the REST API would generate a self-signed certificate if the existing certificate in use was deleted.
  • Fixed a bug where enabling store and forward on a Connection degraded output performance.
 
Security Patch Updates:
  • JDBC Driver Connector
    • CVE-2023-32697: Remote code execution in attacker-controlled URL in JDBC Driver
  • Apache Parquet Connector
    • CVE-2023-34455: Out-of-memory vulnerability due to unchecked chunk size in snappy-java
    • CVE-2023-2976: Files or Directories Accessible to External Parties
  • Google Cloud PubSub Connector
    • CVE-2023-32731: Privilege escalation or data exfiltration due to missing header validation in grpc-core
  • MQTT Broker, Azure Blob Storage, Google Cloud PubSub, OPC UA
    • CVE-2023-34462: OutOfMemory error due to unchecked input

Patch (3.2.1 2023.10.23.1070):
  • Reduced error messages logged by Flows and Instances when there are reference errors.
  • Fixed an issue on OPC UA connectivity loss where UA subscriptions were not re-created properly, resulting in read errors.
  • Improved performance of Store and Forward for all Connections.
  • Added the Browse Variable Nodes option to OPC UA outputs. This was added for OPC UA Inputs and may also be needed in some cases for Outputs when writing complex data.
  • Fixed a Sparkplug Output issue where bad quality data was published as an Unknown data type, causing Ignition to fail to parse the metric and show the tag as bad quality.
  • Changed the Sparkplug Output to not publish the default “HighByte IntelligenceHub” group if it’s not being used.
  • Fixed a bug in the SiteWise Output where, on certain Linux operating systems, the Output would leak threads and result in an out of memory error.
  • Fixed an issue where missing dynamic outputs were not logging errors on write.

​Patch (3.2.2. 2023.11.9.1115):
  • Fixed a bug where dynamic output references that include JavaScript (e.g., ) could cause long timeouts when writing data. 

HighByte Intelligence Hub Version 3.1

New Features:
  • Added the ability to import and export full or partial project configurations through the UI.
  • Added a REST Data Server API to read Connection Inputs and Instances and write to Outputs.
  • Enhanced Input, Instance, and Flow templating to allow template parameters to be pulled from third-party sources like SQL, CSV, etc.
  • Added templating support to Flows.
  • Added an Apache Kafka Connection that supports Outputs.
  • Improved the speed and interoperability of the OPC UA Connection.
  • Added a Point Changes Input type to the PI System Connector to support reading late arriving and changed data in PI Archives.
  • Added a PI System Input type for reading Asset Framework metadata and hierarchy.
  • Added support in PI Point reads to import the point list from an external source like CSV, PI Asset Framework query, etc.
  • Added support for reading and writing PI System Digital Points.
  • Enhanced PI Point outputs to support all PI output types (replace, insert, insert compressed, etc.).
  • Improved the speed of PI Output Asset writes when “create” is enabled.
  • Enhanced PI outputs to allow the _timestamp field in the data to control the write time.
  • Added FTP support to the File Connector.
  • Added settings to AWS IoT SiteWise Outputs to control where data is placed in the IoT SiteWise hierarchy and how it is named.
  • Added Sparkplug Input and Output support for CMD messages.
  • Enhanced test reads that return data greater than 256KB to return  partial results.
  • Added support in Data Pipelines for multiple input stages.
  • Added support for Data Pipelines Status information under the System namespace.
  • Enhanced Modbus Connection Inputs to support 32/64-bit registers and BYTE/WORD/DWORD ordering.
  • Added REST Client settings for configuring an HTTPS proxy.
  • Enhanced User Claims to allow naming of each claim.
  • Updated the SQL Input test reads to show the full read results.
  • Enhanced the tagging view to allow users to more easily see what is tagged.
  • Enhanced the UI for the REST Client headers to enter each header in a table format.
  • Renamed the license file from intelligencehub-license.json to intelligencehub.license.
  • Added an error log message to Connection Outputs if a write is dropped, because a previous write is in progress and store and forward is disabled.
  • Updated Custom Conditions to not cache the lastValue if lastValue is not used in the expression.
  • Improved the 404 error page shown in the UI to include information on the object that cannot be found.
  • Added attribute filter settings to the Write New Target stage in pipeline.
  • Added support for importing proprietary models using dynamic references.
  • Added an Element Unify Connection with the ability to import Templates as Models and Graph Queries as Instances.
  • Enhanced custom conditions to not retain lastValue and lastReturn value if they are not being referenced.
  • Added the ability to include Sparkplug properties during reads.
  • Added the ability for payload attributes to retain their original data types when passed through a JavaScript expression.
  • Added the ability to auto-generate an admin password on initial startup when using the HIGHBYTE_AUTOGENERATE_ADMIN_PASSWORD environment variable.
Fixes:​​
  • Fixed an issue where indexing was not working for PI Connection Raw Point read types.
  • Fixed a bug where Webhook Connections created in version 2.5 would not work in 3.0 or 3.1 unless they were re-saved in the UI.
  • Fixed a bug in Data Pipelines where a Write New Target stage would fail to write if the connection had store and forward enabled.
  • Fixed a bug in PI System Outputs where including a _name attribute in the payload caused points to be prefixed with the _name value.
  • Fixed a bug in Remote Hub connections where the connection failed if the remote hub hostname did not meet the internal naming conventions (e.g., only numbers).
  • Fixed issues when trying to start an Event based flow with a non-event based source did not result in a Flow status error.
  • Fixed a bug in the File Connector where writing to an invalid directory did not cause the Flow to go into error.
  • Fixed a bug in PI Outputs where milliseconds were removed from ISO-8601 timestamps.
  • Fixed a bug in PI Inputs where Indexing would fail to increment for large queries.
  • Fixed a bug where Parquet File test reads with Indexing enabled would always read from the start of the file and not from the current index location.
  • Fixed a bug that occurred when adding a tag to a user Claim and not selecting “Add” before selecting “Save”. This caused the Claim to be saved with a null value.
  • Fixed an issue where the username was not shown in the UI when logging in with third party SAML authentication.
  • Fixed a bug where the Activity Page title for Pipelines was not showing the correct label.
  • Fixed a UI issue where a child model’s Array and Required fields were misaligned.
  • Fixed a bug where the Condition details page “Overview” option remained highlighted after selecting the Usage tab.
  • Fixed a bug where Input, Instance, and Condition references were not renamed when indexed into the referenced payload.
  • Fixed a bug where users could create models with the name “Any”.
  • Fixed a bug where users could update users/roles to have the name of an existing user/role.
  • Fixed a bug where indexing PI Point reads could return duplicate payloads.
 
Breaking Changes:
  • Changed the AWS IoT SiteWise Output to no longer build out Asset names using “parent.child” hierarchy. IoT SiteWise no longer requires asset names to be globally unique. This change requires users to re-create Assets or use a Pipeline to re-create the previous naming hierarchy.
  • Changed Sparkplug Inputs to not include the Device name in the payload if the Device name is explicitly set in the Input. The “Include Metadata” option can be used to access the Device name.

Patch (3.1.1 2023.6.1.735):
  • Reverted change that improved efficiency of Instance array expansion. This change broke Instance expressions that used let or const to define JavaScript variables. This build allows let and const to be used as they were in prior versions. The efficiency improvement will be revisited in a future release.
  • Fixed a bug where flows were not restarted automatically when some flow dependencies of the flow were updated.

Patch (3.1.2 2023.6.22.786):
  • Changed the Element Graph Import to not link child Instances that are referenced in dataProperties. This removes duplicate child Instance references in some cases.

HighByte Intelligence Hub Version 3.0

New Features:
  • 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.

Ready to see more?

Curious to learn more and see a live demo of HighByte Intelligence Hub? In this demo, we will show you how to deploy HighByte Intelligence Hub at the Edge to access, model, transform, and securely flow industrial data to and from your IT applications without writing or maintaining code.