Gateway Edge Agent Changelog

This file represents all changes to the Losant Gateway Edge Agent since its initial release. This project adheres to Semantic Versioning.

1.50.0 - 2024-11-05

Added

  • Beckhoff Trigger configuration fields can now be pulled by name from the Edge Agent configuration file.

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.18.0.

Fixed

  • Beckhoff Trigger now correctly cleans up subscriptions on GEA or Beckhoff client shutdown.

1.49.0 - 2024-10-01

Added

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.17.0.

1.48.1 - 2024-08-27

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.16.0

1.48.0 - 2024-07-23

Added

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.15.1.
  • {{format}} Handlebars helper accepts locale as optional parameter when the given input is a number.
  • Lambda Node will retry invoking a function when certain DNS errors are returned.

1.47.0 - 2024-06-18

Changed


1.46.0 - 2024-05-14

Added

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.12.2.
  • Modbus: Read and Modbus: Write Nodes include new connection type option Serial ASCII Connection.
  • Delay Node will no longer wait if this is the last node in a workflow.
  • SendGrid Node includes the unique arguments application ID, workflow ID, and workflow version on email sends. These custom arguments can be found in the email details information in the SendGrid UI.
  • {{formatDate}} Helper will cast stringified numbers to then format as dates.
  • SQL Node allows environment variable MAX_SQL_NODE_CLIENT_POOL_SIZE to set the maximum pool size for database types MSSQL, MySQL and PostgreSQL. The default value is 7.
  • Losant API Node will error when a required URL parameter is missing.

Removed

  • Twilio Node optional field Max SMS Price is removed in this version. This field is deprecated by Twilio and this field will be ignored by Twilio after June 3rd, 2024 for all edge agent versions.

1.45.0 - 2024-04-09

Added

Changed

  • Upgraded various library dependencies.
  • Upgraded Node.js version to 20.12.1.
  • Upgraded Alpine Docker image to version 3.19.
  • Custom Node payloads now include the application ID.

1.44.0 - 2024-03-05

Added

  • Edge Agent containers now store up to 256 log messages per logging level in memory, which can be retrieved remotely and streamed through the Losant user interface when the device is connected to the MQTT broker.
  • MQTT External Broker Client Configuration includes new option of protocolVersion to allow connections to either MQTT 5 brokers or MQTT 3.1.1 brokers.

Changed

Fixed


1.43.3 - 2024-01-30

Added

Changed

Fixed

  • The OPC UA Trigger logs an error message if the specified Agent Trigger Name is not found.
  • The MQTT Trigger deploys to the edge agent when topic contains a leading slash.

1.43.2 - 2023-12-14

Changed

  • Upgraded Node.js to version 18.19.0.
  • Upgraded various library dependencies.
  • Added the Alpine/Debian installed CA certificates as trusted certificates in addition to the built-in Node.js trusted certificates.
  • The Function Node is now allowed to use async/await and allowed to return a Promise.
  • The Function Node now has access to the container’s environment variables.
  • The Function Node can now require globally installed node modules.

1.43.1 - 2023-11-07

Changed

  • Upgraded Node.js to version 18.18.2.
  • Upgraded various library dependencies.
  • Better validation on subscription topics from TOML file MQTT External Broker Trigger Configuration.
  • MQTT client logs a warning message when an external broker topic subscription fails and an info message when a topic subscription succeeds.

1.43.0 - 2023-10-05

Added

Changed

  • Upgraded Node.js to version 18.18.0.
  • Upgraded various library dependencies.
  • BROKER_PROTOCOL environment variable no longer has to include ”://“; mqtts, mqtt, ws, and wss are all valid values.
  • Broker SSL Keys, Web Server SSL Key, and Local Broker SSL Key now accept ECDSA keys.

Fixed

  • All Allen-Bradley node connection errors are now properly returned to the user.
  • Redis Node properly closes the client when rapidly trying to connect with invalid credentials.

