rsmp 0.40.1 → 0.41.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cafa5ad2e105bea349b42e08a8dca7e15f0635bfdcddca16d30b31062c2582e
4
- data.tar.gz: f424bab2c9e1f77f2c8f752b24d2fe591d2b2f057fb78d774319ab216a8469f0
3
+ metadata.gz: bc1577fbdedac8b027f104cbee87a5d3d60ac5f4166d8f5815a83a191e3ec34a
4
+ data.tar.gz: b8762a3e125833dc3d7c1f18214b9aca919064d673c892e738087c32ba449b78
5
5
  SHA512:
6
- metadata.gz: 7bd78f82df81c06aaff4cb3298a0e94297599deb66d55e582385d89ee70848edd5b60e2d37b9eb21e75cb30d51cadeff6ff10993d7972e27d96629b6cfc9636b
7
- data.tar.gz: 5a571aa560ec17d2233945e2ad371f18edad0bfa55ea0f31974ca81adff6d5bd6a10552d13c7c5b48bebc3202235fb4aa6d3e5f4e0001f4dbad783657db2e16f
6
+ metadata.gz: 9da569e3ca8f7d81ba5f8a1a73e55bbe4680dbac9d21b8f532ed56494f81bcfdfd085556dbb3c297b2ffcb890588f76bd10a04488083ae310f183d1c575e3064
7
+ data.tar.gz: d2384361479e970a1d33d92a128f73a58d509a9b92a3b6007698a76758a16061804c6e949769d672881c28a5d960ee1eeb132e9a01d428344e4e3cb9b241576e
data/CHANGELOG.md CHANGED
@@ -4,10 +4,652 @@
4
4
  Initial release.
5
5
 
6
6
  ## 0.1.1
7
- Refactoring.
7
+ - include schema files in gem package
8
8
 
9
9
  ## 0.1.2
10
- Refactoring.
10
+ - add license and required Ruby version to gemspec
11
11
 
12
12
  ## 0.1.3
