Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Tip
Sign up

...

here to subscribe to our mailing list for software update notifications



Note
Click here for Ignition Version Compatibility


Warning
Whilst we run rigorous automated testing for each of our modules, we always recommend that you

...

thoroughly test new module versions in a test environment before releasing to production

...

  • Color Code: Bug Fix, Feature/Enhancement, Optimization
For version compatibility, see this page.

Cirrus Link Modules for Ignition

...

  • MQTT Distributor
    • Added support for Python script based configuration changes
  • MQTT Engine
    • Improved processing speed of custom namespace JSON payloads
    • Fixed issue that could result in Engine not sending commands when required including Rebirth requests
    • Added protection for null payload timestamps
    • Improved handling of setting Edge Nodes and Devices offline
    • Added support for Python script based configuration changes
    • Improved general performance
    • Fixed issue that could result in deleted info tags associated with server settings
    • Internal tag cache fixes and improvements
    • Changed configureTag logic to only configure UDT instances when it is new
    • Added TLS ALPN support
    • Improved logic around subscriptions that may fail due to ACL or permission issues
      • NOTE: This fix can result in MQTT Engine no longer being able to connect to the MQTT Server when attempting to subscribe on a topic without the permissions to do so. This is a configuration issue that needs to be fixed by either:
        • (1) Updating the MQTT Server ACL/permissions so Engine can subscribe on the required topics OR
        • (2) Disable MQTT Engine Namespaces and/or PrimaryHostId so that Engine is no longer required to subscribe on topics without the permission to do so.
  • MQTT Transmission
    • Fixed 'Refresh Required' tag handling to show the proper state of the tag
    • Added support for Python script based configuration changes
    • Added support for better QualityCode comparisons to support changes in Ignition 8.1.7
    • Internal cache fixes and improvements
    • Added TLS ALPN support
    • Improved logic around subscriptions that may fail due to ACL or permission issues
      • NOTE: This fix can result in MQTT Transmission no longer being able to connect to the MQTT Server when attempting to subscribe on a topic without the permissions to do so. This is a configuration issue that needs to be fixed by either:
        • (1) Updating the MQTT Server ACL/permissions so Transmission can subscribe on the required topics OR
        • (2) Clear the MQTT Transmission PrimaryHostId so that Transmission is no longer required to subscribe on the STATE topic without the permission to do so.
    • Improved history store startup logic to better handle mis-configurations
    • Fixed potential thread-leak
    • Fixes and improvements to bound properties in UDTs
    • Fixes to history store and forward when UDTs are being used
  • MQTT Recorder
    • None
  • AWS Injector
    • Added support for Python script based configuration changes
    • Fixed potential thread-leak
  • Azure Injector
    • Added support for Python script based configuration changes
    • Added support for Azure IoT Edge Hubs
    • Fixed potential thread-leak
    • Added support for IoT Hub 'Application Properties' via Injector configuration
  • Google Cloud Injector
    • Fixed potential thread-leak
  • IBM Cloud Injector
    • Fixed potential thread-leak
  • EFM ABB Totalflow Module
    • Fixed naming collision for 'periodic mappings' between ROC and ABB mappings
    • Improvements to connection and re-connection logic
    • Fixed bug regarding event polling in an edge case
  • EFM Emerson ROC Module
    • Fixed naming collision for 'periodic mappings' between ROC and ABB mappings
    • Improvements to connection and re-connection logic
    • Added 'polling state' to the ROC devices
  • EFM Export
    • None
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

Cirrus Link Modules for Ignition v4.0.7 - April 12, 2021

...

  • MQTT Distributor
    • None
  • MQTT Engine
    • Improved processing speed of custom namespace JSON payloads
    • Fixed datatype handling for sampleMode and historyTimeDeadbandUnits properties
    • Added support for MQTT Client IDs longer than 23 characters in length is user specified
    • Improved error handling for unsupported characters in custom namespace tag creation
    • Removed BB Wzzard namespace as the provided namespace as it can now be supported via a JSON custom namespace
    • Fixed subscriptions to prevent potential duplicate messages based on MQTT server implementations
    • Fixed logic to only unsubscribe from STATE topics when appropriate
    • Added code to send a rebirth request in the case DDATA messages arrive before DBIRTH
    • Improved error handling in the case of missing bdSeq numbers
    • Fixed topic token filtering bug betwen Sparkplug A and Sparkplug B namespaces
    • Fixed issue where UDT definition member tag history configuration is overwritten when in a folder
    • Added support to handle new 'Optimized UDT' DATA messages
    • Upgraded underlying MQTT library
    • Added support for 'Document' tag datatype
    • Added support for PermissionsConfig, TagEventScripts and ParameterValues
    • Modified subscriptions on STATE messages to be on STATE/phid rather than STATE/#
    • Fixed issue that could result in Engine not correcting stale 'STATE' messages when redundancy is used
    • Fixed issue that could show RBE enabled tags stale when they were not actually stale
    • Fixed bug that didn't show online/offiine node info dataset tags properly
    • Fixed handling reporting of primary host state informational tags
    • Fixed issue that prevented rebirth requests from being sent out when 'sequence reordering' is enabled
  • MQTT Transmission
    • Fixed issue with potential failed file transfers when primary host is being used
    • Added support for MQTT Client IDs longer than 23 characters in length is user specified
    • Fixed issue where tags were not reported as stale when using 'Convert UDTs' and they were deleted
    • Fixed Transmission to only publish RECORDs if the associated Sparkplug Device exists
    • Added 'event tracing code' to track execution time for tag change events that occur
    • Improved processing time on tag change events when events occur on UDT members
    • Fixed birth caching when aliasing is enabled
    • Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
    • Upgraded underlying MQTT library
    • Added support for 'Document' tag datatype
    • Added support for PermissionsConfig, TagEventScripts and ParameterValues
    • Logging improvements around UDT handling
    • Added bound value support for UDTs to evaluate bindings before publishing data
    • Added a configurable reconnect delay to slow reconnect attempts on low bandwidth networks
    • Fixed UDT definition handling to support definitions with the same name under different folder paths
    • Added support for UDT parameter to UDT parameter bindings
  • MQTT Recorder
    • None
  • AWS Injector
    • Cleaned up AWS credential text in the configuration Web UI
    • Fixed implementation to publish NDEATH message when Injector is disabled
    • Added 'event tracing code' to track execution time for tag change events that occur
    • Improved processing time on tag change events when events occur on UDT members
    • Logging improvements around UDT handling
    • Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
    • Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
    • Added support for 'Push to Any' option to 'Sets' as is supported for other Injector modules
    • Added bound value support for UDTs to evaluate bindings before publishing data
    • Increased the Kinesis default partition key count size as recommended by AWS
    • Fixed UDT definition handling to support definitions with the same name under different folder paths
    • Added support for UDT parameter to UDT parameter bindings
    • Added more randomness to partition keys per AWS recommendations to Kinesis partition keys
  • Azure Injector
    • Fixed issue where disabled configurations of IoT Hub would still send BIRTH messages
    • Added support for MQTT Client IDs longer than 23 characters in length is user specified
    • Fixed implementation to publish NDEATH message when Injector is disabled
    • Added 'event tracing code' to track execution time for tag change events that occur
    • Improved processing time on tag change events when events occur on UDT members
    • Upgraded underlying MQTT library
    • Added content type and content encoding options to Azure Injector IoT Hubs to support message based routing
    • Logging improvements around UDT handling
    • Added a configuration option to support Azure Time Series Insights data/time format
    • Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
    • Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
    • Added bound value support for UDTs to evaluate bindings before publishing data
    • Fixed UDT definition handling to support definitions with the same name under different folder paths
    • Added support for UDT parameter to UDT parameter bindings
  • Google Cloud Injector
    • Added support for MQTT Client IDs longer than 23 characters in length is user specified
    • Fixed implementation to publish NDEATH message when Injector is disabled
    • Added 'event tracing code' to track execution time for tag change events that occur
    • Improved processing time on tag change events when events occur on UDT members
    • Upgraded underlying MQTT library
    • Logging improvements around UDT handling
    • Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
    • Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
    • Added bound value support for UDTs to evaluate bindings before publishing data
    • Fixed UDT definition handling to support definitions with the same name under different folder paths
    • Added support for UDT parameter to UDT parameter bindings
  • IBM Cloud Injector
    • Added support for MQTT Client IDs longer than 23 characters in length is user specified
    • Fixed implementation to publish NDEATH message when Injector is disabled
    • Added 'event tracing code' to track execution time for tag change events that occur
    • Improved processing time on tag change events when events occur on UDT members
    • Upgraded underlying MQTT library
    • Logging improvements around UDT handling
    • Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
    • Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
    • Added bound value support for UDTs to evaluate bindings before publishing data
    • Fixed UDT definition handling to support definitions with the same name under different folder paths
    • Added support for UDT parameter to UDT parameter bindings
  • EFM ABB Totalflow Module
    • Initial GA release of the module for Ignition8
  • EFM Emerson ROC Module
    • None
  • EFM Export
    • None
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

