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


Cirrus Link Modules for Ignition v3.4.8 - Sept 17, 2019

  • 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
    • First GA release of module
    • Fixed shutdown of history pollers to prevent long shutdown delays
    • Added configurable HistoryTimeStamp to Emerson ROC for record_span_hourly column

    • Fixed internal index tracking to prevent BrokenOptimisticLockExceptions
    • Logging improvements around security logic for ROC and ROC PLUS
    • Fixed iniitialization of signature verification tags
  • 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
    • No changes from v3.4.7
  • 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
    • Added Meter Config Mapping with Events
    • Added working Meter Config Transaction Records
    • Fixed TLP Poller NPE
    • Added snapshot inserts
    • Fixes for ROC event processing
    • Added support for security options (username/password/access level) via opcode 17
    • Improvements to history record column names
    • Added configurable secure hash signature to records with validation in MQTT Recorder
    • Regrouped basic ROC settings
    • Fixed serialization issue with regard to web settings
    • Improvements to period history mapping in records
    • Added serial number and logical number columns
    • Update CSV file formats
    • Added active meter/station detection
    • Enhanced detection and handling of meter types
    • Fixed system variables in meter config records
    • Added common column names and added value enum mappings
    • Fixes to ROC alarm conditions
    • Added manual meter configuration record support
    • Added support for history segment TLPs in Meter Configuration records for ROC Plus

    • Optimizations to polling algortihms for alarms, events, and history
    • Fixes to time handling
    • Fixed history segment meter events
    • Fixed ROC PLUS alarm and event timestamps
    • Added system meter event handling
    • Added support for multiple config columns per TLP in EFM mapping

    • Updated code signing certificate
    • Added multiple meter event generation from ROC system variable events
    • Added support for polling ROC Plus Weights & Measures Events
    • Added poller diagnostics Tags for Weights & Measures Events
    • Fixed Alarm/Event timestamp tracking to only use raw dates from ROC device
    • Added merging of TLP templates on import
    • Improvements to re-connection logic
    • Fixes to polling secondary events
    • Modified history polling to use only indices for tracking which history records have already been handled
    • Fixes to internal DB tracking of alarm, event, and history poller indices
  • EFM Export
    • Initial release
  • 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
    • 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
  • No labels