Edge Agent Changelog

This file represents all changes to the losant-edge-agent since it’s initial release. This project adheres to Semantic Versioning.


1.24.0 - 2021-08-24

Added

Changed

  • Upgraded Node.js to 14.17.5.
  • Multiple library dependencies were updated.
  • The ability to turn off subscribing to peripheral updates is now exposed through the configuration setting subscribeToPeripheralUpdates.
  • The agent now responds to the signal SIGHUP, which will trigger a reload of the on-disk configuration.
  • Debug messages now include workflow node timing information.

Fixed

  • The agent now correctly supports SNI when connecting to brokers over TLS.
  • Modbus client race conditions during shutdown, which sometimes led to errors, have been fixed.

1.23.0 - 2021-07-19

Added

Changed

  • Upgraded Node.js to 14.17.0.
  • Upgraded Alpine Docker image to 3.13.
  • Multiple library dependencies were updated.
  • MQTT_KEEPALIVE is now exposed as an advanced option.
  • A Device ID and Losant Broker credentials are no longer required to start the agent. The agent will run without a broker connection when these are not provided.

Fixed

  • Fixed an issue where the Object Node could error on poor input to the fromPairs operation.

1.22.1 - 2021-06-01

Fixed

  • Fixed an issue where the Function and Loop nodes did not correctly use the value from the environment variable MAX_FLOW_RUN_TIME and instead continued to use the default value.

1.22.0 - 2021-05-26

Added

Changed

Fixed

  • If the store path from the configuration points to a corrupted DB the edge agent will now copy those files into a separate directory and create a new DB at that given path.
  • BACnet Read Node and BACnet Write Node will now properly validate Host Port Template and Incoming Port Template.
  • Modbus Read Node and Modbus Write Node when closing a connection the nodes wait until the connection is completely closed.
  • Allen-Bradley Read Node now defaults reads of data type “STRING” to an empty string if the tag is undefined.

1.21.0 - 2021-03-30

Added

  • Array Node - Added slice operation.
  • Loop Node - Added a new field “Loop Mode” which allows the loop to run either in parallel or serially (the default). In addition, added the ability for the Loop Node to build an array of the result of each iteration.

Changed

  • Upgraded Node.js to 14.16.0.
  • Multiple library dependencies were updated.

Fixed

  • Twitter Node - catching and wrapping up malformed errors from the Twitter API, and defaulting an error message when one cannot be found.
  • Loop Node - All loop node lists are populated correctly no matter the type of source.

1.20.1 - 2021-02-24

Changed

  • Multiple library dependencies were updated.

Fixed

  • Modbus Read Node - Fixed setting the results to an instruction to the wrong key after a timeout error.
  • Modbus Write Node - Fixed setting the results to an instruction to the wrong key after a timeout error.

1.20.0 - 2020-12-15

Added

Changed

Fixed

Validating hosts when using the following nodes:


1.19.2 - 2020-10-21

Changed

Fixed


1.19.1 - 2020-09-25

Changed

  • Idle client and session cleanup behavior for the OPC UA Nodes has been changed to be more robust and consistent.
  • Expose new environment variables to control idle cleanup behavior for the OPC UA Nodes.

Fixed

  • Fixed race condition on session creation for OPC UA Nodes.
  • Fixed race condition on session and client disposal for OPC UA Nodes.
  • Fixed issue where the configured Security Policy was not correctly used for OPC UA Nodes.
  • Fixed issue where OPC UA subscriptions where not disposed on OPC UA trigger removal.

1.19.0 - 2020-09-08

Added

Changed

  • Serial Trigger new configuration fields: Parity, Stop Bits, Data Bits, RTSCTS.
  • Serial Write Node new configuration fields: Parity, Stop Bits, Data Bits, RTSCTS.

Fixed


1.18.2 - 2020-08-10

Fixed

  • Fix issue where under certain circumstances the SQL Node for MySQL would return incorrect results on select statements.

1.18.1 - 2020-07-23

Changed

  • Upgraded Node.js to 12.18.0.
  • Multiple library dependencies were updated.
  • Changed MQTT reconnect interval to be variable, defaults to 30 seconds +/- 15 seconds

1.18.0 - 2020-06-11

Changed

  • Added support for payload path configuration for the OPC UA Browse, Call, Read, and Write nodes.
  • Upgraded underlying libraries for the OPC UA trigger and nodes.
  • Upgraded the underlying libraries for the Tensorflow: Predict node.
  • Messages published to the Losant cloud broker by the Device: State and MQTT nodes now check to make sure they are below the maximum allowed size.
  • Added suppport for the stream commands to the Redis node.
  • Added an optional result path to the Tweet node.
  • Added an optional result path to the Slack node.

