-
Notifications
You must be signed in to change notification settings - Fork 55
/
Changelog
307 lines (236 loc) · 15 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
3.6.0 (September 18th, 2024)
- Upgrade express from 4.19.2 to 4.20.0 due to a vulnerability
- Upgrade body-parser dep from 1.18.3 to 1.20.3 due to a vulnerability
- Upgrade iotagent-node-lib dependency from 4.5.0 to 4.6.0
3.5.0 (June 11th, 2024)
- Fix: update device using previous device apikey to avoid error when apikey is updated (iota-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, iotagent-node-lib#1612)
- Fix: default express limit to 1Mb instead default 100Kb and allow change it throught a conf env var 'IOTA_EXPRESS_LIMIT' (iota-json#827)
- Upgrade iotagent-node-lib dependency from 4.4.0 to 4.5.0
3.4.0 (April 26th, 2024)
- Upgrade express dep from ~4.16.4 to 4.19.2 due to a vulnerability
- Upgrade iotagent-node-lib dependency from 4.2.0 to 4.3.0
3.3.0 (February 27th, 2024)
- Add: log and return device/group information when DeviceNotFound and GroupNotFound errors (iotagent-json#815)
- Fix: default attribute type changed from 'string' to 'Text' (#664)
- Upgrade iotagent-node-lib dependency from 4.2.0 to 4.3.0
3.2.0 (January 30th, 2024)
- Upgrade iotagent-node-lib dependency from 4.1.0 to 4.2.0
3.1.0 (January 8th, 2024)
- Add: check and usage endpoint and transport from Group level when commands
- Upgrade iotagent-node-lib dependency from 4.0.0 to 4.1.0
3.0.0 (November 24th, 2023)
- Fix: ensure service and subservice from device in logs about error proccesing message
- Fix: remove autocast (iotagent-node-lib#1498)
- Upgrade iotagent-node-lib dependency from 3.4.0 to 4.0.0
- Remove: local mergeDeviceWithConfiguration redefined from iota-node-lib (#642)
2.4.0 (Sep 20th, 2023)
- Fix: try to use apikey from measure/group to find, update and remove device in first attempt (iota-node-lib#1426)
- Fix: ensure device apikey in already provisioned device (iota-node-lib#1430, iota-node-lib#1435)
- Remove: bidirectional plugin (iota-node-lib#1413)
- Upgrade iotagent-node-lib dependency from 3.3.0 to 3.4.0 (some ngsi-ld flows would not work as expected)
2.3.0 (Aug 25th, 2023)
- Fix: update tests to not create initial entity when append mode is enabled
- Fix: update tests according new default value for appendMode
- Fix: use 'options=upsert' when update ngsiv2 CB entities and appendMode is enabled (iotagent-node-lib#956)
- Fix: do not propagate group config (timestamp and explicitAttrs) to autoprovisioned devices (at database level) (iotagent-node-lib#1377)
- Upgrade iotagent-node-lib dependency from 3.2.0 to 3.3.0
- Remove: expressionLanguage field (as it it not longer needed, due to only one expression language is supported, after the removal of legacy expressions in iota-node-lib 3.2.0) (iota-node-lib#1384)
- Remove: RPM stuff (no longer used)
2.2.0 (May 23rd, 2023)
- Upgrade iotagent-node-lib dependency from 3.1.0 to 3.2.0
2.1.0 (April 25th, 2023)
- Add: support to run tests with node 18
- Upgrade iotagent-node-lib dependency from 3.0.0 to 3.1.0
- Set Nodejs 16 as minimum version in packages.json (effectively removing Nodev14 from supported versions)
2.0.0 (March 30th, 2023)
- Removed plugins to align with ioagente-node-lib (v3.0) refactor
- Align tests with iota-node-lib (v3.0) refactor
- Upgrade iotagent-node-lib dependency from 2.25.0 to 3.0.0
1.25.0 (January 24th, 2023)
- Add: IOTA_MQTT_DISABLED (mqtt.disabled) and IOTA_AMQP_DISABLED (amqp.disabled) flags to disable MQTT and AMQP (#576)
- Fix: save group apikey in device when autoprovision device (iota-node-lib#1245)
- Upgrade iotagent-node-lib dependency from 2.24.0 to 2.25.0
- Hardning: use pluginUtils from iota-node-lib
- Set Nodejs 14 as minimum version in packages.json (effectively removing Nodev12 from supported versions)
1.24.0 (September 2nd, 2022)
- Fix: mqtt error handling was calling callback in loop
- Upgrade iotagent-node-lib dependency from 2.23.0 to 2.24.0
1.23.0 (July 21st, 2022)
- Upgrade iotagent-node-lib dependency from 2.22.0 to 2.23.0
1.22.0 (July 18th, 2022)
- Add: allow apply expression to device http endpoint (for push commands)
- Add: include device ID, Type, Service and SubService in context to expression push command
- Fix: default transport used by send configuration when no defined at device level
- Fix: Set service and subservice in logs when processing measures
- Fix: Dockerfile to include initial packages upgrade
- Upgrade iotagent-node-lib dependency from 2.21.0 to 2.22.0
- Upgrade NodeJS version from 14-slim to 16-slim in Dockerfile
1.21.0 (April 29th, 2022)
- Add: apply expression and payload transformations to commands (iota-json#634, iota-json#627)
- Fix: ensure command QoS for MQTT is an integer
- Fix: ensure mqtt client_id is unique between reconnections to avoid reconnection loop (iota-json#650)
- Fix: bad mqtt measure is progressing as a multiple measure after be procesed as hex string
- Fix: search device and group for a command using entity type when provided to proper match (iota-node-lib#1211)
- Fix: https:// url instead of git:// for npm dependences
- Remove: obsolete iotaULTester binary
- Upgrade iotagent-node-lib dependency from 2.19.0 to 2.21.0
- Upgrade moment dep from 2.27.0 to 2.29.2 due to security vulnerability (CVE-2022-24785)
- Upgrade async dep from 2.6.1 to 2.6.4 due to security vulnerability (CWE-1321)
- Upgrade MQTT dep from 3.0.0 to 4.3.7
- Upgrade NodeJS version from 12 to 14 in Dockerfile
1.20.0 (February 7th, 2022)
- Add: allow to handle binary messages (#530)
- Fix: default mqtt keepalive value by conf (must be 60 instead of 0) (#527)
- Fix: provide device type to findConfiguration to achieve a better group match in getEffectiveApiKey (iota-node-lib#1155)
- Fix: update polling when device is updated by adding endpoint (needs iota-node-lib >= 2.19) (twin for iota-json#602)
- Fix: remove preprocess stripping of explicitAttrs (iotagent-node-lib#1151)
- Fix: add graceful shutdown listening to SIGINT (#524)
- Fix: remove request obsolete library, using iotagent-node-lib.request instead (iotagent-node-lib#858)
- Upgrade logops dep from 2.1.0 to 2.1.2 due to colors dependency corruption
- Upgrade iotagent-node-lib dependency from 2.18.0 to 2.19.0
1.19.0 (November 12th, 2022)
- Fix service and subservice to 'n/a' when apikey from measure is not found (needs iota-node-lib => 2.18) (#508)
- Remove: NGSI-v1 specific behaviours (iotagent-lib#966)
- Upgrade iotagent-node-lib dependency from 2.17.0 to 2.18.0
1.18.0 (August 30th, 2021)
- Add: custom JEXL transformations from config file (iotagent-node-lib#1056)
- Fix: content-type response for get command to text/plain
- Fix: check access to active attribute of device before use it (twin of iota-json#576)
- Fix: processing configurations subscriptions in NGSIv2 (twin of iota-json#563)
- Upgrade iotagent-node-lib dependency from 2.16.0 to 2.17.0
1.17.0 (June 18th, 2021)
- Add: MQTT options `clean` and `clientId` (env vars IOTA_MQTT_CLEA and IOTA_MQTT_CLIENT_ID) (#371)
- Add: list of environment variables which can be protected by Docker Secrets
- Fix: check autoprovision flag before register device
- Fix: missing content-type: text/plain header in the request sent to device command endpoint (HTTP transport)
- Fix: avoid raise mongo alarm when a measure is not maching a group configuration
- Fix: use expressionLanguage defined in group is not defined at device level (iota-node-lib#1027)
- Upgrade underscore dependency from 1.9.1 to 1.12.1 due to vulnerability
- Upgrade iotagent-node-lib dependency from 2.15.0 to 2.16.0
- Upgrade NodeJS version from 10 to 12 in Dockerfile due to Node 10 End-of-Life
- Set Nodejs 12 as minimum version in packages.json (effectively removing Nodev10 from supported versions)
1.16.0 (February 18th, 2021)
- Fix: Set 60 seconds for default mqtt keepalive option (#370)
- Upgrade iotagent-node-lib dependency from 2.14.0 to 2.15.0
1.15.0 (Noviembre 16th, 2020)
- Add: use mqtt.qos and mqtt.retain values from command for command execution
- FIX: check ngsi version in configuration handler
- Add: log in info level command and configuration MQTT
- Add missed global config env vars (IOTA_CONFIG_RETRIEVAL, IOTA_DEFAULT_KEY, IOTA_DEFAULT_TRANSPORT)
- Upgrade iotagent-node-lib dependency from 2.13.0 to 2.14.0
- Update Docker security practices (Add HEALTHCHECK, Use Anonymous User, Use two-stage build)
1.14.0 (September 14th, 2020)
- Add: config.mqtt.avoidLeadingSlash flag (IOTA_MQTT_AVOID_LEADING_SLASH) to avoid leading slash in MQTT
- Add: explicitAttrs flag (in configuration and also group/device provisioning) to progress only the measures corresponding to attributes declared in attributes array (#372)
- Fix: force finish transaction after process a device measure
- Fix: do not intercept error about DEVICE_NOT_FOUND in findOrCreate device (iotagent-node-lib#889)
- Fix: srv, subsrv, transaction and correlator id in logs of http binding
- Fix: some log levels and details at bindings
- Fix: log always writing the same correlator id and transaction id (#326)
- Update codebase to use ES6
- Remove JSHint and jshint overrides
- Add esLint using standard tamia presets
- Replace var with let/const
- Fix or disable eslint errors
- Upgrade iotagent-node-lib dependency from 2.12.0 to 2.13.0
- Overall update of dev package dependencies
- Set Nodejs 10 as minimum version in packages.json (effectively removing Nodev8 from supported versions)
1.13.0 (April 7th, 2020)
- Add: check response obj before use it handling http commands
- Add: standardized MQTT-SSL support (#354)
- Add: southbound HTTPS support (#422)
- Fix: move to warn error log about device not found
- Upgrade iotagent-node-lib dependency from 2.11.0 to 2.12.0
- Upgrade NodeJS version from 8.16.1 to 10.19.0 in Dockerfile due to Node 8 End-of-Life
1.12.0 (Noviembre 20th, 2019)
- Allow use protocol ("/ul") in all mqtt topics subscribed by the agent (#287)
- Use MQTT v5 shared subscriptions to avoid dupplicated messages per agent type (upgrade mqtt dep from 2.18.8 to 3.0.0). Needs MQTT v5 broker like mosquitto 1.6+
- Use AMQP durable option in assertExchange
- Use device apikey if exists in getEffectiveApiKey for command handling
1.11.0 (November 4th, 2019)
- Add: PM2_ENABLED flag to Docker
- Fix: update default expiration device registration (ngsiv1) from 1M to 20Y
- Fix: avoid connections to AMQP and MQTT when these transports are not included in configuration
- Fix: check callback before use it if MQTT connection error
- Upgrade iotagent-node-lib dependency from 2.10.0 to 2.11.0 (inclusing NGSIv2 forwarding -issue #233-, and cluster nodejs functionality)
- Upgrade NodeJS version from 8.16.0 to 8.16.1 in Dockerfile due to security issues
1.10.0 (August 3rd, 2019)
- Set Nodejs 8 as minimum version in packages.json (effectively removing Nodev6 from supported versions)
- Add: reconnect when MQTT closes connection (including mqtt retries and keepalive conf options)
- Add: configuration retrieval support in MQTT transport (#361)
- Upgrade iotagent-node-lib dependency from 2.9.0 to 2.10.0
1.9.0 (May 22nd, 2019)
- Set Nodejs 6 version in packages.json (effectively removing Nodev4 as supported version)
- Add: config.http.timeout (and associated enviroment variable IOTA_HTTP_TIMEOUT)(#97)
- Upgrade NodeJS version from 8.12.0 to 8.16.0 in Dockerfile to improve security
- Upgrade logops dependency from 1.0.8 to 2.1.0
- Upgrade iotagent-node-lib dependency from 2.8.1 to 2.9.0
1.8.0 (December 19th, 2018)
- Add: use timestamp configuration from group device
- Add: use AMQP message handler, add reconnections and error handlers
- Add: AMQP config env vars (#268)
- Add: npm scripts to execute tests, coverage, watch and clean
- Add: use NodeJS 8 in dockerfile
- Add: use PM2 in Dockerfile
- Fix: AMQP callback over-calling
- Fix: check QoS option for MQTT commands
- Fix: remove config-blank.js file
- Upgrade: iotagent-node-lib dependence from 2.7.x to 2.8.1
- Upgrade: mqtt dependence from 1.14.1 to 2.18.8
- Upgrade: logops dependence from 1.0.0-alpha.7 to 1.0.8
- Upgrade: async dependence from 1.5.2 to 2.6.1
- Upgrade: body-parser dependence from 1.15.0 to 1.18.3
- Upgrade: express dependence from ~4.11.2 to ~4.16.4
- Upgrade: request dependence from 2.81.0 to 2.88.0
- Upgrade: underscore dependence from 1.8.3 to 1.9.1
- Upgrade: dateformat dependence from 1.0.12 to 3.0.3
- Upgrade: nock development dependence from 9.0.14 to 10.0.1
- Upgrade: mocha development dependence from 2.4.5 to 5.2.0
- Upgrade: should development dependence from 8.4.0 to 13.2.3
- Upgrade: istanbul development dependence from ~0.1.34 to ~0.4.5
- Upgrade: moment development dependence from ~2.20.1 to ~2.22.2
- Upgrade: timekeeper development dependence from 0.0.5 to 2.1.2
- Remove: old unused development dependencies (closure-linter-wrapper, sinon-chai, sinon, chai, grunt and grunt related modules)
1.7.0 (August 6th, 2018)
- Update iotagent-node-lib to 2.7.x
- Add: allow NGSIv2 for updating active attributes at CB, throught configuration based on iotagent-node-lib(#233)
- Add: supports NGSIv2 for device provisioning (entity creation and context registration) at CB (#233)
- Add: unhardwire MQTT qos and retain parameters in config.js (involving new env vars IOTA_MQTT_QOS and IOTA_MQTT_RETAIN) (#255)
- Fix: parameter order for the MEASURE-001 error message (#264)
- Fix: upgrade mqtt dep from 1.7.0 to 1.14.1
- Using precise dependencies (~=) in packages.json
- Remove mongodb dependence from packages.json (already in iota-node-lib)
1.6.0 (February 26th, 2018)
- Update ioagent-node-lib to 2.6.x
- Fix transport in autoprovision device depending on binding (#235)
- Allow get list of commands without sending measures (empty payload) (#234)
1.5.0 (October 18th, 2017)
- FEATURE update node version to 4.8.4
- Update MongoDB driver in order to fix NODE-818 error (#210)
1.4.0 (November 9th, 2026)
- Polling mode for HTTP commands (#24)
- Duplicated TimeInstant when an active attribute is mapped to TimeInstant attributes (#150)
- Add multientity, bidirectionality and expression plugins (#161)
- Poll commands not removed after device request (#160)
- Logrotate configure correctly all possible log files (#164)
- FIX Command error response message not sent to context Broker (#176)
- FIX Transformed data should include Metadata field (#179)
- ADD alarms for the Mosquitto server #187Add alarms for the Mosquitto server #187
1.3.0 (October 4th, 2016)
- Polling mode for HTTP commands (#24)
- Duplicated TimeInstant when an active attribute is mapped to TimeInstant attributes (#150)
1.2.0 (September 9th, 2016)
- FIX Accept initial bar for Ultraligth measures (#98).
- FIX Allow unprovisioned devices for HTTP UL (#100).
- FIX Allow for request without a Content-type header (#102);
- ADD Optional timestamp for measure groups (#105).
- Allow unprovisioned devices for MQTT UL #108
- FIX Protocol attribute not added to the autoprovisioned devices
- Use the attributes defined in the Configuration as default alias values (#114)
- Add HTTP UL testing commands to the command line interpreter (#126)
- FIX Commands won't write the Error results in the Context Broker.
- FIX HTTP Error connecting to CB not decoded
- Create the Operations Manual #33
- Improve global documentation.
- FIX Logger modules not being singleton cause logging inconsistencies (#140)