Color Code: Bug Fix,Feature/Enhancement, Optimization
Cirrus Link Modules for Ignition v3.4.6 - Feb 28, 2019
AWS Injector
Fixed handling of enabling tag writes via Ignition Designer
Updated EULA
Azure Injector
Fixes to MQTT client shutdown mechanism for more deterministic disconnect behavior
Fixed handling of enabling tag writes via Ignition Designer
Updated EULA
EMF Emerson ROC Driver
Fixes to alarm polling synchronization
Fix for potential deadlock around some OpCode 180 and 181 events
Improvements to general history polling
Started changes to alarm, event, and history records to improve interfacing to third party systems
Improved live configuration validation to ensure working configuration on submit
Added support for importing CSV files that had been modified using Excel
Added ROC configuration field for handling date/time offset between Ignition and the ROC device
Added ROC time synchronization mechanism
Adding handling of 'gaps' in history segment configuration
Fixed potential deadlock around disconnect/reconnect operations
Updated EULA
Google Cloud Injector
Improved some naming of some of the configuration settings and fixed documentation links
Fixes to MQTT client shutdown mechanism for more deterministic disconnect behavior
Fixed handling of enabling tag writes via Ignition Designer
Updated EULA
IBM Cloud Injector
Fixed handling of enabling tag writes via Ignition Designer
Updated EULA
MQTT Distributor
Updated EULA
Added information metric tag to show number of currently connected clients
MQTT Engine
Fixed issue with buildup of CMD messages with nested UDT members to be valid
Fixes to MQTT client shutdown mechanism for more deterministic disconnect behavior
Disabled MQTT Client latency check by default
Updated EULA
MQTT Recorder
Updated EULA
MQTT Remote Management (Agent/Manager)
Fixes to MQTT client shutdown mechanism for more deterministic disconnect behavior
Updated EULA
MQTT Transmission
Added 'disk-backed' Store and Forward mechanism.
Added additional information metric tags for store and forward usage
Fixed structure of Sparkplug messages containing UDTs to be as it was in v3.4.4
Improved some misleading error log messages
Fixes to MQTT client shutdown mechanism for more deterministic disconnect behavior
Added better log messages when Ignition arrays datatypes are inappropriately used in Ignition
Updated EULA
Added information metric tag to show the configured primary host ID for each MQTT client
Modified connected status to show 'x of y' clients connected where 'y' is now the number of clients in each server set
Fixed issue where MQTT clients could not honor the primary host ID in more complex configurations
Opto22 groov EPIC and SNAPPAC Driver
Updated EULA
Cirrus Link Modules for Ignition v3.4.5 - Dec 10, 2018
AWS Injector
Added support for AWS Firehose to Kinesis Streams
Added Sparkplug verbs to payload pushes
Removed unnecessary UDT properties from payload pushes
Improved timestamp handling for messaging that wasn't always accurate
Removed pushing of unnecessary tag properties
Fixed re-enablement of a stream setting when triggered via the Ignition enable/disable tag
Azure Injector
Added Sparkplug verbs to payload pushes
Removed unnecessary UDT properties from payload pushes
Improved timestamp handling for messaging that wasn't always accurate
Added support for pushing to Azure Event Hub
Removed pushing of unnecessary tag properties
Fixed re-enablement of a stream setting when triggered via the Ignition enable/disable tag
EMF Emerson ROC Driver
Fixed issue where configuration UI would show no TLP templates and poll groups defined when there were indeed some defined
Fixed alarm, event, and history rollover on the internal Emerson ROC queues that store this information internally
Fixed minute history polling issues
Fixed initialization issue when no TLP definitions were present
Added support for automatically adding TLP definitions to new devices when they are created
Fixed multiple synchronization issues
Google Cloud Injector
Initial beta release
IBM Cloud Injector
Added Sparkplug verbs to payload pushes
Removed unnecessary UDT properties from payload pushes
Improved timestamp handling for messaging that wasn't always accurate
Removed pushing of unnecessary tag properties
Fixed re-enablement of a stream setting when triggered via the Ignition enable/disable tag
MQTT Distributor
Fixed edge case where retained LWT messages would not be published
Added ability to enable/disable Distributor via an Ignition tag
MQTT Engine
Fixed issue with Server Type selection
Improved LWT handling to denote offline clients
Improved timestamp handling for messaging that wasn't always accurate
Added tag latching mechanism to support synchronized operations between updateTag calls in MQTT Engine and Ignition tag events
This allows for use of tag event scripts and transaction groups as history is flushed from remote Sparkplug clients
Added client side certificate support for MQTT clients
Added UI validation to MQTT keep alive values
MQTT Recorder
None
MQTT Remote Management (Agent/Manager)
None
MQTT Transmission
Removed unnecessary UDT properties from payload publishes
Added UI validator to check for overlapping Sparkplug Group and Edge Node ID overlapping
Improved timestamp handling for messaging that wasn't always accurate
Cleanup to unnecessary tag property publishing
Added enable/disable control to Transmitters
Added UI validation to MQTT keep alive values
Fixed issue that could result in some UDT members missing from BIRTH messages
Opto22 groov EPIC and SNAPPAC Driver
None
Cirrus Link Modules for Ignition v3.4.4 - October 11, 2018
AWS Injector
Added support for enabling/disabling streams on a per stream basis and via a tag in Ignition
Fixed gateway configuration navigation error with session token changes
Azure Injector
Replaced underlying Cirrus Link Sparkplug implementation with Eclipse Tahu implementation
Added maximum message size support to limit message sizes per Azure IoT Hub requirements
Fixed auto-reconnect issue when connection should be shut down
Added checks to prevent multiple connect threads
Added session token generation support with configurable token timeout
Made reconnect support asynchronous
Fixed possibility of accidental LWT from being published
Added support for enabling/disabling streams on a per stream basis and via a tag in Ignition
Removed duplicate protocols from protocol selector drop-down menu
EFM Emerson ROC Driver
Initial Beta Release
MQTT Distributor
Fixed ACL issue that resulted in invalid ACL rejections with spaces in an ACL topic
Added configuration time ACL validation of ACLs to prevent configuration time errors
MQTT Engine
Replaced underlying Cirrus Link Sparkplug implementation with Eclipse Tahu implementation
Added support for interfacing to MQTT Recorder and handling Sparkplug Records
Added ability to enable/disable specific MQTT server settings
Fixed potential deadlock issue when tags are updated while Ignition is starting
Added ability to filter namespaces for specific MQTT server settings
Fixed issue where tag permissions were being overwritten
Fixed some internal concurrency issues
Naming convention improvements to some online/offline info tags
MQTT Recorder
Initial Beta Release
MQTT Remote Management (Agent/Manager)
Replaced underlying Cirrus Link Sparkplug implementation with Eclipse Tahu implementation
MQTT Transmission
Replaced underlying Cirrus Link Sparkplug implementation with Eclipse Tahu implementation
Added support for sending Sparkplug Records from MQTT Transmission
Fixed edge case disconnect issue that could result in failed LWT publish on disconnect
Fixed issue where UDT member tag quality may not be published correctly
Added support for interfacing to Sparkplug Record providers such as the EFM Emerson ROC module
Fixed issue where an Edge Node removal from the default transmitter tag tree could result in the Edge Node to being removed
Fixed issue where if aliases were being used the tag name was still also sent
Fixes to edge case with in order history flushing in conjunction with primary host id usage
Fixed potential deadlock when rebirth occurs at the same time as tag change events
Removed UDT tag properties being sent in DATA messages
Web UI cleanup to shown fields in the Transmitter configuration list
Opto22 groov EPIC and SNAPPAC
The module reliably connects with more than one Opto 22 device.
Scan time is no longer based on the real-time clock.
Cirrus Link Modules for Ignition v3.4.3 - July 9, 2018
AWS Injector
Added a thread pool for improved Kinesis push support
Added split tag caches to improve performance
Azure Injector
Added split tag caches to improve performance
MQTT Distributor
None
MQTT Engine
Fixed performance issue with handling historical metrics that resulted in an arbitrary long delay
Fixed issue to ensure datasets published from a client are properly represented as a dataset on the Engine side
Added split tag caches to improve performance
Added threading support to message processing to improve performance
Fixed handling of tag properties being changed from non-defaults back to defaults
Fixed support for null datasets in UDT instances
Fixed Java 6 support for Designer/Client components of MQTT Engine
Logging optimizations
MQTT Transmission
Added support for null strings and dates in datasets
Added support for an empty 'tag path' string in custom transmitter configuration
Fixed support for null datasets in UDT instances
General UDT handling improvements
Fixed Java 6 support for Designer/Client components of MQTT Transmission
MQTT Remote Management (Agent/Manager)
Fixed file saving issue with regard to module updates
Opto22 groov EPIC and SNAPPAC
Fixes to time references
Cirrus Link Modules for Ignition v3.4.2 - May 16, 2018
AWS Injector
None
Azure Injector
None
MQTT Distributor
Fixed issue with anonymous client configuration setting
Fixed issue with anonymous client authorizations
Fixed issue with disabling of listening ports
MQTT Engine
Added new Engine Info Tags for tracking Offline/Online Edge Nodes
Added new Engine Info Tags for last Edge Node to connect/disconnect
Added new "Store Historical Events" general setting
Fixed issue with Tag datatype changes
Fixed issue with disabling some default namespaces
MQTT Transmission
Added new "In-Order History" Transmitter setting
Added compression support when publishing to AWS Greengrass
Fixed issue with UDT sub-type definition modeling
MQTT Remote Management (Agent/Manager)
None
Opto22 groov EPIC and SNAPPAC
Controller's scantime is now fully honored
If the strategy's CRC changes, an automatic disconnect and reconnect cycle occurs for background strategy downloads
Cirrus Link Modules for Ignition v3.4.1 - March 21, 2018
AWS Injector
Added configuration options for setting the maximum message size sent to Kinesis
Azure Injector
None
MQTT Distributor
Refactored to use to new logging mechanism to improve performance
MQTT Engine
Refactored to use to new logging mechanism to improve performance
Added cache to String split handling to improve performance
Added filtering of Node Info and Device Info folder tags if they do arrive via subscribed topics
Fixed issue in handling historical metrics with '.' characters in the the tag name
MQTT Transmission
Refactored to use to new logging mechanism to improve performance
Added cache to String split handling to improve performance
Fixed issue with custom transmitters when no device id is specified
Added filtering of Node Info and Device Info folder tags so they are not transmitted
Added better debug messages to timer threads
Moved Primary Host ID configuration option to server sets so it is not global across all sets
MQTT Remote Management (Agent/Manager)
Refactored to use to new logging mechanism to improve performance
Opto22 groov EPIC and SNAPPAC
Refactored to use to new logging mechanism to improve performance
Minor wording fixes to module menuing and text
Other
Sparkplug Library
None
Cirrus Link Modules for Ignition v3.4.0 - Feb 23, 2018
Injector (AWS/Azure)
Cleanup and fixes to MQTT disconnect/reconnect logic
Fixes to LWT handling
Optimizations to thread pool for faster push rates
Logging cleanup around failed pushes
Added automatic splitting of messages too large to be handled by Kinesis
Added info tags for
Messages Push Time Average
Messages Size Max
Messages Size Average
Messages Failed
MQTT Distributor
None
MQTT Engine
Cleanup and fixes to MQTT disconnect/reconnect logic
Fixes to LWT handling
Removed unnecessary 'configureTag' calls for tags that already exist or don't have custom property values
Added 'message processing latency' tag
Added threadpools to message handlers to speed up message handling
Cleanup to latency info tags to be more descriptive
Improved thread cleanup on MQTT Engine shutdown
Logging checks to improve message handling speed
MQTT Transmission
Cleanup and fixes to MQTT disconnect/reconnect logic
Fixes to LWT handling
Now uses same client ID across reconnects
Fixed DBIRTH handling when Edge Node is offline
Added tag cache to MQTT Transmission to improve efficiency
MQTT Remote Management (Agent/Manager)
Initial module release
Opto22 groov EPIC and SNAPPAC
Timers may now be written when tags are inventoried from the PAC Controller.
Retrieving the string table list of tags from PAC Controllers may take a long time. The module scanner code dynamically adjusts the communication timeout during this period to accommodate the extended time
Logging messages were a little excessive (especially with bad/undefined controller tags). Excessive messages were removed
Modifications were made to support parallel enhancements to an upcoming version of PAC Control software. This update to PAC Control will allow users (within PAC Control) to select which tags to be "public" and thus automatically generate tag lists that the driver module may access
Modified wording to include support for groov EPIC platform as well as SNAP PAC
Added form validation to better notify users of out of range configuration values
Other
Sparkplug Library
Reverted Paho lib from 1.2.0 to 1.1.1 due to problems with Paho in order delivery at high message rates
Added utility method for splitting messages based on maximum JSON encoded size
Fixes to utility for splitting JSON messages with single metric