Cirrus Link Modules for Ignition v4.0.6-beta1 - Dec 1, 2020 (SiteWise Engine only)

...

  • SiteWise Engine
    • Initial beta1 release of the module for Ignition8
    • Created docs here: SiteWise Engine

Cirrus Link Modules for Ignition v4.0.6 - November 19, 2020

...

  • MQTT Distributor
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Fix to ensure client count displays zero when MQTT Distributor is shutdown
    • Fixed to dynamic handling in configuration menus
  • MQTT Engine
    • Fixed potential sequence reordering NPE
    • General logging cleanup
    • Fixed history property coersion by using proper datatypes
    • Fixed String vs Integer datatype handling for sampleMode and historyTimeDeadbandUnits

    • Fixed potential Exceptions during server connection establishment
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Removed support for consumption of alarm properties
    • Modified auto-RPC reconnect settings to denote whether or not to connect at all
    • Fixed Enable Latency Check Tag to only sub/unsub when state changes
    • Added java.sql.Timestamp support to Ignition DataSet
    • Fixed [MQTTEngine]_types_/_types_/... bug in UDT definition creation
    • Added support for filtering by both Sparkplug group and edge node IDs
    • Added support for most Ignition array datatypes in Ignition8
    • Added primary host enable/disable control tag as well as a tag to specify the primary host ID
    • Moved 'File handling control' of MQTT Engine to the Sparkplug B Namespace settings
    • Expanded file handling support
    • Fixed to dynamic handling in configuration menus
  • MQTT Transmission
    • Added code to ensure Transmission connection verification accounts for random startup delay and debounce time
    • General logging cleanup
    • Fixed UDT quality handling issues
    • Fixed potential Exceptions during server connection establishment
    • Fixed in-order history flushing bug when many devices are are part of an Edge Node that prevented buffer from ever emptying
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed configureTag call in Transmission Record creation to properly configure the 'Publish Tag'
    • Fixed handling of default configurations on initial module installation
    • Added primary host and BD sequence number validation on unexpected LWTs
    • Improved disk-backed store and forward Exception handling
    • Removed support for sending of alarm properties
    • Modified auto-RPC reconnect settings to denote whether or not to connect at all
    • Fixed missing UDT member tag changes when TagPath is empty
    • Added java.sql.Timestamp support to Ignition DataSet
    • Added null check for null DataSet values on metrics
    • Fixed UDT handling to extract the Tag provider name from when not found in the tag configuration to improve UDT handling
    • Added support for 'ParameterValue' objects introduced in Ignition 8.0.15
    • Fixed thread leak in record publishes
    • Cleaned up shutdown code to prevent RejectedExecutionExceptions
    • Added code to bind bound parameters of UDTs to tag properties if they are simple bindings
    • Fixed UDT member tag property to UDT parameter bindings for 'convert to normal tags' case
    • Added 'cached birth' option to Transmission to improve Rebirth request performance
    • Added partial support for overridden property values bound to UDT parameters
    • Added support for most Ignition array datatypes in Ignition8
    • Fixed null value datatype coercion to prevent NPEs and tag reading
    • Fixed disk-backed store and forwarding when aliasing is enabled
    • Added the ability to transmit binary files from MQTT Transmission
    • Made the Tag Pacing Period a mandatory field
    • Added enforcement to prevent 'aliasing' and publishing of UDTs to be enabled at the same time
    • Improved Exception handling during startup and iterating the tag tree
    • Fixed to dynamic handling in configuration menus
    • Added code to specify a default 'Set' when appropriate during configuration
    • Fixed handling of parameterized datatypes
    • Fix for ClassCastException on getting compression type
    • Added code to ignore UDT removal events when convertUdts is true
    • Added Exception handling around adding parameters to UDTs to prevent UDT parsing failures that prevent them from being published
  • MQTT Recorder
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Fixed to dynamic handling in configuration menus
  • AWS Injector
    • Fixed UDT quality handling issues
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Fixed missing UDT member tag changes when TagPath is empty
    • Added java.sql.Timestamp support to Ignition DataSet
    • Added null check for null DataSet values on metrics
    • Fixed UDT handling to extract the Tag provider name from when not found in the tag configuration to improve UDT handling
    • Added support for 'ParameterValue' objects introduced in Ignition 8.0.15
    • Cleaned up shutdown code to prevent RejectedExecutionExceptions
    • Added code to bind bound parameters of UDTs to tag properties if they are simple bindings
    • Fixed UDT member tag property to UDT parameter bindings for 'convert to normal tags' case
    • Added partial support for overridden property values bound to UDT parameters
    • Added support for most Ignition array datatypes in Ignition8
    • Made the Tag Pacing Period a mandatory field
    • Improved Exception handling during startup and iterating the tag tree
    • Fixed to dynamic handling in configuration menus
    • Added code to specify a default 'Set' when appropriate during configuration
    • Fixed handling of parameterized datatypes
    • Fixed potential ClassCastExceptions
    • Added Exception handling around adding parameters to UDTs to prevent UDT parsing failures that prevent them from being pushed
  • Azure Injector
    • Fixed UDT quality handling issues
    • Fixed potential Exceptions during MQTT server connection establishment
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Added configurable MQTT keep-alive setting
    • Fixed missing UDT member tag changes when TagPath is empty
    • Added java.sql.Timestamp support to Ignition DataSet
    • Added null check for null DataSet values on metrics
    • Fixed UDT handling to extract the Tag provider name from when not found in the tag configuration to improve UDT handling
    • Added support for 'ParameterValue' objects introduced in Ignition 8.0.15
    • Cleaned up shutdown code to prevent RejectedExecutionExceptions
    • Added code to bind bound parameters of UDTs to tag properties if they are simple bindings
    • Fixed UDT member tag property to UDT parameter bindings for 'convert to normal tags' case
    • Added support for client based auth in Azure IoT Hubs
    • Added partial support for overridden property values bound to UDT parameters
    • Added support for most Ignition array datatypes in Ignition8
    • Made the Tag Pacing Period a mandatory field
    • Improved Exception handling during startup and iterating the tag tree
    • Fixed to dynamic handling in configuration menus
    • Added code to specify a default 'Set' when appropriate during configuration
    • Fixed handling of parameterized datatypes
    • Fixed potential ClassCastExceptions
    • Added Exception handling around adding parameters to UDTs to prevent UDT parsing failures that prevent them from being pushed
  • Google Cloud Injector
    • Fixed UDT quality handling issues
    • Fixed potential Exceptions during MQTT server connection establishment
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Added configurable MQTT keep-alive setting
    • Fixed missing UDT member tag changes when TagPath is empty
    • Added java.sql.Timestamp support to Ignition DataSet
    • Added null check for null DataSet values on metrics
    • Fixed UDT handling to extract the Tag provider name from when not found in the tag configuration to improve UDT handling
    • Added support for 'ParameterValue' objects introduced in Ignition 8.0.15
    • Cleaned up shutdown code to prevent RejectedExecutionExceptions
    • Added code to bind bound parameters of UDTs to tag properties if they are simple bindings
    • Fixed UDT member tag property to UDT parameter bindings for 'convert to normal tags' case
    • Added partial support for overridden property values bound to UDT parameters
    • Added support for most Ignition array datatypes in Ignition8
    • Made the Tag Pacing Period a mandatory field
    • Improved Exception handling during startup and iterating the tag tree
    • Fixed to dynamic handling in configuration menus
    • Added code to specify a default 'Set' when appropriate during configuration
    • Fixed handling of parameterized datatypes
    • Fixed potential ClassCastExceptions
    • Added Exception handling around adding parameters to UDTs to prevent UDT parsing failures that prevent them from being pushed
  • IBM Cloud Injector
    • Fixed UDT quality handling issues
    • Fixed potential Exceptions during MQTT server connection establishment
    • Modified info tags to properly re-init them if they have been deleted
    • Fixed handling of default configurations on initial module installation
    • Added configurable MQTT keep-alive setting
    • Fixed missing UDT member tag changes when TagPath is empty
    • Added java.sql.Timestamp support to Ignition DataSet
    • Added null check for null DataSet values on metrics
    • Fixed UDT handling to extract the Tag provider name from when not found in the tag configuration to improve UDT handling
    • Added support for 'ParameterValue' objects introduced in Ignition 8.0.15
    • Cleaned up shutdown code to prevent RejectedExecutionExceptions
    • Added code to bind bound parameters of UDTs to tag properties if they are simple bindings
    • Fixed UDT member tag property to UDT parameter bindings for 'convert to normal tags' case
    • Added partial support for overridden property values bound to UDT parameters
    • Added support for most Ignition array datatypes in Ignition8
    • Made the Tag Pacing Period a mandatory field
    • Improved Exception handling during startup and iterating the tag tree
    • Fixed to dynamic handling in configuration menus
    • Added code to specify a default 'Set' when appropriate during configuration
    • Fixed handling of parameterized datatypes
    • Fixed potential ClassCastExceptions
    • Added Exception handling around adding parameters to UDTs to prevent UDT parsing failures that prevent them from being pushed
  • EFM ABB Totalflow Module
    • None - v4.0.5-beta1 is still the current release.
  • EFM Emerson ROC Module
    • Initial GA release
  • EFM Export
    • Initial GA release
  • Opto22 groov EPIC and SNAPPAC Driver
    • Tags are refreshed on each occurrence the scanner connects to the controller

    • If a controller tag is scanned as invalid, all of it’s expanded (un-optimized) root tags will be marked as stale. For example, if a table is invalid, all of it’s table elements will stale or an integer scanned becomes invalid, all of its boolean, bit-picked, and integer values will stale.

    • Reconnect algorithm has been streamlined to minimize lag

