Releases: telefonicaid/iotagent-node-lib
Releases · telefonicaid/iotagent-node-lib
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
2.23.0
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: 2.22.0...2.23.0
2.22.0
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
2.21.0
Changes (since 2.20.0):
- Add: new JEXL transformations for handle upper and low case: touppercase, tolowercase
- Add: do not process attr expressions when current attr update is of type 'commandStatus' or 'commandResult'
- Add: add expressions, payloadType and contentType to commands models
- Fix: exclude all attrs when explicitAttrs is an empty array (#1235)
- Fix: bad query searching for group using resource instead of type by executeUpdateSideEffects (commands) (#1216)
- Fix: search device and group for a command using entity type when provided to proper match (#1211)
- Upgrade mongodb dep from 3.6.8 to 3.6.12
- Upgrade mongoose dep from 5.7.7 to 5.7.14
- Upgrade moment dep from 2.24.0 to 2.29.2 due to security vulnerability (CVE-2022-24785)
- Upgrade async dep from 2.6.2 to 2.6.4 due to security vulnerability (CWE-1321)
2.20.0
2.19.0
Changes (since 2.18.0):
- Add: extend explicitAttrs to allow JEXL expression for conditional propagation of measures (#1179)
- Add: new JEXL transformations for adding and removing elements to/from Array: addset, removeset
- Add: allow to use static attributes into JEXL expressions (#1184)
- Add: add underscore to legacy expression parser (#1191)
- Add: support for adding and updating device handler (iota-json#602)
- Add: support both WARN and WARNING log levels (#1146)
- Add: allow update polling device field (iota-json#602)
- Fix: fill serv/subserv properly in context log of plugins (#1189)
- Fix: change severity from WARN to INFO when invalid context in contextAvailable of legacy expression plugin occcurs
- Fix: try get group by type using current type if no type is provided (#1155)
- Fix: JEXL NGSI-LD null processing extended to remove invalid calculated values (#1164)
- Fix: Remove preprocess stripping of explicitAttrs (#1151)
- Fix: NGSI-LD commands are invalid (#1185)
- Fix: replace request obsolete library by got (#858)
- Upgrade logops dep from 2.1.0 to 2.1.2 due to colors dependency corruption
2.18.0
Changes (since 2.17.0):
- Add: new JEXL get TimeZone Offset (valid for summer winter schedulles) and binary shifting for bitwise operator
- Add: new JEXL transformation for Array.slice(init, end) in order to simplify binary-frame-string field extraction
- Fix: IOTA sends illegal entity type or entity id to CB (#1124)
- Fix: include attribute metadata in attribute device info for API requests (#1115)
- Fix: set status code response from CB for EntityGenericError is raised (#1109)
- FIx: export fillDomains function to iotagent-node-lib available functions (needed to fix logs in iotagent-json#587 and iotagent-ul#508)
- Fix: keep internalAttributes stored in device mongo collection when update it (#1092)
- Fix: accept the entry internal_attributes in a PUT /iot/devices/:deviceId (#1083)
- Fix: amend null processing for NGSI-LD (#1118)
- Fix: support of same entity_id and diferent entity_type in multientity plugin (#1127)
- Fix: align the NGSI-v2 provisioning keywords Text and TextUnrestricted to map directly to NGSI-LD Property (#1131)
- Fix: JEXL undefined, null and falsy values support (#1132)
- Updated JEXL dependecy from 2.1.1 to 2.3.0 to allow the usage of NGSI operators ($inc, etc.)
- Remove: NGSI-v1 implementation (#966)
2.17.0
Changes (since 2.16.0):
- Add: new JEXL transformation for JSON parse/stringify (#1087)
- Add: support for externalised JEXL transformations, at libraty level and inyected via API (#1056)
- Fix: try to search for a device group service in base of not only by apikey but also type (#1076)
- Fix: rename provided jexl function
sumaarray
toaddreduce
(#1073)