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