Cirrus Link Modules for Ignition v4.0.5-beta1 - Sept 1, 2020 (EFM ABB Totalflow only)

...

  • EFM ABB Totalflow
    • Initial release of the module for Ignition8

Cirrus Link Modules for Ignition v4.0.5-beta1 - Aug 5, 2020 (EFM Emerson ROC and EFM Export only)

...

  • EFM Emerson ROC
    • Initial release of the module for Ignition8
  • EFM Export
    • Initial release of the module for Ignition8

Cirrus Link Modules for Ignition v4.0.5 - June 29, 2020

...

  • MQTT Distributor
    • Added support for Ignition Maker Edition
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
  • MQTT Engine
    • Added support for Ignition Maker Edition
    • Added support for custom namespace charset selection for binary encoding support - set default to UTF-8
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Modified certificate display in Server configuration to not show any certs since we can't show all of them
    • Improved handling for missing bdSeq numbers in faulty Sparkplug edge client's LWTs
    • Fixed access to property matching for proper property filtering
    • Added alarmEvalEnabled to default property filter list
    • Added support for modified 'configureTag' behavior in Ignition 8.0.14
  • MQTT Transmission
    • Added support for Ignition Maker Edition
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Fixed Transmission version reporting in the Transmission Info tag
    • Fixed NPE when getting the module version
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added code to ignore _invalid_ tag paths when traversing the tag tree
    • Fixed 'reset metrics' info tag to always be writable
    • Logging improvements
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Added alarmEvalEnabled to default property filter list
    • Added support for modified 'configureTag' behavior in Ignition 8.0.14
  • MQTT Recorder
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
  • AWS Injector
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added code to ignore _invalid_ tag paths when traversing the tag tree
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Fixed issue with null-check on S&F type
    • Fixed 'Edge Nodes' folder creation to occur the the correct tag provider
  • Azure Injector
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added code to ignore _invalid_ tag paths when traversing the tag tree
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Fixed issue with null-check on S&F type
    • Fixed issue with 'Push Policy' not being persisted properly
    • Fixed 'Edge Nodes' folder creation to occur the the correct tag provider
  • Google Cloud Injector
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added code to ignore _invalid_ tag paths when traversing the tag tree
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Fixed issue with null-check on S&F type
    • Fixed issue with 'Push Policy' not being persisted properly
    • Fixed 'Edge Nodes' folder creation to occur the the correct tag provider
  • IBM Cloud Injector
    • Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
    • Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
    • Added code to ignore _invalid_ tag paths when traversing the tag tree
    • Added backward compatibility support so v4.0.5 will run on Ignition v8.0.12 and before
    • Fixed issue with null-check on S&F type
    • Fixed issue with 'Push Policy' not being persisted properly
    • Fixed 'Edge Nodes' folder creation to occur the the correct tag provider
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

Cirrus Link Modules for Ignition v4.0.4 - May 20, 2020

...

IMPORTANT NOTE: These are not compatible Ignition 8.0.13 or later. If using 8.0.13 or 8.0.14 use v4.0.5 Cirrus Link modules

  • General (All Modules)
    • Fixed documentation links in tooltips of the module config pages
    • Updated code signing cerificate
  • MQTT Distributor
    • Modified TLS setup to piggyback off of native Ignition SSL mechanism
  • MQTT Engine
    • Fixed retention of UDT properties across module restarts
    • Add custom property for 'sequence number reordering'
    • Added a cache layer for improved custom namespace performance
    • Modified to create default reasonable history config on all dynamic MQTT Engine tags
    • Added a validator to primary host ID creation to prevent runtime errors
    • Added support for non-clean session and QoS1 support in custom namespaces
    • Added additional tooltip info for Custom Namespace writable tags
    • Fixed client reinitialization after custom namespace changes
    • Improved certificate file management in the config web configuration UI
    • Fixed 'Critical App State' info tag to prevent erroneous data
    • Fixed Edge Node Tag staling from NDATA message
    • Added staling of custom namespace tags on namespace deletion
    • Fixed 'empty' property filter setting to allow all
  • MQTT Transmission
    • Fixed dynamic update of client ID under MQTT Transmission Info tags
    • Added support to allow RPC clients to not automatically reconnect
    • Improved DB reconnect logic for the Disk-backed store and forward mechanism
    • Fixed Timer thread leak on pending publish creation
    • Fixed to caching of Transmission Info metrics to prevent erroneous data
    • Added a validator to primary host ID creation to prevent runtime errors
    • Fixed handling of non-memory tags (i.e. derived, OPC, etc) in Sparkplug Record publishes
    • Added parameter based UDT DataType handling when convertUDTs=true
    • Fixed potential ClassCastException around BoundPropertySet Objects
    • Added tag pacing period validator to ensure it is greater than zero
    • Improved certificate file management in the config web configuration UI
    • Fixed Transmission TLS connect on startup
    • Added Transmission Info Tags for tracking messsages and bytes
    • Fixed NPE from caching BIRTHs when TransmissionClient is shutdown
    • Removed properties and parameters from being improperly published in DATA messages
    • Fixed missing Sparkplug IDs on Transmitters page
    • Added code to ignore _types_ folder when creating Edge Nodes
    • Fixed handling of EdgeNode tag removal events
    • Added new custom property 'ConfiguredTagPath' to tag properties
    • Fixed RPC clients to update on server setting change
    • Fixed 'empty' property filter setting to allow all
    • Fixed fetching of the tag provider name by ignoring case
    • Fixed device detection when auto-discovery is enabled
    • Fixed NPE on aliased metrics in NCMD messages
    • Fix for Tag add/remove root path comparisons
    • Fixed folder detection on tag structure change events
    • Fixed check history stores to update Transmitters on configuration changes
  • MQTT Recorder
    • None
  • AWS Injector 
    • Fixed Timer thread leak on pending publish creation
    • Fixed potential ClassCastException around BoundPropertySet Objects
    • Added null checks to Injector start/stop to prevent NPEs
    • Added tag pacing period validator to ensure it is greater than zero
    • Removed properties and parameters from being improperly published in DATA messages
    • Added code to ignore _types_ folder when creating Edge Nodes 
    • Fixed handling of EdgeNode tag removal events
    • Fixed device detection when auto-discovery is enabled
    • Fix for Tag add/remove root path comparisons
    • Fixed folder detection on tag structure change events
    • General performance enhancements
    • Disconnect logic cleanup
  • Azure Injector
    • Tooltip/help improvements
    • Fixed Timer thread leak on pending publish creation
    • Fixed potential ClassCastException around BoundPropertySet Objects
    • Added null checks to Injector start/stop to prevent NPEs
    • Added tag pacing period validator to ensure it is greater than zero
    • Removed unused certificate file upload field
    • Added support for a connection pooling to allow for increased throughput
    • Removed properties and parameters from being improperly published in DATA messages
    • Added code to ignore _types_ folder when creating Edge Nodes 
    • Fixed handling of EdgeNode tag removal events
    • Fixed device detection when auto-discovery is enabled
    • Fix for Tag add/remove root path comparisons
    • Fixed folder detection on tag structure change events
    • General performance enhancements
    • Disconnect logic cleanup
    • Added reconnect logic to MQTT Injectors when message pushes fail
  • Google Cloud Injector
    • Fixed Timer thread leak on pending publish creation
    • Fixed potential ClassCastException around BoundPropertySet Objects
    • Added null checks to Injector start/stop to prevent NPEs
    • Added tag pacing period validator to ensure it is greater than zero
    • Added support for a connection pooling to allow for increased throughput
    • Removed properties and parameters from being improperly published in DATA messages
    • Added code to ignore _types_ folder when creating Edge Nodes 
    • Fixed handling of EdgeNode tag removal events
    • Fixed device detection when auto-discovery is enabled
    • Fix for Tag add/remove root path comparisons
    • Fixed folder detection on tag structure change events
    • General performance enhancements
    • Disconnect logic cleanup
    • Added reconnect logic to MQTT Injectors when message pushes fail
  • IBM Cloud Injector
    • Fixed Timer thread leak on pending publish creation
    • Fixed potential ClassCastException around BoundPropertySet Objects
    • Added null checks to Injector start/stop to prevent NPEs
    • Added tag pacing period validator to ensure it is greater than zero
    • Added support for a connection pooling to allow for increased throughput
    • Removed properties and parameters from being improperly published in DATA messages
    • Added code to ignore _types_ folder when creating Edge Nodes 
    • Fixed handling of EdgeNode tag removal events
    • Fixed device detection when auto-discovery is enabled
    • Fix for Tag add/remove root path comparisons
    • Fixed folder detection on tag structure change events
    • General performance enhancements
    • Disconnect logic cleanup
    • Added reconnect logic to MQTT Injectors when message pushes fail
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

