Releases: telefonicaid/iotagent-node-lib
Releases · telefonicaid/iotagent-node-lib
4.9.0
This is the last version of the library supporting Nodev16 and Nodev18. Note that Nodev16 and Nodev18 were deprecated in September 2023 and April 2025 respectively, according to the node release schedule. You are highly encouraged to use Nodev20 or newer.
Changes (since 4.8.0)
- Add: support NGSI-LD QueryEntities endpoint for lazy attributes (#1722)
- Add: support for NGSI-LD valueType and more NGSI-LD sub-property types (new config server.ldSupport.datatype and associated env var IOTA_LD_SUPPORT_DATA_TYPE) (#1723)
- Fix: store as lastMeasure just orignal measure when is provided (#1669)
- Fix: init express trust proxy to proper fill from field of domain logger
- Fix: fill from log field with real IP
4.8.0
Changes (since 4.7.0)
- Add: notification-based commands (#1455)
- Add: allow define headers in device commands (iotagent-json#873)
- Add: index for Device model based on
{service: 1, subservice: 1, id: 1, apikey: 1}
(#1576) - Fix: Duplicated Devices when burst measures to non provisioned Device (iotagent-json#865)
- Fix: modified JEXL transformations (toisostring, gettime, parseint, etc.) to return null instead of NaN when some unexpected situation occurs (#1701)
4.7.0
Changes (since 4.6.0)
- Add: store (and recover) previous jexlctxt and make available in current jexlctxt (#1690)
- Add: option to force to use CB flow control with new API field useCBflowControl at group and device device level (#1420)
- Add: useCBflowControl config setting (IOTA_CB_FLOW_CONTROL env var) to set CB flow control behaviour at instance level (#1420)
- Add: allow remove last measure in device
- Add: store last measure in device (by id, apikey, service and subservice) and new API field storeLastMeasure at group and device levels (#1669)
- Add: storeLastMeasure config setting (IOTA_STORE_LAST_MEASURE env var) to set default store last measure behaviour at instance level (#1669)
- Fix: set polling and transport for autoprovisioned devices
- Upgrade express dep from 4.19.2 to 4.21.2
- Upgrade mongodb devdep from 4.17.1 to 4.17.2
- Upgrade mongoose dep from 5.13.20 to 8.9.5 (solving vulnerabilies CVE-2024-53900 and CVE-2025-23061) (#1674)
4.6.0
Changes (since 4.5.0):
- Add: openmetrics-compatible
/metrics
endpoint in nortbound API (#1627) - Add: new JEXL transformations for including into an array keys that have a certain value: valuePicker and valuePickerMulti
- Add: attribute metadata and static attributes metadata added to jexl context (#1630)
- Add: /iot/groups API endpoints (as equivalent to /iot/services) (#752)
- Fix: service header to use uppercase in case of update and delete (#1528)
- Fix: Allow to send to CB batch update for multimeasures for NGSI-LD (#1623)
- Upgrade body-parser dep from 1.20.0 to 1.20.3
- Deprecated: /iot/services API routes
- Remove: push-based stats (including stats section in config file)
4.5.0
Changes (since 4.4.0)
- Fix: do not propage TimeInstant when explicitAttrs is empty array (#1606)
- Fix: update device using previous device apikey to avoid error when apikey is updated (iotagent-json#833)
- Fix: allow send multiple measures to CB in a batch (POST /v2/op/update) and sorted by TimeInstant when possible, instead of using multiples single request (iotagent-json#825, #1612)
- Fix: default express limit to 1Mb instead default 100Kb and allow change it throught a conf env var 'IOTA_EXPRESS_LIMIT' (iotagent-json#827)
- Fix: accept 201 status code from context broker with NGSI-LD interface when first measure is sent and device is created in it (#1617)
4.4.0
WARNING: note that the change allow devices with the same device_id in the same service and subservice but different apikey (#1589) is not backward compatible. Take into account it may impact in existing deployments.
Changes (since 4.3.0):
- Add: allow devices with the same device_id in the same service and subservice but different apikey (#1589)
- Add: process JEXL expressions in metadata attributes (#1598)
- Fix: TimeInstant mapped from attribute overrides default behaviours (#1557)
- Fix: reduce information showed handling errors to just config flags (#1594)
- Upgrade pymongo dep from 4.3.3 to 4.6.3
- Upgrade express dep from 4.18.1 to 4.19.2
4.3.0
Changes (since 4.2.0):
- Add:
POST /iot/op/delete
operation to delete multiple devices at once (#1578) - Add: log and return device/group information when EntityGenericError, TypeNotFound, DeviceNotFound, BadTimestamp, BadGeocoordinates, CommandNotFound, GroupNotFound, MissingAttributes, DuplicateDeviceId and DuplicateGroup errors (iotagent-json#815)
- Fix: store device subscriptions updates (#1086)
- Fix: badtimestamp error should not progress to ContextBroker
- Hardening: simplify implementation so typeInformation contains global config values (#1515)