1.42.0 - 2023-08-29

Added

Changed

Fixed

  • MQTT Trigger now correctly differentiates between publishes from the Losant MQTT Broker and publishes from its local MQTT broker when using the same topic.
  • Fixed issue with segmentation fault on startup with the Debian ARM7 image on 32-bit ARM hardware.
  • Tweet Node is deprecated and cannot be added to any existing or new workflow.
  • SQL Node contains a fix for a race condition that occurred when two nodes tried to access a SQL server with invalid configuration.

1.41.1 - 2023-07-31

Fixed

  • Fixed issue with segmentation fault on startup with the Alpine ARM7 image on 32 bit ARM hardware.

1.41.0 - 2023-07-25

Added

  • Edge Custom Nodes can be used in edge workflows.
  • The develop version of an Edge Custom Node can be directly deployed and run on the edge agent.

Changed


1.40.0 - 2023-06-13

Added

Changed


1.39.0 - 2023-05-11

Added

Changed

  • Upgraded Node.js to version 18.16.0.
  • Upgraded Alpine Docker image to 3.17.
  • Upgraded various library dependencies.
  • Function Node console.log messages log out all arguments given to the console function.

Fixed


1.38.0 - 2023-03-30

Added

Changed

  • Upgraded Node.js to version 18.15.0.
  • Upgraded various library dependencies.
  • Redis Node supports connecting to a Redis instance running in cluster mode.
  • Debug Node supports setting a debug level.

Fixed

  • Time Range Node properly handles comparisons when start time is greater than end time.
  • GCP: BigQuery Node is consistent about configuration for delete actions, when delete all tables in the dataset is unchanged.
  • JWT: Decode Node does not throw errors when attempting to decode a corrupted token.

1.37.0 - 2023-02-21

Added

  • New environment variable OFFLINE_MESSAGE_REPLAY_ORDER, which can be set to either oldestFirst or newestFirst. This controls the order in which to send queued messages to Losant after reconnecting. Defaults to oldestFirst.

Changed

  • Upgraded Node.js to version 18.14.1.
  • Upgraded various library dependencies.
  • GCP: Function Node accepts second-generation URLs for the Trigger URL Template.
  • Validate Payload Node does not allow regular expressions with lookaheads.

1.36.1 - 2023-01-24

Fixed

  • Alpine versions of the 1.36.0 agent had a misconfiguration that prevented them from starting.

1.36.0 - 2023-01-17

Changed

  • The agent has been upgraded to ECMAScript modules instead of using CommonJS.
  • Upgraded Node.js to version 18.12.1.
  • Upgraded various library dependencies.
  • Upgraded Debian to version 11 (“bullseye”).

Fixed

  • applicationId and applicationName on initial workflow payloads no longer unexpectedly revert to incorrect values.
  • {{defaultTo}} Handlebars helper uses its default value when a sub-expression returns undefined.

1.35.0 - 2022-11-30

Added

Changed