Cirrus Link Modules for Ignition v4.0.3 - January 28, 2020

...

  • General (All Modules)
    • Various fixes in UDT definition and instance handling
    • Fixed potential deadlock in CirrusClient disconnect
    • Improved logging
    • Improved BD sequence number handling
    • Improved event handling
    • Improved CirrusClient disconnection and LWT handling
    • Updated auto-client ids to be 23 characters or less (required by some MQTT server implementations)
  • MQTT Distributor
    • Fixed potential deadlock on shutdown
    • Added Distributor Info tags showing number of connected clients
  • MQTT Engine
    • Added staling of MQTT Engine Tags on startup
    • Fixed various staling issues affecting MQTT Engine Tags
    • Fixed issues with MQTT Engine restarts and deleted tags reappearing
    • Fixed MQTT Engine client subscription handling to only subscribe to topics STATE/# and SM/<client_id>/# when necessary
    • Fixed potential concurrency issues in MQTT Engine on reconnect
    • Fixed the enabling/disabling of Namespaces on a configuration update
    • Added support to records to pull data from ManagedTagProviders
    • Improvements in Edge/Device cache
    • Added support for 'writable tags' in Custom Namespaces
    • Improvements in Metric caching
  • MQTT Transmission
    • Various fixes in disk-backed history store and forward
    • Fixed potential thread leaks
    • Fixed issue with BIRTH incorrectly containing cached/old Tag values
    • Performance improvements in disk-backed history store and forward
    • Added optional 'random' delay setting to Transmitter configuration
  • MQTT Recorder
    • Initial release
  • AWS Injector 
    • Added settings validators to ensure correct Injector configuration
  • Azure Injector
    • Fixed shutdown issue to prevent duplicate MQTT client connections
    • Added settings validators to ensure correct Injector configuration
  • Google Cloud Injector
    • Added settings validators to ensure correct Injector configuration
  • IBM Cloud Injector
    • Added settings validators to ensure correct Injector configuration
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

Cirrus Link Modules for Ignition v4.0.2 - October 11, 2019

...

  • General (All Modules)
    • Security improvements
    • Added validation to ensure passwords can not be null, empty, or only whitespace
    • Added ability to delete certificates from configurations
    • Updated all existing password/secret configuration fields to use the "enter twice" validation
    • Various minor bug fixes
  • MQTT Distributor
    • Add support for spaces in ACL topics
  • MQTT Engine
    • Added support for updating/changing incoming tag datatypes
    • Added 'Hostname Verification' setting to optionally enable TLS hostname verification
    • Added support for configuring which Tag properties get filtered/ignored on incoming publishes
    • Improved tracking of BIRTH/DEATH counts
    • Fixed Custom Namespace support for periods (".") in MQTT topics, now interpreted as folder separator in the resulting tag path
    • Fixed "Online Nodes" dataset initialization error
    • Fixes for handling legacy quality types
  • MQTT Transmission
    • Replaced "Default Transmitter" with new "Example Transmitter" and associated example Tags.
    • Made the publishing of UDT definitions in BIRTH messages configurable
    • Added 'Last Refresh' Tag to denote time of last Refresh button click
    • Added 'Refresh Required' Tag to denote if an MQTT Transmission refresh is required/needed
    • Added protection against configuring the same History Store setting on multiple Transmitters
    • Added 'Hostname Verification' setting to optionally enable TLS hostname verification
    • Added support for configuring which Tag properties get published
    • Fixed publishing of derived tags, OPC tags, and other indirect types
  • AWS Injector
    • Added support for configuring which Tag properties get published
  • Azure Injector
    • Added support for configuring which Tag properties get published
  • Google Cloud Injector
    • Added support for configuring which Tag properties get published
  • IBM Cloud Injector
    • Added support for configuring which Tag properties get published
  • Opto22 groov EPIC and SNAPPAC Driver
    • Added scanner refresh control Tag

Cirrus Link Modules for Ignition v4.0.1 - June 19, 2019

...

  • Fixed support for auto-detected Edge Nodes in tag trees

  • Various tag path handling fixes

  • Various UDT fixes

  • Improvements to handling of null values

  • Added Agent record validation in Web UI configuration

...

  • Fixed support for auto-detected Edge Nodes in tag trees

  • Various tag path handling fixes

  • Various UDT fixes

  • Improvements to handling of null values

  • Added Agent record validation in Web UI configuration

  • Fixed publishing of NBIRTH messages for Event Hubs

...

  • Fixed support for auto-detected Edge Nodes in tag trees

  • Various tag path handling fixes

  • Various UDT fixes

  • Improvements to handling of null values

  • Added Agent record validation in Web UI configuration

...

  • Fixed support for auto-detected Edge Nodes in tag trees

  • Various tag path handling fixes

  • Various UDT fixes

  • Improvements to handling of null values

  • Added Agent record validation in Web UI configuration

...

  • None

...

  • Fixed online status info tags to denote the proper values
  • Added support for Ignition7/Transmission to publish to Ignition8/Engine with quality code translations
  • Fixed multiple tag write issues
  • Various tag path handling fixes
  • Fixed issues with property merging in MQTT Engine
  • Various UDT fixes
  • Fixed typing of JSON tags in custom namespaces

...

  • Improved Transmitter field validation in the Web UI configuration
  • Added support for multiple tag paths in a single Transmitter configuration
  • Added support for additional topic tokens to be published via special char sequence in a Sparkplug Device folder
  • Fixed multiple tag write issues
  • Fixed support for auto-detected Edge Nodes in tag trees
  • Fixed issue that could result in Transmitter Threads running after Transmission shutdown
  • Various tag path handling fixes
  • Various UDT fixes
  • Improvements to handling of null values
  • Fixed connected Server URL info tag handling
  • Added sorting of UDT definitions to ensure proper order for creation of UDTs
  • Added batching and caching components to improve performance
  • Fixed alias support
  • Improvements to Disk-backed history stores

8.x


HTML
<a id="toggleAll" href="#">Expand/Collapse All to allow Search</a> <script type="text/javascript"> AJS.toInit(function () { AJS.$('#toggleAll').click(function() { jQuery(".expand-control").each(function()

{ jQuery(this).trigger("click");}

) }); }); </script>
<p>


Expand
titlev4.0.21 January 26, 2024


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Added custom property support for 'maxOutboundQueueSize'


Expand
titleWhat's Fixed
  • No fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • MQTT Engine now excludes empty property sets on the wire which could result in problems for some Edge Node implementations

  • Modified MQTT Engine to only perform UDT collision detection for MQTT Transmission Sparkplug Edge Nodes

  • Improved logging to not log at info level on ignored tag collisions when a duplicate tag change event is being ignored and is identical to the original

  • Added support for excluding datatypes from CMD messages per the Sparkplug spec

  • Added support for missing datatypes in DATA messages per the Sparkplug spec

  • Added support for 'Binary Data' datatype

  • Added Engine side write support for ByteArray, DateTimeArray, and StringArray datatypes


Expand
titleWhat's Fixed
  • Fixed potential erroneous UDT collision warnings in MQTT Engine

  • Fixed potential NPE in UDT collision detection for templates with no parameters

  • Fixed timing issue that could result in Transmission attempting to read tags before the tag provider is started which could result in failure to initialize on startup



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Made 'hashing algorithm' names consistent across all modules
  • Increased the default query timeout for disk-backed history stores to improve reliability on underpowered systems
  • Added support for excluding datatypes from DATA messages per the Sparkplug spec
  • Added support for missing datatypes in CMD messages per the Sparkplug spec
  • Added a dedup filter to prevent some edge cases where BIRTH and subsequent DATA messages could include identical tag change events
  • Added support for 'Binary Data' datatype
  • Set defaults for history store configurations


