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 v3.4.10-beta1 - Aug 10, 2020 (EFM ABB Totalflow)
- EFM ABB Totalflow
- Initial release of the module for Ignition7
- Note - if using this in conjunction with MQTT Recorder you must use the latest NIGHTLY snapshot of MQTT Recorder and MQTT Transmission.
Cirrus Link Modules for Ignition v3.4.10 - April 29, 2020 - Requires Ignition 7.9.13 or newer!
- MQTT Transmission
- Improved TLS Certificate upload/management
- Added option to disable RPC client reconnects
- Added primary host ID validation
- Added new Transmission Info tags for outgoing messages
- Fixed BED sequence number wrapping
- Fixes for Disk-backed Store and Forward
- Fixed Transmission Info tag updates
- Fixed Transmission reconnect issues that required module restart when using disk-backed store and forward
- Fixed alias caching in that could result incorrect aliases being used
- Fixed issue where NDATA sometimes published before NBIRTH
- Fixed issue with primary host and lost history publishes
- Fixed issue with RPC client updates when Server Settings are modified
- MQTT Engine
- Improved TLS Certificate upload/management
- Removed 'Device Control' tags
- Fixed issue with sending Rebirth commands
- Fixes to issues with Tag staling
- Fixed issue with changes to Namespaces requiring module restart
- Fixed unsubscribe on shutdown for Custom Namespace topic subscriptions
- MQTT Distributor
- Fixes for module shutdown
- MQTT Recorder
- AWS Injector
- Added new Push Policy setting to support round-robin connection pools
- Fixed issue with Agent restarts on Server Set changes
- Fixed issue with DEATH message payloads
- Azure Injector
- Added new Push Policy setting to support round-robin connection pools
- Fixed issue with Agent restarts on Server Set changes
- Fixes to threading issue on failed push attempt
- Fixes to occasional errors on shutdown
- Removed cert file upload
- Fixes for issues with duplicate endpoint configurations
- Fixed issue with DEATH message payloads
- Google Cloud Injector
- Added new Push Policy setting to support round-robin connection pools
- Fixed issue with Agent restarts on Server Set changes
- Fixed issue with DEATH message payloads
- IBM Cloud Injector
- Added new Push Policy setting to support round-robin connection pools
- Fixed issue with Agent restarts on Server Set changes
- Fixed issue with DEATH message payloads
- EFM Emerson ROC Driver
- Improved log messages around ROC CRC errors
- Fixes to serial connection if terminal server is used
- Fixed issue with configurable hashing algorithm
- Fixed issue with integer/byte conversions
- Fixed display issue with parameter types dropdown
- Fixed synchronization issue
- Fixed deadlock issue related to licensing
- Fixed deadlock issue related to Device delete during initial history polling
- EFM Export
- Opto22 groov EPIC and SNAPPAC Driver
Cirrus Link Modules for Ignition v3.4.9 - Jan 3, 2020 - Requires Ignition 7.9.12 or newer!
- AWS Injector
- Improved password handling
- Added code to prevent potential duplicate configuration records
- Added NDEATH message support
- Azure Injector
- Fixed potential deadlock issue in the MQTT client connection
- Improved password handling
- Added code to prevent potential duplicate configuration records
- Added NDEATH message support
- EFM Emerson ROC Driver
- Improved error handling and logging
- Fixed issue with TLP string type parsing
- Fixed issue with updating 'Last Timestamp' tag for events and alarms
- Added logging improvements around byte datatype handling
- Improved password handling
- Improved manual history polling
- Fixed multiple reconnect issues
- EFM Export
- Google Cloud Injector
- Fixed potential deadlock issue in the MQTT client connection
- Improved password handling
- Added code to prevent potential duplicate configuration records
- Added NDEATH message support
- IBM Cloud Injector
- Fixed potential deadlock issue in the MQTT client connection
- Improved password handling
- Added code to prevent potential duplicate configuration records
- Added NDEATH message support
- MQTT Distributor
- Fixed potential deadlock issue on shutdown
- Fixed 'Enabled' tag update when module is updated via the web ui.
- Improved password handling
- Fixed memory leak
- Fixed sync issues around internal DB access
- MQTT Engine
- Modified JSON custom namespace handling to upcast datatypes
- Improved array datatype error handling
- Improved data metric handling
- Fixed race condition that could result in an unwanted STATE/primary host ID publish
- Added support for custom namespace tags to be writable
- Fixed potential deadlock issue in the MQTT client connection
- Improved configuration naming conventions
- Added support for Ignition8 Transmission clients
- Modified Engine subscriptions to only subscribe to STATE messages when primary host is enabled
- Fixed restart issue when namespaces are modified
- Added BD sequence number checks to only honor LWTs when appropriate
- Made BD sequence number checks optional for non-compliant Sparkplug clients
- Fixed a sequence number rollover handling
- Improved password handling
- Concurrency fixes around reconnect logic
- Added support for different potential datatypes on sequence numbers
- Modifed shutdown of Engine callback to prevent ExecutionRejectedExceptions
- Added support for sequence number buffering/reordering for out of MQTT compliance MQTT Servers
- Logging improvements around client ID collisions
- Logging improvements around invalid JSON or String based custom namespaces
- Modified auto-generated client IDs to be 23 characters or less
- MQTT Recorder
- Fixed table filters to include data partitions
- Added table field filtering on Record fields
- Fixed MSSQL timestamp conversion issue
- Fixed NPE on applying of filters
- Renamed 'Table Filters' to 'Table Settings'
- Moved default table name/behavior to initially seeded table setting
- Added field filter validation
- Logging improvements around no table settings matches on an incoming record
- MQTT Transmission
- Improved BIRTH publishing to prevent potential edge case sequence number error
- Fixed issue with 'Refresh Required' tag that could result in an erroneous state
- Added support for custom MQTT Record publish tags
- Logging improvements
- Fixed potential deadlock issue in the MQTT client connection
- Improved configuration naming conventions
- Detached tag change events from blocking thread to improve performance
- Fixed threadleak issues on connection lost
- Added auto-incrementing of BD sequence number to ensure uniqueness of each session
- Added NPE fix when in-order history is enabled
- Improved password handling
- Added support for a randomized startup delay to prevent potential data storms
- Fixed potential NPEs withe null metric names on a BIRTH when in-order history is used
- Fixed potential sync issues around the Edge Node cache that could result in invalid tag values
- Fixed aliasing when in-order history is used
- Modified auto-generated client IDs to be 23 characters or less
- Fixed connected node counts
- Fixed NPE that could occur while an Edge Node is unable to connect
- Fixes to disconnect logic
- UDT performance improvments
- Increased support for total Edge Node/Device counts when disk-backed store and forward is enabled
- Opto22 groov EPIC and SNAPPAC Driver
Cirrus Link Modules for Ignition v3.4.8 - Sept 17, 2019 - Requires Ignition 7.9.12 or newer!
- AWS Injector
- Fixed nested UDT to Sparkplug Template conversions
- Fix to ensure the birth sequence is pushed on reconnections
- Improved connection status indicators
- Azure Injector
- Fixed nested UDT to Sparkplug Template conversions
- Added ability to explicitly delete CA certificates from IoT Hub configurations
- Fix to ensure the birth sequence is pushed on reconnections
- Improved connection status indicators
- EFM Emerson ROC Driver
- EFM Export
- First GA release of module
- Improved connection status indicators in Ignition gateway web UI
- Google Cloud Injector
- Fixed nested UDT to Sparkplug Template conversions
- Fix to ensure the birth sequence is pushed on reconnections
- Improved connection status indicators
- IBM Cloud Injector
- Fixed nested UDT to Sparkplug Template conversions
- Fix to ensure the birth sequence is pushed on reconnections
- Improved connection status indicators
- MQTT Distributor
- MQTT Engine
- Improved handling of null values in datasets and UDTs arriving in MQTT payloads
- Added ability to explicitly delete CA certificates from MQTT Server configurations
- Fixed shutdown logic to prevent RejectedExecutionExceptions
- MQTT Recorder
- First GA release of module
- Fixed description in Ignition gateway web UI to table filter setting
- MQTT Transmission
- Fixed potential duplicate sending of tag change events
- Fixed nested UDT to Sparkplug Template conversions
- Improved start/stop logic when history stores are in use
- Added ability to explicitly delete CA certificates from MQTT Server configurations
- Added Ignition gateway web UI validators to protect against dual history store usage
- Opto22 groov EPIC and SNAPPAC Driver
- Fix to reconnect logic when a strategy is changed to ensure tags properly update
Cirrus Link Modules for Ignition v3.4.7 - Aug 8, 2019
- AWS Injector
- Added web form validation to tag agent paths
- General UDT handling fixes
- Improved validation of web UI forms
- Fixes to quality handling in the edge case of null qualities in Ignition
- Security improvements
- Fixed potential StringIndexOutOfBoundsException in the tag change event processing
- Updated code signing certificate
- Fixed potential NPE on removal of 'Edge Nodes' folder or immediate child folder
- Fixed potential NotSerializableException when editing group or edge node ID fields
- Added validation to ensure passwords can not be null, empty, or only whitespace
- Azure Injector
- Improved handling when malformed connection string is supplied by the user
- Added web form validation to tag agent paths
- General UDT handling fixes
- Improved validation of web UI forms
- Fixes to quality handling in the edge case of null qualities in Ignition
- Security improvements
- Improved Event Hub startup logic
- Fixed potential StringIndexOutOfBoundsException in the tag change event processing
- Updated code signing certificate
- Fixed potential NPE on removal of 'Edge Nodes' folder or immediate child folder
- Fixed potential NotSerializableException when editing group or edge node ID fields
- Added validation to ensure passwords can not be null, empty, or only whitespace
- EMF Emerson ROC Driver
- EFM Export
- Google Cloud Injector
- Added web form validation to tag agent paths
- General UDT handling fixes
- Improved validation of web UI forms
- Fixes to quality handling in the edge case of null qualities in Ignition
- Security improvements
- Fixed potential StringIndexOutOfBoundsException in the tag change event processing
- Updated code signing certificate
- Fixed potential NPE on removal of 'Edge Nodes' folder or immediate child folder
- Fixed potential NotSerializableException when editing group or edge node ID fields
- Added validation to ensure passwords can not be null, empty, or only whitespace
- IBM Cloud Injector
- Added web form validation to tag agent paths
- General UDT handling fixes
- Improved validation of web UI forms
- Fixes to quality handling in the edge case of null qualities in Ignition
- Security improvements
- Fixed potential StringIndexOutOfBoundsException in the tag change event processing
- Updated code signing certificate
- Fixed potential NPE on removal of 'Edge Nodes' folder or immediate child folder
- Fixed potential NotSerializableException when editing group or edge node ID fields
- Added validation to ensure passwords can not be null, empty, or only whitespace
- MQTT Distributor
- Security improvements
- Fixed ACL validator to allow topics with spaces
- Updated code signing certificate
- Modified distributor to piggy-back off of Ignition's ssl.key keystore instead of having its own Java Keystore
- MQTT Engine
- MQTT logging improvements around connection issues
- Added 'record' data to TX/RX byte count in info metrics
- Improved JSON payload handling and logging in custom namespaces
- Fixed potential NPE in handling of String based custom namespaces
- Added support to update datatype if datatype changes on the edge side
- Security improvements
- Fixed UDT issue by adding logic to handle UDT definition lookups
- Updated code signing certificate
- Added validation to ensure passwords can not be null, empty, or only whitespace
- Fixed online/offline edge nodes and device nodes info tag to only update when an actual change occurs
- MQTT Recorder
- Added table name configurations and filtering options
- Added record signature validation
- Fixes to date/time handling of records
- Updated code signing certificate
- MQTT Transmission
- MQTT logging improvements around connection issues
- Fixed JSON serialization to prevent lockup in RAM based History Store
- Fixed target server URL info tag to update properly
- UDT publishing fixes to detect difference between UDT instance members and member folders
- Security improvements
- Added 'Last Refresh' info tag to denote the last time Transmission was refreshed
- Added 'Refresh Required' info tag to denote whether or not a refresh is required
- Updated code signing certificate
- Fixed potential NPE in custom transmitter record validator
- Added validation to ensure passwords can not be null, empty, or only whitespace
- Added validation to prevent same history 'store and forward' instance from being bound to multiple transmitters
- Modified 'Convert UDT members to normal tags' to be the default setting
- Opto22 groov EPIC and SNAPPAC Driver
Improved tag writing throughput working with massive tag lists and during episodes of congested writes
- Fixed potential lockup scenario
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
- Updated code signing certificate
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
- 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
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
- 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
- MQTT Remote Management (Agent/Manager)
- 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
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
- 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
- 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
- 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
Cirrus Link Modules for Ignition v3.4.2 - May 16, 2018
- AWS Injector
- Azure Injector
- 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)
- 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
- 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
Cirrus Link Modules for Ignition v3.4.0 - Feb 23, 2018