13
- Refactoring.
13
+ - supervisor returns SXL version from site and allows setting SXL version
14
+ - validate messages against configured SXL
15
+
16
+ ## 0.1.4
17
+ - logger.dump returns string instead of printing directly
18
+
19
+ ## 0.1.5
20
+ - fix logger settings and add file logging
21
+
22
+ ## 0.1.6
23
+ - fix hiding IP/port in logs
24
+
25
+ ## 0.1.7
26
+ - abort wait_for_status_response if ack not received
27
+ - supervisor option to stop after first session
28
+
29
+ ## 0.1.8
30
+ - update schemas and validator support
31
+ - return site_id received from site
32
+ - validate component id in status requests
33
+
34
+ ## 0.1.10
35
+ - fix subscription bug and improve connection/site id handling
36
+ - validate incoming messages against SXL, not just core
37
+ - send status update values as strings
38
+
39
+ ## 0.1.11
40
+ - update example configs
41
+ - fix wait_for_site :any handling
42
+ - remove default component
43
+
44
+ ## 0.1.12
45
+ - fix wait_for_status_update bug
46
+
47
+ ## 0.1.13
48
+ - supervisor returns all supported RSMP versions
49
+ - TLC fixes including timer drift and status handling
50
+ - wait_for_status_update now returns a hash
51
+
52
+ ## 0.1.17
53
+ - TLC updates to pass validator tests and respond to status requests
54
+ - schema updates and component config format changes
55
+ - add wait_for_alarm and regex support in wait_for_status_update
56
+
57
+ ## 0.1.18
58
+ - proxy reliability and error handling improvements
59
+ - new and updated wait/collect methods
60
+ - schema updates and expanded TLC protocol support
61
+ - alarm acknowledge handling and status update fixes
62
+
63
+ ## 0.1.20
64
+ - improved timeout handling and error resilience
65
+ - logging and config handling improvements
66
+ - core/clock handling updates in TLC
67
+
68
+ ## 0.1.21
69
+ - collecting and notification refactors with storage limits
70
+ - handshake and connect flow improvements
71
+
72
+ ## 0.1.22
73
+ - fix collect_status_updates_or_responses
74
+
75
+ ## 0.1.23
76
+ - maintenance release
77
+
78
+ ## 0.1.24
79
+ - ensure proxy stops cleanly
80
+ - stricter conditions when waiting for status/command responses
81
+
82
+ ## 0.1.27
83
+ - default SXL set to TLC
84
+ - option to disable validation of outgoing messages
85
+ - CLI option to convert SXL
86
+ - schema and timeout updates
87
+
88
+ ## 0.1.29
89
+ - config handling cleanup and better config error reporting
90
+ - initial support for yellow flash in TLC emulator
91
+
92
+ ## 0.1.30
93
+ - remove debug output
94
+
95
+ ## 0.1.31
96
+ - fix CLI supervisor option and restart interval
97
+
98
+ ## 0.1.32
99
+ - fix timer option name
100
+
101
+ ## 0.1.33
102
+ - remove unused wait methods and update wait_for_supervisor
103
+ - aggregated status collection option
104
+
105
+ ## 0.1.34
106
+ - fix wait_for_aggregated_status m_id usage and spelling
107
+
108
+ ## 0.1.35
109
+ - update rsmp_schemer and schemas
110
+
111
+ ## 0.1.36
112
+ - lenient SXL version parsing (e.g. 1.0.7.extra)
113
+
114
+ ## 0.1.37
115
+ - improve lenient SXL version handling
116
+
117
+ ## 0.1.38
118
+ - update rsmp_schemer gem
119
+
120
+ ## 0.1.39
121
+ - collector no longer waits when already done
122
+
123
+ ## 0.1.40
124
+ - logger supports streams and color overrides
125
+
126
+ ## 0.2
127
+ - use Async::Queue for sentinel errors
128
+
129
+ ## 0.2.1
130
+ - remove debug code
131
+
132
+ ## 0.2.2
133
+ - reuse proxies when reconnecting and initialize proxy state
134
+
135
+ ## 0.2.3
136
+ - refactor collection of command responses and status updates
137
+
138
+ ## 0.3.0
139
+ - wait methods return message and collector
140
+ - improved messaging when no site connects
141
+ - set fP to nil on connect
142
+
143
+ ## 0.3.1
144
+ - maintenance release
145
+
146
+ ## 0.3.2
147
+ - avoid multiple main components
148
+
149
+ ## 0.3.3
150
+ - allow skipping validations
151
+
152
+ ## 0.3.4
153
+ - fix validation skipping class name
154
+
155
+ ## 0.3.5
156
+ - expect ack after sending and raise if not connected
157
+ - only send aggregated status if ready
158
+ - check for duplicated alarms
159
+
160
+ ## 0.3.6
161
+ - auto-build components
162
+
163
+ ## 0.3.7
164
+ - infer component type in SiteProxy
165
+ - support default plan when creating SignalGroup
166
+
167
+ ## 0.3.8
168
+ - rename wait_for_alarm to collect_alarms and return true
169
+
170
+ ## 0.3.9
171
+ - fix force detector logic in TLC
172
+
173
+ ## 0.4.0
174
+ - add Query class and reorganize collection code
175
+
176
+ ## 0.4.1
177
+ - fix collection string match and improve timeout messaging
178
+ - show match progress
179
+
180
+ ## 0.4.2
181
+ - maintenance release
182
+
183
+ ## 0.4.3
184
+ - adjust collection match logging
185
+
186
+ ## 0.4.4
187
+ - fix collection match storage logic
188
+
189
+ ## 0.4.5
190
+ - fix RSMP version option for supervisor guests
191
+ - collection supports extra items
192
+
193
+ ## 0.4.6
194
+ - fix validation after core rejection and nil hash handling
195
+
196
+ ## 0.5.0
197
+ - support prefix in logger and improve reject logging
198
+ - defer notifications and abort on schema error/disconnect
199
+ - error distribution improvements
200
+
201
+ ## 0.5.1
202
+ - fix rejection of duplicate connections
203
+
204
+ ## 0.5.2
205
+ - guard against repeated status values when uRt=0
206
+
207
+ ## 0.5.3
208
+ - clear deferred notifications/actions on exceptions
209
+
210
+ ## 0.5.4
211
+ - show collection progress on timeout
212
+ - simplify schema error output
213
+
214
+ ## 0.5.5
215
+ - adjust logging whitespace
216
+
217
+ ## 0.5.6
218
+ - logger refactor with configurable field widths
219
+
220
+ ## 0.6.0
221
+ - temporary error notification disabling
222
+
223
+ ## 0.6.1
224
+ - maintenance release
225
+
226
+ ## 0.6.2
227
+ - fix component id in logs
228
+
229
+ ## 0.6.3
230
+ - TLC emulator improvements and class split
231
+ - plan switching and dynamic bands support
232
+
233
+ ## 0.6.4
234
+ - handle more connection error types
235
+ - log component id by default
236
+
237
+ ## 0.6.5
238
+ - guard against alarm timestamp moving backwards
239
+
240
+ ## 0.7.0
241
+ - ability to ignore message types in log
242
+
243
+ ## 0.7.1
244
+ - fixes for empty signal plans, timestamps, and alarm ignores
245
+
246
+ ## 0.7.2
247
+ - fix uncaught Timestamp exceptions
248
+
249
+ ## 0.7.3
250
+ - adjust alarm ignore behavior
251
+
252
+ ## 0.7.4
253
+ - fix subscriptions
254
+ - CLI option to show version
255
+
256
+ ## 0.7.5
257
+ - fix status without changes sometimes being sent
258
+
259
+ ## 0.8.0
260
+ - rework collection during connecting
261
+ - collector improvements
262
+
263
+ ## 0.8.1
264
+ - wait() returns messages
265
+ - collector class renames and cleanup
266
+
267
+ ## 0.8.2
268
+ - update state collector
269
+
270
+ ## 0.8.3
271
+ - simplify status collectors
272
+
273
+ ## 0.8.4
274
+ - refactor startup sequence handling
275
+ - support day tables and startup sequences
276
+
277
+ ## 0.8.5
278
+ - update send_and_optionally_collect and add ok! method
279
+ - collect! raises if cancelled
280
+
281
+ ## 0.8.6
282
+ - remove wait_for_acknowledgement and cleanup collector types
283
+
284
+ ## 0.9.0
285
+ - async task refactor and removal of Wait module
286
+
287
+ ## 0.9.1
288
+ - implement M0019
289
+ - CLI returns non-zero on failures
290
+ - improve Windows connection handling
291
+
292
+ ## 0.9.2
293
+ - implement M0001 timeout
294
+
295
+ ## 0.9.3
296
+ - add AlarmCollector and remove SiteProxy#collect_alarms
297
+
298
+ ## 0.9.4
299
+ - fix input deactivation
300
+
301
+ ## 0.9.5
302
+ - improve AlarmCollector filtering
303
+
304
+ ## 0.9.6
305
+ - fix M0006 input index validation
306
+
307
+ ## 0.9.7
308
+ - initial support for programming inputs
309
+ - add missing TimestampError class
310
+
311
+ ## 0.9.8
312
+ - guard against empty inputs config
313
+
314
+ ## 0.9.9
315
+ - fix M0019 input validation
316
+
317
+ ## 0.9.10
318
+ - add TLC::Inputs class for managing TLC inputs
319
+
320
+ ## 0.10.1
321
+ - preliminary support for sending alarms
322
+ - add DL2 component to config
323
+
324
+ ## 0.11.0
325
+ - support regex matching in AlarmCollector
326
+
327
+ ## 0.11.2
328
+ - improve collector logging
329
+
330
+ ## 0.11.3
331
+ - improve collector logging with progress hash
332
+
333
+ ## 0.11.4
334
+ - show nil instead of :anything in query result hash
335
+
336
+ ## 0.11.5
337
+ - fix logging using abstract method in initializer
338
+
339
+ ## 0.11.6
340
+ - fix collect logger
341
+
342
+ ## 0.11.7
343
+ - handshake completes only after watchdogs are sent and acked
344
+
345
+ ## 0.12.0
346
+ - component proxy support
347
+ - improve repeated status checks
348
+
349
+ ## 0.12.1
350
+ - remove debug output
351
+
352
+ ## 0.12.2
353
+ - fix input logic alarm activation
354
+
355
+ ## 0.12.3
356
+ - update schemas for alarm suspend/resume
357
+
358
+ ## 0.13.0
359
+ - maintain alarm states
360
+
361
+ ## 0.13.1
362
+ - config option for ntsOId and xNId
363
+
364
+ ## 0.13.2
365
+ - configure ntsOId/xNId on grouped objects
366
+
367
+ ## 0.13.3
368
+ - fix nts mechanism
369
+
370
+ ## 0.13.4
371
+ - maintenance release
372
+
373
+ ## 0.13.5
374
+ - avoid issues with empty component settings
375
+
376
+ ## 0.13.6
377
+ - set ntsOId in tlc config
378
+
379
+ ## 0.13.7
380
+ - send active alarms on connect
381
+ - fix alarm handling
382
+
383
+ ## 0.13.9
384
+ - require Ruby 3.0+
385
+ - update rsmp_schemer
386
+
387
+ ## 0.14.0
388
+ - update rsmp_schemer and YAML→JSON schema converter
389
+ - include sOc in subscriptions
390
+
391
+ ## 0.14.1
392
+ - validation now handled by rsmp_schema
393
+
394
+ ## 0.14.2
395
+ - update rsmp_schema with better TLC SXL 1.1 support
396
+
397
+ ## 0.14.3
398
+ - update rsmp gem
399
+
400
+ ## 0.14.4
401
+ - fix alarm suspend/resume object creation
402
+
403
+ ## 0.14.5
404
+ - update rsmp gem and use RSMP::Scheme helpers
405
+
406
+ ## 0.14.6
407
+ - fix schema version helper usage
408
+
409
+ ## 0.15.0
410
+ - update rsmp_schema
411
+ - provide SXL version to component handlers
412
+ - handle S0091 and S0092 for SXL 1.1
413
+
414
+ ## 0.15.1
415
+ - block repeated status values until subscription ack
416
+ - handle M0022 and S0033
417
+ - update rsmp_schema
418
+
419
+ ## 0.15.2
420
+ - update rsmp_schema and timers gem
421
+
422
+ ## 0.16.0
423
+ - determine core version from initial version message for validation
424
+
425
+ ## 0.16.1
426
+ - connection handling improvements
427
+
428
+ ## 0.16.2
429
+ - supervisor proxy ready after handshake
430
+
431
+ ## 0.16.3
432
+ - use latest SXL by default
433
+
434
+ ## 0.16.4
435
+ - timeout adjustments for site connections
436
+
437
+ ## 0.16.5
438
+ - fix SXL version parsing when configured as float
439
+
440
+ ## 0.16.6
441
+ - update rsmp_schema
442
+
443
+ ## 0.16.7
444
+ - validate using proxy core version instead of latest
445
+
446
+ ## 0.16.8
447
+ - use q or ageState depending on core version
448
+ - rename rsmp_version to core_version
449
+
450
+ ## 0.16.9
451
+ - update rsmp_schema, use q instead of ageState
452
+
453
+ ## 0.17.0
454
+ - enable alarm validation in TLC config
455
+ - update gems
456
+
457
+ ## 0.17.1
458
+ - fix version helper usage in TLC
459
+
460
+ ## 0.17.2
461
+ - handle source attribute in status messages
462
+
463
+ ## 0.17.4
464
+ - add wait after socket connect for Windows
465
+ - support M0023
466
+
467
+ ## 0.18.0
468
+ - handle alarm acknowledgements
469
+
470
+ ## 0.18.1
471
+ - reset alarm to unacknowledged when activating
472
+
473
+ ## 0.18.2
474
+ - configure component in input programming
475
+
476
+ ## 0.19.0
477
+ - warn instead of disconnecting when no watchdogs are received
478
+ - configure component in input programming
479
+
480
+ ## 0.19.1
481
+ - update Ruby and gems
482
+ - update TLC config for programming components
483
+
484
+ ## 0.19.2
485
+ - update TLC config to raise A0302
486
+
487
+ ## 0.19.3
488
+ - respond to alarm acknowledge with aSp=Acknowledge
489
+
490
+ ## 0.19.4
491
+ - fix alarm differ check
492
+
493
+ ## 0.19.5
494
+ - don't set timestamp when creating alarm state
495
+
496
+ ## 0.20.1
497
+ - async 2 upgrade fixes for reconnects and IO errors
498
+ - require newer Ruby versions
499
+
500
+ ## 0.20.2
501
+ - fix wait_for_condition after async 2 upgrade
502
+
503
+ ## 0.20.3
504
+ - supervisor_proxy responds to AlarmAcknowledge
505
+
506
+ ## 0.20.4
507
+ - set age=undefined when component id is unknown
508
+
509
+ ## 0.20.6
510
+ - update rsmp_schema
511
+ - only auto-add component when type can be inferred
512
+ - respond to unknown component with q=undefined
513
+
514
+ ## 0.20.7
515
+ - update async gem to fix hanging queues
516
+
517
+ ## 0.21.0
518
+ - proper support for M0013
519
+
520
+ ## 0.22.0
521
+ - update rsmp schema for core 3.2.1 and TLC SXL 1.2
522
+ - update gems
523
+
524
+ ## 0.23.0
525
+ - fix S0035 handling
526
+ - use Set for emergency routes
527
+
528
+ ## 0.23.1
529
+ - fix S0014 enum and add S0006 deprecation warning
530
+
531
+ ## 0.24.0
532
+ - support S0005 statusByIntersection (SXL 1.2)
533
+
534
+ ## 0.25.0
535
+ - update rsmp_schema, use native boolean for sOc
536
+
537
+ ## 0.25.1
538
+ - allow different cases in AlarmState#differ_from_message?
539
+
540
+ ## 0.25.2
541
+ - update rsmp gem
542
+
543
+ ## 0.25.3
544
+ - fix suspended/Suspended casing handling
545
+
546
+ ## 0.26.0
547
+ - temporarily disable watchdog
548
+
549
+ ## 0.26.1
550
+ - set emergencyStage to zero if no active route
551
+
552
+ ## 0.27.0
553
+ - add clear_alarm_timestamps
554
+
555
+ ## 0.27.1
556
+ - update Ruby and async gems
557
+
558
+ ## 0.28.0
559
+ - update gems
560
+ - use TLC SXL 1.2.1 in emulator
561
+ - update Ruby version
562
+
563
+ ## 0.28.1
564
+ - maintenance release
565
+
566
+ ## 0.29.0
567
+ - update schemas to support core 3.2.2
568
+ - update gems
569
+
570
+ ## 0.31.0
571
+ - rename Query to Matcher and refactor collectors/filters
572
+ - update docs on collection and distribution
573
+
574
+ ## 0.32.0
575
+ - fix default SXL option
576
+ - show core and SXL versions when starting
577
+
578
+ ## 0.32.2
579
+ - update Ruby to 3.3.5
580
+ - simplify core config to a single version
581
+
582
+ ## 0.32.3
583
+ - maintenance release
584
+
585
+ ## 0.32.4
586
+ - update rsmp_schema
587
+
588
+ ## 0.32.5
589
+ - ensure compact JSON generation on all platforms
590
+
591
+ ## 0.32.6
592
+ - update rsmp_schema to allow Alarm aS=inactive
593
+
594
+ ## 0.32.7
595
+ - update schema
596
+
597
+ ## 0.33.0
598
+ - support changing cycle time with M0018
599
+ - update rsmp_schema
600
+
601
+ ## 0.33.1
602
+ - send aggregated se bools as strings for core <= 3.1.2
603
+
604
+ ## 0.33.2
605
+ - handle empty component config
606
+
607
+ ## 0.33.3
608
+ - update gems
609
+
610
+ ## 0.33.4
611
+ - fix se bool handling and avoid mutating component values
612
+
613
+ ## 0.34.0
614
+ - support TLC S0098
615
+
616
+ ## 0.34.1
617
+ - update async gems
618
+
619
+ ## 0.34.2
620
+ - update schema gem
621
+
622
+ ## 0.34.3
623
+ - remove duplicate describe_progress
624
+
625
+ ## 0.35.0
626
+ - update Ruby to 3.4 and update gems
627
+
628
+ ## 0.35.1
629
+ - update rsmp_schema and gems
630
+ - send values in S0207
631
+
632
+ ## 0.35.2
633
+ - set s to null when q is unknown/undefined
634
+ - show versions in schema errors
635
+
636
+ ## 0.37.0
637
+ - migrate to latest async (#121)
638
+ - revise contribution guidelines and testing instructions
639
+
640
+ ## 0.38.0
641
+ - add rubocop workflow
642
+ - code cleanup and lint fixes
643
+
644
+ ## 0.39.0
645
+ - remove rubocop exclusions and fix warnings
646
+ - update to Ruby 4 and update gems
647
+ - add rubocop workflow
648
+
649
+ ## 0.40.0
650
+ - more robust config handling with JSON schema validation
651
+ - update to Ruby 4 and update gems
652
+
653
+ ## 0.40.1
654
+ - fix config normalization
655
+ - improve config schema validation
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.40.1)
4
+ rsmp (0.41.0)
5
5
  async (~> 2.32)