Expand
titleWhat's Fixed
  • Fixed multiple edge cases where duplicate tag change events could be sent when they shouldn't be
  • Fixed edge case that could result in some metrics failing to get aliases assigned when aliasing is enabled
  • Fixed support for ByteArray datatypes
  • Fixed potential NPEs when flushing history in-order
  • Fixed issue that could result in live data being mixed in with history during in-order history flush
  • Added Paho bug workaround to minimize leaked Paho threads
  • Fixed dataset deserialization when in use in history stores which resulted in zero values in datasets at MQTT Engine
  • Fixed issue that could result in missing aliases when using aliasing with history stores
  • Removed issue that could result in Ignition shutdown when using disk-backed history store
  • Fixed issue that required a CA cert when using client side cert auth even if using a 'real' CA



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • Made 'hashing algorithm' names consistent across all modules


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Increased the default query timeout for disk-backed history stores to improve reliability on underpowered systems
  • Added support for 'Binary Data' datatype


Expand
titleWhat's Fixed
  • Fixed multiple edge cases where duplicate tag change events could be sent when they shouldn't be
  • Fixed timing issue that could result in Transmission attempting to read tags before the tag provider is started which could result in failure to initialize on startup
  • Fixed support for ByteArray datatypes

  • Fixed dataset deserialization when in use in history stores which resulted in zero values in datasets

  • Added code to ensure a history store is not started if the Injector is disabled

  • Removed issue that could result in Ignition shutdown when using disk-backed history store



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Increased the default query timeout for disk-backed history stores to improve reliability on underpowered systems
  • Added support for 'Binary Data' datatype


Expand
titleWhat's Fixed
  • Fixed multiple edge cases where duplicate tag change events could be sent when they shouldn't be
  • Fixed timing issue that could result in Transmission attempting to read tags before the tag provider is started which could result in failure to initialize on startup
  • Fixed support for ByteArray datatypes
  • Added Paho bug workaround to minimize leaked Paho threads
  • Fixed dataset deserialization when in use in history stores which resulted in zero values in datasets
  • Added code to ensure a history store is not started if the Injector is disabled
  • Fixed potential IoT Hub deadlock
  • Removed issue that could result in Ignition shutdown when using disk-backed history store



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Modified default configuration to use Clearblade IoT Core endpoint
  • Increased the default query timeout for disk-backed history stores to improve reliability on underpowered systems
  • Added support for 'Binary Data' datatype


Expand
titleWhat's Fixed
  • Fixed multiple edge cases where duplicate tag change events could be sent when they shouldn't be
  • Fixed timing issue that could result in Transmission attempting to read tags before the tag provider is started which could result in failure to initialize on startup
  • Fixed support for ByteArray datatypes
  • Added Paho bug workaround to minimize leaked Paho threads
  • Fixed dataset deserialization when in use in history stores which resulted in zero values in datasets
  • Added code to ensure a history store is not started if the Injector is disabled
  • Removed issue that could result in Ignition shutdown when using disk-backed history store



Expand
titleEFM ABB Totalflow


Expand
titleWhat's New or Improved
  • Made 'hashing algorithm' names consistent across all modules


Expand
titleWhat's Fixed
  • No fixes



Expand
titleEFM Emerson ROC


Expand
titleWhat's New or Improved
  • Made 'hashing algorithm' names consistent across all modules


Expand
titleWhat's Fixed
  • No fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes




Expand
titlev4.0.20 November 22, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added 'actor' support to audit records for MQTT Engine to Transmission writes


Expand
titleWhat's Fixed
  • Removed invalid check requiring the Sparkplug sequence numbers be zero in an NBIRTH



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Added Transmission RECORD signature fields to the Python scripting API


Expand
titleWhat's Fixed
  • Fixed file publishing 'Reset' tag handling

  • Fixed issue that could result in Transmission RECORD config changes not taking effect

  • Fixed history store and forward migration to new table setup

  • Fixed history store and forward pruning logic for certain edge cases

  • Added support for '-' in disk-backed store and forward table names and some other special chars



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Logging improvements for better diagnostics


Expand
titleWhat's Fixed
  • Fixed enable/disable handling via the 'Enabled' Ignition tag

  • Fixed IndexOutOfBoundsExceptions on attempts to create endpoint services and agents w/o sets defined

  • Fixed sequence number handling in pushed messages

  • Fixed Injector failover by ensuring Service startup as well as Agent startup in redundant Ignition environments

  • Fixed issue with history store enablement for a disabled service

  • Fixed issue that could result in duplicated BIRTH messages

  • Fixed 'Messages Stored' count in Info tag

  • Fixed potential thread deadlock

  • Fixed history store and forward pruning logic for certain edge cases

  • Added support for '-' in disk-backed store and forward table names and some other special chars




Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Logging improvements for better diagnostics


Expand
titleWhat's Fixed
  • Fixed enable/disable handling via the 'Enabled' Ignition tag

  • Fixed IndexOutOfBoundsExceptions on attempts to create endpoint services and agents w/o sets defined

  • Fixed sequence number handling in pushed messages

  • Fixed Injector failover by ensuring Service startup as well as Agent startup in redundant Ignition environments

  • Fixed issue with history store enablement for a disabled service

  • Fixed issue that could result in duplicated BIRTH messages

  • Fixed 'Messages Stored' count in Info tag

  • Fixed potential thread deadlock

  • Fixed history store and forward pruning logic for certain edge cases

  • Added support for '-' in disk-backed store and forward table names and some other special chars



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Logging improvements for better diagnostics


Expand
titleWhat's Fixed
  • Fixed enable/disable handling via the 'Enabled' Ignition tag

  • Fixed IndexOutOfBoundsExceptions on attempts to create endpoint services and agents w/o sets defined

  • Fixed sequence number handling in pushed messages

  • Fixed Injector failover by ensuring Service startup as well as Agent startup in redundant Ignition environments

  • Fixed issue with history store enablement for a disabled service

  • Fixed issue that could result in duplicated BIRTH messages

  • Fixed 'Messages Stored' count in Info tag

  • Fixed potential thread deadlock

  • Fixed history store and forward pruning logic for certain edge cases

  • Added support for '-' in disk-backed store and forward table names and some other special chars



Expand
titleEFF ABB Totalflow Modules


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes




Expand
titlev4.0.19 November 6, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Improved logging on clearing of retained messages


Expand
titleWhat's Fixed
  • Fixed log messages when client connections pre-empt existing connections with same client ID



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Expanded TagPath validation to ensure paths don't end in a slash

  • Added 'parentEnabled' and 'sourceTagPath' to list of default filtered properties
  • Added JSON validation for the MQTT Engine custom properties config field


Expand
titleWhat's Fixed
  • Fixed writing of array values in MQTT Engine tag provider for null and full arrays
  • Fixed legacy STATE MQTT client migration when updating from older versions of MQTT Engine



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Optimized BIRTH building to consolidate readTag calls - helps with remote tag provider tags in BIRTH building
  • Expanded TagPath validation to ensure paths don't end in a slash
  • Added 'parentEnabled' and 'sourceTagPath' to list of default filtered properties
  • Major overhaul of disk-backed store and forward system to optimize storage and configuration
  • Added digital signature support to Transmission RECORD creation
  • Added defaults for rolling history buffer configuration
  • Added Transmission history store field validation
  • Removed the 'prune quantity' option for rolling history configuration from the web UI


Expand
titleWhat's Fixed
  • Fixed issue where Edge Node level expression tags are null on NBIRTH
  • Fixed null value handling in RECORDs that would result in default values being set instead of null
  • Fixed cache update code that could result in BIRTH messages not publishing the most recent/valid value
  • Fixed potential erroneous data type change event when converting tags for UDT instance members
  • Fixed issue where timestamps could be set incorrectly if the tag is in a Managed Tag Provider
  • Fixed NPE on initialization
  • Fixed handling of CMD messages missing Metric datatypes per the Sparkplug spec including Rebirth requests
  • Fixed handling of tag properties that are not of a supported datatype



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Optimized BIRTH building to consolidate readTag calls - helps with remote tag provider tags in BIRTH building
  • Expanded TagPath validation to ensure paths don't end in a slash
  • Major overhaul of disk-backed store and forward system to optimize storage and configuration
  • General logging improvements


Expand
titleWhat's Fixed
  • Fixed issue where Edge Node level expression tags are null on NBIRTH
  • Fixed cache update code that could result in BIRTH messages not publishing the most recent/valid value
  • Fixed 'enabled' value handling on setting endpoints
  • Fixed potential erroneous data type change event when converting tags for UDT instance members
  • Fixed NPE on initialization
  • Fixed Injector Info tags that could show incorrect data
  • Fixed PUSH_TO_ANY handling in Injectors when transitioning on connection status
  • Fixed NPE on fresh module installation
  • Fixed handling of tag properties that are not of a supported datatype



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Optimized BIRTH building to consolidate readTag calls - helps with remote tag provider tags in BIRTH building
  • Expanded TagPath validation to ensure paths don't end in a slash
  • Major overhaul of disk-backed store and forward system to optimize storage and configuration
  • General logging improvements
  • Added configurable SAS token expiration length


