Cirrus Link Modules for Ignition 8.x
Expand/Collapse All to allow Search
v4.0.10 February 7, 2022
MQTT Distributor
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Fixed bug that resulted in MQTT Distributor starting when actually disabled after a 'system disabled' restore
MQTT Engine
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Fixed NPE in Engine handling of STATE message arrival
- Fixed tag configuration handling of properties in some edge cases
- Modified MQTT Engine to not update tags that are disabled at the Edge
- Fixed order of operations on start/stop when reconfiguring MQTT Engine
- Fixed UDT paramterized property handling in Engine
MQTT Transmission
What's New or Improved
- Added support for applying Ignition SecurityContext based writes via Sparkplug
- Added BIRTH caching to fix in-order history across Transmission/Ignition restarts
- Added support for Transmission file publishing filenames to have date/timestamps
- Added a retry configuration option for file publishing
- Modified Transmission to allow file publishing even if commands are blocked
- Fixed Example Transmitter creation on Ignition Edge systems
- Improved disk-backed history store migration code
- Added support to enable/disable Server Settings
- Improved file publishing throughput
- Improved shutdown speed when lots of Edge Nodes exist in Transmission
What's Fixed
- Fixed aliasing migration code to prevent malformed configurations
- Added support to delete Disk-backed history store artifacts when an Edge Node or Device is deleted
- Fixed 'Refresh Required' tag indicator handling
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Added null protection to configs that may omit Compression Type and Data Format Type
- Fixed support for 'Single level Edge Node refreshing' when a Group ID is specified in the Transmitter config
- Improved thread handling in start/stop scenarios when auto-publishing
- Fixed handling of parameterized UDT definition members
- Fixed handling of auto-publishing when not connected to primary host
- Fixed to file deletion handling when auto-publishing files
- Improved synchronization to start/stopping of threads on reconfiguration operations
- Fixes to file publishing thread start/stop
- Modified Transmission to not remove the 'formatString' property from UDTs
- Fixed initialization of RAM based history stores for some startup scenarios
- Fixed a thread leak on 'single level Edge Node refresh'
- Removed unnecessary thread startup of Edge Nodes that could result in invalid bdSeq numbers being published in an NBIRTH
- Fixed file publish retry logic
MQTT Recorder
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing version
AWS Injector
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing version
Azure Injector
What's New or Improved
- Added support for Content Encoding to be specified for IoT Hub connections
- Added support for Azure IoT Central
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Fixed certificate upload handling and validation
Google Cloud Injector
What's New or Improved
- Moved private key storage to the Ignition internal DB to improve usability
- Added support for HTTP and HTTPS proxies
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
IBM Cloud Injector
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
EFM ABB Totalflow Module
What's New or Improved
- Added 'Core Diagnostic' informational tags to the managed tag provider
- Deprecated/removed 'Poll EOT' and 'Auto-discovery EOT' timeouts
- Improved connection status indication in the Ignition Gateway Web UI
- Fixed null Station ID handling in configuration
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Improved CSV config file handling
- Fixed mandatory field handling to improve the configuration experience
- Fixed md5sum calculations for configuration file handling
EFM Emerson ROC Module
What's New or Improved
- Improved connection status indication in the Ignition Gateway Web UI
- Improved handling of 'Point type 0' TLPs
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
- Fixed md5sum calculations for configuration file handling
EFM Export
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
Opto22 groov EPIC and SNAPPAC Driver
What's New or Improved
- Modifications to not use 'default' (zero for numerics, false for booleans, and empty strings) values before an initial scan is performed
Logging improvements
What's Fixed
- Fixed potential class loading issues when running multiple Cirrus Link modules of differing versions
v4.0.9 October 22, 2021
MQTT Engine
What's New or Improved
- General logging improvements
- Modified MQTT Engine to only subscribe on Elecsys 'State' topics if that namespace is enabled
- Added dialog documentation for the configuration Python scripting API
- Added support to allow spaces in Primary Host IDs
- Added support for non-RSA type (PKCS#8) private keys
What's Fixed
- Fixed tag writes for Document type tags
- Fixed server name validation to only allow characters that are valid in Ignition tag names
- Various NPE fixes around invalid UDT configurations
- Fixed issue that could result in MQTT Engine publishing Rebirth requests to the wrong MQTT Server in redundant environments
MQTT Transmission
What's New or Improved
- Removed the 'Node Control/Reboot' metric from the NBIRTH as it doesn't make sense for Transmission
- General logging improvements
- Added validation to 'Tag Provider' and 'Tag Path' configuration fields
- Added support for 'Edge Node level Refresh' to Transmission along with Edge Node granularity 'Refresh Required' tracking
- Fixed server name validation to only allow characters that are valid in Ignition tag names
- Added dialog documentation for the configruation Python scripting API
- Added support for 'Refresh Required' updates on tag property changes
- Fixed handling of Datasets in history stores
- Added support to allow spaces in Primary Host IDs
- Added support for 'discovering edge nodes' with corresponding 'discover required' tag and auto-removal of Edge Nodes in Transmitter tag trees
- Added support for non-RSA type (PKCS#8) private keys
What's Fixed
- Fixed detection of tag change events on Document type tags
- Fixed potential (rare) deadlock when connecting to MQTT Servers
- Fixed potential NPE around null bound property values in UDTs
- Fixed issue where UDT null bound property values could be omitted from a payload
- Fixed potential deadlock on shutdown
- Fixed handling in Document tag types in DATA messages to prevent conversion to String datatypes in MQTT Engine
- Fixed issue in alias handling that could result in duplicate aliases
- Fixed potential NPE when handling a UDT definition member tag property bound to a UDT parameter
- Fixed publishing of UDT definitions in the NBIRTH when converting UDTs
- Fixed potential NPE that could occur in Docker startup environments when creating the 'Example Transmitter'
- Fixed bdSeq number handling that could result in it being incorrect in NBIRTH messages after connection failures
- Fixed potential NPEs during Transmitter shutdown
- Various Disk Backed history store fixes around NPEs and potential DB lockout
- Various NPE fixes around invalid UDT configurations
AWS Injector
What's New or Improved
- Added validation to 'Tag Provider' and 'Tag Path' configuration fields
- Added dialog documentation for the configruation Python scripting API
- Added support for pushing DDEATH messages on Device removals
What's Fixed
- Fixed detection of tag change events on Document type tags
- Fixed potential NPE around null bound property values in UDTs
- Fixed issue where UDT null bound property values could be omitted from a payload
- Fixed potential deadlock on startup
- Fixed potential NPE when handling a UDT definition member tag property bound to a UDT parameter
Azure Injector
What's New or Improved
- Added support for Azure Edge configuration via the Python scripting API
- Added support for 'auto-configuration' in Azure Edge Docker environments
- Added validation to 'Tag Provider' and 'Tag Path' configuration fields
- Added dialog documentation for the configruation Python scripting API
- Added support for configurable character encoding
- Added support for pushing DDEATH messages on Device removals
- Added support for non-RSA type (PKCS#8) private keys
What's Fixed
- Fixed detection of tag change events on Document type tags
- Fixed potential NPE around null bound property values in UDTs
- Fixed issue where UDT null bound property values could be omitted from a payload
- Fixed potential deadlock on startup
- Fixed potential NPE when handling a UDT definition member tag property bound to a UDT parameter
Google Cloud Injector
What's New or Improved
- Added validation to 'Tag Provider' and 'Tag Path' configuration fields
- Made session token expirations configurable
- Added dialog documentation for the configruation Python scripting API
- Added support for pushing DDEATH messages on Device removals
- Added support for non-RSA type (PKCS#8) private keys
What's Fixed
- Fixed detection of tag change events on Document type tags
- Fixed potential NPE around null bound property values in UDTs
- Fixed issue where UDT null bound property values could be omitted from a payload
- Fixed potential deadlock on startup
- Fixed potential NPE when handling a UDT definition member tag property bound to a UDT parameter
IBM Cloud Injector
What's New or Improved
- Added validation to 'Tag Provider' and 'Tag Path' configuration fields
- Added dialog documentation for the configruation Python scripting API
- Added support for pushing DDEATH messages on Device removals
- Added support for non-RSA type (PKCS#8) private keys
What's Fixed
- Fixed detection of tag change events on Document type tags
- Fixed potential NPE around null bound property values in UDTs
- Fixed issue where UDT null bound property values could be omitted from a payload
- Fixed potential deadlock on startup
- Fixed potential NPE when handling a UDT definition member tag property bound to a UDT parameter
EFM ABB Totalflow Module
What's New or Improved
- Added a 'watchdog' to ensure continued AAR polling
- Added validators to global definition files
- Logging improvements around supervisory frame status
- Moved large configuration files from the internal Ignition DB to the filesystem which is supported in Ignition8 backup/restore operations
- Improved AAR write times
- Fixed issue that prevented Totalflow Application definitions from being uploaded via Windows in some scenarios
What's Fixed
- Fixed cleanup of 'orphaned' global definition records
- Fixed import issue with array register templates
- Fixed issue with 'Station ID' character lengths
- Added support for comma characters in Totalflow Application's Name, Revision, and Parameter fields
EFM Emerson ROC Module
What's New or Improved
- Added a 'watchdog' to ensure continued TLP polling
- Added validators to global definition files
- Added retry logic to login attempts when login fails
- Fixed issue where polling could stop in certain scenarios and not automatically restart
- Moved large configuration files from the internal Ignition DB to the filesystem which is supported in Ignition8 backup/restore operations
What's Fixed
- Fixed cleanup of 'orphaned' global definition records
Opto22 groov EPIC and SNAPPAC Driver
v4.0.8 July 15, 2021
MQTT Distributor
What's New or Improved
- Added support for Python script based configuration changes
MQTT Engine
What's New or Improved
- Improved handling of setting Edge Nodes and Devices offline
- Added support for Python script based configuration changes
- Improved general performance
- 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.
- Improved processing speed of custom namespace JSON payloads
What's Fixed
- Fixed issue that could result in Engine not sending commands when required including Rebirth requests
- Added protection for null payload timestamps
- 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
MQTT Transmission
What's New or Improved
- Added support for Python script based configuration changes
- Added support for better QualityCode comparisons to support changes in Ignition 8.1.7
- 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
What's Fixed
- Fixed 'Refresh Required' tag handling to show the proper state of the tag
- Internal cache fixes and improvements
- Fixed potential thread-leak
- Fixes and improvements to bound properties in UDTs
- Fixes to history store and forward when UDTs are being used
AWS Injector
What's New or Improved
- Added support for Python script based configuration changes
What's Fixed
- Fixed potential thread-leak
Azure Injector
What's New or Improved
- Added support for Python script based configuration changes
- Added support for Azure IoT Edge Hubs
- Added support for IoT Hub 'Application Properties' via Injector configuration
What's Fixed
- Fixed potential thread-leak
Google Cloud Injector
What's Fixed
- Fixed potential thread-leak
IBM Cloud Injector
What's Fixed
- Fixed potential thread-leak
EFM ABB Totalflow Module
What's New or Improved
- Improvements to connection and re-connection logic
What's Fixed
- Fixed naming collision for 'periodic mappings' between ROC and ABB mappings
- Fixed bug regarding event polling in an edge case
EFM Emerson ROC Module
What's New or Improved
- Improvements to connection and re-connection logic
- Added 'polling state' to the ROC devices
What's Fixed
- Fixed naming collision for 'periodic mappings' between ROC and ABB mappings
Opto22 groov EPIC and SNAPPAC Driver
v4.0.7 April 12, 2021
MQTT Engine
What's New or Improved
- 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
- 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/#
- Improved processing speed of custom namespace JSON payloads
- Added support to handle new 'Optimized UDT' DATA messages
What's Fixed
- Fixed datatype handling for sampleMode and historyTimeDeadbandUnits properties
- 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
- 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
What's New or Improved
- Added support for MQTT Client IDs longer than 23 characters in length is user specified
- Added 'event tracing code' to track execution time for tag change events that occur
- 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
- Added support for UDT parameter to UDT parameter bindings
What's Fixed
- Fixed issue with potential failed file transfers when primary host is being used
- Fixed birth caching when aliasing is enabled
- 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
- Fixed UDT definition handling to support definitions with the same name under different folder paths
AWS Injector
What's New or Improved
- Cleaned up AWS credential text in the configuration Web UI
- Added 'event tracing code' to track execution time for tag change events that occur
- 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
- Logging improvements around UDT handling
- Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
- Added support for UDT parameter to UDT parameter bindings
- Added more randomness to partition keys per AWS recommendations to Kinesis partition keys
- Improved processing time on tag change events when events occur on UDT members
- Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
What's Fixed
- Fixed implementation to publish NDEATH message when Injector is disabled
- Fixed UDT definition handling to support definitions with the same name under different folder paths
Azure Injector
What's New or Improved
- Added support for MQTT Client IDs longer than 23 characters in length is user specified
- Added 'event tracing code' to track execution time for tag change events that occur
- 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 bound value support for UDTs to evaluate bindings before publishing data
- Added support for UDT parameter to UDT parameter bindings
- Improved processing time on tag change events when events occur on UDT members
- Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
What's Fixed
- Fixed issue where disabled configurations of IoT Hub would still send BIRTH messages
- Fixed implementation to publish NDEATH message when Injector is disabled
- Fixed UDT definition handling to support definitions with the same name under different folder paths
Google Cloud Injector
What's New or Improved
- Added support for MQTT Client IDs longer than 23 characters in length is user specified
- Added 'event tracing code' to track execution time for tag change events that occur
- Upgraded underlying MQTT library
- Logging improvements around UDT handling
- Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
- Added bound value support for UDTs to evaluate bindings before publishing data
- Added support for UDT parameter to UDT parameter bindings
- Improved processing time on tag change events when events occur on UDT members
- Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
What's Fixed
- Fixed implementation to publish NDEATH message when Injector is disabled
- Fixed UDT definition handling to support definitions with the same name under different folder paths
IBM Cloud Injector
What's New or Improved
- Added support for MQTT Client IDs longer than 23 characters in length is user specified
- Added 'event tracing code' to track execution time for tag change events that occur
- Upgraded underlying MQTT library
- Logging improvements around UDT handling
- Added support for 'periodic publishing' as an alternative to event/tag change driven publishing
- Added bound value support for UDTs to evaluate bindings before publishing data
- Added support for UDT parameter to UDT parameter bindings
- Improved processing time on tag change events when events occur on UDT members
- Added 'Optimize UDT' option to Transmission to reduce payload sizes in DATA messages
What's Fixed
- Fixed implementation to publish NDEATH message when Injector is disabled
- Fixed UDT definition handling to support definitions with the same name under different folder paths
EFM ABB Totalflow Module
What's New or Improved
- Initial GA release of the module for Ignition8
Opto22 groov EPIC and SNAPPAC Driver
v4.0.6-beta1 Dec 1, 2020 (SiteWise Engine only)
v4.0.5-beta1 Sept 1, 2020 (EFM ABB Totalflow only)
EFM ABB Totalflow Module
What's New or Improved
- Initial release of module for Ignition 8
v4.0.5-beta1 Aug 5, 2020 (EFM Emerson ROC and EFM Export only)
EFM Emerson ROC Module
What's New or Improved
- Initial release of module for Ignition 8
EFM Export
What's New or Improved
- Initial release of module for Ignition 8
v4.0.5 June 29, 2020
MQTT Distributor
What's New or Improved
- Added support for Ignition Maker Edition
- 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
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
MQTT Engine
What's New or Improved
- Added support for Ignition Maker Edition
- Added support for custom namespace charset selection for binary encoding support - set default to UTF-8
- 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
- Added alarmEvalEnabled to default property filter list
- Added support for modified 'configureTag' behavior in Ignition 8.0.14
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
- Fixed access to property matching for proper property filtering
MQTT Transmission
What's New or Improved
- Added support for Ignition Maker Edition
- Added support for breaking 'SecurityContext' API change in Ignition 8.0.13
- 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
- Added code to ignore _invalid_ tag paths when traversing the tag tree
What's Fixed
- 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
- Fixed 'reset metrics' info tag to always be writable
MQTT Recorder
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
AWS Injector
What's New or Improved
- 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
- Added code to ignore _invalid_ tag paths when traversing the tag tree
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
- Fixed issue with null-check on S&F type
- Fixed 'Edge Nodes' folder creation to occur the the correct tag provider
Azure Injector
What's New or Improved
- 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
- Added code to ignore _invalid_ tag paths when traversing the tag tree
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
- 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
What's New or Improved
- 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
- Added code to ignore _invalid_ tag paths when traversing the tag tree
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
- 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
What's New or Improved
- 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
- Added code to ignore _invalid_ tag paths when traversing the tag tree
What's Fixed
- Fixed enum usage to prevent class loading exceptions when browsing/modifying gateway web UI configuration
- 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
v4.0.4 May 20, 2020
These modules 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
All Modules
What's New or Improved
- Updated code signing cerificate
What's Fixed
- Fixed documentation links in tooltips of the module config pages
MQTT Distributor
What's New or Improved
- Modified TLS setup to piggyback off of native Ignition SSL mechanism
MQTT Engine
What's New or Improved
- Add custom property for 'sequence number reordering'
- 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
- Improved certificate file management in the config web configuration UI
- Fixed 'Critical App State' info tag to prevent erroneous data
- Added a cache layer for improved custom namespace performance
What's Fixed
- Fixed retention of UDT properties across module restarts
- Fixed client reinitialization after custom namespace changes
- 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
What's New or Improved
- Added a validator to primary host ID creation to prevent runtime errors
- Added parameter based UDT DataType handling when convertUDTs=true
- Added tag pacing period validator to ensure it is greater than zero
- Improved certificate file management in the config web configuration UI
- Added Transmission Info Tags for tracking messsages and bytes
What's Fixed
- 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
- Fixed handling of non-memory tags (i.e. derived, OPC, etc) in Sparkplug Record publishes
- Fixed potential ClassCastException around BoundPropertySet Objects
- Fixed Transmission TLS connect on startup
- 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
AWS Injector
What's New or Improved
- Added tag pacing period validator to ensure it is greater than zero
- Disconnect logic cleanup
- General performance enhancements
What's Fixed
- Fixed Timer thread leak on pending publish creation
- Fixed potential ClassCastException around BoundPropertySet Objects
- Added null checks to Injector start/stop to prevent NPEs
- 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
Azure Injector
What's New or Improved
- Tooltip/help improvements
- 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
- Disconnect logic cleanup
- General performance enhancements
What's Fixed
- Fixed Timer thread leak on pending publish creation
- Fixed potential ClassCastException around BoundPropertySet Objects
- Added null checks to Injector start/stop to prevent NPEs
- 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
- Added reconnect logic to MQTT Injectors when message pushes fail
Google Cloud Injector
What's New or Improved
- Added tag pacing period validator to ensure it is greater than zero
- Added support for a connection pooling to allow for increased throughput
- General performance enhancements
- Disconnect logic cleanup
What's Fixed
- Fixed Timer thread leak on pending publish creation
- Fixed potential ClassCastException around BoundPropertySet Objects
- Added null checks to Injector start/stop to prevent NPEs
- 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
- Added reconnect logic to MQTT Injectors when message pushes fail
IBM Cloud Injector
What's New or Improved
- Added tag pacing period validator to ensure it is greater than zero
- Added support for a connection pooling to allow for increased throughput
- General performance enhancements
- Disconnect logic cleanup
What's Fixed
- Fixed Timer thread leak on pending publish creation
- Fixed potential ClassCastException around BoundPropertySet Objects
- Added null checks to Injector start/stop to prevent NPEs
- 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
- Added reconnect logic to MQTT Injectors when message pushes fail
Opto22 groov EPIC and SNAPPAC Driver
v4.0.3 January 28, 2020
All Modules
What's New or Improved
- 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
What's Fixed
- Fixed potential deadlock on shutdown
- Added Distributor Info tags showing number of connected clients
MQTT Engine
What's New or Improved
- 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
What's Fixed
- 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
MQTT Transmission
What's New or Improved
- Performance improvements in disk-backed history store and forward
- Added optional 'random' delay setting to Transmitter configuration
What's Fixed
- Various fixes in disk-backed history store and forward
- Fixed potential thread leaks
- Fixed issue with BIRTH incorrectly containing cached/old Tag values
AWS Injector
What's New or Improved
- Added settings validators to ensure correct Injector configuration
Azure Injector
What's New or Improved
- Added settings validators to ensure correct Injector configuration
What's Fixed
- Fixed shutdown issue to prevent duplicate MQTT client connections
Google Cloud Injector
What's New or Improved
- Added settings validators to ensure correct Injector configuration
IBM Cloud Injector
What's New or Improved
- Added settings validators to ensure correct Injector configuration
Opto22 groov EPIC and SNAPPAC Driver
v4.0.2 October 11, 2019
All Modules
What's New or Improved
- 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
MQTT Distributor
What's New or Improved
- Add support for spaces in ACL topics
MQTT Engine
What's New or Improved
- 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
What's Fixed
- 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
What's New or Improved
- 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
What's Fixed
- Fixed publishing of derived tags, OPC tags, and other indirect types
MQTT Recorder
What's New or Improved
- Added support for configuring which Tag properties get published
AWS Injector
What's New or Improved
- Added support for configuring which Tag properties get published
Azure Injector
What's New or Improved
- Added support for configuring which Tag properties get published
Google Cloud Injector
What's New or Improved
- Added support for configuring which Tag properties get published
IBM Cloud Injector
What's New or Improved
- Added settings validators to ensure correct Injector configuration
Opto22 groov EPIC and SNAPPAC Driver
What's New or Improved
- Added scanner refresh control Tag
v4.0.1 June 19, 2019
MQTT Engine
What's New or Improved
- Added support for Ignition7/Transmission to publish to Ignition8/Engine with quality code translations
What's Fixed
- Fixed online status info tags to denote the proper values
- 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
MQTT Transmission
What's New or Improved
- 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
- Improvements to handling of null values
- Added batching and caching components to improve performance
What's Fixed
- 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
- Fixed connected Server URL info tag handling
- Added sorting of UDT definitions to ensure proper order for creation of UDTs
- Fixed alias support
- Improvements to Disk-backed history stores
Azure Injector
What's Fixed
Fixed support for auto-detected Edge Nodes in tag trees
Various tag path handling fixes
Various UDT fixes
Fixed publishing of NBIRTH messages for Event Hubs
Opto22 groov EPIC and SNAPPAC Driver
v4.0.0 May 13, 2019
MQTT Engine
What's New or Improved
- Initial port to Ignition8
- Known issue that throughput is not as good as it was in Ignition 7 compatible modules
Opto22 groov EPIC and SNAPPAC Driver
What's Fixed
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
In extreme cases, 32- and 64-bit integer values may have erratically updated