6
6
  colorize (~> 1.1)
7
7
  io-endpoint (~> 0.15)
8
8
  io-stream (~> 0.10)
9
9
  logger (~> 1.6)
10
10
  ostruct (~> 0.6)
11
- rsmp_schema (~> 0.8)
11
+ rsmp_schema (~> 0.10)
12
12
 
13
13
  GEM
14
14
  remote: https://rubygems.org/
@@ -20,7 +20,7 @@ GEM
20
20
  rspec-expectations (>= 3.4, < 5.0)
21
21
  thor (~> 1.0)
22
22
  ast (2.4.3)
23
- async (2.35.2)
23
+ async (2.38.1)
24
24
  console (~> 1.29)
25
25
  fiber-annotation
26
26
  io-event (~> 1.11)
@@ -29,7 +29,7 @@ GEM
29
29
  bigdecimal (4.0.1)
30
30
  builder (3.3.0)
31
31
  colorize (1.1.0)
32
- console (1.34.2)
32
+ console (1.34.3)
33
33
  fiber-annotation
34
34
  fiber-local (~> 1.1)
35
35
  json
@@ -70,11 +70,11 @@ GEM
70
70
  fiber-storage
71
71
  fiber-storage (1.0.1)
72
72
  hana (1.3.7)
73
- io-endpoint (0.16.0)
74
- io-event (1.14.2)
73
+ io-endpoint (0.17.2)
74
+ io-event (1.14.5)
75
75
  io-stream (0.11.1)
76
- json (2.18.0)
77
- json_schemer (2.4.0)
76
+ json (2.19.3)
77
+ json_schemer (2.5.0)
78
78
  bigdecimal
79
79
  hana (~> 1.3)
80
80
  regexp_parser (~> 2.0)
@@ -96,9 +96,9 @@ GEM
96
96
  rainbow (3.1.1)
97
97
  rake (13.3.1)
98
98
  regexp_parser (2.11.3)
99
- rsmp_schema (0.9.1)
100
- json_schemer (~> 2.4.0)
101
- thor (~> 1.4.0)
99
+ rsmp_schema (0.10.1)
100
+ json_schemer (~> 2.5)
101
+ thor (~> 1.5)
102
102
  rspec (3.13.2)
103
103
  rspec-core (~> 3.13.0)
104
104
  rspec-expectations (~> 3.13.0)
@@ -137,7 +137,7 @@ GEM
137
137
  sys-uname (1.4.1)
138
138
  ffi (~> 1.1)
139
139
  memoist3 (~> 1.0.0)
140
- thor (1.4.0)
140
+ thor (1.5.0)
141
141
  timecop (0.9.10)
142
142
  traces (0.18.2)
143
143
  unicode-display_width (3.2.0)