Expand
titleWhat's Fixed
  • Fixed issue where Edge Node level expression tags are null on NBIRTH
  • Fixed cache update code that could result in BIRTH messages not publishing the most recent/valid value
  • Fixed 'enabled' value handling on setting endpoints
  • Fixed potential erroneous data type change event when converting tags for UDT instance members
  • Fixed NPE on initialization
  • Fixed Injector Info tags that could show incorrect data
  • Fixed PUSH_TO_ANY handling in Injectors when transitioning on connection status
  • Fixed NPE on fresh module installation
  • Fixed handling of tag properties that are not of a supported datatype



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Optimized BIRTH building to consolidate readTag calls - helps with remote tag provider tags in BIRTH building
  • Expanded TagPath validation to ensure paths don't end in a slash
  • Major overhaul of disk-backed store and forward system to optimize storage and configuration
  • General logging improvements


Expand
titleWhat's Fixed
  • Fixed issue where Edge Node level expression tags are null on NBIRTH
  • Fixed cache update code that could result in BIRTH messages not publishing the most recent/valid value
  • Fixed 'enabled' value handling on setting endpoints
  • Fixed potential erroneous data type change event when converting tags for UDT instance members
  • Fixed NPE on initialization
  • Fixed Injector Info tags that could show incorrect data
  • Fixed PUSH_TO_ANY handling in Injectors when transitioning on connection status
  • Fixed NPE on fresh module installation
  • Fixed handling of tag properties that are not of a supported datatype



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Added Python scripting APIs to copy configs


Expand
titleWhat's Fixed
  • Fixed handling of empty CFX publish cron expressions
  • Fixed a web UI validation issue 'Publish Files Folder' field



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Added Python scripting APIs to copy configs
  • Improved CRC calculation on ROC messages to account for padding


Expand
titleWhat's Fixed
  • Fixed handling of empty CFX publish cron expressions
  • Fixed a web UI validation issue 'Publish Files Folder' field



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes







Expand
titlev4.0.18 August 11, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Added additional 'Distributor Info' tags


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • Fixed legacy client not disconnecting when control tags force offline
  • Fixed issue with cloning UDTs when using arrays
  • Fixed issue with overrides on UDT Tag properties



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • Fixed issue where manually entered client ID could cause RPC client to not start
  • Fixed BIRTH building of OPC tags to ensure values are set properly when they are members of UDTs



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Added Edge Node refresh support
  • Improved Agent and Set refresh/restart logic


Expand
titleWhat's Fixed
  • Fixed issue where BIRTH message might not get sent on Kinesis Stream enable/disable



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Added Edge Node refresh support


Expand
titleWhat's Fixed
  • Fixed IoT Central connections not publishing BIRTH



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Added Edge Node refresh support


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes




Expand
titlev4.0.17 June 29, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Updated the code signing certificate
  • Improved logging around PUBLISH and DISCONNECT packet handling


Expand
titleWhat's Fixed
  • Improved session tracking and expiring of expired/disconnected sessions
  • Fixed CONNACK error code for failed authentication



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Updated the code signing certificate

  • Added 'total metric count' and 'metrics per second' info tags

  • Logging improvements around timestamp collisions

  • Removed Conscript dependency to better support SSL connections on ARM platforms

  • Added support for password protected PKCS8 private SSL keys


Expand
titleWhat's Fixed
  • Added NPE protection against arriving null tag values
  • Fixed regression in String payload handling that prevented tag updates in non-JSON custom namespaces
  • Added null protection on connection lost for clients without a specified LWT/Primary Host ID
  • Fixed handling of bound parameters in UDTs



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Updated the code signing certificate
  • Optimized Birth building to improve performance
  • Added info tags for 'metric count' and 'metrics per second'
  • Added 'rolling buffer' support to preserve data during keep alive connection lost events
  • Expanded on tag event tracing for debug purposes
  • Optimized recursive tag configuration lookups on startup
  • Removed Conscript dependency to better support SSL connections on ARM platforms
  • Added support for password protected PKCS8 private SSL keys


Expand
titleWhat's Fixed
  • Fixed the return type for RandomStartupDelay in Transmission Servers createConfig Python scripting API
  • Fixed some edge cases around timestamps on metrics during startup
  • Fixed regression that previously broke device topic expansion
  • Fixed store and order buffer overflows to delete the oldest data first
  • Fixed cache updating issue when handling with disabled tags



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • Updated the code signing certificate


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Updated the code signing certificate
  • Expanded on tag event tracing for debug purposes
  • Added disk-backed store and forward support
  • Optimized recursive tag configuration lookups on startup
  • Added individual Agent enable/disable support and a name setting
  • Removed Conscript dependency to better support SSL connections on ARM platforms


Expand
titleWhat's Fixed
  • Fixed FlushPeriod return type in the Python scripting API
  • Fixed cache updating issue when handling with disabled tags



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Updated the code signing certificate
  • Expanded on tag event tracing for debug purposes
  • Added disk-backed store and forward support
  • Optimized recursive tag configuration lookups on startup
  • Added individual Agent enable/disable support and a name setting
  • Removed Conscript dependency to better support SSL connections on ARM platforms
  • Added support for password protected PKCS8 private SSL keys


Expand
titleWhat's Fixed
  • Fixed cache updating issue when handling with disabled tags



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Updated the code signing certificate
  • Expanded on tag event tracing for debug purposes
  • Added disk-backed store and forward support
  • Optimized recursive tag configuration lookups on startup
  • Added individual Agent enable/disable support and a name setting
  • Removed Conscript dependency to better support SSL connections on ARM platforms
  • Added support for password protected PKCS8 private SSL keys


Expand
titleWhat's Fixed
  • Fixed cache updating issue when handling with disabled tags



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Updated the code signing certificate


Expand
titleWhat's Fixed
  • Fixed deletion and validation of global definitions and their references



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Updated the code signing certificate


Expand
titleWhat's Fixed
  • No fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • Updated the code signing certificate


Expand
titleWhat's Fixed
  • No fixes




Expand
titlev4.0.16 April 17, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • Fixed thread management issue when clients continually reconnect with bad credentials



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added encryption of the security context hashing password
  • Added support for DATA metrics missing the MetricDataType because it is known from the BIRTH

  • Added support for topic namespace filters to be scoped to specific MQTT Servers
  • Added a custom config property to support Edge Node implementations that don't include BIRTH sequence numbers
  • Improved various RPC calls for Python scripting consistency
  • Added support for detection and logging of UDT collisions at MQTT Engine when they differ
  • Logging improvements and error handling improvements on malformed NBIRTH messages
  • Added user warnings for custom namespace subscriptions that include spaces
  • Added legacy state info tags to MQTT Engine
  • Added auditing support for remote writes in MQTT Transmission
  • Moved the 'enable primary host state' config option to the server's legacy state client config section
  • Logging improvements


Expand
titleWhat's Fixed
  • Fixed to ensuring client shutdown always happens when required
  • Fixed STATE message handling in multi-server environments
  • Fixed issue that could result in topic subscriptions not being reset properly on filter changes
  • Improved error handling in Sparkplug BIRTH processing
  • Improved error handling for custom namespace string payloads that can't be converted to Ignition tag paths
  • Fixed incorrect OFFLINE state values in the MQTT Engine info tags
  • Fixed null elements in array handling
  • Fixed Elecsys 'State' topic handling
  • Fixed tag/folder management for info tags when enabling primary host subscriptions
  • Fixed issue that resulted in Custom Namespace String tags not getting updated after initial creation



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Modified to not publish cached BIRTH messages if no historical data was published
  • Added encryption of the security context hashing password
  • Added user warnings when users set very large history store capacities
  • Added support for 'ExcludeFromPayload' to prevent specific UDTs from being published via MQTT
  • Added retry logic for example tag creation on initial Transmission installation
  • Added auditing support for remote writes
  • Added support for publishing alarm events on tags via MQTT


Expand
titleWhat's Fixed
  • Modified Transmission to cache historical births at connection loss time rather than when finished flushing
  • Fixed STATE message handling in multi-server environments
  • Fixed potential deadlock when using the disk-backed history store
  • Fixed various RPC calls for Python scripting consistency
  • Fixed issue that resulted in old timestamps being included with newly enabled tags
  • Fixed NPE when handling online transition
  • Fixed issue that could result in device discovery before a 'Refresh' is performed
  • Fixed 'Enabled' property change event reporting on UDT member tags
  • Added support to force Paho disconnect if Paho still reports 'online' state to ensure proper reconnect



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • Fixed various RPC calls for Python scripting consistency



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Added support for 'ExcludeFromPayload' to prevent specific UDTs from being published via MQTT


