iotagent-node-lib 4.8.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +4 -1
- package/.nyc_output/e4b1fe20-197e-4221-9f8d-6db65ff234b2.json +1 -0
- package/.nyc_output/processinfo/e4b1fe20-197e-4221-9f8d-6db65ff234b2.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/Changelog +785 -0
- package/doc/admin.md +8 -4
- package/doc/api.md +1 -1
- package/lib/commonConfig.js +11 -2
- package/lib/services/common/domain.js +4 -3
- package/lib/services/devices/devices-NGSI-LD.js +1 -2
- package/lib/services/devices/devices-NGSI-v2.js +1 -2
- package/lib/services/ngsi/entities-NGSI-LD.js +69 -13
- package/lib/services/ngsi/ngsiService.js +3 -1
- package/lib/services/northBound/contextServer-NGSI-LD.js +5 -3
- package/lib/services/northBound/northboundServer.js +1 -1
- package/lib/services/northBound/restUtils.js +6 -2
- package/package.json +1 -1
- package/test/functional/config-test.js +1 -1
- package/test/unit/ngsi-ld/examples/contextRequests/createDatetimeProvisionedDevice.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDevice.json +3 -12
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceMultientity.json +3 -12
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +6 -24
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContext1.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContext3WithStatic.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContext4.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContext5.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin6.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin7.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin8.json +4 -2
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin9.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCommandError.json +3 -9
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCommandExpired.json +13 -19
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCommandFinish.json +13 -19
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCommandStatus1.json +4 -9
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCompressTimestamp1.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextCompressTimestamp2.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin1a.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin2.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin29.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin4.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin4a.json +3 -12
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin6.json +3 -5
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin7.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin8a.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextJsonProperty.json +13 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextListProperty.json +14 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextListRelationship.json +14 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin1.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin2.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin3.json +3 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin4.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin5.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin8.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin3.json +1 -4
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin4.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextRelationship.json +11 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextValueType1.json +51 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextValueType2.json +65 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextVocabProperty.json +11 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionCommands1.json +2 -8
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionDeviceStatic.json +1 -4
- package/test/unit/ngsi-ld/general/startup-test.js +3 -0
- package/test/unit/ngsi-ld/lazyAndCommands/command-test.js +1 -1
- package/test/unit/ngsi-ld/lazyAndCommands/lazy-devices-test.js +71 -1
- package/test/unit/ngsi-ld/ngsiService/attributeTypes-test.js +293 -0
- package/test/unit/ngsi-ld/ngsiService/unsupported-endpoints-test.js +0 -10
- package/test/unit/ngsi-ld/ngsiService/value-types-test.js +221 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast1.json +0 -11
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast10.json +0 -14
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast2.json +0 -11
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast3.json +0 -11
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast4.json +0 -11
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast5.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast6.json +0 -17
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast7.json +0 -19
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast8.json +0 -14
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast9.json +0 -14
- package/test/unit/ngsi-ld/ngsiService/languageProperties-test.js +0 -109
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast1.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast2.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast3.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast4.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast5.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast6.json +0 -8
- package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast7.json +0 -8
- /package/test/unit/ngsi-ld/examples/contextRequests/{updateContextLanguageProperties1.json → updateContextLanguageProperty.json} +0 -0
package/Changelog
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
4.9.0 (Aug 22nd, 2025)
|
|
2
|
+
|
|
3
|
+
- Add: support NGSI-LD QueryEntities endpoint for lazy attributes (#1722)
|
|
4
|
+
- 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)
|
|
5
|
+
- Fix: store as lastMeasure just orignal measure when is provided (#1669)
|
|
6
|
+
- Fix: init express trust proxy to proper fill from field of domain logger
|
|
7
|
+
- Fix: fill from log field with real IP
|
|
8
|
+
|
|
1
9
|
4.8.0 (May 23rd, 2025)
|
|
2
10
|
|
|
3
11
|
- Add: notification-based commands (#1455)
|
|
@@ -18,3 +26,780 @@
|
|
|
18
26
|
- Upgrade express dep from 4.19.2 to 4.21.2
|
|
19
27
|
- Upgrade mongodb devdep from 4.17.1 to 4.17.2
|
|
20
28
|
- Upgrade mongoose dep from 5.13.20 to 8.9.5 (solving vulnerabilies CVE-2024-53900 and CVE-2025-23061) (#1674)
|
|
29
|
+
|
|
30
|
+
4.6.0 (September 18th, 2024)
|
|
31
|
+
|
|
32
|
+
- Add: openmetrics-compatible /metrics endpoint in nortbound API (#1627)
|
|
33
|
+
- Add: new JEXL transformations for including into an array keys that have a certain value: valuePicker and valuePickerMulti
|
|
34
|
+
- Add: attribute metadata and static attributes metadata added to jexl context (#1630)
|
|
35
|
+
- Add: /iot/groups API endpoints (as equivalent to /iot/services) (#752)
|
|
36
|
+
- Fix: service header to use uppercase in case of update and delete (#1528)
|
|
37
|
+
- Fix: Allow to send to CB batch update for multimeasures for NGSI-LD (#1623)
|
|
38
|
+
- Upgrade body-parser dep from 1.20.0 to 1.20.3
|
|
39
|
+
- Deprecated: /iot/services API routes
|
|
40
|
+
- Remove: push-based stats (including stats section in config file)
|
|
41
|
+
|
|
42
|
+
4.5.0 (June 11th, 2024)
|
|
43
|
+
|
|
44
|
+
- Fix: do not propage TimeInstant when explicitAttrs is empty array (#1606)
|
|
45
|
+
- Fix: update device using previous device apikey to avoid error when apikey is updated (iotagent-json#833)
|
|
46
|
+
- 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)
|
|
47
|
+
- Fix: default express limit to 1Mb instead default 100Kb and allow change it throught a conf env var 'IOTA_EXPRESS_LIMIT' (iotagent-json#827)
|
|
48
|
+
- Fix: accept 201 status code from context broker with NGSI-LD interface when first measure is sent and device is created in it (#1617)
|
|
49
|
+
|
|
50
|
+
4.4.0 (April 26th, 2024)
|
|
51
|
+
|
|
52
|
+
- Add: allow devices with the same device_id in the same service and subservice but different apikey (#1589)
|
|
53
|
+
- Add: process JEXL expressions in metadata attributes (#1598)
|
|
54
|
+
- Fix: TimeInstant mapped from attribute overrides default behaviours (#1557)
|
|
55
|
+
- Fix: reduce information showed handling errors to just config flags (#1594)
|
|
56
|
+
- Upgrade pymongo dep from 4.3.3 to 4.6.3
|
|
57
|
+
- Upgrade express dep from 4.18.1 to 4.19.2
|
|
58
|
+
|
|
59
|
+
4.3.0 (February 27th, 2024)
|
|
60
|
+
|
|
61
|
+
- Add: POST /iot/op/delete operation to delete multiple devices at once (#1578)
|
|
62
|
+
- Add: log and return device/group information when EntityGenericError, TypeNotFound, DeviceNotFound, BadTimestamp, BadGeocoordinates, CommandNotFound, GroupNotFound, MissingAttributes, DuplicateDeviceId and DuplicateGroup errors (iotagent-json#815)
|
|
63
|
+
- Fix: store device subscriptions updates (#1086)
|
|
64
|
+
- Fix: badtimestamp error should not progress to ContextBroker
|
|
65
|
+
- Hardening: simplify implementation so typeInformation contains global config values (#1515)
|
|
66
|
+
|
|
67
|
+
4.2.0 (January 30th, 2024)
|
|
68
|
+
|
|
69
|
+
- Add: progress non expected id and type in measures under measure_ prefix
|
|
70
|
+
|
|
71
|
+
4.1.0 (January 8th, 2024)
|
|
72
|
+
|
|
73
|
+
- Add: include apikey in queries to memory registry for groups
|
|
74
|
+
- Add: transport and endpoint to Group model (#1542)
|
|
75
|
+
- Fix: store commands from Group at Device level at provision device time
|
|
76
|
+
- Fix: log device id when BadTimestamp error (*)
|
|
77
|
+
|
|
78
|
+
(*) Also in hotfix version 4.0.1
|
|
79
|
+
|
|
80
|
+
4.0.0 (January 8th, 2024)
|
|
81
|
+
|
|
82
|
+
- Large refactor of IOTA Lib code to make it simpler
|
|
83
|
+
- Add: payloadType to device and groups model to support NGSI-v2 and NGSI-LD formats in southbound measures (iotagent-json#778)
|
|
84
|
+
- Fix: use but not store timestamp and explicitAttrs from group with autoprovisioned devices (#1504, partially)
|
|
85
|
+
- Fix: MongoDB connection authentication (user and password were not actually used) (#1510)
|
|
86
|
+
- Fix: add static attributes when use explicitAttrs (#1506)
|
|
87
|
+
- Fix: ensure service and subservice in context of error handlers using req headers
|
|
88
|
+
- Fix: remove attribute of measures with name id or type to avoid collisions (#1485)
|
|
89
|
+
- Fix: ensure entity id and type are string (#1476)
|
|
90
|
+
- Fix: update ctxt allow nested expressions (#1493)
|
|
91
|
+
- Fix: change log level contextAvailable expression exception (from WARN to INFO)
|
|
92
|
+
- Fix: null values arithmetics in JEXL expressions (#1440)
|
|
93
|
+
- Fix: remove mongo DeprecationWarning: current Server Discovery and Monitoring engine is deprecated by setting useUnifiedTopology = true
|
|
94
|
+
- Fix: mongodb.authSource / IOTA_MONGO_AUTH_SOURCE was not correctly supported (#1526)
|
|
95
|
+
- Upgrade mongodb dev dep from 4.17.0 to 4.17.1
|
|
96
|
+
- Remove: single configuration mode (along with IOTA_SINGLE_MODE env var) (#1469)
|
|
97
|
+
- Remove: extractVariables from jexl plugin (no needed anymore since the removal of bidireational plugin)
|
|
98
|
+
- Remove: time compression support
|
|
99
|
+
- Remove: autocast (including env var IOTA_AUTOCAST) (#1498)
|
|
100
|
+
|
|
101
|
+
3.4.0 (September 20th, 2023)
|
|
102
|
+
|
|
103
|
+
- Fix: for non evaluable expressions which should not be propagated to attrs values (#1440)
|
|
104
|
+
- Fix: try to use apikey from measure/group to find, update, remove device in first attempt (#1426, #1435)
|
|
105
|
+
- Fix: ensure device apikey in already provisioned device (#1430)
|
|
106
|
+
- Upgrade mongodb dev dep from 4.7.0 to 4.17.0
|
|
107
|
+
- Upgrade mongoose dep from 5.13.14 to 5.13.20
|
|
108
|
+
- Remove: bidirectional plugin (#1413)
|
|
109
|
+
- Remove: appendMode and creation of initial entity (#1413)
|
|
110
|
+
|
|
111
|
+
3.3.0 (August 24th, 2023)
|
|
112
|
+
|
|
113
|
+
- Add: do not create initial entity when a new device is provisioned and appendMode is false or NGSI-LD is used
|
|
114
|
+
- Add: evaluate group entityNameExp with a context including measures (#1334)
|
|
115
|
+
- Add: allow update timestamp and other config fields of device
|
|
116
|
+
- Fix: check array access in extractVariables of jexlPlugin when bidirectionalPlugin is enabled
|
|
117
|
+
- Fix: explicitAttrs of device was tainted even if not defined
|
|
118
|
+
- Fix: do not include static, lazy and commands from group to device to avoid duplicate them in device (#1377)
|
|
119
|
+
- Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (#956)
|
|
120
|
+
- Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (#1377)
|
|
121
|
+
- Fix: appendMode at general level (config.js / env var) changes its default from false to true
|
|
122
|
+
- Fix: remove sensitive MongoDB connection parameters from log traces (remove 'option' object from logs)
|
|
123
|
+
- Deprecate: bidirectional plugin
|
|
124
|
+
- Deprecate: appendMode
|
|
125
|
+
- 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)
|
|
126
|
+
|
|
127
|
+
3.2.0 (May 23rd, 2023)
|
|
128
|
+
|
|
129
|
+
- Add: save result of apply expression attribute into current context for futher usages (#1305)
|
|
130
|
+
- Add: skipValue for expression to allow skip attribute when match with result of apply expression (#1353)
|
|
131
|
+
- Add: add hextostring transformation jexl function (#1367)
|
|
132
|
+
- Add: JEXL support to bidirectinal plugin
|
|
133
|
+
- Fix: avoid usage of newlines in logs (#1342)
|
|
134
|
+
- Fix: explicitAttributes true case: should progress just active attributes which receives measures and all active attributes with expressions
|
|
135
|
+
- Fix: add missed active attributes (with expressions) for ctxt for evaluate explicitAttrs expression (#1351)
|
|
136
|
+
- Fix: allow use static attributes from group in entityNameExp of group
|
|
137
|
+
- Fix: disable device attribute entity_name validation using pattern
|
|
138
|
+
- Fix: re-enable invocation of custom plugins on update (#1348)
|
|
139
|
+
- Fix: change level of log about not context available for apply expression from warn to info
|
|
140
|
+
- Remove: remove legacy expression support (removing IOTA_DEFAULT_EXPRESSION_LANGUAGE env var and associated defaultExpressionLanguage config.js setting) (#1340)
|
|
141
|
+
|
|
142
|
+
3.1.0 (April 25th, 2023)
|
|
143
|
+
|
|
144
|
+
- Add: support to run tests with node 18
|
|
145
|
+
- Fix: propagate TimeInstant to all metadata attributes when TimeInstant is provided as measure
|
|
146
|
+
- Set Nodejs 16 as minimum version in packages.json (effectively removing Nodev14 from supported versions)
|
|
147
|
+
|
|
148
|
+
3.0.0 (March 30th, 2023)
|
|
149
|
+
|
|
150
|
+
- Refactor replace alias, multientity, expressions and timestamp plugins by a single processing (#1195, #1314)
|
|
151
|
+
- Refactor NGSI-LD processing to align with alias, multientity, expressions and timestamp plugin changes (#1322)
|
|
152
|
+
- Fix: simplify cast to native attributes type: use just JSON.parse (#1323)
|
|
153
|
+
|
|
154
|
+
2.26.0 (March 15th, 2023)
|
|
155
|
+
|
|
156
|
+
- Add NGSI-LD Merge-Patch Support Handling (#1283)
|
|
157
|
+
- Update to offer NGSI-LD 1.6.1. Registrations (#1302)
|
|
158
|
+
- Document removal of support for NGSI-LD 1.3.1 Interface
|
|
159
|
+
|
|
160
|
+
2.25.0 (January 24th, 2023)
|
|
161
|
+
|
|
162
|
+
- Add: missing JEXL default transformations: joinarrtostr, concatarr, floor, ceiling, round, tofixed, gettime, toisostring, localestring, now (#1308)
|
|
163
|
+
- Fix: save group apikey in device when autoprovision device (#1245)
|
|
164
|
+
- 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)
|
|
165
|
+
- Fix: empty device_id on device registration (#1298)
|
|
166
|
+
- Hardening: export pluginUtils (so they can be used by IOTA code importing the library)
|
|
167
|
+
- Set Nodejs 14 as minimum version in packages.json (effectively removing Nodev12 from supported versions)
|
|
168
|
+
|
|
169
|
+
2.24.0 (September 2nd, 2022)
|
|
170
|
+
|
|
171
|
+
- Add: metadata support to NGSI-v2 notifications (bidirectional attributes)
|
|
172
|
+
- Add: update bidirectional plugin to reuse expressionPlugin (#1281)
|
|
173
|
+
- Add: NGSI-LD Unsupported Endpoints return valid error responses (#1277)
|
|
174
|
+
- Add: datasetId and metadata support for NGSI-LD PATCH+PUT operations (commands)
|
|
175
|
+
- Add: datasetId and metadata support for NGSI-LD Notifications (bidirectional attributes)
|
|
176
|
+
- Add: exception control for bad JEXL expression
|
|
177
|
+
- Fix: support empty entityNameExp and exp
|
|
178
|
+
- Fix: device id, type, service, subservice and entity name were not available to NGSI attrs JEXL expressions (#1282)
|
|
179
|
+
- Fix: protect explicitAttrs evaluation of a bad formed expression (#1175)
|
|
180
|
+
- Fix: ensure GET /ngsi-ld/v1/entities/ returns a valid response (#1276)
|
|
181
|
+
- Fix: ensure circular error objects are logged correctly (#1280)
|
|
182
|
+
|
|
183
|
+
2.23.0 (August 2nd, 2022)
|
|
184
|
+
|
|
185
|
+
- Add: support of object_id as part of explicitAttrs list (#1267)
|
|
186
|
+
- Fix: make available measures in JEXL context for explicitAttrs (#1269)
|
|
187
|
+
|
|
188
|
+
2.22.0 (July 15th, 2022)
|
|
189
|
+
|
|
190
|
+
- Add: add id, type, service and subservice to context expression of multientity plugin
|
|
191
|
+
- Add: set jexl as default parser for generic plugin
|
|
192
|
+
- Add: entityNameExp to Group Model to allow define device.name using expressions (#1222, #1145)
|
|
193
|
+
- Add: identify each flow of mongo alarms about device group
|
|
194
|
+
- Add: support for NGSI-LD LanguageProperty
|
|
195
|
+
- Add: NGSI-LD PUT support
|
|
196
|
+
- Add: NGSI-LD support for multiple attribute updates
|
|
197
|
+
- Fix: apply expressions to pull commands (#1263)
|
|
198
|
+
- Fix: return error to client if expression or multientity plugins get error
|
|
199
|
+
- Fix: multientity just with entity_type but not entity_name, then use device.name (#1220)
|
|
200
|
+
- Fix: allow use JEXL expresions in explicitAttrs for conditional propagation of measures (reopen #1179, for Devices)
|
|
201
|
+
- Fix: avoid raising mongo alarm (DEVICE_GROUP_NOT_FOUND) before launch op against CB
|
|
202
|
+
- Fix: fix issue with unrecognized NGSILD-Tenant and NGSILD-Path headers
|
|
203
|
+
- Fix: mongodb dependency moved to devDependencies (as it is used only in test code)
|
|
204
|
+
- Upgrade mongodb dep from 3.6.12 to 4.7.0
|
|
205
|
+
- Upgrade body-parser dependency from 1.19.0 to 1.20.0
|
|
206
|
+
- Upgrade express dependency from 4.16.4 to 4.18.1
|
|
207
|
+
- Upgrade got dependency from 11.8.2 to 11.8.5
|
|
208
|
+
- Upgrade moment-timezone dependency from 0.5.25 to 0.5.34
|
|
209
|
+
- Upgrade mongoose dependency from 5.7.14 to 5.13.14
|
|
210
|
+
- Upgrade query-string dependency from 6.5.0 to 7.1.1
|
|
211
|
+
- Upgrade underscore dependency from 1.12.1 to 1.13.4
|
|
212
|
+
- Upgrade uuid dependency from 3.3.2 to 8.3.2
|
|
213
|
+
- Upgrade coveralls dev dependency from 3.1.0 to 3.1.1
|
|
214
|
+
- Upgrade eslint dev dependency from 7.5.0 to 8.18.0
|
|
215
|
+
- Upgrade eslint-config-tamia dev dependency from 7.2.5 to 8.0.0
|
|
216
|
+
- Upgrade eslint-plugin-prettier dev dependency from 3.1.4 to 4.0.0
|
|
217
|
+
- Upgrade lint-staged dev dependency from 10.2.11 to 12.3.8
|
|
218
|
+
- Upgrade prettier dev dependency from 2.0.5 to 2.7.1
|
|
219
|
+
- Upgrade mocha dev dependency from 8.0.1 to 10.0.0
|
|
220
|
+
- Upgrade nock dev dependency from 13.0.3 to 13.2.7
|
|
221
|
+
- Upgrade remark-cli dev dependency from 8.0.1 to 10.0.1
|
|
222
|
+
- Upgrade remark-preset-lint-recommended dev dependency from 4.0.1 to 6.1.2
|
|
223
|
+
- Upgrade sinon dev dependency from 9.0.2 to 14.0.0
|
|
224
|
+
- Upgrade textlint dev dependency from 11.7.6 to 12.2.1
|
|
225
|
+
- Upgrade textlint-rule-terminology dev dependency from 2.1.4 to 3.0.2
|
|
226
|
+
- Upgrade textlint-rule-write-good dev dependency from 1.6.2 to 2.0.0
|
|
227
|
+
|
|
228
|
+
2.21.0 (April 29th, 2022)
|
|
229
|
+
|
|
230
|
+
- Add: new JEXL transformations for handle upper and low case: touppercase, tolowercase
|
|
231
|
+
- Add: do not process attr expressions when current attr update is of type 'commandStatus' or 'commandResult'
|
|
232
|
+
- Add: add expressions, payloadType and contentType to commands models
|
|
233
|
+
- Fix: exclude all attrs when explicitAttrs is an empty array (#1235)
|
|
234
|
+
- Fix: bad query searching for group using resource instead of type by executeUpdateSideEffects (commands) (#1216)
|
|
235
|
+
- Fix: search device and group for a command using entity type when provided to proper match (#1211)
|
|
236
|
+
- Upgrade mongodb dep from 3.6.8 to 3.6.12
|
|
237
|
+
- Upgrade mongoose dep from 5.7.7 to 5.7.14
|
|
238
|
+
- Upgrade moment dep from 2.24.0 to 2.29.2 due to security vulnerability (CVE-2022-24785)
|
|
239
|
+
- Upgrade async dep from 2.6.2 to 2.6.4 due to security vulnerability (CWE-1321)
|
|
240
|
+
|
|
241
|
+
2.20.0 (Marth 3rd, 2022)
|
|
242
|
+
|
|
243
|
+
- Fix: clean service and subservice domain fields when clean domain so logs now show correct serv= and subserv= (#1201)
|
|
244
|
+
- Remove: obsolete NGSIv1-based commandLine utility (along with command-shell-lib and mu2 dependencies)
|
|
245
|
+
- Remove: long time unused agentConsole utility
|
|
246
|
+
|
|
247
|
+
2.19.0 (February 7th, 2022)
|
|
248
|
+
|
|
249
|
+
- Add: extend explicitAttrs to allow JEXL expression for conditional propagation of measures (#1179)
|
|
250
|
+
- Add: new JEXL transformations for adding and removing elements to/from Array: addset, removeset
|
|
251
|
+
- Add: allow to use static attributes into JEXL expressions (#1184)
|
|
252
|
+
- Add: add underscore to legacy expression parser (#1191)
|
|
253
|
+
- Add: support for adding and updating device handler (iota-json#602)
|
|
254
|
+
- Add: support both WARN and WARNING log levels (#1146)
|
|
255
|
+
- Add: allow update polling device field (iota-json#602)
|
|
256
|
+
- Fix: fill serv/subserv properly in context log of plugins (#1189)
|
|
257
|
+
- Fix: change severity from WARN to INFO when invalid context in contextAvailable of legacy expression plugin occcurs
|
|
258
|
+
- Fix: try get group by type using current type if no type is provided (#1155)
|
|
259
|
+
- Fix: JEXL NGSI-LD null processing extended to remove invalid calculated values (#1164)
|
|
260
|
+
- Fix: Remove preprocess stripping of explicitAttrs (#1151)
|
|
261
|
+
- Fix: NGSI-LD commands are invalid (#1185)
|
|
262
|
+
- Fix: replace request obsolete library by got (#858)
|
|
263
|
+
- Upgrade logops dep from 2.1.0 to 2.1.2 due to colors dependency corruption
|
|
264
|
+
|
|
265
|
+
2.18.0 (November 12th, 2021)
|
|
266
|
+
|
|
267
|
+
- Add: new JEXL get TimeZone Offset (valid for summer winter schedulles) and binary shifting for bitwise operator
|
|
268
|
+
- Add: new JEXL transformation for Array.slice(init, end) in order to simplify binary-frame-string field extraction
|
|
269
|
+
- Fix: IOTA sends illegal entity type or entity id to CB (#1124)
|
|
270
|
+
- Fix: include attribute metadata in attribute device info for API requests (#1115)
|
|
271
|
+
- Fix: set status code response from CB for EntityGenericError is raised (#1109)
|
|
272
|
+
- Fix: export fillDomains function to iotagent-node-lib available functions (needed to fix logs in iotagent-json#587 and iotagent-ul#508)
|
|
273
|
+
- Fix: keep internalAttributes stored in device mongo collection when update it (#1092)
|
|
274
|
+
- Fix: accept the entry internal_attributes in a PUT /iot/devices/:deviceId (#1083)
|
|
275
|
+
- Fix: amend null processing for NGSI-LD (#1118)
|
|
276
|
+
- Fix: support of same entity_id and diferent entity_type in multientity plugin (#1127)
|
|
277
|
+
- Fix: align the NGSI-v2 provisioning keywords Text and TextUnrestricted to map directly to NGSI-LD Property (#1131)
|
|
278
|
+
_ Fix: JEXL undefined, null and falsy values support (#1132)
|
|
279
|
+
- Updated JEXL dependecy from 2.1.1 to 2.3.0 to allow the usage of NGSI operators ($inc, etc.)
|
|
280
|
+
- Remove: NGSI-v1 implementation (#966)
|
|
281
|
+
|
|
282
|
+
2.17.0 (August 30th, 2021)
|
|
283
|
+
|
|
284
|
+
- Add: new JEXL transformation for JSON parse/stringify (#1087)
|
|
285
|
+
- Add: support for externalised JEXL transformations, at libraty level and inyected via API (#1056)
|
|
286
|
+
- Fix: try to search for a device group service in base of not only by apikey but also type (#1076)
|
|
287
|
+
- Fix: rename provided jexl function sumaarray to addreduce (#1073)
|
|
288
|
+
|
|
289
|
+
2.16.0 (June 18, 2021)
|
|
290
|
+
|
|
291
|
+
- Add: more functions to JEXL transformations (#1052)
|
|
292
|
+
- Add: db uri and options in mongo connection log INFO trace
|
|
293
|
+
- Fix: prevent to update an entity with an empty payload
|
|
294
|
+
- Fix: use getDeviceSilently in checkDuplicates to avoid raise a false mongo alarm.
|
|
295
|
+
- Fix: expose getConfigurationSilently to enable retrieve a configuration without raise a false mongo alarm (#1007)
|
|
296
|
+
- Fix: add getTypeSilently for device group and use in device registration to avoid false mongo alarm
|
|
297
|
+
- Fix: check isNaN value in JEXL extractContext to avoid misbehaviours (#1066)
|
|
298
|
+
- Fix: simplify contextAvailable for JEXL perser allowing null and undefined substitutions (#1053)
|
|
299
|
+
- Fix: do not transform attribute value using attribute type after apply expression plugin JEXL (#1036)
|
|
300
|
+
- Fix: use explicitAttrs defined in group is not defined at device level (#1045, #1016)
|
|
301
|
+
- Fix: autoprovision feature, removing the relationship with appendMode (#1003)
|
|
302
|
+
- Fix: autoprovision functionality not working as expected when configured at device/group level in NGSIv1 API (#1003)
|
|
303
|
+
- Fix: appendMode not working in NGSIv2
|
|
304
|
+
- Fix: apply NGSIv2 timestamp properly to array of entities
|
|
305
|
+
- Fix: check expression context before apply it in entity_name (#1040)
|
|
306
|
+
- Fix: check entityId is valid after apply expression in multientity plugin (#1039)
|
|
307
|
+
- Fix: check access to data in fillService facility
|
|
308
|
+
- Fix: use expressionLanguage defined in group is not defined at device level (#1027)
|
|
309
|
+
- Fix: ensure service of groups, device and commands is stored in mongo in lowercase (#1023)
|
|
310
|
+
- Fix: group command is not provisioned in device when entity_type is different (#1011)
|
|
311
|
+
- Fix: avoid automatic conversion from geo:xxxx ('xxxx' diferent from 'json') to geo:json (reverts the work done in PR #854) (*)
|
|
312
|
+
- Fix: update MongoDB accesses to use lean() for faster retrieval
|
|
313
|
+
- Fix: PUT /iot/devices/:deviceId operation to implement proper update of entity_name and entity_type (#770)
|
|
314
|
+
- Fix: Include @context on NGSI-LD subscription (#1019)
|
|
315
|
+
- Upgrade underscore dep from 1.9.1 to 1.12.1 due to security vulnerability
|
|
316
|
+
- Upgrade mongodb dep from 3.2.3 to 3.6.8
|
|
317
|
+
- Upgrade mongoose dep from 5.7.5 to 5.7.7
|
|
318
|
+
- Set Nodejs 12 as minimum version in packages.json (effectively removing Nodev10 from supported versions)
|
|
319
|
+
|
|
320
|
+
(*) Also included in 2.15.1
|
|
321
|
+
|
|
322
|
+
2.15.0 (February 18th, 2021)
|
|
323
|
+
|
|
324
|
+
- Add: return apikey in GET device if device was provisioned with explicit apikey (#977)
|
|
325
|
+
- Add: allow update device apikey using Update (put) API (#978)
|
|
326
|
+
- Add: defaultEntityNameConjunction config (env var IOTA_DEFAULT_ENTITY_NAME_CONJUNCTION) and configuration group API field for default entity_name conjunction (#944)
|
|
327
|
+
- Add: prettier code formatting
|
|
328
|
+
- Add: husky and lint-staged
|
|
329
|
+
- Add: basic NGSI-LD support as experimental feature (#842)
|
|
330
|
+
- Active measures
|
|
331
|
+
- GeoJSON and DateTime, unitCode and observedAt NGSI-LD support
|
|
332
|
+
The NGSI v2 TimeInstant element has been mapped onto the NGSI-LD observedAt property
|
|
333
|
+
The NGSI v2 metadata.unitCode attribute has been mapped onto the NGSI-LD unitCode property
|
|
334
|
+
- Multi-measures
|
|
335
|
+
- Lazy Attributes
|
|
336
|
+
- Commands
|
|
337
|
+
- Mixed mode (based in ngsiVersion field in the provisioning API)
|
|
338
|
+
- Support to linked data entities to enable the traversal of the nodes of the knowledge graph
|
|
339
|
+
- Fix: ensure use proper expression parser in multientity plugin (#989)
|
|
340
|
+
- Fix: ensure registrationId is updated when device with commands is updated
|
|
341
|
+
- Fix: use null instead of ' ' as default attribute value in entity provisioned (#938)
|
|
342
|
+
- Fix: Add support for lazy and internal_attributes in service notifications to Manager (#768)
|
|
343
|
+
- Fix: combine multi-entity and expressions with duplicate attribute name, by enabling expression over object_id (which are not duplicated in a attribute mapping contrary to name) (#941)
|
|
344
|
+
- Fix: bug in legacy and JEXL expression that was not converting "0" to 0
|
|
345
|
+
- Fix: support for mapping different attributes to the same entity_name
|
|
346
|
+
- Fix: Ensure GeoJSON is correctly encoded in NGSI-v2 requests (#961)
|
|
347
|
+
- Update codebase to use ES6
|
|
348
|
+
- Remove JSHint and jshint overrides
|
|
349
|
+
- Add esLint using standard tamia presets
|
|
350
|
+
- Replace var with let/const
|
|
351
|
+
- Fix or disable eslint errors
|
|
352
|
+
|
|
353
|
+
2.14.0 (Noviembre 16th, 2020)
|
|
354
|
+
|
|
355
|
+
- Add: enable use group commands in device and register it in iotagent-manager
|
|
356
|
+
- Add: extends commands definition to add mqtt options (qos, retain)
|
|
357
|
+
- Add: include findTypeSilently for groups to log some false errors as debug instead of alarm
|
|
358
|
+
- Add: include description field in group schema
|
|
359
|
+
- Add: include from in log context (#918)
|
|
360
|
+
- Add: lax validation mode using IOTA_RELAX_TEMPLATE_VALIDATION (#920)
|
|
361
|
+
- Fix: add missed expressionLanguage to deviceProvisioningServer
|
|
362
|
+
- Fix: bad type in check expressionLanguage at device provision
|
|
363
|
+
- Fix: Update internal attributes in Group update (#917)
|
|
364
|
+
- Fix: Static attributes from service not applied if device has static attributes (#757)
|
|
365
|
+
- Fix: IOTA_EXPLICIT_ATTRS env var was not working
|
|
366
|
+
- Move Docker secret support inside the Node Application - remove Entrypoint (#885)
|
|
367
|
+
|
|
368
|
+
2.13.0 (September 14th, 2020)
|
|
369
|
+
|
|
370
|
+
- Add: support for JEXL as expression language (#801, #687, #868)
|
|
371
|
+
- Add: expressionLanguage to save/update device and group
|
|
372
|
+
- Add: mongodb additional options (ssl and extraArgs) to be able to connect "MongoDB as a Cloud Service" (#859)
|
|
373
|
+
- Add: template to allow metadata to be set via the Device API (#870)
|
|
374
|
+
- Add: selectively ignore some of the measures (iotagent-json#416, iotagent-ul#372)
|
|
375
|
+
- Fix: multientity when more than 2 attribute with same name and object_id (#877)
|
|
376
|
+
- Fix: log always writing the same correlator id and transaction id (iota-json#426, iota-ul#326)
|
|
377
|
+
- Fix: log device group error detail when group not found
|
|
378
|
+
- Fix: fix and use fillService to fix logs in provision
|
|
379
|
+
- Fix: some ngsi service log levels
|
|
380
|
+
- Fix: listing service groups returns only a single service group (#894)
|
|
381
|
+
- Fix: do not intercept error about DEVICE_GROUP_NOT_FOUND in checkApiKeyAndResource (#889)
|
|
382
|
+
- Fix: do not intercept error about DEVICE_NOT_FOUND in findOrCreate and checkDUplicates device (#889)
|
|
383
|
+
- Overall update of dev package dependencies
|
|
384
|
+
- Set Nodejs 10 as minimum version in packages.json (effectively removing Nodev8 from supported versions)
|
|
385
|
+
|
|
386
|
+
2.12.0 (April 7th, 2020)
|
|
387
|
+
|
|
388
|
+
- Add: NGSIv2 metadata support to device provisioned attributes
|
|
389
|
+
- Add NGSIv2 metadata support to attributeAlias plugin.
|
|
390
|
+
- Add mongodb authentication: IOTA_MONGO_USER, IOTA_MONGO_PASSWORD and IOTA_MONGO_AUTH_SOURCE (#844)
|
|
391
|
+
- Fix: Error message when sending measures with unknown/undefined attribute
|
|
392
|
+
- Fix: add null check within executeWithSecurity() to avoid crash (#829)
|
|
393
|
+
|
|
394
|
+
2.11.0 (November 4th, 2019)
|
|
395
|
+
|
|
396
|
+
- Add: NGSIv2 context forwarding (lazy attributes and commands) (#527)
|
|
397
|
+
- Add: autoprovision (appendMode) in device and group provision (#805)
|
|
398
|
+
- Add: configure multithreading using cluster nodejs module (through multicore config.js parameter or IOTA_MULTI_CORE environment variable).
|
|
399
|
+
- Fix: avoid using throttling in subscriptions (both in NGSIv1 and NGSIv2 configurations)
|
|
400
|
+
- Fix: deviceRegistrationDuration ignored in NGSIv2 registrations and subscriptions creation so they are created non-expirable
|
|
401
|
+
- Fix: possible startup fail using IOTA_CB_ and IOTA_NORTH_ env vars due to uninitization of config object
|
|
402
|
+
- Fix: using "append" instead of "APPEND" (which is deprecated) in NGSIv2 operations
|
|
403
|
+
- Fix: allow blank as an override for defaultResource
|
|
404
|
+
- Upgrade mongoose dependency from 5.5.4 to 5.7.5 due to security warning
|
|
405
|
+
|
|
406
|
+
2.10.0 (August 13th, 2019)
|
|
407
|
+
|
|
408
|
+
- Set Nodejs 8 as minimum version in packages.json (effectively removing Nodev6 from supported versions)
|
|
409
|
+
- Add: to use apikey to search group configuration at device registration time
|
|
410
|
+
- Upgrade async dependency from 2.6.1 to 2.6.2
|
|
411
|
+
- Upgrade body-parser dependency from ~1.18.3 to ~1.19.0
|
|
412
|
+
- Upgrade moment dependency from ~2.22.2 to ~2.24.0
|
|
413
|
+
- Upgrade moment-timezone dependency from ~0.5.21 to ~0.5.25
|
|
414
|
+
- Upgrade mongodb dependency from 3.1.8 to 3.2.3
|
|
415
|
+
- Upgrade mongoose dependency from 5.3.6 to 5.5.4
|
|
416
|
+
- Upgrade query-string dependency from 6.2.0 to 6.5.0
|
|
417
|
+
- Upgrade coveralls dev dependency from ~3.0.2 to ~3.0.3
|
|
418
|
+
- Upgrade jshint dev dependency from ~2.9.6 to ~2.10.2
|
|
419
|
+
- Upgrade mocha dev dependency from 5.2.0 to 6.1.4
|
|
420
|
+
- Upgrade nock dev dependency from 10.0.1 to 10.0.6
|
|
421
|
+
- Upgrade timekeeper dev dependency from 2.1.2 to 2.2.0
|
|
422
|
+
|
|
423
|
+
2.9.0 (May 22nd, 2019)
|
|
424
|
+
|
|
425
|
+
- Set Nodejs 6 version in packages.json (effectively removing Nodev4 as supported version)
|
|
426
|
+
- Add: new functions to set callbacks for removal of devices and groups (#735)
|
|
427
|
+
- Add: support for authentication to NGSI subscription requests (#592)
|
|
428
|
+
- Add: IOTA_AUTH_URL, IOTA_AUTH_CLIENT_ID, IOTA_AUTH_CLIENT_SECRET and IOTA_AUTH_TOKEN_PATH env vars
|
|
429
|
+
- Add: handlers defined with setConfigurationHandler receive as argument the service, subservice, resource and apikey (#769)
|
|
430
|
+
- Fix: process dies if reconnection to DB fails instead of remain in a zombie state (#772)
|
|
431
|
+
- Fix: incomplete HTTPS support for NGSI subscriptions (#593)
|
|
432
|
+
- Fix: user provider timestamp correctly propagated to mapped entities when multientity pluging is used (#748)
|
|
433
|
+
- Fix: add ?type parameter in CB request updates to avoid potential entity ambiguities (#733)
|
|
434
|
+
- Upgrade from logops 1.0.8 to 2.1.0
|
|
435
|
+
- Upgrade from node-uuid ~1.4.1 to uuid ~3.3.2.
|
|
436
|
+
|
|
437
|
+
2.8.1 (December 19th, 2018)
|
|
438
|
+
|
|
439
|
+
- Add: extends OAuth2 authentication to support integration with FIWARE Keyrock IDM (#663)
|
|
440
|
+
- Add: implements OAuth2 authentication as part of device provisioning requests (#663)
|
|
441
|
+
- Add: uses provisioned timezone to generate TimeInstant values (#672)
|
|
442
|
+
- Add: missed conf env vars about authentication (#704)
|
|
443
|
+
- Add: timestamp in device and group provision (#655)
|
|
444
|
+
- Add: protocol in device provision if not provided (#652)
|
|
445
|
+
- Fix: conf env var about contextbroker host
|
|
446
|
+
- Fix: use trust and cbHost from deviceGroup (#685)
|
|
447
|
+
- Fix: multientity multimeasure with the same att name
|
|
448
|
+
- Fix: missing support for device=true in the delete service endpoint (see #596)
|
|
449
|
+
- Fix: timestamp is now included just in non empty (more than id and type) multienty entitites
|
|
450
|
+
- Fix: object_id fields are not introduced in CB requests by alias plugin (#660)
|
|
451
|
+
- Fix: isDomain is not used anymore for context availability registration (#701)
|
|
452
|
+
- Fix: checks ISO8601 timeinstants provided by devices (#679)
|
|
453
|
+
- Fix: corrects linting and includes npm run lint in travis CI
|
|
454
|
+
- Fix: mosquitto.conf.example file not found by iot/mosquitto Dockerfile (#554)
|
|
455
|
+
- Upgrade: logops dependence from 1.0.0 to 1.0.8
|
|
456
|
+
- Upgrade: async dependence from 1.5.2 to 2.6.1
|
|
457
|
+
- Upgrade: body-parser dependence from ~1.11.0 to ~1.18.3
|
|
458
|
+
- Upgrade: express dependence from ~4.11.2 to ~4.16.4
|
|
459
|
+
- Upgrade: jison dependence from 0.4.17 to 0.4.18
|
|
460
|
+
- Upgrade: moment dependence from ~2.19.4 to ~2.22.2
|
|
461
|
+
- Upgrade: mongodb dependence from 2.2.35 to 3.1.8
|
|
462
|
+
- Upgrade: mongoose dependence from 4.13.12 to 5.3.6
|
|
463
|
+
- Upgrade: mustache dependence from 2.2.1 to 3.0.0
|
|
464
|
+
- Upgrade: query-string dependence from 4.3.4 to 6.2.0
|
|
465
|
+
- Upgrade: request dependence from 2.39.0 - 2.81.0 to 2.88.0
|
|
466
|
+
- Upgrade: underscore dependence from ~1.7.0 to ~1.9.1
|
|
467
|
+
- Ensure precise dependencies (~=) are used in packages.json
|
|
468
|
+
- Remove: XML related code, dependencies and files (#691)
|
|
469
|
+
- Remove: old unused dependencies (sax, grunt, closure-linter-wrapper)
|
|
470
|
+
|
|
471
|
+
2.7.0 (August 6th, 2018)
|
|
472
|
+
|
|
473
|
+
- Add: allow NGSIv2 for updating active attributes at CB, through configuration, supporting all plugins (Timestamp Compression, Timestamp Processing, Expression Translation, Attribute Alias, Event, Bidirectionality and Multientity) (#527)
|
|
474
|
+
- Add: supports NGSIv2 for device provisioning (entity creation and context registration) at CB (#527)
|
|
475
|
+
- Add: casting attribute's values to JSON native types (activable by config.autocast)
|
|
476
|
+
- Add: support HTTPS requests toward Keystone (if url is used in the authorization configuration)
|
|
477
|
+
- Add: support OAuth2 provider as authentication backend (#591)
|
|
478
|
+
- Add: support for HTTPS requests toward CB (if IOTA_CB_URL is used) (#578)
|
|
479
|
+
- Add: support HTTPS requests toward IOTAManager (if IOTA_IOTAM_URL is used) (#578)
|
|
480
|
+
- Add: log mongo error before raise alarm (#577)
|
|
481
|
+
- Add: configuration service is exposed as part of the module
|
|
482
|
+
- Fix: Check boolean config fields against right boolean value
|
|
483
|
+
- Fix: IOTA_SIGLE_MODE, IOTA_APPEND_MODE, IOTA_POLLING_EXPIRATION, IOTA_POLLING_DAEMON_FREQ env vars are now taken into account (previously there were ignored)
|
|
484
|
+
- Fix: IOTA_MONGO_RETRIES and IOTA_MONGO_RETRY_TIME env vars are now taken into account (previously there were ignored)
|
|
485
|
+
- Fix: automatic device provisioning by means of Configuration Group fails due to a bug in findConfigurationGroup function (#544)
|
|
486
|
+
- Fix: static attributes seem not supported in Configuration Group provisioning (#550)
|
|
487
|
+
- Fix: documentation and examples, using correctly "attributes" field in the Configuration API instead of "active" (#558)
|
|
488
|
+
- Fix: correctly return 404 when asking to remove a not existing device (#585)
|
|
489
|
+
- Fix: Context broker environment variables are correctly loaded
|
|
490
|
+
- Fix: GET call to northbound group endpoint returns multiple services (#604)
|
|
491
|
+
- Fix: timestampProcessPlugin supports processing an array of NGSI entities in NGSIv2 (#621)
|
|
492
|
+
- Fix: undefined MONGO-ALARMS in logs due to a bad mongo query. (#630, #577)
|
|
493
|
+
- Fix: multientity ngsiv1 duplicated attributes in entity (#627)
|
|
494
|
+
- Fix: match attributes by object_id using multientity plugin and alias in ngsiv2 (#629)
|
|
495
|
+
- Fix: check foundGroup count in generateDuplicateHandle (#633)
|
|
496
|
+
- Fix: allow provision device entity with multientity attributes (#628)
|
|
497
|
+
- Fix: multientity with multiple measures in ngsiv2 (#635)
|
|
498
|
+
- Fix: aligns expression plugin and config.autocast casting (#643)
|
|
499
|
+
- Fix: replace context by ctx name var to avoid weird collisions
|
|
500
|
+
- Upgrade mongodb dependency version to 2.2.35
|
|
501
|
+
- Upgrade mongoose dependency version to 4.13.12
|
|
502
|
+
|
|
503
|
+
2.6.0 (February 26th, 2018)
|
|
504
|
+
|
|
505
|
+
- Upgrade mongoose dependence version to 4.13.3 (*)
|
|
506
|
+
- Fix command name in some commands logs at debug log level
|
|
507
|
+
- Fix bug in mergeArrays function of deviceService, precluding updates to work when internalAttributes of type Array were used (#571)
|
|
508
|
+
|
|
509
|
+
(*) Also in release 2.5.1
|
|
510
|
+
|
|
511
|
+
2.5.0 (November 17th, 2017)
|
|
512
|
+
|
|
513
|
+
- Fix mustache dependence version to 2.2.1 due to detected medium vulnerability
|
|
514
|
+
- Alarm raises with null error (#521)
|
|
515
|
+
- Capture Mongo DB connection errors
|
|
516
|
+
- Update MongoDB driver in order to fix NODE-818 error (#545)
|
|
517
|
+
|
|
518
|
+
2.4.1 (November 21th, 2016)
|
|
519
|
+
|
|
520
|
+
- Alarm raises with null error (#521)
|
|
521
|
+
- Capture mongo Connection Errors
|
|
522
|
+
|
|
523
|
+
2.4.0 (November 10th, 2016)
|
|
524
|
+
|
|
525
|
+
- Add an Attribute Expression Plugin (#440)
|
|
526
|
+
- Add Multientity plugin (#468)
|
|
527
|
+
- Add bidirectionality mechanisms for composed attributes (#474)
|
|
528
|
+
- Add String composition functions for expressions
|
|
529
|
+
- Bidirectional plugin doesn't apply to active attributes defined in a Configuration Group (#479)
|
|
530
|
+
- FIX Multiple values not allowed in polling commands
|
|
531
|
+
- FIX [Docu] Remove "Remove tag" from examples (#481)
|
|
532
|
+
- FIX Notifications return 404 instead of a 200 OK (#484)
|
|
533
|
+
- FIX Device creation with attribute named "TimeInstant" is not allowed (#486)
|
|
534
|
+
- FIX Iota transformation plugins regex validation error (#489)
|
|
535
|
+
- ADD Add single quotes as valid string marks
|
|
536
|
+
- FIX Get device info does not include the plugins fields (#492)
|
|
537
|
+
- FIX Transformation plugin for indexof (#493)
|
|
538
|
+
- FIX Entities in multientity scenarios cannot be defined as expressions (#488)
|
|
539
|
+
- FIX Cast needed for transformation plugin (#497)
|
|
540
|
+
- FIX Delete service should return 204 instead 200 (#174)
|
|
541
|
+
- FIX Bidirectional plugin provision fails (#503)
|
|
542
|
+
- FIX Missing context in logger entries (#454)
|
|
543
|
+
- FIX Transformation plugin variable names set (#506)
|
|
544
|
+
- FIX Transformation plugin - More than one variable name with numbers (#508)
|
|
545
|
+
- FIX Pool command expired but CB not updated (#509)
|
|
546
|
+
- ADD an alarm management module (#512)
|
|
547
|
+
- FIX Missing operations manual (#485)
|
|
548
|
+
- ADD a mechanism to share constants and error definitions between IoTAs (#386)
|
|
549
|
+
|
|
550
|
+
2.3.0 (October 5th, 2016)
|
|
551
|
+
|
|
552
|
+
- Add polling command support for the Library #455
|
|
553
|
+
- FIX Entity name used instead of id in command identification
|
|
554
|
+
- Add expiration time for Polling commands (#460)
|
|
555
|
+
- FIX It is not possible to create two devices with the same ID (#462)
|
|
556
|
+
- ADD At service start-up retry if dependencies (mongo, orion, etc.) are not available #357
|
|
557
|
+
|
|
558
|
+
2.2.0 (September 9th, 2016)
|
|
559
|
+
|
|
560
|
+
- Fix precedence in merging device and configuration attributes.
|
|
561
|
+
- Merge configuration information in the retrieveDevice() function (#405)
|
|
562
|
+
- Expose the singleConfigurationMode attribute using environment variables (#404)
|
|
563
|
+
- Devices provisioned with no configuration are not found in HTTP measure reporting (#124)
|
|
564
|
+
- In MongoDB32 no group is found if undefined resource is passed (#410)
|
|
565
|
+
- Extract common middleware to a new module (#415)
|
|
566
|
+
- Add an administrative operation to get the log level (#417)
|
|
567
|
+
- Add the 'comp' field to the IoTA's log (#419)
|
|
568
|
+
- Fix Static attributes not shown in device group updates (#423)
|
|
569
|
+
- Fix IoTAgent returns non-NGSI error as a response to an error in the Context Providers (#422)
|
|
570
|
+
- Fix Documentation typos and aspects to fix (#426)
|
|
571
|
+
- Add the names of the DB fields to the documentation (#427)
|
|
572
|
+
- FIX IOTAM Registrations won't send static attributes in group information #430
|
|
573
|
+
- Make the IoTA path in the IoTAM registration request configurable
|
|
574
|
+
- Document TimeInstant entity attribute and metadata (#435)
|
|
575
|
+
- FIX Update device operation ignores static attributes (#438)
|
|
576
|
+
- FIX Logger modules not being singleton cause logging inconsistencies (#442)
|
|
577
|
+
- Remove Device ID Index (#445)
|
|
578
|
+
|
|
579
|
+
2.1.4 (September 8th, 2016)
|
|
580
|
+
|
|
581
|
+
- Minor bugfixing
|
|
582
|
+
|
|
583
|
+
2.1.3 (September 8th, 2016)
|
|
584
|
+
|
|
585
|
+
- Minor bugfixing
|
|
586
|
+
|
|
587
|
+
2.1.2 (July 4th, 2016)
|
|
588
|
+
|
|
589
|
+
- Minor bugfixing
|
|
590
|
+
|
|
591
|
+
2.1.1 (June 24th, 2016)
|
|
592
|
+
|
|
593
|
+
- Minor bugfixing.
|
|
594
|
+
|
|
595
|
+
2.1.0 (June 20th, 2016)
|
|
596
|
+
|
|
597
|
+
- ADD migration tool to migrate data from C++ IoTAgents to Node.js based ones (#388)
|
|
598
|
+
- FIX changing the log level with environment variables did not work
|
|
599
|
+
- Add functions to allow the IoTAs to check or create devices (#392)
|
|
600
|
+
- ADD version retrieval path (#395)
|
|
601
|
+
- Use the attributes defined in the Configuration as default alias values (#397)
|
|
602
|
+
|
|
603
|
+
2.0.0 (June 1st, 2016)
|
|
604
|
+
|
|
605
|
+
- 'Mongodb' module not found when using the --production (#325)
|
|
606
|
+
- Fix Domain objects not working properly (#331).
|
|
607
|
+
- Enable IPv6 for HTTP protocol for the Northbound APIs (#333).
|
|
608
|
+
- Fix Timestamp addition for static attributes generate multiple identical timestamp attributes (#335)
|
|
609
|
+
- Fixes Error deleting service (#328)
|
|
610
|
+
- Command line client raises a 404 when listing groups (#338)
|
|
611
|
+
- When persistence is defined for stats but not for the registries, the IOTA crashes (#340)
|
|
612
|
+
- Refactor the tests in order to ease the creation of new ones (#341)
|
|
613
|
+
- Configurations should allow adding static attributes (#319)
|
|
614
|
+
- Command updates not implemented (#308)
|
|
615
|
+
- Add a new plugin for the creation of Event attributes (#297)
|
|
616
|
+
- Change the way the Configurations work (#343)
|
|
617
|
+
- Initial entity provisioning does not take configurations into account (#263)
|
|
618
|
+
- Entity retrieval on incoming notifications or queries uses the entity name without the type (#260)
|
|
619
|
+
- Change the Identification of the Devices. (#17)
|
|
620
|
+
- Allow the getDevicesByAttribute() function of the In-Memory repository to search through all the services (#353)
|
|
621
|
+
- Fix Pass service and subservice as arguments in command handlers (#355)
|
|
622
|
+
- Update the documentation to reflect the changes in function signatures (#352)
|
|
623
|
+
- Add defaultAPIKey and utils to retrieve the APIKey for a device (#360)
|
|
624
|
+
- Fix Command handler doesn't work if no update handler is defined (#363)
|
|
625
|
+
- Read configuration values from environment variables (#365)
|
|
626
|
+
- Fix Endpoint attribute not stored in mongo (#369)
|
|
627
|
+
- Fix Add a prefix for all the environment variables (#375)
|
|
628
|
+
- Assess command_result field (#374)
|
|
629
|
+
- Environment IOTA_MONGO_REPLICASET missing (#378)
|
|
630
|
+
- Add TimeInstant processing plugin (#380)
|
|
631
|
+
|
|
632
|
+
1.0.0 (May 3rd, 2016)
|
|
633
|
+
|
|
634
|
+
- Change log level using the administration API (#289)
|
|
635
|
+
- Use headers to track global transaction ID (#288)
|
|
636
|
+
- Include service and subservice in log traces (#290)
|
|
637
|
+
- Add endpoint attribute to the Device model
|
|
638
|
+
- Update test shell to allow Stress test commands
|
|
639
|
+
- Add support for MongoDB Replica Sets (#303)
|
|
640
|
+
- Update commands to make them asynchronous under stress testing
|
|
641
|
+
- Integrate with IoT Manager
|
|
642
|
+
- Add new transport field (#309)
|
|
643
|
+
- When a query comes to the IOTA the Static Attributes should not be returned (#312)
|
|
644
|
+
- Add required files for integration with Sonar (#295)
|
|
645
|
+
- Configuration API Should allow to modify API Key (#318)
|
|
646
|
+
- Timestamp and level missing in logs (#320)
|
|
647
|
+
|
|
648
|
+
0.10.0 (February 22nd, 2016)
|
|
649
|
+
|
|
650
|
+
- Fix InternalAttributes type in create Device JSON Schema Template.
|
|
651
|
+
- Updating device provisioning for new attributes was not working (#277)
|
|
652
|
+
- Wrong references in logs, while creating new configurations (#279).
|
|
653
|
+
- Create a config service to avoid multiple initializations (#167).
|
|
654
|
+
- Use a single database configuration for all persistence services (#173).
|
|
655
|
+
|
|
656
|
+
0.9.8 (February 12th, 2016)
|
|
657
|
+
|
|
658
|
+
- Minor bugfixing.
|
|
659
|
+
|
|
660
|
+
0.9.7 (February 10th, 2016)
|
|
661
|
+
|
|
662
|
+
- Add a subscription mechanism in the NGSI service (#259).
|
|
663
|
+
- Use a constants file to gather all the string constants in the system (#254).
|
|
664
|
+
- Change timestamp type to 'ISO8601' (#265).
|
|
665
|
+
- Fix documentation problems (#257) and (#262).
|
|
666
|
+
- Update and fix dependencies with shrinkwrap.
|
|
667
|
+
|
|
668
|
+
0.9.6 (February 10th, 2016)
|
|
669
|
+
|
|
670
|
+
- FIX Getting the information of a provisioned device returns an spurious 'id' attribute in attribute descriptions (#245).
|
|
671
|
+
|
|
672
|
+
0.9.5 (January 27th, 2016)
|
|
673
|
+
|
|
674
|
+
- FIX Getting the information of a provisioned device returns an spurious 'id' attribute in attribute descriptions (#245).
|
|
675
|
+
|
|
676
|
+
0.9.4 (January 26th, 2016)
|
|
677
|
+
|
|
678
|
+
- FIX Library errors make HTTP Response invalid (#239).
|
|
679
|
+
|
|
680
|
+
0.9.3 (January 14th, 2016)
|
|
681
|
+
|
|
682
|
+
- FIX Alias plugin do not change attribute type.
|
|
683
|
+
- ADD Extract the command line handlers to a single module (#178).
|
|
684
|
+
- ADD global error handler (#231).
|
|
685
|
+
- FIX Improve device provisioning documentation (#232).
|
|
686
|
+
- FIX Crash with malformed PUT /devices/:id (#228).
|
|
687
|
+
- ADD JSON Schema validation for the Device Provisioning API (#230).
|
|
688
|
+
- FIX Attribute id in alias should be named 'object_id' (#233).
|
|
689
|
+
|
|
690
|
+
0.9.2 (December 23rd, 2015)
|
|
691
|
+
|
|
692
|
+
- FIX Typo dealing with attributes with metadata.
|
|
693
|
+
|
|
694
|
+
0.9.1 (December 23rd, 2015)
|
|
695
|
+
|
|
696
|
+
- Query middlewares won't work due to an extra parameter in callbacks (#220).
|
|
697
|
+
|
|
698
|
+
0.9.0 (December 22nd, 2015)
|
|
699
|
+
|
|
700
|
+
- Add groupRegistry.clear() to the clearAll function.
|
|
701
|
+
- Add a plugin mechanism to perform translations in the entity data (#193).
|
|
702
|
+
- Add /iot prefix in IOTA url for IOTAM integration.
|
|
703
|
+
- Modify the answer for the GET devices and GET groups operations (#196).
|
|
704
|
+
- Add APPEND Mode for Context Broker updates.
|
|
705
|
+
- Add Timestamp compression plugin.
|
|
706
|
+
- Add Metadata filtering to data filtering plugins (#204).
|
|
707
|
+
- Fix Device DELETE should return 204 instead of 200 (#203).
|
|
708
|
+
- Refactor the generic functions used in the time compression plugin to a common module (#205).
|
|
709
|
+
- Modify the answer for the GET devices and GET groups operations (#196).
|
|
710
|
+
- Fix List devices: the returned count value should be the total count of registered devices (#199).
|
|
711
|
+
- Fix Asking for the list of configurations of a subservice return results for all services #(209).
|
|
712
|
+
- Fix Integrate Node.js IOTAgents with the IOTA Manager (and the administration portal) (#159).
|
|
713
|
+
- Fix Service based filtering in MongoDB registries won't work.
|
|
714
|
+
- Add attribute aliases in updates (#182).
|
|
715
|
+
- Fix bug when trying to stop an unstarted agent (#179).
|
|
716
|
+
- Fix create device: the default value for entity_name should be [entity_type]:device_id.
|
|
717
|
+
|
|
718
|
+
0.8.4 (November 24th, 2015)
|
|
719
|
+
|
|
720
|
+
- Allow listDevices() to use a single param (#180).
|
|
721
|
+
- Implement generic find function for the device registries.
|
|
722
|
+
- Get info about iotA Version in IoTA-lib request (#184).
|
|
723
|
+
|
|
724
|
+
0.8.3 (October 22nd, 2015)
|
|
725
|
+
|
|
726
|
+
- FIX 500 error while removing devices (#151)
|
|
727
|
+
- FIX Change Device Not Found to 404 instead of 500 (#161).
|
|
728
|
+
- ADD First version of the stats registry (#160).
|
|
729
|
+
- FIX Reestructure files and folders (#164).
|
|
730
|
+
- ADD Mongodb action to persist stats.
|
|
731
|
+
- FIX Use Express Methods to check content type (#170).
|
|
732
|
+
|
|
733
|
+
0.8.2 (October 2nd, 2015)
|
|
734
|
+
|
|
735
|
+
- ADD Command attributes to the initial entity
|
|
736
|
+
- ADD Checking for multiple context responses (#153)
|
|
737
|
+
- ADD Command option for the IoT Agent Tester to provision lists of devices.
|
|
738
|
+
|
|
739
|
+
0.6.1 (September 4th, 2015)
|
|
740
|
+
|
|
741
|
+
- FIX Return meaningful JSON error in ENTITY_GENERIC_ERROR.
|
|
742
|
+
- FIX Add information to generic transport errors (#139).
|
|
743
|
+
|
|
744
|
+
0.6.0 (September 4th, 2015)
|
|
745
|
+
|
|
746
|
+
- ADD Authentication mechanisms for the IoT Agent tester.
|
|
747
|
+
- ADD Examples of service and device provisioning for Thinking Things IOTAs.
|
|
748
|
+
- FIX Add error information to generic NGSI errors in updates and queries (#125).
|
|
749
|
+
- FIX Improve general maintainability (#126).
|
|
750
|
+
- ADD Continuous integration using Travis (#131).
|
|
751
|
+
- FIX Change the old temporary fiware-node-logger to use logops (#95).
|
|
752
|
+
- ADD Device provisioning handler (#86).
|
|
753
|
+
- ADD Support for MongoDB 3.0 (#119).
|
|
754
|
+
- FIX Unstability in MongoDB tests (#128).
|
|
755
|
+
|
|
756
|
+
0.5.1 (June 22nd, 2015)
|
|
757
|
+
|
|
758
|
+
This minor release modifies the package.json file in order to make the included commands globally executable in a global installation of the module.
|
|
759
|
+
|
|
760
|
+
0.5.0 (June 21st, 2015)
|
|
761
|
+
|
|
762
|
+
- ADD Documentation about the release process.
|
|
763
|
+
- FIX Crash when an update arrives and commands attribute is not defined.
|
|
764
|
+
- ADD exit commands.
|
|
765
|
+
- FIX missing headers in group operations.
|
|
766
|
+
- ADD command to show and change IoTAgent console configuration.
|
|
767
|
+
- FIX missing device in 'store()' function of the Memory Registry.
|
|
768
|
+
|
|
769
|
+
0.4.0 (May 22nd, 2015)
|
|
770
|
+
|
|
771
|
+
- Fix signature problems in agent console (#69 and #70).
|
|
772
|
+
- Add implementation for the command attributes (#67).
|
|
773
|
+
- Add missing headers in device provisioning with the IoT Agent Tester (#73).
|
|
774
|
+
- Support for string quotes in IoT Agent Tester (#75)
|
|
775
|
+
- Remove commandlineUtils files and substitute with command-node module.
|
|
776
|
+
- Add InternalAttributes attribute for Configuration groups (#85).
|
|
777
|
+
- Add configuration checks at startup (#84 and #83).
|
|
778
|
+
|
|
779
|
+
0.3.0 (April 10th, 2015)
|
|
780
|
+
|
|
781
|
+
- ADD Keywords to the package.json.
|
|
782
|
+
- ADD Configuration API for dynamically creating configuration groups.
|
|
783
|
+
- ADD Device Provisioning API and Device Configuration API commands in the testing clients.
|
|
784
|
+
- ADD Pagination in the Device List operations.
|
|
785
|
+
- FIX Remove mandatory constraint for service, servicepath and commands in Device Provisioning (#46).
|
|
786
|
+
- FIX List devices based on the service and servicepath (#45).
|
|
787
|
+
- FIX Lazy attributes mandatory in Device Provisioning (#51).
|
|
788
|
+
- FIX Should allow to provision devices with unconfigured type (#50)
|
|
789
|
+
- ADD Handler for configuration changes from the Configuration API.
|
|
790
|
+
- ADD Constraint to forbid multiple devices with the same ID (#48).
|
|
791
|
+
- ADD Constraint to ensure uniqueness of device configurations (#53).
|
|
792
|
+
|
|
793
|
+
0.2.0 (February 11th, 2015)
|
|
794
|
+
|
|
795
|
+
- Complete the Provisioning API with CRUD Operations.
|
|
796
|
+
- Change signature of unregister() funciton to remove unneeded type.
|
|
797
|
+
- Support XML in Context Provider updates and queries.
|
|
798
|
+
- Fix multiple errors found during preparation of CPBR8 Workshop.
|
|
799
|
+
- Improve the documentation to add: Configuration, Security, and IoT Library testing sections.
|
|
800
|
+
- Fix package.json information to prepare the package for publishing.
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
0.1.0 (February 11th, 2015)
|
|
804
|
+
|
|
805
|
+
- First draft of the IoT Agent library.
|