You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 54 Next »

Cirrus Link recommends our Customers always 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 v4.0.8 - July 15, 2021

  • 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

  • AWS Injector
    • 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

  • Azure Injector
    • 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

  • Google Cloud Injector
    • 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

  • IBM Cloud Injector
    • 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

  • MQTT Distributor
    • None
  • MQTT Engine
    • 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
  • MQTT Transmission
    • 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
  • Opto22 groov EPIC and SNAPPAC Driver
    • None

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

  • AWS Injector
    • Initial port to Ignition8
  • Azure Injector
    • Initial port to Ignition8
  • Google Cloud Injector
    • Initial port to Ignition8
  • IBM Cloud Injector
    • Initial port to Ignition8
  • MQTT Distributor
    • Initial port to Ignition8
  • MQTT Engine
    • Initial port to Ignition8
    • Known issues
      • Throughput is not as good as it was in Ignition 7 compatible modules
  • MQTT Transmission
    • 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
  • Opto22 groov EPIC and SNAPPAC Driver
    • Initial port to Ignition8
    • 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

    • In extreme cases, 32- and 64-bit integer values may have erratically updated

  • No labels