Fixed

  • Fix issue where under certain circumstances the Tensorflow: Predict node could crash the agent.
  • Fix issue where host clock changes were not correctly taken into account for the Timer trigger.
  • Fix issue where the Tensorflow: Predict node no longer worked on the arm32 build of the agent.
  • Fix issue where the HTTP node did not properly obey the MAX_EXTERNAL_CALL_TIME environment variable.
  • Fix some rare timeout race conditions in the Function node.

1.17.0 - 2020-04-28

Added

  • Added support for using the Edge Agent as a local MQTT Broker.

Changed

  • Added the ability for the MQTT Trigger to trigger on messages published to the local broker.
  • Added the ability for the MQTT Node to publish messages to the local broker.
  • Added support for the server-side encryption flag to the AWS S3: Put Node.

1.16.0 - 2020-03-18

Added

Changed

  • Upgraded underlying libraries for the OPC UA trigger and nodes.
  • Added support for Read Device Identification to the Modbus: Read node.
  • Update to Node.js 12.16.1.
  • Multiple library dependencies were updated.

Fixed

  • Fix issue where under certain circumstances the Run Executable node could crash the agent.
  • Fix issue where the Workflow Error trigger could crash the agent when the payload was in certain unexpected formats.

1.15.0 - 2020-02-19

Changed

  • Upgraded underlying libraries for the Modbus: Read and Modbus: Write nodes.
  • Upgraded underlying libraries for the Serial Write node and the Serial trigger.
  • Upgraded underlying libraries for the MongoDB node.
  • Added support for an error path to the MongoDB node.
  • Added support for replaceOne and aggregate to the MongoDB node.

Fixed

  • Re-enable support for TLS 1.0 and 1.1 in the HTTP node (was removed in previous version).

1.14.0 - 2020-01-10

Changed

  • Update to Node.js 12.13.0.
  • Multiple library dependencies were updated.
  • Added support for an error path to the JSON Decode node.

Fixed

  • Fix issue where an error in a Function node could crash the agent.

1.13.0 - 2019-11-07

Added

Changed

  • Added support for fractional second timers to the Timer trigger.
  • Add new options and timzone support to the Date/Time node.
  • Improved performance of the Function node for large payloads.
  • Upgraded underlying libraries for the SQL node.

1.12.0 - 2019-10-07

Added

Changed

  • Added ability to see result information for the Device: State node.

Fixed

  • Fix issue where agent would incorrectly think the current architecture would support the TensorFlow: Predict node, and the agent would crash.

1.11.0 - 2019-08-22

Added

Changed

  • Changed the default parse method for the Serial trigger to be delimiter instead of byte length.
  • Add ability to define data bits, stop bits, and parity for the Modbus: Read and Modbus: Write nodes when connecting with serial.
  • Update to Node.js 10.16.0.
  • Multiple library dependencies were updated.

Fixed

  • Fix issue where unit id was improperly ignored for the Modbus: Read and Modbus: Write nodes when connecting with serial.
  • Fix race condition where agent could crash when workflow debugging was enabled and workflows were triggered immediately on startup.
  • Fix issue where agent could error when cleaning up stale TensorFlow: Predict models.

1.10.0 - 2019-07-23

Added

Changed

  • Added support for serial RTU connections for the Modbus: Read node.
  • Added support for serial RTU connections for the Modbus: Write node.
  • Added support to get all storage values with the Storage: Get Value node.
  • Upgraded the underlying libraries for the various OPC UA nodes.
  • Workflow storage writes now write to disk asynchronously every few seconds and do not block the running workflow.
  • Deprecated timeSincePath support for the Throttle node.

Fixed

  • Fix typos in OPC UA node error messages.
  • Fix issue where the Allen-Bradley Read and Write nodes would behave inconsistently when controller and tag names were the same.
  • Fix issue where heavy use of the Throttle node would cause errors.

1.9.1 - 2019-06-13

Fixed

  • Fixed race condition introduced in 1.9.0 that would cause the agent to crash on startup in certain circumstances.

1.9.0 - 2019-06-06

Added

Changed

  • Added support for configuration via a payload path for the Modbus: Read node.
  • Added support for configuration via a payload path for the Modbus: Write node.
  • Added support for FC16 writes in the Modbus: Write node.
  • Added SSL support to the Redis node.
  • The HTTP node now supports a request body encoding type.
  • The String node now supports pad.
  • Update to Node.js 10.15.3.
  • Multiple library dependencies were updated.