Expand
titleWhat's Fixed
  • Fixed 'Enabled' property change event reporting on UDT member tags



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Added support for 'ExcludeFromPayload' to prevent specific UDTs from being published via MQTT


Expand
titleWhat's Fixed
  • Fixed various RPC calls for Python scripting consistency
  • Fixed 'Enabled' property change event reporting on UDT member tags



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Added support for a custom endpoint server URL which results in support for Clearblade migrations
  • Added support for 'ExcludeFromPayload' to prevent specific UDTs from being published via MQTT
  • Added validation for mandatory private key upload field


Expand
titleWhat's Fixed
  • Fixed 'Enabled' property change event reporting on UDT member tags



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Improved CFX filename conventions


Expand
titleWhat's Fixed
  • Added support to ensure application names during auto-discovery are unique
  • Fixed potental NPEs when updating meter and periodic config mappings



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Improved CFX filename conventions
  • Modified Opcode table support to include the 'L' value in tag names to prevent name overlap


Expand
titleWhat's Fixed
  • Improved OpCode table detection logging to show failed TLPs
  • Fixed ROC clock sync to work properly when multiple device are syncing clocks
  • Fixed potential NPEs when updating meter and periodic config mappings
  • Fixed exception handling when losing connection while in the connection establishment period



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes




Expand
titlev4.0.15 February 9, 2023


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added support for Device Rebirth requests
  • Disabled non-Sparkplug-B namespaces by default
  • Set max subscriptions to 8 per request to better support some third party MQTT Servers
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • Fixed status indication for devices that fail to subscribe to the MQTT Server
  • Fixed Elecsys support for '_' chars in messages



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • Added support for Device Rebirth requests
  • Fixed issue that could result in missing UDT metrics in a BIRTH
  • Fixed erroneous detection of edge node and group folder removal
  • Logging improvements on startup/connect
  • Fixed issue where EFM records may not be published at startup
  • Fixed NDEATH publishing when the Transmitter is disabled



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Added 'refresh required' info tag and removed the 'auto-discover' feature
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • Fixed Agent name initialization that could result in NPE at startup
  • Fixed handling of enable/disable of endpoints via the control tag
  • Fixed NDEATH publishing when the Agent is disabled
  • Updated logic to support connects without BIRTH messages when appropriate
  • Fixed Agent validation to allow duplicate records



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Added 'refresh required' info tag and removed the 'auto-discover' feature
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • Fixed Agent name initialization that could result in NPE at startup
  • Fixed handling of enable/disable of endpoints via the control tag
  • Fixed NDEATH publishing when the Agent is disabled
  • Updated logic to support connects without BIRTH messages when appropriate
  • Fixed Agent validation to allow duplicate records



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Added 'refresh required' info tag and removed the 'auto-discover' feature
  • Added return values for Python scripting API CRUD operations


Expand
titleWhat's Fixed
  • Fixed Agent name initialization that could result in NPE at startup
  • Fixed handling of enable/disable of endpoints via the control tag
  • Fixed NDEATH publishing when the Agent is disabled
  • Updated logic to support connects without BIRTH messages when appropriate
  • Fixed Agent validation to allow duplicate records



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Added support for Meter Configurations
  • Added support for CFX file creation
  • Improved INI polling status tracking
  • Logging improvements
  • Added a 'not licensed' status indicator
  • Added support for user-selectable INI files
  • Added protection of 'double click' events during config that prevented DB access


Expand
titleWhat's Fixed
  • Fixed NPE that could result in N/A device connection status
  • Fixed issue that could result in 'empty application name' in config menu
  • Fixed issue that prevented access to an internal application map during config
  • Fixed issue that resulted in failure to obtain meter config when using PERSISTENT connections



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Added support for CFX file creation
  • Added support for OpCode Table polling as templates
  • Added a 'not licensed' status indicator
  • Added validation for CSV file uploads to ensure proper format


Expand
titleWhat's Fixed
  • Fixed race condition that resulted in errors when the history poller is stopped



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • Logging improvements


Expand
titleWhat's Fixed
  • No Fixes




Expand
titlev4.0.14 December 14, 2022


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Replaced core MQTT Server code with clean room implementation


Expand
titleWhat's Fixed
  • Fixed MQTT over Websocket handling
  • Fixed NPE during anonymous connections

  • Fixed memory leak around uses of QoS greater than 0



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added support for Sparkplug v3.0.0 STATE messages

  • Added optional/configurable legacy STATE support for Sparkplug 2.2 clients
  • Logging improvements on Threadpools
  • Added a precheck on message decoding Sparkplug messages in case of invalid message payloads
  • Added support for custom namespace overlap on incoming messages
  • Added support for parenthesis in tag paths
  • Added native support for 'reordering timeouts' to support Sparkplug v3.0.0


Expand
titleWhat's Fixed
  • Fixed potential NPE and ConcurrentModificationException in Primary Host handling
  • Fixed support for the 'enabled' tag property
  • Fixed Info tag initialization
  • Fixed config validation of multiple topics on a single entry
  • Fixed UDT handling for disabled UDTs via the 'enabled' tag property
  • Fixed Elecsys sys02 sending to correct server in multi-server environments



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Added support for Sparkplug v3.0.0 STATE messages
  • Improved File auto-publisher performance
  • Increased maximum number of concurrent file publishers
  • Fixed possible deadlocks around file, record, history, and live tag publishing

  • Added thread names for improved logging in file publishers
  • Added logging of time spent on file publish operations
  • Added support for null/empty dataset values
  • Optimized File publishing by removing sync on tag change events
  • Added force sending of pending publish before DDEATH sending
  • Improved inline help text for Store and Forward settings
  • Added support for disk-backed Sparkplug bdSeq numbers


Expand
titleWhat's Fixed
  • Fixed file 'auto-publisher' threads to terminate on shutdown with performance improvements
  • Added synchronization to STATE message handlers to prevent timing issues on STATE handling
  • Fixes to online/offline handling and manual file publishing
  • Fixed 'Publish File Count' metric value
  • Fixed reset of 'Publish Files Folder' value when 'Reset' is set true
  • Added NPE protection on handling of null tag configs
  • Fixed Topic token validation in config operations
  • Fixed support for the 'enabled' tag property
  • Added NPE protection when publishing DDEATH messages
  • Fixed Info tag initialization
  • Fixed potential overwrite of 'Offline DateTime' with null value
  • Fixed disk backed history store inserts with special characters
  • Fixed validation of Group/Edge ID collisions when they are in different Server Sets



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Optimized 'rebirth' publishing to not rescan the tag tree
  • Added force sending of pending publish before DDEATH sending
  • Added support for disk-backed Sparkplug bdSeq numbers


Expand
titleWhat's Fixed
  • Added NPE protection on handling of null tag configs
  • Fixed Topic token validation in config operations
  • Fixed potential deadlock when pushing payloads under heavy load



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Optimized 'rebirth' publishing to not rescan the tag tree
  • Added force sending of pending publish before DDEATH sending
  • Added support for disk-backed Sparkplug bdSeq numbers


Expand
titleWhat's Fixed
  • Added NPE protection on handling of null tag configs
  • Fixed Topic token validation in config operations
  • Fixed potential deadlock when pushing payloads under heavy load



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Optimized 'rebirth' publishing to not rescan the tag tree
  • Added force sending of pending publish before DDEATH sending
  • Added support for disk-backed Sparkplug bdSeq numbers


Expand
titleWhat's Fixed
  • Added NPE protection on handling of null tag configs
  • Fixed Topic token validation in config operations
  • Fixed potential deadlock when pushing payloads under heavy load



Expand
titleIBM Cloud Injector


Expand
titleWhat's New or Improved
  • Optimized 'rebirth' publishing to not rescan the tag tree
  • Added force sending of pending publish before DDEATH sending
  • Added support for disk-backed Sparkplug bdSeq numbers


Expand
titleWhat's Fixed
  • Added NPE protection on handling of null tag configs
  • Fixed Topic token validation in config operations
  • Fixed potential deadlock when pushing payloads under heavy load



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes




Expand
titlev4.0.13 September 21, 2022


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added support for DateTime Arrays and String Arrays

  • Logging improvements/cleanup


Expand
titleWhat's Fixed
  • Fixed issue with file transfers of files with invalid characters in the filename
  • Fixed issue with BED Edge Node names
  • Fixed issue with Tags not getting updated
  • Fixed issue with nested property sets



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Added support for DateTime Arrays and String Arrays
  • Added validation to Transmitter record creation to ensure duplicate Sparkplug Edge Node descriptors don’t collide


