Iotagent Node Lib Versions Save

Module to enable IoT Agent developers to build custom agents for their devices that can easily connect to NGSI Context Brokers

3.4.0

8 months ago

Note this version removes bidirectional and appendMode functionality

Changes (since 3.3.0):

  • Fix: for non evaluable expressions which should not be propagated to attrs values (#1440)
  • Fix: try to use apikey from measure/group to find, update, remove device in first attempt (#1426, #1435)
  • Fix: ensure device apikey in already provisioned device (#1430)
  • Upgrade mongodb dev dep from 4.7.0 to 4.17.0
  • Upgrade mongoose dep from 5.13.14 to 5.13.20
  • Remove: bidirectional plugin (#1413)
  • Remove: appendMode and creation of initial entity (#1413)

3.3.0

9 months ago

Changes (since 3.2.0):

  • Add: do not create initial entity when a new device is provisioned and appendMode is false or NGSI-LD is used
  • Add: evaluate group entityNameExp with a context including measures (#1334)
  • Add: allow update timestamp and other config fields of device
  • Fix: check array access in extractVariables of jexlPlugin when bidirectionalPlugin is enabled
  • Fix: explicitAttrs of device was tainted even if not defined
  • Fix: do not include static, lazy and commands from group to device to avoid duplicate them in device (#1377)
  • Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (#956)
  • Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (#1377)
  • Fix: appendMode at general level (config.js / env var) changes its default from false to true
  • Fix: remove sensitive MongoDB connection parameters from log traces (remove 'option' object from logs)
  • Deprecate: bidirectional plugin
  • Deprecate: appendMode
  • Remove: expressionLanguage field (as it it not longer needed, due to only one expression language is supported, after the removal of legacy expressions in 3.2.0) (#1384)

3.2.0

1 year ago

Changes (since 3.1.0):

  • Add: save result of apply expression attribute into current context for futher usages (#1305)
  • Add: skipValue for expression to allow skip attribute when match with result of apply expression (#1353)
  • Add: add hextostring transformation jexl function (#1367)
  • Add: JEXL support to bidirectinal plugin
  • Fix: avoid usage of newlines in logs (#1342)
  • Fix: explicitAttributes true case: should progress just active attributes which receives measures and all active attributes with expressions
  • Fix: add missed active attributes (with expressions) for ctxt for evaluate explicitAttrs expression (#1351)
  • Fix: allow use static attributes from group in entityNameExp of group
  • Fix: disable device attribute entity_name validation using pattern
  • Fix: re-enable invocation of custom plugins on update (#1348)
  • Fix: change level of log about not context available for apply expression from warn to info
  • Remove: remove legacy expression support (removing IOTA_DEFAULT_EXPRESSION_LANGUAGE env var and associated defaultExpressionLanguage config.js setting) (#1340)

3.1.0

1 year ago

This release removes support from Nodev14. Note that Nodev14 will be deprecated in May 2023 according to the node release schedule. You are highly encouraged to use Nodev16 or newer.

Changes (since 3.0.0):

  • Add: support to run tests with node 18
  • Fix: propagate TimeInstant to all metadata attributes when TimeInstant is provided as measure
  • Set Nodejs 16 as minimum version in packages.json (effectively removing Nodev14 from supported versions)

3.0.0

1 year ago

This is the last version of the library supporting Nodev14. Note that Nodev14 will be deprecated in May 2023, according to the node release schedule. You are highly encouraged to use Nodev16 or newer.

Changes (since 2.26.0):

  • Refactor replace alias, multientity, expressions and timestamp plugins by a single processing (#1195, #1314)
  • Refactor NGSI-LD processing to align with alias, multientity, expressions and timestamp plugin changes (#1322)
  • Fix: simplify cast to native attributes type: use just JSON.parse (#1323)

2.26.0

1 year ago

Changes (since 2.25.0)

  • Add NGSI-LD Merge-Patch Support Handling (#1283)
  • Update to offer NGSI-LD 1.6.1. Registrations (#1302)
  • Document removal of support for NGSI-LD 1.3.1 Interface

2.25.0

1 year ago

This release removes support from Nodev12. Note that Nodev12 was deprecated in May 2022 according to the node release schedule. You are highly encouraged to use Nodev14 or newer.

Changes (since 2.24.0)

  • Add: missing JEXL default transformations: joinarrtostr, concatarr, floor, ceiling, round, tofixed, gettime, toisostring, localestring, now (#1308)
  • Fix: save group apikey in device when autoprovision device (#1245)
  • Fix: INVALID EXPRESSION policy at JEXL expression in attributes and entity_names (default values will be propagated and a warn will be logged instead of exception) (#1292)
  • Fix: empty device_id on device registration (#1298)
  • Hardening: export pluginUtils (so they can be used by IOTA code importing the library)
  • Set Nodejs 14 as minimum version in packages.json (effectively removing Nodev12 from supported versions)

2.24.0

1 year ago

This is the last version of the library supporting Nodev12. Note that Nodev12 was deprecated in May 2022, according to the node release schedule. You are highly encouraged to use Nodev14 or newer.

What's Changed

Since 2.23.0:

  • Add: metadata support to NGSI-v2 notifications (bidirectional attributes)
  • Add: update bidirectional plugin to reuse expressionPlugin (#1281)
  • Add: NGSI-LD Unsupported Endpoints return valid error responses (#1277)
  • Add: datasetId and metadata support for NGSI-LD PATCH+PUT operations (commands)
  • Add: datasetId and metadata support for NGSI-LD Notifications (bidirectional attributes)
  • Add: exception control for bad JEXL expression
  • Fix: support empty entityNameExp and exp
  • Fix: device id, type, service, subservice and entity name were not available to NGSI attrs JEXL expressions (#1282)
  • Fix: protect explicitAttrs evaluation of a bad formed expression (#1175)
  • Fix: ensure GET /ngsi-ld/v1/entities/ returns a valid response (#1276)
  • Fix: ensure circular error objects are logged correctly (#1280)

Full Changelog: https://github.com/telefonicaid/iotagent-node-lib/compare/2.23.0...2.24.0

2.23.0

1 year ago

What's Changed

Since 2.22.0:

  • Add: support of object_id as part of explicitAttrs list (#1267)
  • Fix: make available measures in JEXL context for explicitAttrs (#1269)

Full Changelog: https://github.com/telefonicaid/iotagent-node-lib/compare/2.22.0...2.23.0

2.22.0

1 year ago

Changes (since 2.21.0):

  • Add: add id, type, service and subservice to context expression of multientity plugin
  • Add: set jexl as default parser for generic plugin
  • Add: entityNameExp to Group Model to allow define device.name using expressions (#1222, #1145)
  • Add: identify each flow of mongo alarms about device group
  • Add: support for NGSI-LD LanguageProperty
  • Add: NGSI-LD PUT support
  • Add: NGSI-LD support for multiple attribute updates
  • Fix: apply expressions to pull commands (#1263)
  • Fix: return error to client if expression or multientity plugins get error
  • Fix: multientity just with entity_type but not entity_name, then use device.name (#1220)
  • Fix: allow use JEXL expresions in explicitAttrs for conditional propagation of measures (reopen #1179, for Devices)
  • Fix: avoid raising mongo alarm (DEVICE_GROUP_NOT_FOUND) before launch op against CB
  • Fix: fix issue with unrecognized NGSILD-Tenant and NGSILD-Path headers
  • Fix: mongodb dependency moved to devDependencies (as it is used only in test code)
  • Upgrade mongodb dep from 3.6.12 to 4.7.0
  • Upgrade body-parser dependency from 1.19.0 to 1.20.0
  • Upgrade express dependency from 4.16.4 to 4.18.1
  • Upgrade got dependency from 11.8.2 to 11.8.5
  • Upgrade moment-timezone dependency from 0.5.25 to 0.5.34
  • Upgrade mongoose dependency from 5.7.14 to 5.13.14
  • Upgrade query-string dependency from 6.5.0 to 7.1.1
  • Upgrade underscore dependency from 1.12.1 to 1.13.4
  • Upgrade uuid dependency from 3.3.2 to 8.3.2
  • Upgrade coveralls dev dependency from 3.1.0 to 3.1.1
  • Upgrade eslint dev dependency from 7.5.0 to 8.18.0
  • Upgrade eslint-config-tamia dev dependency from 7.2.5 to 8.0.0
  • Upgrade eslint-plugin-prettier dev dependency from 3.1.4 to 4.0.0
  • Upgrade lint-staged dev dependency from 10.2.11 to 12.3.8
  • Upgrade prettier dev dependency from 2.0.5 to 2.7.1
  • Upgrade mocha dev dependency from 8.0.1 to 10.0.0
  • Upgrade nock dev dependency from 13.0.3 to 13.2.7
  • Upgrade remark-cli dev dependency from 8.0.1 to 10.0.1
  • Upgrade remark-preset-lint-recommended dev dependency from 4.0.1 to 6.1.2
  • Upgrade sinon dev dependency from 9.0.2 to 14.0.0
  • Upgrade textlint dev dependency from 11.7.6 to 12.2.1
  • Upgrade textlint-rule-terminology dev dependency from 2.1.4 to 3.0.2
  • Upgrade textlint-rule-write-good dev dependency from 1.6.2 to 2.0.0