Fixed

  • Fixed Buffer, Date, and ObjectID type inconsistencies when passing data to and from the Function node.
  • Fixed issue where multiline statements did not work properly in the SQL node.
  • Fixed issue with the Postgres Interval data type in results from the SQL node.

1.8.0 - 2019-04-24

Added

Changed

  • Improved error messages when evaluating expressions with incorrect use of the ! operator.
  • Improved error messages for the Generate ID node.
  • The HTTP Node now supports a response body encoding type.

Fixed

  • Fixed issue where OPC UA nodes errored the workflow instead of adding an error to the payload when the OPC UA call returned an invalid datatype.
  • Fixed issue where the jsonEncode payload helper behaved incorrectly when used recursively.

1.7.0 - 2019-03-26

Added

Fixed

  • Fixed issue with OPC UA nodes not correctly reusing the same session across workflow runs.
  • Fixed issue where workflows allowed invalid program and tag names for the Allen-Bradley nodes.

1.6.1 - 2019-02-28

Fixed

  • Fixed a permissions issue with the Docker image which caused filesystem permission errors with the OPC UA nodes.

1.6.0 - 2019-02-27

Added

Fixed

  • Fixed an issue where non-geographic area codes for USA phone numbers were rejected as invalid in the Twilio node.

1.5.0 - 2019-01-31

Added

Changed

  • The HTTP Node now supports making requests with client certificates.
  • The HTTP Node now supports using a custom CA.
  • Update to Node.js 10.15.0.
  • Multiple library dependencies were updated.

Fixed

  • Fixed an issue where one workflow could monopolize the process and prevent other workflows from running.

1.4.0 - 2018-12-18

Added


1.3.1 - 2018-11-21

Fixed

  • Fixed an issue where a mix of successful and failing modbus reads in a single Modbus: Read node would not be represented correctly on the payload.
  • Fixed an issue with the MongoDB where certain connection URIs were incorrectly parsed.

1.3.0 - 2018-11-08

Added

Changed

  • The Modbus: Write Node now has an adjustable timeout.
  • The Modbus: Read Node now can be configured to read values as either signed or unsigned, and it has an adjustable timeout.
  • Multiple library dependencies were updated.

Fixed

  • An issue where using the currentDateTime template helper by itself without a format argument would result in a blank string has been fixed.
  • An issue where the agent would exit without waiting for logs to finish writing has been fixed.
  • An issue with timers configured by cron in certain timezones would hang has been fixed.

1.2.5 - 2018-10-04

Fixed

  • The File: Read Node now correctly closes the open file handle afterward in all cases.
  • When the File: Read Node errors, it no longer overwrites the entire payload with the error message in certain cases.
  • The Modbus: Write Node now correctly accepts the full range of a 16 bit unsigned integer for writing to a register.

1.2.4 - 2018-09-28

Changed

  • Change the limit on the number of concurrently running nodes to be applied per running workflow instead of globally across all running workflows.

1.2.3 - 2018-09-27

Added

  • There are now Alpine based docker images for the Edge Agent.
  • The typeof handlebars helper has been added.

Changed

Fixed

  • The HTTP Node now uses auto for ecdhCurve for SSL connections.

1.2.2 - 2018-08-22

Added

  • Added a configuration flag to control the queuing of messages while the agent is offline.
  • Added the new payload helper scaleLinear.
  • Added the new payload helper currentDateTime.

Changed


1.2.1 - 2018-08-07

Added

Changed

  • Modbus: Read Node and Modbus: Write Node now default to port 502.
  • Improved MongoDB Node error handling.
  • A workflow publishing MQTT messages to an invalid or unauthorized topic will no longer cause the agent to disconnect from the Losant Platform.

Fixed

  • System clock changes no longer affect the firing of interval timers while the agent is running.
  • Debug messages with circular references correctly send to the Losant Platform.

1.2.0 - 2018-06-21

Added

  • Data / ServiceNow Node
  • Triggers / UDP Trigger
  • Outputs / UDP Send Node
  • Edge workflow payloads now have environment variables available under the field agentEnvironment.
  • Edge workflow payloads now have the field isConnectedToLosant, representing if the agent is currently connected to Losant.

Changed

  • Easily set authorization headers for requests on the HTTP Node.
  • Can now set the path for a cookie on the HTTP Response Node.
  • Improved phone number casting for the Twilio Node.
  • Update to Node.js 8.11.3.

1.1.1 - 2018-05-21

Changed

  • Improved startup messages.
  • The HTTP Node now allows for setting timeouts and capturing network errors.

Fixed

  • Improved messages for Slack Node errors.
  • Support circular references in debug messages.

1.1.0 - 2018-03-29

Added

Changed

Fixed


1.0.0 - 2018-03-08

Added