vrpc 3.1.0 → 3.2.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/browser/vrpc.js +1 -1
- package/browser/vrpc.js.LICENSE.txt +2 -0
- package/package.json +4 -3
- package/vrpc/VrpcAdapter.js +74 -46
- package/vrpc/VrpcAgent.js +64 -18
- package/vrpc/VrpcBrowserAdapter.js +885 -0
- package/vrpc/VrpcBrowserAgent.js +675 -0
- package/vrpc/VrpcClient.js +104 -43
- package/CHANGELOG.md +0 -808
package/CHANGELOG.md
DELETED
|
@@ -1,808 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
|
-
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [3.1.0] - Jun 15 2022
|
|
9
|
-
|
|
10
|
-
### Added
|
|
11
|
-
|
|
12
|
-
- possibility to set a user-defined MQTT client ID for both, agent and client [#56]
|
|
13
|
-
- possibility to set a user-defined VRPC client identity
|
|
14
|
-
|
|
15
|
-
### Fixed
|
|
16
|
-
|
|
17
|
-
- potential access to null object resulting in remote exception
|
|
18
|
-
- more defensive programming when client used an non-emitter instance for
|
|
19
|
-
registering events
|
|
20
|
-
- potential application crash when VrpcNative was provided with a bad callback
|
|
21
|
-
which got called from within C++
|
|
22
|
-
|
|
23
|
-
### Changed
|
|
24
|
-
|
|
25
|
-
- switched domain and agent separator from `:` to `/` when generating username
|
|
26
|
-
|
|
27
|
-
## [3.0.4] - Apr 04 2022
|
|
28
|
-
|
|
29
|
-
### Added
|
|
30
|
-
|
|
31
|
-
- automatic token generation when no token and not password were provided
|
|
32
|
-
|
|
33
|
-
### Changed
|
|
34
|
-
|
|
35
|
-
- changed agent to always run connect with clean session
|
|
36
|
-
- changed generated username on agent to include domain information
|
|
37
|
-
- generating username when neither token nor password are provided
|
|
38
|
-
- changed client's username generation to as well include domain information
|
|
39
|
-
disconnects on inactive browser pages
|
|
40
|
-
- added agent name info to token generator (allows to run in same folder)
|
|
41
|
-
|
|
42
|
-
### Fixed
|
|
43
|
-
|
|
44
|
-
- agent simplification should fix subscription issues when broker gets restarted
|
|
45
|
-
- removed `os.userInfo()` from generated client username as browsers do not
|
|
46
|
-
support this function
|
|
47
|
-
- failing mqtt reconnection when using websocket on a browser that goes inactive
|
|
48
|
-
- removed changing `os.cpus()` call making the clientId stable on same executable
|
|
49
|
-
- serious bug while cleaning up event-registrations resulting from "callAll"
|
|
50
|
-
|
|
51
|
-
## [3.0.3] - Feb 09 2022
|
|
52
|
-
|
|
53
|
-
### Fixed
|
|
54
|
-
|
|
55
|
-
- again generating implicit username (when none is given) as MQTT does not
|
|
56
|
-
support handing over password only
|
|
57
|
-
|
|
58
|
-
## [3.0.2] - Feb 08 2022
|
|
59
|
-
|
|
60
|
-
### Changed
|
|
61
|
-
|
|
62
|
-
- removed implicit setting of username to `__token__` when authenticating with
|
|
63
|
-
access token
|
|
64
|
-
|
|
65
|
-
### Fixed
|
|
66
|
-
|
|
67
|
-
- bug during un-registering obsolete event subscriptions
|
|
68
|
-
|
|
69
|
-
## [3.0.1] - Jan 24 2022
|
|
70
|
-
|
|
71
|
-
### Fixed
|
|
72
|
-
|
|
73
|
-
- non-functional event un-subscription on silent client disconnect and when
|
|
74
|
-
initially registered via `callAll`
|
|
75
|
-
|
|
76
|
-
## [3.0.0] - Jan 20 2022
|
|
77
|
-
|
|
78
|
-
### Added
|
|
79
|
-
|
|
80
|
-
- `vrpcOn` / `vrpcOff` feature to client
|
|
81
|
-
- tests exclusively for VrpcAdapter
|
|
82
|
-
- support for `path.join(__dirname, <path>)` expressions when registering class
|
|
83
|
-
|
|
84
|
-
### Fixed
|
|
85
|
-
|
|
86
|
-
- unhandled promise rejection on initial connect timeout
|
|
87
|
-
- missing documentation for VrpcNative
|
|
88
|
-
- bug on new `vrpcOn` feature
|
|
89
|
-
- bug while unregister event listeners via "off" or "removeAllListeners"
|
|
90
|
-
|
|
91
|
-
### Changed
|
|
92
|
-
|
|
93
|
-
- error messages as triggered on remote agents (now include context info)
|
|
94
|
-
- removed obsolete public API from VrpcAdapter
|
|
95
|
-
- internal handling of EventEmitter subscriptions
|
|
96
|
-
- now publishing a single message per event to a fixed topic
|
|
97
|
-
- dispatching happens by the broker not by the agent anymore
|
|
98
|
-
- this saves a lot of traffic when many clients subscribe to same events
|
|
99
|
-
- reduced size of response messages by skipping redundant information
|
|
100
|
-
- order of items within RPC message
|
|
101
|
-
- promise rejection message as triggered on remote agents (now include context
|
|
102
|
-
info)
|
|
103
|
-
|
|
104
|
-
## [3.0.0-alpha.3] - 25 Nov 2021
|
|
105
|
-
|
|
106
|
-
### Fixed
|
|
107
|
-
|
|
108
|
-
- missing 'create' event in VrpcAdapter
|
|
109
|
-
- respecting isolation state in callAll
|
|
110
|
-
|
|
111
|
-
### Changed
|
|
112
|
-
|
|
113
|
-
- cleaned API and tests from deprecation supports, those will now result in
|
|
114
|
-
errors
|
|
115
|
-
- intercepting return value of EventEmitter functions and changing it from
|
|
116
|
-
potentially gigantic object (as it returns `this`) to `true`
|
|
117
|
-
|
|
118
|
-
## [3.0.0-alpha.2] - 19 Nov 2021
|
|
119
|
-
|
|
120
|
-
### Fixed
|
|
121
|
-
|
|
122
|
-
- leaking event registrations on remote-controlled instance when event consumer
|
|
123
|
-
was not creator of the instance
|
|
124
|
-
|
|
125
|
-
## Changed
|
|
126
|
-
|
|
127
|
-
- reduced payload of callback message by omitting the original return value
|
|
128
|
-
- changed prefix of mqtt client id to `vc3` and `va3`, respectively
|
|
129
|
-
|
|
130
|
-
## [3.0.0-alpha.1] - 10 Nov 2021
|
|
131
|
-
|
|
132
|
-
### Changed
|
|
133
|
-
|
|
134
|
-
- layout and content of this repository, only javascript related code is left
|
|
135
|
-
- naming of public API classes is made consistent
|
|
136
|
-
- VrpcAdapter
|
|
137
|
-
- VrpcAgent
|
|
138
|
-
- VrpcClient (formerly VrpcRemote)
|
|
139
|
-
- VrpcNative (formerly VrpcLocal)
|
|
140
|
-
- RPC wire protocol got changed and simplified, a protocol version is attached
|
|
141
|
-
to every message (`v: 3`)
|
|
142
|
-
- concept of isolated and shared proxy instances
|
|
143
|
-
([#51](https://github.com/heisenware/vrpc/issues/51)) got implemented
|
|
144
|
-
- all namings including 'binding' got renamed for the more appropriate 'adapter'
|
|
145
|
-
- calling embedded C++ code got a completely new API (VrpcNative)
|
|
146
|
-
|
|
147
|
-
### Added
|
|
148
|
-
|
|
149
|
-
- injection of proxy-, instance-, and client id into proxy instance [Node.js](#49)
|
|
150
|
-
- public accessor for client id [Node.js](#49)
|
|
151
|
-
- signal `clientGone` on agent, indicating that a state-changing client went
|
|
152
|
-
[Node.js]
|
|
153
|
-
|
|
154
|
-
### Fixed
|
|
155
|
-
|
|
156
|
-
- Bug during clientId extraction for an exited client (causing leaks for
|
|
157
|
-
anonymous instances)
|
|
158
|
-
|
|
159
|
-
## [2.6.0] - 12 Jul 2021
|
|
160
|
-
|
|
161
|
-
### Added
|
|
162
|
-
|
|
163
|
-
- support for event and callback registrations when using `callAll`
|
|
164
|
-
|
|
165
|
-
### Fixed
|
|
166
|
-
|
|
167
|
-
- prevented proxyId of `VrpcRemote` from potential collisions
|
|
168
|
-
- improved proxyId generation of `VrpcLocal`
|
|
169
|
-
|
|
170
|
-
## [2.5.1] - 29 Jun 2021
|
|
171
|
-
|
|
172
|
-
### Fixed
|
|
173
|
-
|
|
174
|
-
- replaced the deprecated shortid package with nanoid
|
|
175
|
-
- prolonged the `proxyId` to 9 characters, reducing the collision probability to
|
|
176
|
-
1% after having generated 19M ids
|
|
177
|
-
- bug in `extractMemberFunctions` that would miss function in certain cases when
|
|
178
|
-
using `registerInstance`
|
|
179
|
-
- missing class info messages when successfully reconnecting against a restarted
|
|
180
|
-
broker
|
|
181
|
-
- compiler error when using deprecated C++ binding macros on zero arguments
|
|
182
|
-
function
|
|
183
|
-
|
|
184
|
-
## [2.5.0] - 25 May 2021
|
|
185
|
-
|
|
186
|
-
### Added
|
|
187
|
-
|
|
188
|
-
- events `create` and `delete` to VrpcAdapter [Node.js]
|
|
189
|
-
- possibility to register already existing instances [Node.js]
|
|
190
|
-
- possibility to cache the proxy object [Node.js]
|
|
191
|
-
|
|
192
|
-
### Fixed
|
|
193
|
-
|
|
194
|
-
- performance issue when clients silently go offline while still being
|
|
195
|
-
subscribed to callbacks [Node.js]
|
|
196
|
-
- issue when providing an explicit jsonDoc path while registering a class
|
|
197
|
-
[Node.js]
|
|
198
|
-
|
|
199
|
-
## [2.4.0] - 01 Mar 2021
|
|
200
|
-
|
|
201
|
-
### Added
|
|
202
|
-
|
|
203
|
-
- possibility to use `VRPC_CTOR`, `VRPC_MEMBER_FUNCTION` and
|
|
204
|
-
`VRPC_STATIC_FUNCTION` for `void` return values as well. This obsoletes all
|
|
205
|
-
macros including the `*_VOID_*` tag. [C++]
|
|
206
|
-
- `*_X` version of all macros allowing to add function meta information.
|
|
207
|
-
See documentation for more details. [C++]
|
|
208
|
-
- support for C++ code that executes callbacks within threads
|
|
209
|
-
- fresh examples (including code) exploring the new features
|
|
210
|
-
- version information to agent cli [Node.js]
|
|
211
|
-
- userVersion configuration possibility to external agent [Node.js]
|
|
212
|
-
|
|
213
|
-
### Changed
|
|
214
|
-
|
|
215
|
-
- upgraded json.hpp version to latest [C++]
|
|
216
|
-
- made domain and agent optional when starting commandline agents [All]
|
|
217
|
-
|
|
218
|
-
### Fixed
|
|
219
|
-
|
|
220
|
-
- documentation w.r.t. to meta data API [Node.js]
|
|
221
|
-
|
|
222
|
-
### Removed
|
|
223
|
-
|
|
224
|
-
- old examples documentation under `docs/examples`
|
|
225
|
-
- old example code under `examples`
|
|
226
|
-
|
|
227
|
-
## [2.3.2] - 18 Feb 2021
|
|
228
|
-
|
|
229
|
-
### Fixed
|
|
230
|
-
|
|
231
|
-
- domain inconsistency in the VrpcRemote API [Node.js](#33)
|
|
232
|
-
- webpack-5 crash, using custom browser library now (#36)
|
|
233
|
-
- missing callback when same native addon was loaded to different VrpcLocal instances [Node.js](#31)
|
|
234
|
-
|
|
235
|
-
### Changed
|
|
236
|
-
|
|
237
|
-
- converted log-based deprecation warnings to `process.emitWarning()` [Node.js]
|
|
238
|
-
|
|
239
|
-
### Added
|
|
240
|
-
|
|
241
|
-
- possibility to unregister an offline agent [Node.js](#32)
|
|
242
|
-
|
|
243
|
-
## [2.3.1] - 02 Feb 2021
|
|
244
|
-
|
|
245
|
-
### Fixed
|
|
246
|
-
|
|
247
|
-
- Wrong `break` statements when inspecting the client cache for instances to be
|
|
248
|
-
attached to [Node.js]
|
|
249
|
-
- Compilation error on non-copyable classes [C++-Addon](#22)
|
|
250
|
-
|
|
251
|
-
## [2.3.0] - 13 Jan 2021
|
|
252
|
-
|
|
253
|
-
### Added
|
|
254
|
-
|
|
255
|
-
- Reference documentation for Node.js based components [Node.js]
|
|
256
|
-
- Feature to `callAll` instances of the same class across agents [Node.js]
|
|
257
|
-
- Initial setup for a new docker-compose based specification testing [Node.js]
|
|
258
|
-
- Improved protection against malformed domain and agent names [Node.js]
|
|
259
|
-
- Improved log message (more verbose) in case proxy creation timed out [Node.js]
|
|
260
|
-
|
|
261
|
-
### Fixed
|
|
262
|
-
|
|
263
|
-
- Missing events upon failed `agent.serve()` [Node.js]
|
|
264
|
-
|
|
265
|
-
## [2.2.3] - 4 Dec 2020
|
|
266
|
-
|
|
267
|
-
### Fixed
|
|
268
|
-
|
|
269
|
-
- Created workaround for broken mqtt-packet sub-dependency (issue #17)
|
|
270
|
-
|
|
271
|
-
## [2.2.2] - 09 Nov 2020
|
|
272
|
-
|
|
273
|
-
### Fixed
|
|
274
|
-
|
|
275
|
-
- Handling of the internal `error` event within VrpcAgent.js to avoid an
|
|
276
|
-
exception in case the user forgot to implement that.
|
|
277
|
-
|
|
278
|
-
### Changed
|
|
279
|
-
|
|
280
|
-
- Stopped supporting Node.js 8.0 and included Node.js 14 while testing [Node.js]
|
|
281
|
-
|
|
282
|
-
## [2.2.1] - 30 Oct 2020
|
|
283
|
-
|
|
284
|
-
### Fixed
|
|
285
|
-
|
|
286
|
-
- Correct provisioning of `version` information when sending `offline`
|
|
287
|
-
agent-info message
|
|
288
|
-
|
|
289
|
-
### Changed
|
|
290
|
-
|
|
291
|
-
- upgraded major versions of mqtt and argparse dependencies
|
|
292
|
-
|
|
293
|
-
### Added
|
|
294
|
-
|
|
295
|
-
- possibility to specify custom defaults for commandline based agent runs
|
|
296
|
-
[Node.js]
|
|
297
|
-
|
|
298
|
-
## [2.2.0] - 30 Oct 2020
|
|
299
|
-
|
|
300
|
-
### Added
|
|
301
|
-
|
|
302
|
-
- Feature of being able to call the same function across all instances of the
|
|
303
|
-
same class (which is executed on the agent and only then send as single
|
|
304
|
-
message to the client) [Node.js]
|
|
305
|
-
- Added `version` property to agent (thanks to
|
|
306
|
-
[cstim](https://github.com/cstim)), allowing to specify a custom version which
|
|
307
|
-
is taken up in the agent-info message and digested by the remote client
|
|
308
|
-
[Node.js]
|
|
309
|
-
|
|
310
|
-
### Changed
|
|
311
|
-
|
|
312
|
-
- Improved the in-code documentation
|
|
313
|
-
|
|
314
|
-
## [2.1.6] - 23 Aug 2020
|
|
315
|
-
|
|
316
|
-
### Changed
|
|
317
|
-
|
|
318
|
-
- Embedded comment-parser dependency into code base
|
|
319
|
-
- Using a wildcard topic for subscribing and unsubscribing the method of new or
|
|
320
|
-
deleted instances respectively. This was suggested by
|
|
321
|
-
[psorowka](https://github.com/psorowka) as a performance improvement and could
|
|
322
|
-
be reproduced with a changed class-fixture (including many more functions) in
|
|
323
|
-
the performance test.
|
|
324
|
-
|
|
325
|
-
### Fixed
|
|
326
|
-
|
|
327
|
-
- Potential crash of comment-parser when faced with stand-alone comment-blocks
|
|
328
|
-
|
|
329
|
-
## [2.1.5] - 19 Aug 2020
|
|
330
|
-
|
|
331
|
-
### Added
|
|
332
|
-
|
|
333
|
-
- Feature of parsing js-doc like comments while registering code through the
|
|
334
|
-
adapter [Node.js]
|
|
335
|
-
- New option: `bestEffort` which sets all `qos` levels to 0 when true [Node.js]
|
|
336
|
-
(thanks to [psorowka](https://github.com/psorowka) for suggesting this for
|
|
337
|
-
performance improvement)
|
|
338
|
-
|
|
339
|
-
### Changed
|
|
340
|
-
|
|
341
|
-
- Sequential subscription calls to single array-based one, much improving proxy
|
|
342
|
-
creation performance [Node.js] (thanks to [cstim](https://github.com/cstim)
|
|
343
|
-
suggesting this)
|
|
344
|
-
|
|
345
|
-
### Fixed
|
|
346
|
-
|
|
347
|
-
- Wrong error message in-case a re-subscription happened. Now message is fixed
|
|
348
|
-
and level set from `warn` to `debug`
|
|
349
|
-
|
|
350
|
-
## [2.1.4] - 19 Jun 2020
|
|
351
|
-
|
|
352
|
-
### Changed
|
|
353
|
-
|
|
354
|
-
- Implementation of event-registration: now dispatching multiple
|
|
355
|
-
subscribers of a proxy on the client side, not the agent side [Node.js]
|
|
356
|
-
- React todos example showing what can be done with react-vrpc v1.x
|
|
357
|
-
|
|
358
|
-
## [2.1.3] - 9 Jun 2020
|
|
359
|
-
|
|
360
|
-
### Fixed
|
|
361
|
-
|
|
362
|
-
- Proper un-registration of local event subscriptions on a proxy instance
|
|
363
|
-
through `off` or `removeListener` function [Node.js]
|
|
364
|
-
- Missing `await` statement in `delete()` method of `VrpcRemote` leading to
|
|
365
|
-
race condition [Node.js]
|
|
366
|
-
- using `removeListener` instead of `off` for event un-subscription to support
|
|
367
|
-
older version of Node.js [Node.js]
|
|
368
|
-
|
|
369
|
-
## [2.1.2] - 26 May 2020
|
|
370
|
-
|
|
371
|
-
### Fixed
|
|
372
|
-
|
|
373
|
-
- Issues with `VrpcRemote::getInstance` ignoring defaults or throwing wrong
|
|
374
|
-
exceptions [Node.js]
|
|
375
|
-
|
|
376
|
-
### Added
|
|
377
|
-
|
|
378
|
-
- Initial example code for a minimal Todos Application using react-vrpc
|
|
379
|
-
|
|
380
|
-
## [2.1.1] - 4 Apr 2020
|
|
381
|
-
|
|
382
|
-
### Fixed
|
|
383
|
-
|
|
384
|
-
- Compilation error of addon.cpp whe using V8 12.x (solves GH-5) [C++]
|
|
385
|
-
- Unhandled error propagation of `VrpcRemote::#error` event when no handler is
|
|
386
|
-
subscribed [Node.js]
|
|
387
|
-
- Immediate failure of `VrpcRemote::connect` function when MQTT connection takes
|
|
388
|
-
time [Node.js]
|
|
389
|
-
- Wrong RPC timeouts when agent is online only after the
|
|
390
|
-
client call (but still within `timeout` time) [Node.js]
|
|
391
|
-
- Loss of messages and re-subscription issues while `VrpcAgent` re-connects
|
|
392
|
-
- Agent is using a persisted session while being online
|
|
393
|
-
|
|
394
|
-
### Added
|
|
395
|
-
|
|
396
|
-
- Node 12.x as additional travis test platform
|
|
397
|
-
- Performance test (not part of CI)
|
|
398
|
-
|
|
399
|
-
## [2.1.0] - 25 Mar 2020
|
|
400
|
-
|
|
401
|
-
### Fixed
|
|
402
|
-
|
|
403
|
-
- Possible exception when using deprecated form of `VrpcRemote::getInstance`
|
|
404
|
-
[Node.js]
|
|
405
|
-
|
|
406
|
-
## [2.1.0-alpha.8] - 19 Mar 2020
|
|
407
|
-
|
|
408
|
-
### Fixed
|
|
409
|
-
|
|
410
|
-
- Spuriously occurring RPC timeouts on calls that actually successfully
|
|
411
|
-
travelled the network by removing the promise-based waiting from all mqtt
|
|
412
|
-
pub/sub calls. Turns out that those callbacks may come later then event
|
|
413
|
-
RPC answer! [Node.js]
|
|
414
|
-
|
|
415
|
-
### Added
|
|
416
|
-
|
|
417
|
-
- Option `noWait` on `VrpcRemote::getInstance` skipping any waiting for the
|
|
418
|
-
instance to appear if not currently found in the local cache. [Node.js]
|
|
419
|
-
|
|
420
|
-
## [2.1.0-alpha.7] - 13 Mar 2020
|
|
421
|
-
|
|
422
|
-
### Changed
|
|
423
|
-
|
|
424
|
-
- `VrpcRemote::getInstance` will try first locally, second remotely to find
|
|
425
|
-
the instance (exception is thrown after timeout) [Node.js]
|
|
426
|
-
|
|
427
|
-
### Fixed
|
|
428
|
-
|
|
429
|
-
- VrpcAgent: unregistration of named instances [Node.js]
|
|
430
|
-
- VrpcAgent: ordering of classInfo message w.r.t. named creation [Node.js]
|
|
431
|
-
|
|
432
|
-
## [2.1.0-alpha.6] - 12 Mar 2020
|
|
433
|
-
|
|
434
|
-
### Changed
|
|
435
|
-
|
|
436
|
-
- handling of agent answer implementation (always using single promise) [Node.js]
|
|
437
|
-
- improved error message on timed out functions [Node.js]
|
|
438
|
-
- triggering a deprecation notice upon calling `VrpcRemote::connected()` [Node.js]
|
|
439
|
-
- naming of info messages:
|
|
440
|
-
- `__agentInfo__`
|
|
441
|
-
- `__classInfo__`
|
|
442
|
-
- `__clientInfo__`
|
|
443
|
-
|
|
444
|
-
### Removed
|
|
445
|
-
|
|
446
|
-
- implicit triggering of MQTT connection within VrpcRemote constructor [Node.js]
|
|
447
|
-
- waiting for retained info messages during connect [Node.js]
|
|
448
|
-
|
|
449
|
-
### Added
|
|
450
|
-
|
|
451
|
-
- explicit `VrpcRemote::connect()` function, performing the MQTT connect [Node.js]
|
|
452
|
-
- 'error' and 'connect' event for `VrpcRemote` [Node.js]
|
|
453
|
-
|
|
454
|
-
### Fixed
|
|
455
|
-
|
|
456
|
-
- ambiguity between classInfo and clientInfo message subscription
|
|
457
|
-
- documentation
|
|
458
|
-
|
|
459
|
-
## [2.1.0-alpha.5] - 26 Feb 2020
|
|
460
|
-
|
|
461
|
-
### Changed
|
|
462
|
-
|
|
463
|
-
- got rid of the requirement to await twice for asynchronous agent functions
|
|
464
|
-
[Node.js]
|
|
465
|
-
|
|
466
|
-
### Added
|
|
467
|
-
|
|
468
|
-
- two events on VrpcRemote: `instanceNew` and `instanceGone` [Node.js]
|
|
469
|
-
|
|
470
|
-
## [2.1.0-alpha.4] - 25 Feb 2020
|
|
471
|
-
|
|
472
|
-
### Changed
|
|
473
|
-
|
|
474
|
-
- API for `VrpcRemote::getInstance` and `VrpcRemote::delete` [Node.js]
|
|
475
|
-
- provisioning of instanceId only is acceptable now, explicit context is
|
|
476
|
-
optional.
|
|
477
|
-
- old API usage is still supported, but generates a deprecation report
|
|
478
|
-
- automatic schema validation now injects schema defaults [Node.js]
|
|
479
|
-
|
|
480
|
-
### Fixed
|
|
481
|
-
|
|
482
|
-
- missing topic un-subscription after client death [Node.js]
|
|
483
|
-
|
|
484
|
-
## [2.1.0-alpha.3] - 20 Feb 2020
|
|
485
|
-
|
|
486
|
-
### Changed
|
|
487
|
-
|
|
488
|
-
- shortened MQTT keepalive interval (now 30s) to play nice with websocket timeouts
|
|
489
|
-
- validity year for all licence statements
|
|
490
|
-
|
|
491
|
-
## [2.1.0-alpha.2] - 20 Feb 2020
|
|
492
|
-
|
|
493
|
-
### Fixed
|
|
494
|
-
|
|
495
|
-
- failures on un-serializable return values
|
|
496
|
-
|
|
497
|
-
### Changed
|
|
498
|
-
|
|
499
|
-
- asynchronous timeout implementation on VrpcRemote
|
|
500
|
-
|
|
501
|
-
## [2.1.0-alpha.1] - 19 Feb 2020
|
|
502
|
-
|
|
503
|
-
### Changed
|
|
504
|
-
|
|
505
|
-
- topic structure of info messages
|
|
506
|
-
- Agent Info: `<domain>/<agent>/__info__`
|
|
507
|
-
- Class Info: `<domain>/<agent>/<class>/__info__`
|
|
508
|
-
- Client Info: `<domain>/<host>/<random>/__info__`
|
|
509
|
-
- renamed `targetId` to `context`
|
|
510
|
-
|
|
511
|
-
### Added
|
|
512
|
-
|
|
513
|
-
**NodeJs: VrpcRemote**
|
|
514
|
-
|
|
515
|
-
- possibility to hand-over custom log-object
|
|
516
|
-
- handler for mqtt errors resulting in error log messages
|
|
517
|
-
- log notification in case of non-permitted sub/pubs
|
|
518
|
-
|
|
519
|
-
**NodeJs: VrpcAgent, VrpcAdapter**
|
|
520
|
-
|
|
521
|
-
- Automatic un-subscription of event-listeners belonging to dead clients
|
|
522
|
-
- log notification in case of non-permitted sub/pubs
|
|
523
|
-
|
|
524
|
-
### Fixed
|
|
525
|
-
|
|
526
|
-
- proper waiting until all INFO messages arrived
|
|
527
|
-
- automatic un-subscription of dead-client events
|
|
528
|
-
|
|
529
|
-
## [2.1.0-alpha.0] - 11 Nov 2019
|
|
530
|
-
|
|
531
|
-
### Added
|
|
532
|
-
|
|
533
|
-
- implemented proper deletion of named and un-named instances for node.js
|
|
534
|
-
- a new PRC message, indicating end of proxy
|
|
535
|
-
- events for `VrpcRemote` indicating changes of remote agents or classes
|
|
536
|
-
- initial set of javadoc-style public function documentation
|
|
537
|
-
- full adapter interface to c++ implementation
|
|
538
|
-
|
|
539
|
-
### Fixed
|
|
540
|
-
|
|
541
|
-
- improper asynchronicity of `serve` method in `VrpcAgent`
|
|
542
|
-
- broken event handling using `on` when used on several named instance proxies
|
|
543
|
-
|
|
544
|
-
### Changed
|
|
545
|
-
|
|
546
|
-
- property `class` to `className` in class info RPC message
|
|
547
|
-
- renamed `callRemote` to `call` in `VrpcAdapter.js` and `addon.cpp`
|
|
548
|
-
- made several functions public in VrpcAdapter for usage as local factory
|
|
549
|
-
- adapted public interface of VrpcLocal to be in sync with VrpcRemote
|
|
550
|
-
|
|
551
|
-
### Removed
|
|
552
|
-
|
|
553
|
-
- special function `__deleteNamed__`, turned out that `__delete__` suffices
|
|
554
|
-
|
|
555
|
-
## [2.0.3] - 04 Oct 2019
|
|
556
|
-
|
|
557
|
-
### Fixed
|
|
558
|
-
|
|
559
|
-
- missing instances when calling `VrpcRemote.getAvailableInstances()`
|
|
560
|
-
|
|
561
|
-
## [2.0.2] - 03 Oct 2019
|
|
562
|
-
|
|
563
|
-
### Fixed
|
|
564
|
-
|
|
565
|
-
- missing promise support on static functions (GH-2)
|
|
566
|
-
- proper association for multiple C++ instances of same class
|
|
567
|
-
|
|
568
|
-
### Added
|
|
569
|
-
|
|
570
|
-
- improved possibility to retrieve availabilities in `VrpcRemote.js`
|
|
571
|
-
|
|
572
|
-
## [2.0.1] - 22 Jun 2019
|
|
573
|
-
|
|
574
|
-
### Fixed
|
|
575
|
-
|
|
576
|
-
- a bug regarding C++ iterator usage (compile issue on windows)
|
|
577
|
-
|
|
578
|
-
### Changed
|
|
579
|
-
|
|
580
|
-
- wrong function calls (including incorrect signature) lead to RPC error instead
|
|
581
|
-
of runtime exception in C++
|
|
582
|
-
|
|
583
|
-
## [2.0.0] - 15 Jun 2019
|
|
584
|
-
|
|
585
|
-
### Added
|
|
586
|
-
|
|
587
|
-
- `docs` folder with examples for Node.js, C++ and Python bindings
|
|
588
|
-
- static `fromCommandline` function to VrpcAgent.js
|
|
589
|
-
- support to remotely use event-emitters provided by Node.js agents
|
|
590
|
-
- documentation about rpc call details
|
|
591
|
-
|
|
592
|
-
### Fixed
|
|
593
|
-
|
|
594
|
-
- a bug while remotely registering async functions as direct callbacks
|
|
595
|
-
- sending multiple agent-info messages if several classes were registered
|
|
596
|
-
- incorrect internal correlationId in node.js remote-proxy
|
|
597
|
-
|
|
598
|
-
## [2.0.0-alpha.8] - 12 May 2019
|
|
599
|
-
|
|
600
|
-
### Added
|
|
601
|
-
|
|
602
|
-
- New npm run script: build - Triggers building of addons needed for testing,
|
|
603
|
-
examples and dynamic loading feature
|
|
604
|
-
- `catch.hpp` header to third_party, simplifying installation and build
|
|
605
|
-
- Configurable timeout (default 5s) to rpc function calls
|
|
606
|
-
- Retained agent status (`<domain>/<agent>/__agent__/__static__/__info__`)
|
|
607
|
-
published as retained message, indicating offline/online status and hostname
|
|
608
|
-
|
|
609
|
-
### Changed
|
|
610
|
-
|
|
611
|
-
- Default broker for tests is now vrpc.io itself and uses tls secured mqtt
|
|
612
|
-
- Currently the validity of the server certificate will be trusted
|
|
613
|
-
- Removed the need of automatically building native add-on during vrpc installation
|
|
614
|
-
|
|
615
|
-
## [2.0.0-alpha.7] - 01 Apr 2019
|
|
616
|
-
|
|
617
|
-
### Fixed
|
|
618
|
-
|
|
619
|
-
- Protecting yet another linux-only piece of code from windows compiler
|
|
620
|
-
|
|
621
|
-
## [2.0.0-alpha.6] - 01 Apr 2019
|
|
622
|
-
|
|
623
|
-
### Fixed
|
|
624
|
-
|
|
625
|
-
- Protected dlfcn.h header from being compiled by windows
|
|
626
|
-
- Callback multiplication upon re-registering with same event name
|
|
627
|
-
|
|
628
|
-
## [2.0.0-alpha.5] - 17 Mar 2019
|
|
629
|
-
|
|
630
|
-
### Added
|
|
631
|
-
|
|
632
|
-
- Token based login for node.js agent
|
|
633
|
-
- Additional API functions allowing to query available agents, classes, methods
|
|
634
|
-
- Possibility to create named instances usable by multiple proxies
|
|
635
|
-
|
|
636
|
-
### Fixed
|
|
637
|
-
|
|
638
|
-
- Asynchronous exceptions where not caught on remote proxy (await await - style)
|
|
639
|
-
- Session cleaning for re-login on node.js proxy
|
|
640
|
-
- Proper promise based await of client disconnect in case of VrpcRemote reconnect
|
|
641
|
-
|
|
642
|
-
### Changed
|
|
643
|
-
|
|
644
|
-
- The API of VrpcRemote to take a objects instead of multiple args
|
|
645
|
-
- Updated version of Modern JSON lib to 3.5.0
|
|
646
|
-
- Changed namespace and macro names from nlohmann to vrpc
|
|
647
|
-
- Adapted corresponding examples, tests and documentation
|
|
648
|
-
- Renamed all topicPrefix to domain
|
|
649
|
-
- Commandline options of vrpc-agent-js and default settings
|
|
650
|
-
|
|
651
|
-
## [2.0.0-alpha.4] - 02 Jan 2019
|
|
652
|
-
|
|
653
|
-
### Fixed
|
|
654
|
-
|
|
655
|
-
- Exchanged md4 with md5 hashing fixing missing browser support
|
|
656
|
-
|
|
657
|
-
## [2.0.0-alpha.3] - 01 Jan 2019
|
|
658
|
-
|
|
659
|
-
### Changed
|
|
660
|
-
|
|
661
|
-
- Adapter and Proxy can now use username and password for MQTT authentication
|
|
662
|
-
- ClientIDs are not longer random generated but explicitly set
|
|
663
|
-
- Added **static** keyword to wire protocol as placeholder for the instance
|
|
664
|
-
position in case of static function
|
|
665
|
-
- Updated README to reflect latest documentation
|
|
666
|
-
|
|
667
|
-
### Fixed
|
|
668
|
-
|
|
669
|
-
- Bug that led to ambiguity given different agents serving same class names
|
|
670
|
-
|
|
671
|
-
## [2.0.0-alpha.2] - 02 Jul 2018
|
|
672
|
-
|
|
673
|
-
### Changed
|
|
674
|
-
|
|
675
|
-
- module.exports in index.js to also support VrpcAdapter
|
|
676
|
-
|
|
677
|
-
## [2.0.0-alpha.1] - 02 Jul 2018
|
|
678
|
-
|
|
679
|
-
### Changed
|
|
680
|
-
|
|
681
|
-
- module.exports in index.js to also support VrpcRemote
|
|
682
|
-
|
|
683
|
-
## [2.0.0-alpha.0] - 02 Jul 2018
|
|
684
|
-
|
|
685
|
-
### Added
|
|
686
|
-
|
|
687
|
-
- VrpcAgent for node.js
|
|
688
|
-
- VrpcRemote for node.js
|
|
689
|
-
- Corresponding tests involving MQTT
|
|
690
|
-
- Corresponding dependencies
|
|
691
|
-
|
|
692
|
-
### Changed
|
|
693
|
-
|
|
694
|
-
- Rewrote `VrpcLocal.js` using classes
|
|
695
|
-
- Adapted tests to instantiate VrpcLocal with `new` keyword
|
|
696
|
-
- Removed VRPC_COMPILE_AS_ADDON and introduced VRPC_WITH_DL
|
|
697
|
-
- Removed previously deprecated `cpp` symbolic link
|
|
698
|
-
- Some details of the wire-protocol
|
|
699
|
-
- Renamed the argument identifiers from `a1`, `a2`... to `_1`, `_2`...
|
|
700
|
-
- Renamed `function` to `method`
|
|
701
|
-
- Renamed VrpcFactory to VrpcAdapter
|
|
702
|
-
- Renamed vrpc_local.py to VrpcLocal.py
|
|
703
|
-
|
|
704
|
-
## [1.1.7] - 31 Mar 2018
|
|
705
|
-
|
|
706
|
-
### Fixed
|
|
707
|
-
|
|
708
|
-
- Re-registration problem for emitter based callbacks resulting in multiplied callbacks
|
|
709
|
-
|
|
710
|
-
## [1.1.6] - 31 Mar 2018
|
|
711
|
-
|
|
712
|
-
- Nothing changed, this tag is identical to 1.1.5 for a technical issue during
|
|
713
|
-
publishing
|
|
714
|
-
|
|
715
|
-
## [1.1.5] - 14 Jun 2018
|
|
716
|
-
|
|
717
|
-
### Changed
|
|
718
|
-
|
|
719
|
-
- Increased maximum number of inflight ("open") callbacks
|
|
720
|
-
- Updated dependent packages
|
|
721
|
-
|
|
722
|
-
## [1.1.4] - 04 Jun 2018
|
|
723
|
-
|
|
724
|
-
### Added
|
|
725
|
-
|
|
726
|
-
- Low-level addon tests
|
|
727
|
-
|
|
728
|
-
### Changed
|
|
729
|
-
|
|
730
|
-
- vrpc's callCpp function to throw runtime exception in case of issues
|
|
731
|
-
- DRYed addon.cpp, improved string conversions and exception text
|
|
732
|
-
|
|
733
|
-
### Fixed
|
|
734
|
-
|
|
735
|
-
- Dev-Ops issue if installing twice (`cpp` soft-link is now forced)
|
|
736
|
-
|
|
737
|
-
## [1.1.3] - 01 Jun 2018
|
|
738
|
-
|
|
739
|
-
### Changed
|
|
740
|
-
|
|
741
|
-
- Updated dependencies
|
|
742
|
-
- Improved documentation
|
|
743
|
-
|
|
744
|
-
### Fixed
|
|
745
|
-
|
|
746
|
-
- Potential memory corruption if provided with non-null terminated strings
|
|
747
|
-
- Missing `inline` keyword on `get_signature` overload
|
|
748
|
-
|
|
749
|
-
## [1.1.2] - 01 Apr 2018
|
|
750
|
-
|
|
751
|
-
### Fixed
|
|
752
|
-
|
|
753
|
-
- Link to python example project in `README.md`
|
|
754
|
-
- Wrong path in `index.js`
|
|
755
|
-
|
|
756
|
-
## [1.1.1] - 01 Apr 2018
|
|
757
|
-
|
|
758
|
-
### Fixed
|
|
759
|
-
|
|
760
|
-
- Forgotten CHANGELOG.md file
|
|
761
|
-
|
|
762
|
-
## [1.1.0] - 01 Apr 2018
|
|
763
|
-
|
|
764
|
-
### Added
|
|
765
|
-
|
|
766
|
-
- This CHANGELOG.md file
|
|
767
|
-
- pandoc generated REAMDE.rst file
|
|
768
|
-
|
|
769
|
-
### Changed
|
|
770
|
-
|
|
771
|
-
- Renamed source folder `cpp` into `vrpc`, needed to please python's setup tools
|
|
772
|
-
- Moved all non-test code into the new `vrpc` folder
|
|
773
|
-
- Adapted all paths involving the old `cpp` folder
|
|
774
|
-
- Adapted the `binding.gyp` template in `README.md`
|
|
775
|
-
- Keeping backwards compatibility by generating `cpp` symbolic link
|
|
776
|
-
- Renamed environmental `BUILD_TESTS` to `BUILD_TEST` (has no external effect)
|
|
777
|
-
- Made building of python native extension conditional
|
|
778
|
-
using `BUILD_TEST` and `BUILD_EXAMPLE`. This was needed to provide vrpc as
|
|
779
|
-
pure python wheel.
|
|
780
|
-
|
|
781
|
-
### Fixed
|
|
782
|
-
|
|
783
|
-
- Python proxy constructor to be callable with variadic arguments
|
|
784
|
-
- Syntactic problems in `REAMDE.md` leading to mistakes in auto rst translation
|
|
785
|
-
|
|
786
|
-
## [1.0.2] - 16 Mar 2018
|
|
787
|
-
|
|
788
|
-
### Changed
|
|
789
|
-
|
|
790
|
-
- Link address to the C++ json library in `README.md`
|
|
791
|
-
|
|
792
|
-
### Removed
|
|
793
|
-
|
|
794
|
-
- Unnecessary npm-dependency `shortid`
|
|
795
|
-
|
|
796
|
-
## [1.0.1] - 14 Mar 2018
|
|
797
|
-
|
|
798
|
-
### Added
|
|
799
|
-
|
|
800
|
-
- Link to nodejs project example in `README.md`
|
|
801
|
-
|
|
802
|
-
### Fixed
|
|
803
|
-
|
|
804
|
-
- Typo and missing brace in `README.md`
|
|
805
|
-
|
|
806
|
-
## [1.0.0] - 14 Mar 2018
|
|
807
|
-
|
|
808
|
-
First public release
|