Expand
titleWhat's Fixed
  • Fixed issue with history lost on MQTT Transmission info tags
  • Fix for newly added device tag folders
  • Fix for Error_TypeConversion error
  • Fixed issue with UDT name matching



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Added session token auto-refresh


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleIBM Cloud Injector


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM Export


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes




Expand
titlev4.0.12 July 28, 2022


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added support for the Ignition tag 'enabled' property to be dynamically handled

  • Modified MQTT Engine to not update tags if the incoming metric value is older than the current tag value
  • Improvements to handling of redundancy synchronization after record updates
  • Logging improvements


Expand
titleWhat's Fixed
  • Fixed NPE related to logging
  • Added rebirth request when Engine receives unknown alias for a metric in a DATA message
  • Fixed issue that caused 'writable custom namespace tags' to become unwritable after a module restart
  • Fixed handling of deleted Elecsys Edge Nodes
  • Added NPE protection around Engine shutdown when Engine itself is disabled via its own config

  • Fixed the validator for the 'Root Tag Folder' to allow slashes in the tag folder



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Modified the 'Auto-Connect RPC client' default to false
  • Added support for the Ignition tag 'enabled' property to be dynamically handled
  • Improvements to handling of redundancy synchronization after record updates
  • Logging improvements
  • Added support for the new Sparkplug STATE JSON based payloads


Expand
titleWhat's Fixed
  • Fixed issue that prevented UDTs with 'overlapping metric names' from being properly handled
  • Fixes to synchronization in the RAM based Store and Forward mechanism
  • Fixed config keys for the Transmission 'File Records'
  • Fixed concurrency issues around BIRTH building in some complex UDT scenarios



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Modified config descriptions to better match the new Azure IoT Central documentation
  • Added in-editor help text for the Azure IoT Central Python configuration API
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleIBM Cloud Injector


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates
  • Added support for SUCOR type applications


Expand
titleWhat's Fixed
  • Prevent the one-short record poll after reconnect when in persistent mode



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Added dynamic configuration handling for global definition updates for meter and periodic mappings
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • Fixed potential NPE when polling for periodic, minute, and daily history

  • Fixed issue that results in occasional 'History Request Failed' errors
  • Fixed potential issue with NPEs in ROC request/response handling



Expand
titleEFM Export


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No Fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • Improvements to handling of redundancy synchronization after record updates


Expand
titleWhat's Fixed
  • No Fixes




Expand
titlev4.0.11 June 1, 2022


Expand
titleMQTT Distributor


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • Fixed Python Scripting API bug around updating Users



Expand
titleMQTT Engine


Expand
titleWhat's New or Improved
  • Added Tag Path validation to configuration

  • Removed an unnecessary 'back' link in the Custom Namespace String Conversion page
  • Added Engine Info tags for tracking the count of re-ordered messages when enabled
  • Added a 'force redundancy sync' after the Primary Host ID is changed, enabled, or disabled via control tags
  • Added a feature to allow Engine to hold off on publishing the Host STATE message until conditions are met



Expand
titleWhat's Fixed
  • Added NPE protection when handling Aliases
  • Fixed Elecsys namespace Edge Node ID filtering
  • Fixed handling of Custom Namespace JSON tags to prevent unnecessary/improper reconfiguration of tags
  • Added NPE protection to aliased metrics when handling tag writes
  • Added NPE protection when 're-ordering messages' that could prevent Edge Nodes from showing as online
  • Fixed issue with property updating in UDT members that are in member UDTs and folders
  • Fixed Elecsys namespace handling of SINT16 data types



Expand
titleMQTT Transmission


Expand
titleWhat's New or Improved
  • Added a 'Friendly Name' configuration option for File Records
  • Added a 'File Scan Rate Time Unit' configuration option for File Records to allow for faster scans
  • Added additional info tags for File publishing including 'Files to Auto-Publish', 'Remaining Retries', and 'Reset'
  • Improved thread naming for File Publishers to make them more identifiable
  • Added Tag Path validation to configuration
  • Added support for treating 'Device level UDTs' as devices when converting UDTs
  • Improved Birth caching to increase performance
  • Optimized caching to reduce overall memory footprint
  • Removed excessive calls to 'getTagConfigsAsync' to increase performance


Expand
titleWhat's Fixed
  • Fixed retry logic when publishing files
  • Added NPE protection when handling Aliases
  • Fixed an issue where updating a File Configuration could result in removing or resetting file info tags
  • Fixed issue with birth caching logic that produced failures in flushing history when flushing in-order
  • Added NPE protection when updating Transmission Info tags
  • Fixed issue that could result in DATA messages being published before the BIRTH sequence when flushing history in-order
  • Fixed startup/shutdown synchronization that could result in thread leaks
  • Fixed issue when flushing in-order that could result in an endless loop with many devices
  • Fixes to Edge Node discovery to ensure discovery and status flags update properly
  • Fixed issue with Transmission publishing incorrect (newer) metric timestamp in Birth message when using in-order/RAM store and forward
  • Added NPE check when shutting down Transmission clients
  • Fixed RejectedExecutionException that could occur when deleting tags Transmission was publishing
  • Fixed potential double DEATH publishes that could occur on device folder removal



Expand
titleMQTT Recorder


Expand
titleWhat's New or Improved
  • Added Python scripting API for scripted configuration


Expand
titleWhat's Fixed
  • No fixes



Expand
titleAWS Injector


Expand
titleWhat's New or Improved
  • Improved Birth caching to increase performance
  • Removed excessive calls to 'getTagConfigsAsync' to increase performance


Expand
titleWhat's Fixed
  • Fixed startup/shutdown synchronization that could result in thread leaks
  • Fixed issue that could result in the Push Policy reverting back to 'Push to All'



Expand
titleAzure Injector


Expand
titleWhat's New or Improved
  • Improved Birth caching to increase performance
  • Removed excessive calls to 'getTagConfigsAsync' to increase performance


Expand
titleWhat's Fixed
  • Fixed startup/shutdown synchronization that could result in thread leaks
  • Fixed issue that could result in the Push Policy reverting back to 'Push to All'
  • Modified scripting API to use 'AzureSetId' instead of 'AzureSet' for Set key names



Expand
titleGoogle Cloud Injector


Expand
titleWhat's New or Improved
  • Added TCP port number configuration option for connecting to Google IoT Core
  • Improved Birth caching to increase performance
  • Added Python scripting API for scripted configuration
  • Removed excessive calls to 'getTagConfigsAsync' to increase performance
  • Added a 'max throughput' configuration option to throttle data flowing to Google IoT Core


Expand
titleWhat's Fixed
  • Fixed startup/shutdown synchronization that could result in thread leaks
  • Fixed issue that could result in the Push Policy reverting back to 'Push to All'



Expand
titleIBM Cloud Injector


Expand
titleWhat's New or Improved
  • Improved Birth caching to increase performance
  • Added Python scripting API for scripted configuration
  • Removed excessive calls to 'getTagConfigsAsync' to increase performance


Expand
titleWhat's Fixed
  • Fixed startup/shutdown synchronization that could result in thread leaks
  • Fixed issue that could result in the Push Policy reverting back to 'Push to All'



Expand
titleEFM ABB Totalflow Module


Expand
titleWhat's New or Improved
  • Added Tag Path validation to configuration


Expand
titleWhat's Fixed
  • Fixed meter type handling during auto-discovery when using applications other than AGA3, SUAGA3, AGA7, and SUAGA7



Expand
titleEFM Emerson ROC Module


Expand
titleWhat's New or Improved
  • Added Tag Path validation to configuration


Expand
titleWhat's Fixed
  • No fixes



Expand
titleEFM Export


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes



Expand
titleOpto22 groov EPIC and SNAPPAC Driver


Expand
titleWhat's New or Improved
  • No new features


Expand
titleWhat's Fixed
  • No fixes




Release notes for earlier module versions available here

...

Cirrus Link Modules for Ignition v4.0.0 - May 13, 2019

...

  • Initial port to Ignition8

...

  • Initial port to Ignition8

...

  • Initial port to Ignition8

...

  • Initial port to Ignition8

...

  • Initial port to Ignition8

...

  • Initial port to Ignition8
  • Known issues
    • Throughput is not as good as it was in Ignition 7 compatible modules

...

  • Initial port to Ignition8
  • Removed default transmitter and now seed a default transmitter with the same functionality as the old default transmitter
  • Added support for multiple tag paths to a single transmitter
  • Added custom property to 'exclude tags' from payloads
  • Added custom property to specify which tags changes events will be stored in store and forward cache
  • Known issues
    • Throughput is not as good as it was in Ignition 7 compatible modules

...

Improved tag writing throughput working with massive tag lists and during episodes of congested writes

...

An initially scanned floating point value of Not-A-Number (NaN) is better handled

...

Scanner waits for acceptance of tags before publishing data

...

Duplicate tag definitions are prevented

...