@signageos/lib 13.2.4-master.2564 → 14.0.0-master.2601

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.
Files changed (2) hide show
  1. package/package.json +8 -8
  2. package/CHANGELOG.md +0 -731
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signageos/lib",
3
- "version": "13.2.4-master.2564",
3
+ "version": "14.0.0-master.2601",
4
4
  "main": "./dist",
5
5
  "files": [
6
6
  "tools",
@@ -46,8 +46,8 @@
46
46
  "pg": "7.12.1",
47
47
  "pg-promise": "^10.11.0",
48
48
  "redis": "^3.1.2",
49
- "mongoose": "^5.9.16",
50
- "mongodb": "3.3.3",
49
+ "mongoose": "^8.0.0",
50
+ "mongodb": "6.2.0",
51
51
  "raven": "2.6.4",
52
52
  "sinon": "15.2.0",
53
53
  "webpack": "4.41.2",
@@ -55,8 +55,8 @@
55
55
  "zen-observable": "0.8.14"
56
56
  },
57
57
  "engines": {
58
- "node": "14",
59
- "npm": "6"
58
+ "node": "20",
59
+ "npm": ">=10"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@faker-js/faker": "8.3.1",
@@ -94,8 +94,8 @@
94
94
  "debug": "4.3.4",
95
95
  "depcheck": "1.4.7",
96
96
  "mocha": "10.2.0",
97
- "mongodb": "5.9.1",
98
- "mongoose": "7.6.6",
97
+ "mongodb": "6.2.0",
98
+ "mongoose": "8.0.0",
99
99
  "npm": "8.19.4",
100
100
  "pg": "7.12.1",
101
101
  "pg-promise": "10.11.0",
@@ -108,7 +108,7 @@
108
108
  "socket.io": "2.5.0",
109
109
  "socket.io-client": "4.7.2",
110
110
  "supertest": "3.4.2",
111
- "ts-node": "8.4.1",
111
+ "ts-node": "10.9.2",
112
112
  "tslint": "6.1.2",
113
113
  "typescript": "4.9.4",
114
114
  "verdaccio": "5.26.3",
package/CHANGELOG.md DELETED
@@ -1,731 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
- and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
-
7
- ## [13.2.3] - 2023-12-20
8
- ### Fixed
9
- - `parseBasicConfig` for webpack bundler
10
-
11
- ## [13.2.2] - 2023-12-20
12
- ### Fixed
13
- - Missing node-fetch dependency when calling `downloadFile`
14
-
15
- ## [13.2.1] - 2023-12-20
16
- ### Fixed
17
- - Don't rely on env var `npm_package_name` when parsing config
18
-
19
- ## [13.2.0] - 2023-12-19
20
- ### Added
21
- - Export types that represent return types of functions `parseBasicConfig` and `parseServiceConfig` for convenience
22
- - `createTmpDirectory`
23
- - `downloadFile`
24
- - Auth0AuthenticationClient
25
-
26
- ## [13.1.1] - 2023-12-11
27
- ### Fixed
28
- - `sentry_enabled` will also be defined as boolean, when parsing basic params from env
29
-
30
- ## [13.1.0] - 2023-12-07
31
- ### Added
32
- - Upgraded to redis 3
33
-
34
- ### Security
35
- - CVE-2021-29469
36
-
37
- ## [13.0.2] - 2023-12-06
38
- ### Fixed
39
- - Support `proprietaryCluster` options in latest mongoose version
40
-
41
- ## [13.0.0] - 2023-12-05
42
- ### Changed
43
- - Upgraded to Node.js 14
44
- - Upgraded mongodb driver to 5.9.1
45
- - Upgraded mongoose to 7.6.6
46
-
47
- ### Fixed
48
- - Upgraded auth0 to 3.7.2
49
- - Upgraded moment-timezone to 0.5.43
50
- - Upgraded debug to 4.3.4
51
-
52
- ## [12.6.0] - 2023-11-21
53
- ### Added
54
- - Auth0ManagementClient
55
-
56
- ### Fixed
57
- - Upgraded Zod library because of faulty email validation
58
- - Enable to log errors in `retryAsyncUntil` function
59
-
60
- ## [12.5.0] - 2023-10-26
61
- ### Added
62
- - Schemas `intSchema` and `boolSchema` for parsing primitive types boolean and integer from env vars
63
-
64
- ## [12.4.0] - 2023-10-25
65
- ### Added
66
- - NpmClient `downloadPackage` returns path to the downloaded package tarball
67
- - NpmClient `downloadPackage` argument `version` is optional and defaults to `latest`
68
- - MockNpmClient for testing purposes
69
-
70
- ## [12.3.2] - 2023-10-25
71
- ### Fixed
72
- - Add `castEnum` utility
73
- - Add `ShortWeekday` and `LongWeekday` union counterparts to `ShortWeekdayEnum` and `LongWeekdayEnum`
74
-
75
- ## [12.3.1] - 2023-10-24
76
- ### Fixed
77
- - Fix NpmPackPlugin with webpack4
78
-
79
- ## [12.3.0] - 2023-10-18
80
- ### Added
81
- - Convenience functions `parseBasicConfig` and `parseServiceConfig` for parsing common configuration from environment variables
82
- - Add getTimerEventsFromShortWeekday, getLastTimerEvent
83
- - Add timerType to ITimerEvent
84
- - Add convertWeekday util
85
-
86
- ### Fix
87
- - Deprecate shouldBeOnByTimers, TimerWeekday, ShortWeekday, LongWeekdayEnum, ILongWeekdayTimer, ILegacyTimer
88
-
89
- ## [12.2.0] - 2023-10-13
90
- ### Added
91
- - Next timer event computing
92
- - NPM client library
93
-
94
- ## [12.1.2] - 2023-09-21
95
- ### Fixed
96
- - `retryAsyncUntil` function. It should wait in each recursion call if the callback promise is resolved successfully but the predicate is not met.
97
-
98
- ## [12.1.1] - 2023-09-14
99
- ### Fixed
100
- - Service factory doesn't require uid
101
-
102
- ## [12.1.0] - 2023-09-14
103
- ### Added
104
- - AmqpEventConsumer - high level abstraction for consuming events from AMQP with a simple interface
105
- - InMemoryEventConsumer - easy to use in-memory event consumer for testing purposes
106
-
107
- ## [12.0.0] - 2023-09-12
108
- ### Changed
109
- - Webpack Major version upgrade to 5 (for NpmPackPlugin)
110
-
111
- ## [11.2.1] - 2023-08-25
112
- ### Fixed
113
- - Replace unnecessary Faker lib from prod dependencies and refactor its usage
114
-
115
- ## [11.2.0] - 2023-08-23
116
- ### Added
117
- - Service factory allows providing a custom readiness callback
118
-
119
- ### Fixed
120
- - Prevent `retryAsyncUntil` function from stuck in an infinite loop if a predicate is not met
121
- - Move express and http-status to prod dependencies because service factory depends on them
122
-
123
- ## [11.1.0] - 2023-08-17
124
- ### Added
125
- - Removed obsolete actions log queue that nobody is using anymore
126
- - Option to pick queue type in deviceActionsQueue for actions from device
127
- - AMQP connection emits events "connection_open" and "connection_closed"
128
-
129
- ## [11.0.0] - 2023-08-17
130
- ### Changed
131
- - Send device and action logs to an exchange instead of directly to queue
132
-
133
- ## [10.23.0] - 2023-08-16
134
- ### Added
135
- - Common reusable implementation of a service
136
- - Methods for getting current and next timeout of the progressiveWait function
137
- - Timeoutable promise helper
138
- - Option to specify custom prefetchCount when binding commands from command queue
139
-
140
- ## [10.22.0] - 2023-08-09
141
- ### Added
142
- - `nonConcurrentInterval`
143
-
144
- ## [10.21.1] - 2023-08-07
145
- ### Fixed
146
- - Function `retryAsyncUntil` is counting down for predicate callback
147
-
148
- ## [10.21.0] - 2023-08-02
149
- ### Added
150
- - New function `withTimeout`
151
- - `path` property into Server Socket interface
152
-
153
- ## [10.20.0] - 2023-08-01
154
- ### Added
155
- - `getEnumFromString` helper
156
- - New retry functions `retryAsync` and `retryAsyncUntil`
157
-
158
- ## [10.19.2] - 2023-05-29
159
- ### Fixed
160
- - Updated common types package - new Feature Flags
161
-
162
- ## [10.19.1] - 2023-05-29
163
- ### Fixed
164
- - Updated common types package - new Feature Flags
165
-
166
- ## [10.19.0] - 2023-05-25
167
- ### Added
168
- - New extension pack of typescript type: `NullableFromPartial`
169
-
170
- ## [10.18.1] - 2023-05-23
171
- ### Security
172
- - Fixed potential NPM vulnerabilities
173
-
174
- ## [10.18.0] - 2023-05-23
175
- ### Added
176
- - Debug decorator logs invocation uid for each log so that similar logs can be correlated in a large log output
177
- - Debug decorator can optionally log duration of the method call
178
-
179
- ## [10.17.1] - 2023-05-16
180
- ### Fixed
181
- - `isDefinedForEnvironment` naming convention
182
-
183
- ## [10.17.0] - 2023-05-16
184
- ### Added
185
- - Test coverage tool `c8`
186
- - `isDefinedForEnvironment` check function
187
-
188
- ## [10.16.0] - 2023-04-26
189
- ### Added
190
- - Option to globally switch debugDecorator to serialize logged method arguments so that the entire log fits in one line
191
- - Methods for getting current and next timeout of the `progressiveWait` function
192
-
193
- ### Fixed
194
- - `waitUntil` function enhancement
195
-
196
- ## [10.15.0] - 2023-04-12
197
- ### Added
198
- - `formatZodError` and `formatIfZodError` of `Zod/zodError.ts` helper
199
-
200
- ### Deprecated
201
- - `formatZodErrorMessage` of `Zod/zod.ts` moved to `Zod/zodError.ts`
202
-
203
- ## [10.14.2] - 2023-04-06
204
- ### Fixed
205
- - Power Timer logic accepts any number of timers with type in `TIMER_${number}` format
206
-
207
- ## [10.14.1] - 2023-03-31
208
- ### Fixed
209
- - `locked` decorator works in Node 6 >=
210
-
211
- ## [10.14.0] - 2023-03-31
212
- ### Added
213
- - `wait` returns cancelable promise
214
-
215
- ## [10.13.0] - 2023-03-28
216
- ### Added
217
- - Better ZodError message formatting
218
-
219
- ## [10.12.0] - 2023-03-02
220
- ### Added
221
- - `headers` field to current socket object
222
-
223
- ## [10.11.0] - 2023-02-24
224
- ### Added
225
- - `parseBoolean` function
226
-
227
- ## [10.10.0] - 2023-01-31
228
- ### Added
229
- - AMQP consume options has `noAck` option
230
-
231
- ## [10.9.0] - 2023-01-25
232
- ### Added
233
- - Zod utils
234
- - String utils
235
-
236
- ### Fixed
237
- - Restricted node and npm versions to `12` and `6` respectively
238
-
239
- ## [10.8.0] - 2023-01-23
240
- ### Added
241
- - `deviceActionsQueue` wait for response from device only when not specified `sessionUid`
242
- - `memoryCache` function wrapper for caching function results in memory
243
-
244
- ## [10.7.1] - 2023-01-19
245
- ### Fixed
246
- - Too much pending tasks in AMQP logic
247
- - Count prefetch for deviceActionsQueue increased to 500
248
-
249
- ## [10.7.0] - 2023-01-13
250
- ### Added
251
- - Zod error helper
252
-
253
- ## [10.6.0] - 2022-11-28
254
- ### Added
255
- - Custom error message in function `rejectAfterTimeout`
256
- - (internal) TS targets are both `ES6` and `ES5`
257
-
258
- ## [10.5.0] - 2022-11-04
259
- ### Added
260
- - Prometheus `/metrics` scraping endpoint
261
-
262
- ## [10.4.2] - 2022-10-31
263
- ### Fixed
264
- - check-deps script missing expectRanges in `.check-depsrc.json` config
265
-
266
- ## [10.4.1] - 2022-10-27
267
- ### Fixed
268
- - Set default value for `onExit` callback in `GenericGracefulExit` class
269
-
270
- ## [10.4.0] - 2022-10-24
271
- ### Added
272
- - Class decorator that facilitate debugging of all methods of the class
273
- - Word string helper with capitalize, uncapitalize, pascal and camel case conversions.
274
- - Tool `check-deps` can check expected range of versions instead of just exact match.
275
-
276
- ## [10.3.0] - 2022-10-12
277
- ### Added
278
- - Hostname (domain) field to current socket object
279
-
280
- ### Fixed
281
- - Tool `version-upgrade` new works properly event for `package-lock.json` files with new Node 16 format.
282
-
283
- ## [10.2.1] - 2022-09-02
284
- ### Fixed
285
- - Password encryption limitation for `preEncryptPassword` result only
286
-
287
- ## [10.2.0] - 2022-07-22
288
- ### Added
289
- - New `proprietaryServerSelectionStrategy` named `dynamicPriority`. It selects available server based on the priority (located in `proprietaryPriorityPath`, by default `proprietaryClusterSettings.priority` /`collection`=`proprietaryClusterSettings`, `property`=`priority`/ ).
290
-
291
- ## [10.1.0] - 2022-07-18
292
- ### Added
293
- - check-deps tool ignore file `.check-depsignore`
294
-
295
- ## [10.0.0] - 2022-06-28
296
- ### Changed
297
- - AMQP event queue `bindRejectedDetached` and `prepareRejectedDetached` accepts new options for automatic redelivering of rejected messages
298
- - AMQP event queue `bindRejectedMany` and `prepareRejectedMany` accepts new options for automatic redelivering of rejected messages
299
-
300
- ## [9.4.1] - 2022-06-22
301
- ### Fixed
302
- - `moment-timezone` version sync with other repositories
303
-
304
- ## [9.4.0] - 2022-06-01
305
- ### Added
306
- - WebSocket server emits custom codes and reasons in special cases when the socket is closed from the server side for better debugging
307
-
308
- ## [9.3.1] - 2022-05-31
309
- ### Fixed
310
- - Lowered prefetch for action logs
311
- - Lowered prefetch for device logs
312
-
313
- ## [9.3.0] - 2022-05-30
314
- ### Added
315
- - Device logs
316
-
317
- ## [9.2.0] - 2022-04-13
318
- ### Added
319
- - Add `getFileExtension` function
320
-
321
- ## [9.1.0] - 2022-03-07
322
- ### Added
323
- - `onExit` callback in constructor is not mandatory in connection factories
324
- - optional timeout argument for InfluxDB `connect` method
325
- - Binding of rejected detached events of ES
326
-
327
- ## [9.0.0] - 2022-02-18
328
- ### Changed
329
- - Connection factories require `onExit` callback in constructor
330
-
331
- ### Fixed
332
- - Fix `getObjectWithOmittedValuesBy`
333
-
334
- ## [8.4.0] - 2022-02-07
335
- ### Added
336
- - Object util getObjectKeys. Which is typed version of the object keys
337
-
338
- ## [8.3.0] - 2022-01-31
339
- ### Added
340
- - Add object utils omitByRecursively and getObjectWithOmittedValuesBy
341
-
342
- ### Fixed
343
- - Allow white spaces in changelog change types
344
-
345
- ## [8.2.0] - 2022-01-24
346
- ### Added
347
- - Redis connection factory creates even connection pool
348
- - Function isValidTimestamp for validating UNIX timestamp
349
- - Function getDateTimeWithoutOffset gets date time without offset
350
-
351
- ## [8.1.1] - 2021-12-10
352
- ### Fixed
353
- - MongodD proprietary cluster `ordinary` connection strategy.
354
-
355
- ## [8.1.0] - 2021-11-17
356
- ### Added
357
- - redis connection factory supports graceful exit after connection error
358
- - mongo connection factory supports graceful exit after connection error
359
- - amqp connection factory supports graceful exit after connection error
360
- - postgres connection factory supports graceful exit after connection error
361
- - locked decoration can be instances scoped & this argument can be used in key callback
362
-
363
- ### Fixed
364
- - AMQP channel provider will not be blocked by other connection instances
365
-
366
- ## [8.0.0] - 2021-10-25
367
- ### Changed
368
- - Device actions from device can have more separated queues
369
-
370
- ## [7.0.1] - 2021-09-22
371
- ### Fixed
372
- - Commands can be non persistent
373
-
374
- ## [7.0.0] - 2021-09-08
375
- ### Changed
376
- - Rewrite of AMQP architecture of device actions to dramatically improve performance
377
-
378
- ### Fixed
379
- - AMQP won't send a RCP response if the consumer nacked the message
380
- - Closing connection to AMQP will not stuck forever
381
-
382
- ## [6.2.2] - 2021-08-30
383
- ### Fixed
384
- - Updated moment-timezone to the latest version
385
-
386
- ## [6.2.1] - 2021-08-27
387
- ### Fixed
388
- - Add missing path option prefix for socket.io server factory
389
-
390
- ## [6.2.0] - 2021-08-26
391
- ### Added
392
- - InfluxDB connection wrapper
393
-
394
- ## [6.1.3] - 2021-08-13
395
- ### Fixed
396
- - Added optional timestamp parameter to `sendFromDevice` function
397
- - Added optional timestamp parameter to `bindPlatform` function
398
-
399
- ## [6.1.2] - 2021-08-09
400
- ### Fixed
401
- - Binding queues when it has x-expires RabbitMQ flag set too short
402
- - Not autoDeleting queue immediately after device is disconnected (only expire queue)
403
- - AMQP retrying of subscription is done randomly from 0 - 10 seconds
404
-
405
- ## [6.1.1] - 2021-08-04
406
- ### Fixed
407
- - Race condition failures in AQMP channels & connections
408
- - Prevent channels borking when more consumers are trying to connect
409
- - Make device actions different sockets independent
410
-
411
- ## [6.1.0] - 2021-07-26
412
- ### Added
413
- - New option for mongodb proprietary cluster server selection strategy called `ordinary`
414
- - API for getting specific database number of redis connection
415
-
416
- ## [6.0.1] - 2021-06-25
417
- ### Fixed
418
- - Month end is calculated correctly
419
-
420
- ## [6.0.0] - 2021-06-21
421
- ### Changed
422
- - Event queues are a `quorum` queue type now instead of obsolete `classic` type.
423
-
424
- ## [5.3.0] - 2021-06-01
425
- ### Added
426
- - Observable helper function `flatten`
427
- - Redis connection infinite reconnecting
428
-
429
- ### Fixed
430
- - Redis connection close waits to disconnect
431
-
432
- ## [5.2.0] - 2021-04-21
433
- ### Added
434
- - Allow to iterate database cursors (only forward)
435
-
436
- ### Fixed
437
- - Correctly get date of the end of month
438
- - Validation of changelog for duplications
439
-
440
- ## [5.1.0] - 2021-03-10
441
- ### Fixed
442
- - Add missing prod dependencies (lodash)
443
- - DateTime stats logic in february times
444
-
445
- ### Added
446
- - New interfaces for power timer logic
447
-
448
- ### Deprecated
449
- - Old interfaces for power time logic
450
-
451
- ## [5.0.4] - 2021-01-29
452
- ### Fixed
453
- - Make sentry init lib isomorphic (support for browser)
454
-
455
- ## [5.0.2] - 2020-10-28
456
- ### Fixed
457
- - PowerTimerSettings can save null timerOn and timerOff values
458
-
459
- ## [5.0.1] - 2020-10-26
460
- ### Fixed
461
- - Optimize event queue synchronization messages to be non-persistent
462
-
463
- ## [5.0.0] - 2020-10-15
464
- ### Changed
465
- - Default number of iterations in token encryption function (currently 10000)
466
-
467
- ## [4.8.0] - 2020-10-12
468
- ### Added
469
- - Added function that enrich httpServer object with status methods
470
-
471
- ## [4.7.0] - 2020-10-09
472
- ### Added
473
- - Domain argument in rejected event queue fetching
474
- - Parametrize event queue binding with `suppressFirstError` & `redeliverDelayMs`
475
-
476
- ### Fixed
477
- - Memory leak in fetching rejected event queue
478
- - Loosing "many" & "rejected many" events when preparing them
479
-
480
- ## [4.6.1] - 2020-09-22
481
- ### Fixed
482
- - Fetching rejected events one-by-one without locking events in queue
483
-
484
- ## [4.6.0] - 2020-09-21
485
- ### Added
486
- - Enqueue events to specific queue name (not only consumer type)
487
- - Adjusting dead letter parameters for fetchNext events
488
- - Queue for rejected domain events
489
- - Optionally rejecting with requeue=false (dead lettering) simple consumption using special options flag `deadLetterIfRedeliveredAndErred`.
490
-
491
- ## [4.5.0] - 2020-09-18
492
- ### Added
493
- - Event queue function `bindMany` which consumes many specified event types but using the single queue with more bindings over events exchanges.
494
- - Event queue can be bound with `singleActiveConsumer` option.
495
- - Command successful process response contains `timestamp` property.
496
-
497
- ### Deprecated
498
- - Event queue function `bindMore`. Use new `bindMany` instead.
499
-
500
- ## [4.4.1] - 2020-09-15
501
- ### Fixed
502
- - Fixed changelog for proper version update
503
-
504
- ## [4.4.0] - 2020-09-15
505
- ### Added
506
- - Added functions for getting first/last days in month/year for statistics usage
507
-
508
- ## [4.3.0] - 2020-09-07
509
- ### Added
510
- - Event contains required secondaryIndex property and id is required as well
511
-
512
- ## [4.2.0] - 2020-09-03
513
- ### Added
514
- - Optionally enable websocket client checking that the connection is still alive
515
-
516
- ## [4.1.0] - 2020-08-31
517
- ### Added
518
- - events emitter helper to wait for either a success or fail event, resolve/reject the promise and cleanup the listeners
519
-
520
- ## [4.0.3] - 2020-08-21
521
- ### Fixed
522
- - wait synchronization in eventQueue has to be explicitly canceled & closed when used
523
- - Incorrect type of synchronization exchange made synchronization shared across multiple listeners
524
-
525
- ## [4.0.2] - 2020-08-19
526
- ### Fixed
527
- - Removing ununsed synchronization event queues (sometime it was kept existing unused in memory til consumer is disconnected)
528
-
529
- ## [4.0.1] - 2020-08-17
530
- ### Fixed
531
- - process command accepts second type parameters CommandError optionally
532
-
533
- ## [4.0.0] - 2020-08-13
534
- ### Fixed
535
- - Moved optional respond argument in amqp subscribe logic under standard consume options
536
-
537
- ### Changed
538
- - Simplify types of ICommand of CQRS
539
- - Require command id when creating or dispatching command to CQRS
540
-
541
- ### Added
542
- - New synchronization exchanges and queues for event sourcing
543
-
544
- ## [3.2.0] - 2020-07-27
545
- ### Added
546
- - New mongodb proprietary replica set strategy: lowReadLatency
547
-
548
- ## [3.1.5] - 2020-07-14
549
- ### Fixed
550
- - Brutal bug in device action queue when delivering postponable actions to device
551
-
552
- ## [3.1.4] - 2020-07-13
553
- ### Fixed
554
- - Another repeating (duplicating) messages when some postponable action type was bound in the past, but now it is not bound.
555
-
556
- ## [3.1.3] - 2020-07-13
557
- ### Fixed
558
- - Accidentally repeating (duplicating) messages in AMQP device actions queues when device is not reachable
559
-
560
- ## [3.1.2] - 2020-06-21
561
- ### Fixed
562
- - Fix version-upgrade tool if package-lock.json is not a part of project
563
-
564
- ## [3.1.1] - 2020-06-19
565
- ### Fixed
566
- - AMQP library: Prevent persistent device action queue failed actions to keep unacked when unexpected error happen
567
- - New optional tool with check deps (are exact and has no prerelease)
568
-
569
- ## [3.1.0] - 2020-06-09
570
- ### Added
571
- - AMQP library accepts proprietary autoDeleteDeadLetter
572
-
573
- ### Fixed
574
- - AMQP consume persistent option is renamed to autoDelete (internal API)
575
-
576
- ## [3.0.0] - 2020-06-05
577
- ### Added
578
- - Notifications support for events of AMQP ES
579
- - Added webalize function for converting strings into url safe strings
580
- - Options for socket autoreconnecting using progresive wait
581
-
582
- ### Fixed
583
- - Optimize action logs, storage commands and aggregated commands using not persistent messages
584
- - Added amqp eventSourcing fetchAll method to easily retrieve all events of given type
585
- - Possibly options for amqp generic-pool
586
- - Improve socket connections client/server
587
-
588
- ### Changed
589
- - Optimized events binding (compatibility break of exchnages usage)
590
- - RedisLock is now capable of using much shorter redis TTL with the same releaseTimeouts settings
591
- - Change underlying architecture of device action queue (now uses redis for persistency and amqp only for connected devices, not compatible with all amqp schema)
592
-
593
- ## [2.6.0] - 2019-11-08
594
- ### Added
595
- - AMQP consumption can be delayed & first error rejection can be overlooked by options
596
-
597
- ## [2.5.0] - 2019-09-18
598
- ### Added
599
- - New auto-reconnecting implementation of WS socket client
600
-
601
- ## [2.4.5] - 2019-08-13
602
- ### Fixed
603
- - Prefetch 500 action logs instead of 100
604
-
605
- ## [2.4.3] - 2019-07-04
606
- ### Fixed
607
- - New optional parameter which proprietryReplicaSet and proprietaryServerSelectionStrategy=random for mongodb connection
608
-
609
- ## [2.4.0] - 2019-06-19
610
- ### Added
611
- - MongoDB connection has optional session inside used for transactions
612
- - Allow publish events in queue to specific consumer (for replay ES)
613
-
614
- ## [2.3.2] - 2019-05-24
615
- ### Fixed
616
- - add possibility to ack, nack aggregated commands by self (not just by throwing error)
617
-
618
- ## [2.3.0] - 2019-05-20
619
- ### Added
620
- - New stored_commands queues for optimization of command storing in mongo
621
-
622
- ### Fixed
623
- - Device actions are stored primarely to memory only to boost up the processing
624
- - Semver of version in changelog can now contains even prerelease tags
625
-
626
- ## [2.2.3] - 2019-04-18
627
- ### Fixed
628
- - Queues created by healthchecking status page are not persisted (kept in rabbit forever)
629
- - HTTP health checking that sometimes failed because of a misused timeout parameter
630
-
631
- ## [2.2.1] - 2019-04-09
632
- ### Fixed
633
- - Allow WebSocket server to be prefixed by some path
634
-
635
- ## [2.2.0] - 2019-04-08
636
- ### Added
637
- - Added WebSocket & socket.io adapter abstraction even for client
638
-
639
- ## [2.1.2] - 2019-03-14
640
- ### Fixed
641
- - Additional callback in status middleware can use Request object now
642
-
643
- ## [2.1.1] - 2019-03-13
644
- ### Fixed
645
- - Update and unified MongoDBConnection
646
-
647
- ## [2.1.0] - 2019-03-13
648
- ### Added
649
- - Add status check library for amqp, mongo, postgre, redis and rethink
650
-
651
- ## [2.0.1] - 2019-03-12
652
- ### Fixed
653
- - Possible memory leaks in WebSocket server factory and AMQP consumption
654
-
655
- ## [2.0.0] - 2019-03-11
656
- ### Changed
657
- - Device action queues are bound to self exchange for every simple device
658
- - Web Socket handler abstraction has changed API to be more descriptive (not event emitter style)
659
-
660
- ### Added
661
- - Allow set amqp binding with exclusive consumption
662
-
663
- ### Fixed
664
- - Fix of WebSocket pinging to closed connection
665
- - Add exclusivity on amqp response queue
666
- - Fixes of possible AMQP memory leaks
667
-
668
- ## [1.4.10] - 2019-03-01
669
- ### Fixed
670
- - This time REALLY the fixed bug with AMQP double consumption
671
-
672
- ## [1.4.9] - 2019-02-27
673
- ### Fixed
674
- - Fixed bug in AMQP consumption when sometimes it would resubscribe even when it was supposed to be cancelled
675
-
676
- ## [1.4.8] - 2019-02-01
677
- ### Fixed
678
- - When web socket is closed by the server, wait 30 seconds and if it doesn't close, close it forcefully
679
-
680
- ## [1.4.7] - 2019-02-01
681
- ### Fixed
682
- - When web socket is closed explicitly by the server, make sure it still emits disconnect event
683
-
684
- ## [1.4.6] - 2019-01-24
685
- ### Fixed
686
- - Fix closing websocket server - explicitly close the server instance so that all connections are closed
687
-
688
- ## [1.4.5] - 2019-01-21
689
- ### Fixed
690
- - Minor fixes in commands sending expecting response
691
- - Unit tests failing
692
- - Posix for other than 2018 year
693
-
694
- ## [1.4.2] - 2018-11-09
695
- ### Fixed
696
- - Better raven exception handling
697
-
698
- ## [1.4.1] - 2018-11-06
699
- ### Fixed
700
- - Log more detailed information in AMQP when an error is thrown during canceling consumption of response queue
701
-
702
- ## [1.4.0] - 2018-11-02
703
- ### Added
704
- - Separate AMQP cancel consumption and close channel to allow cancelling consumption but keep using the channel
705
-
706
- ### Fixed
707
- - Fix dangling response queues in AMQP
708
-
709
- ## [1.3.0] - 2018-09-24
710
- ### Added
711
- - New rsync copy helper function for copy over sh or ssh
712
-
713
- ## [1.2.2] - 2018-09-24
714
- ### Fixed
715
- - Timer/wait now returns Promise<void>, not Promise<{}>
716
-
717
- ## [1.2.1] - 2018-09-21
718
- ### Fixed
719
- - Fix outdated socket server interface declaration
720
-
721
- ## [1.2.0] - 2018-09-21
722
- ### Added
723
- - Moved web socket and socket.io factories here from platform so they can be re-used in other repositories
724
-
725
- ## [1.1.6] - 2018-09-18
726
- ### Fixed
727
- - Fix async iterator polyfill error when it's already defined by the platform (Node.js 10)
728
-
729
- ## [1.1.0] - 2018-05-07
730
- ### Added
731
- - Changelog file containing all changes in current project