Fixed

  • GCP: Function Node validates the authentication credentials when provided as a payload path.
  • CSV: Encode Node drops any falsy rows that were included in the CSV source payload path.
  • Handlebars {{#each}} helper’s @last property returns true if this is the last element in the loop.

1.34.0 - 2022-10-12

Changed

  • Validate Payload Node now returns as many errors as possible instead of just the first error.
  • subscribeToPeripheralUpdates now allows controlling if only floating or only static peripheral updates should be subscribed to, by adding two new possible options for the configuration field: floating and peripheral.
  • Upgraded Node.js to version 16.17.1.
  • Upgraded various library dependencies.
  • Upgraded Alpine Docker image to 3.16.

Fixed

  • Local MQTT broker no longer instantiates when the broker is disabled.
  • Agent will now resubscribe to custom topics after multiple disconnect/reconnect cycles.

1.33.0 - 2022-09-06

Added

Changed

  • Peripheral: Get Node now supports returning attributes as an object map and tags as an array.
  • Improved redaction of potentially sensitive values in debug payload messages.
  • Upgraded Node.js to version 16.17.0.
  • Upgraded various library dependencies.

1.32.0 - 2022-07-26

Added

  • The last Handlebars helper was added.

Changed

  • Hash Node now supports setting the encoding for the secret and data inputs.
  • Upgraded Node.js to version 16.16.0.
  • Upgraded various library dependencies.

Fixed

  • SNMP: Write Node now casts the values being written to the expected types when possible.

1.31.0 - 2022-06-14

Added

Changed

  • JWT: Create Node now supports adding custom header fields.
  • Upgraded Node.js to version 16.15.1.
  • Upgraded Alpine Docker image to 3.15.
  • Upgraded various library dependencies.

1.30.0 - 2022-05-10

Added

Changed

  • Upgraded Node.js to version 16.15.0.
  • Upgraded various library dependencies.
  • Function Node allows for passing an optional scope path. When provided, only that part of the payload is accessible to the node instead of the entire payload.

1.29.0 - 2022-04-05

Changed

  • Upgraded Node.js to version 16.14.2.
  • Upgraded various library dependencies.
  • MQTT Trigger allows for triggering based on wildcard topics from the Losant Broker.

Fixed

  • BACnet: Write and BACnet: Read Nodes set the APDU timeout field to the value or template given on the node. When left blank, the value defaults to the MAX_EXTERNAL_CALL_TIME environment variable. The MAX_EXTERNAL_CALL_TIME defaults to 30 seconds.
  • BACnet: Read Node always casts each instruction key field to a string.

1.28.0 - 2022-03-01

Changed

  • Upgraded Node.js to version 16.14.0.
  • Upgraded various library dependencies.

Fixed


1.27.0 - 2022-01-25

Added

Changed

  • Upgraded Node.js to version 16.13.2.
  • Upgraded various library dependencies.

Fixed

  • OPCUA: Browse Node ensures there are no duplicate entries when browsing directories or objects.

1.26.0 - 2021-12-09

Changed

  • Upgraded Node.js to version 16.13.0.
  • Upgraded Debian to version 10 (“buster”).
  • Upgraded various library dependencies.

Fixed

  • Data / SNMP Write Node gives correct type in error messages for arguments when type is incorrect.

1.25.0 - 2021-10-21

Added

Changed

  • Upgraded Node.js to version 14.18.0.
  • Upgraded various library dependencies.
  • More specific error messages when on disk workflows fail to load.
  • Triggers / Workflow Error Trigger payloads now contain a reply ID to use for an HTTP Response if a critical error comes after an HTTP Request Trigger.

1.24.0 - 2021-08-24

Added

Changed

  • Upgraded Node.js to version 14.17.5.
  • Upgraded various library dependencies.
  • 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 version 14.17.0.
  • Upgraded Alpine Docker image to 3.13.
  • Upgraded various library dependencies.
  • 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 database, the Gateway Edge Agent will now copy those files into a separate directory and create a new database 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 version 14.16.0.
  • Upgraded various library dependencies.

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

  • Upgraded various library dependencies.

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 version 12.18.0.
  • Upgraded various library dependencies.
  • 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 support 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 Gateway 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.
  • Upgraded Node.js to version 12.16.1.
  • Upgraded various library dependencies.

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

  • Upgraded Node.js to version 12.13.0.
  • Upgraded various library dependencies.
  • 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 timezone 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.
  • Upgraded Node.js to version 10.16.0.
  • Upgraded various library dependencies.

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.
  • Upgraded Node.js to version 10.15.3.
  • Upgraded various library dependencies.

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.
  • Upgraded Node.js to version 10.15.0.
  • Upgraded various library dependencies.

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.
  • Upgraded various library dependencies.

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 Gateway 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.
  • Upgraded Node.js to version 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

Was this page helpful?


Still looking for help? You can also search the Losant Forums or submit your question there.