Releases: telefonicaid/iotagent-node-lib
3.4.2
3.4.1
3.4.0
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
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
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
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
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):
2.26.0
2.25.0
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
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: 2.23.0...2.24.0