stomp 1.3.5 → 1.4.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.
data/README.md ADDED
@@ -0,0 +1,708 @@
1
+ # README
2
+
3
+ * [Project Information](https://github.com/stompgem/stomp)
4
+
5
+ ## Overview
6
+
7
+ An implementation of the Stomp protocol for Ruby. See:
8
+
9
+ * [STOMP 1.0, 1.1, and 1.2] (http://stomp.github.com/index.html)
10
+
11
+ ## Hash Login Example Usage (**this is the recommended login technique**):
12
+
13
+ ```
14
+ hash = {
15
+ :hosts => [
16
+ # First connect is to remotehost1
17
+ {:login => "login1", :passcode => "passcode1", :host => "remotehost1", :port => 61612, :ssl => true},
18
+ # First failover connect is to remotehost2
19
+ {:login => "login2", :passcode => "passcode2", :host => "remotehost2", :port => 61613, :ssl => false},
20
+ ],
21
+ # These are the default parameters and do not need to be set
22
+ :reliable => true, # reliable (use failover)
23
+ :initial_reconnect_delay => 0.01, # initial delay before reconnect (secs)
24
+ :max_reconnect_delay => 30.0, # max delay before reconnect
25
+ :use_exponential_back_off => true, # increase delay between reconnect attpempts
26
+ :back_off_multiplier => 2, # next delay multiplier
27
+ :max_reconnect_attempts => 0, # retry forever, use # for maximum attempts
28
+ :randomize => false, # do not radomize hosts hash before reconnect
29
+ :connect_timeout => 0, # Timeout for TCP/TLS connects, use # for max seconds
30
+ :connect_headers => {}, # user supplied CONNECT headers (req'd for Stomp 1.1+)
31
+ :parse_timeout => 5, # IO::select wait time on socket reads
32
+ :logger => nil, # user suplied callback logger instance
33
+ :dmh => false, # do not support multihomed IPV4 / IPV6 hosts during failover
34
+ :closed_check => true, # check first if closed in each protocol method
35
+ :hbser => false, # raise on heartbeat send exception
36
+ :stompconn => false, # Use STOMP instead of CONNECT
37
+ :usecrlf => false, # Use CRLF command and header line ends (1.2+)
38
+ :max_hbread_fails => 0, # Max HB read fails before retry. 0 => never retry
39
+ :max_hbrlck_fails => 0, # Max HB read lock obtain fails before retry. 0 => never retry
40
+ :fast_hbs_adjust => 0.0, # Fast heartbeat senders sleep adjustment, seconds, needed ...
41
+ # For fast heartbeat senders. 'fast' == YMMV. If not
42
+ # correct for your environment, expect unnecessary fail overs
43
+ :connread_timeout => 0, # Timeout during CONNECT for read of CONNECTED/ERROR, secs
44
+ :tcp_nodelay => true, # Turns on the TCP_NODELAY socket option; disables Nagle's algorithm
45
+ :start_timeout => 0, # Timeout around Stomp::Client initialization
46
+ :sslctx_newparm => nil, # Param for SSLContext.new
47
+ }
48
+
49
+ # for a client
50
+ client = Stomp::Client.new(hash)
51
+
52
+ # for a connection
53
+ connection = Stomp::Connection.new(hash)
54
+ ```
55
+
56
+ ### Positional Parameter Usage:
57
+
58
+ ```
59
+ client = Stomp::Client.new("user", "pass", "localhost", 61613)
60
+ client.publish("/queue/mine", "hello world!")
61
+ client.subscribe("/queue/mine") do |msg|
62
+ p msg
63
+ end
64
+ ```
65
+
66
+ ### Stomp URL Usage:
67
+
68
+ A Stomp URL must begin with 'stomp://' and can be in one of the following forms:
69
+
70
+ ```
71
+ stomp://host:port
72
+ stomp://host.domain.tld:port
73
+ stomp://login:passcode@host:port
74
+ stomp://login:passcode@host.domain.tld:port
75
+
76
+ # e.g. c = Stomp::Client.new(urlstring)
77
+ ```
78
+
79
+ ### Failover + SSL Example URL Usage:
80
+
81
+ ```
82
+ options = "initialReconnectDelay=5000&randomize=false&useExponentialBackOff=false"
83
+ # remotehost1 uses SSL, remotehost2 doesn't
84
+ client = Stomp::Client.new("failover:(stomp+ssl://login1:passcode1@remotehost1:61612,stomp://login2:passcode2@remotehost2:61613)?#{options}")
85
+ client.publish("/queue/mine", "hello world!")
86
+ client.subscribe("/queue/mine") do |msg|
87
+ p msg
88
+ end
89
+ ```
90
+
91
+ ### New:
92
+
93
+ See _CHANGELOG.rdoc_ for details.
94
+
95
+ * Gem version 1.4.0. Note: Change sementics of :parse_timeout, see CHANGELOG.md for details.
96
+ * Gem version 1.3.5. Miscellaneous fixes, see CHANGELOG.rdoc for details.
97
+ * Gem version 1.3.4. Miscellaneous fixes, see CHANGELOG.rdoc for details.
98
+ * Gem version 1.3.3. Miscellaneous fixes, see CHANGELOG.rdoc for details.
99
+ * Gem version 1.3.2. Miscellaneous fixes, see changelog for details.
100
+ * Gem version 1.3.1. Bugfix for logging.
101
+ * Gem version 1.3.0. Added ERROR frame raising as exception, added anonymous connections, miscellaneous other fixes.
102
+
103
+ For changes in older versions see CHANGELOG.rdoc for details.
104
+
105
+ ### Historical Information:
106
+
107
+ Up until March 2009 the project was maintained and primarily developed by Brian McCallister.
108
+
109
+ ### Source Code and Project URLs:
110
+
111
+ [Source Code and Project](https://github.com/stompgem/stomp)
112
+
113
+ ### Stomp Protocol Information:
114
+
115
+ [Protocol Information](http://stomp.github.com/index.html)
116
+
117
+ #### Contributors (by first author date) ####
118
+
119
+ Contribution information:
120
+
121
+ <table border="1" style="width:100%;border: 1px solid black;">
122
+ <tr>
123
+ <th style="border: 1px solid black;padding-left: 10px;" >
124
+ First Author Date
125
+ </th>
126
+ <th style="border: 1px solid black;padding-left: 10px;" >
127
+ (Commit Count)
128
+ </th>
129
+ <th style="border: 1px solid black;padding-left: 10px;" >
130
+ Name / E-mail
131
+ </th>
132
+ </tr>
133
+ <tr>
134
+ <td style="border: 1px solid black;padding-left: 10px;" >
135
+ 2005-08-26
136
+ </td>
137
+ <td style="border: 1px solid black;padding-left: 10px;" >
138
+ (0023)
139
+ </td>
140
+ <td style="border: 1px solid black;padding-left: 10px;" >
141
+ <span style="font-weight: bold;" >
142
+ brianm
143
+ </span>
144
+ / brianm@fd4e7336-3dff-0310-b68a-b6615a75f13b
145
+ </td>
146
+ </tr>
147
+ <tr>
148
+ <td style="border: 1px solid black;padding-left: 10px;" >
149
+ 2006-03-16
150
+ </td>
151
+ <td style="border: 1px solid black;padding-left: 10px;" >
152
+ (0005)
153
+ </td>
154
+ <td style="border: 1px solid black;padding-left: 10px;" >
155
+ <span style="font-weight: bold;" >
156
+ jstrachan
157
+ </span>
158
+ / jstrachan@fd4e7336-3dff-0310-b68a-b6615a75f13b
159
+ </td>
160
+ </tr>
161
+ <tr>
162
+ <td style="border: 1px solid black;padding-left: 10px;" >
163
+ 2006-04-19
164
+ </td>
165
+ <td style="border: 1px solid black;padding-left: 10px;" >
166
+ (0001)
167
+ </td>
168
+ <td style="border: 1px solid black;padding-left: 10px;" >
169
+ <span style="font-weight: bold;" >
170
+ chirino
171
+ </span>
172
+ / chirino@fd4e7336-3dff-0310-b68a-b6615a75f13b
173
+ </td>
174
+ </tr>
175
+ <tr>
176
+ <td style="border: 1px solid black;padding-left: 10px;" >
177
+ 2007-05-09
178
+ </td>
179
+ <td style="border: 1px solid black;padding-left: 10px;" >
180
+ (0003)
181
+ </td>
182
+ <td style="border: 1px solid black;padding-left: 10px;" >
183
+ <span style="font-weight: bold;" >
184
+ kookster
185
+ </span>
186
+ / kookster@fd4e7336-3dff-0310-b68a-b6615a75f13b
187
+ </td>
188
+ </tr>
189
+ <tr>
190
+ <td style="border: 1px solid black;padding-left: 10px;" >
191
+ 2008-05-08
192
+ </td>
193
+ <td style="border: 1px solid black;padding-left: 10px;" >
194
+ (0016)
195
+ </td>
196
+ <td style="border: 1px solid black;padding-left: 10px;" >
197
+ <span style="font-weight: bold;" >
198
+ Glenn Rempe
199
+ </span>
200
+ / glenn@rempe.us
201
+ </td>
202
+ </tr>
203
+ <tr>
204
+ <td style="border: 1px solid black;padding-left: 10px;" >
205
+ 2009-02-03
206
+ </td>
207
+ <td style="border: 1px solid black;padding-left: 10px;" >
208
+ (0001)
209
+ </td>
210
+ <td style="border: 1px solid black;padding-left: 10px;" >
211
+ <span style="font-weight: bold;" >
212
+ Tony Garnock-Jones
213
+ </span>
214
+ / tonyg@lshift.net
215
+ </td>
216
+ </tr>
217
+ <tr>
218
+ <td style="border: 1px solid black;padding-left: 10px;" >
219
+ 2009-02-09
220
+ </td>
221
+ <td style="border: 1px solid black;padding-left: 10px;" >
222
+ (0003)
223
+ </td>
224
+ <td style="border: 1px solid black;padding-left: 10px;" >
225
+ <span style="font-weight: bold;" >
226
+ Marius Mathiesen
227
+ </span>
228
+ / marius.mathiesen@gmail.com
229
+ </td>
230
+ </tr>
231
+ <tr>
232
+ <td style="border: 1px solid black;padding-left: 10px;" >
233
+ 2009-02-13
234
+ </td>
235
+ <td style="border: 1px solid black;padding-left: 10px;" >
236
+ (0004)
237
+ </td>
238
+ <td style="border: 1px solid black;padding-left: 10px;" >
239
+ <span style="font-weight: bold;" >
240
+ Johan Sørensen
241
+ </span>
242
+ / johan@johansorensen.com
243
+ </td>
244
+ </tr>
245
+ <tr>
246
+ <td style="border: 1px solid black;padding-left: 10px;" >
247
+ 2009-11-17
248
+ </td>
249
+ <td style="border: 1px solid black;padding-left: 10px;" >
250
+ (0022)
251
+ </td>
252
+ <td style="border: 1px solid black;padding-left: 10px;" >
253
+ <span style="font-weight: bold;" >
254
+ Thiago Morello
255
+ </span>
256
+ / thiago.morello@locaweb.com.br
257
+ </td>
258
+ </tr>
259
+ <tr>
260
+ <td style="border: 1px solid black;padding-left: 10px;" >
261
+ 2009-11-22
262
+ </td>
263
+ <td style="border: 1px solid black;padding-left: 10px;" >
264
+ (0001)
265
+ </td>
266
+ <td style="border: 1px solid black;padding-left: 10px;" >
267
+ <span style="font-weight: bold;" >
268
+ unknown
269
+ </span>
270
+ / katy@.(none)
271
+ </td>
272
+ </tr>
273
+ <tr>
274
+ <td style="border: 1px solid black;padding-left: 10px;" >
275
+ 2009-12-18
276
+ </td>
277
+ <td style="border: 1px solid black;padding-left: 10px;" >
278
+ (0052)
279
+ </td>
280
+ <td style="border: 1px solid black;padding-left: 10px;" >
281
+ <span style="font-weight: bold;" >
282
+ Thiago Morello
283
+ </span>
284
+ / morello@queroinfra32.fabrica.locaweb.com.br
285
+ </td>
286
+ </tr>
287
+ <tr>
288
+ <td style="border: 1px solid black;padding-left: 10px;" >
289
+ 2009-12-25
290
+ </td>
291
+ <td style="border: 1px solid black;padding-left: 10px;" >
292
+ (0344)
293
+ </td>
294
+ <td style="border: 1px solid black;padding-left: 10px;" >
295
+ <span style="font-weight: bold;" >
296
+ gmallard
297
+ </span>
298
+ / allard.guy.m@gmail.com
299
+ </td>
300
+ </tr>
301
+ <tr>
302
+ <td style="border: 1px solid black;padding-left: 10px;" >
303
+ 2010-01-07
304
+ </td>
305
+ <td style="border: 1px solid black;padding-left: 10px;" >
306
+ (0007)
307
+ </td>
308
+ <td style="border: 1px solid black;padding-left: 10px;" >
309
+ <span style="font-weight: bold;" >
310
+ Rafael Rosa
311
+ </span>
312
+ / rafael.rosa@locaweb.com.br
313
+ </td>
314
+ </tr>
315
+ <tr>
316
+ <td style="border: 1px solid black;padding-left: 10px;" >
317
+ 2010-03-23
318
+ </td>
319
+ <td style="border: 1px solid black;padding-left: 10px;" >
320
+ (0024)
321
+ </td>
322
+ <td style="border: 1px solid black;padding-left: 10px;" >
323
+ <span style="font-weight: bold;" >
324
+ Guy M. Allard
325
+ </span>
326
+ / allard.guy.m@gmail.com
327
+ </td>
328
+ </tr>
329
+ <tr>
330
+ <td style="border: 1px solid black;padding-left: 10px;" >
331
+ 2010-04-01
332
+ </td>
333
+ <td style="border: 1px solid black;padding-left: 10px;" >
334
+ (0001)
335
+ </td>
336
+ <td style="border: 1px solid black;padding-left: 10px;" >
337
+ <span style="font-weight: bold;" >
338
+ Dmytro Shteflyuk
339
+ </span>
340
+ / kpumuk@kpumuk.info
341
+ </td>
342
+ </tr>
343
+ <tr>
344
+ <td style="border: 1px solid black;padding-left: 10px;" >
345
+ 2010-10-22
346
+ </td>
347
+ <td style="border: 1px solid black;padding-left: 10px;" >
348
+ (0001)
349
+ </td>
350
+ <td style="border: 1px solid black;padding-left: 10px;" >
351
+ <span style="font-weight: bold;" >
352
+ Neil Wilson
353
+ </span>
354
+ / neil@aldur.co.uk
355
+ </td>
356
+ </tr>
357
+ <tr>
358
+ <td style="border: 1px solid black;padding-left: 10px;" >
359
+ 2011-02-09
360
+ </td>
361
+ <td style="border: 1px solid black;padding-left: 10px;" >
362
+ (0001)
363
+ </td>
364
+ <td style="border: 1px solid black;padding-left: 10px;" >
365
+ <span style="font-weight: bold;" >
366
+ Dinesh Majrekar
367
+ </span>
368
+ / dinesh.majrekar@advantage-interactive.com
369
+ </td>
370
+ </tr>
371
+ <tr>
372
+ <td style="border: 1px solid black;padding-left: 10px;" >
373
+ 2011-04-15
374
+ </td>
375
+ <td style="border: 1px solid black;padding-left: 10px;" >
376
+ (0002)
377
+ </td>
378
+ <td style="border: 1px solid black;padding-left: 10px;" >
379
+ <span style="font-weight: bold;" >
380
+ Kiall Mac Innes
381
+ </span>
382
+ / kiall@managedit.ie
383
+ </td>
384
+ </tr>
385
+ <tr>
386
+ <td style="border: 1px solid black;padding-left: 10px;" >
387
+ 2011-04-29
388
+ </td>
389
+ <td style="border: 1px solid black;padding-left: 10px;" >
390
+ (0002)
391
+ </td>
392
+ <td style="border: 1px solid black;padding-left: 10px;" >
393
+ <span style="font-weight: bold;" >
394
+ Rob Skaggs
395
+ </span>
396
+ / rob@pivotal-it.com
397
+ </td>
398
+ </tr>
399
+ <tr>
400
+ <td style="border: 1px solid black;padding-left: 10px;" >
401
+ 2011-08-23
402
+ </td>
403
+ <td style="border: 1px solid black;padding-left: 10px;" >
404
+ (0003)
405
+ </td>
406
+ <td style="border: 1px solid black;padding-left: 10px;" >
407
+ <span style="font-weight: bold;" >
408
+ Tom May
409
+ </span>
410
+ / tom@gist.com
411
+ </td>
412
+ </tr>
413
+ <tr>
414
+ <td style="border: 1px solid black;padding-left: 10px;" >
415
+ 2011-08-24
416
+ </td>
417
+ <td style="border: 1px solid black;padding-left: 10px;" >
418
+ (0002)
419
+ </td>
420
+ <td style="border: 1px solid black;padding-left: 10px;" >
421
+ <span style="font-weight: bold;" >
422
+ Thiago Morello
423
+ </span>
424
+ / morellon@gmail.com
425
+ </td>
426
+ </tr>
427
+ <tr>
428
+ <td style="border: 1px solid black;padding-left: 10px;" >
429
+ 2011-09-11
430
+ </td>
431
+ <td style="border: 1px solid black;padding-left: 10px;" >
432
+ (0003)
433
+ </td>
434
+ <td style="border: 1px solid black;padding-left: 10px;" >
435
+ <span style="font-weight: bold;" >
436
+ Lucas Hills
437
+ </span>
438
+ / info@lucashills.com
439
+ </td>
440
+ </tr>
441
+ <tr>
442
+ <td style="border: 1px solid black;padding-left: 10px;" >
443
+ 2011-11-20
444
+ </td>
445
+ <td style="border: 1px solid black;padding-left: 10px;" >
446
+ (0002)
447
+ </td>
448
+ <td style="border: 1px solid black;padding-left: 10px;" >
449
+ <span style="font-weight: bold;" >
450
+ Chris Needham
451
+ </span>
452
+ / chrisn303@gmail.com
453
+ </td>
454
+ </tr>
455
+ <tr>
456
+ <td style="border: 1px solid black;padding-left: 10px;" >
457
+ 2011-12-11
458
+ </td>
459
+ <td style="border: 1px solid black;padding-left: 10px;" >
460
+ (0003)
461
+ </td>
462
+ <td style="border: 1px solid black;padding-left: 10px;" >
463
+ <span style="font-weight: bold;" >
464
+ R.I.Pienaar
465
+ </span>
466
+ / rip@devco.net
467
+ </td>
468
+ </tr>
469
+ <tr>
470
+ <td style="border: 1px solid black;padding-left: 10px;" >
471
+ 2011-12-13
472
+ </td>
473
+ <td style="border: 1px solid black;padding-left: 10px;" >
474
+ (0001)
475
+ </td>
476
+ <td style="border: 1px solid black;padding-left: 10px;" >
477
+ <span style="font-weight: bold;" >
478
+ tworker
479
+ </span>
480
+ / tworker@onyx.ove.com
481
+ </td>
482
+ </tr>
483
+ <tr>
484
+ <td style="border: 1px solid black;padding-left: 10px;" >
485
+ 2012-03-16
486
+ </td>
487
+ <td style="border: 1px solid black;padding-left: 10px;" >
488
+ (0001)
489
+ </td>
490
+ <td style="border: 1px solid black;padding-left: 10px;" >
491
+ <span style="font-weight: bold;" >
492
+ James Pearson
493
+ </span>
494
+ / james@fearmediocrity.co.uk
495
+ </td>
496
+ </tr>
497
+ <tr>
498
+ <td style="border: 1px solid black;padding-left: 10px;" >
499
+ 2012-05-10
500
+ </td>
501
+ <td style="border: 1px solid black;padding-left: 10px;" >
502
+ (0001)
503
+ </td>
504
+ <td style="border: 1px solid black;padding-left: 10px;" >
505
+ <span style="font-weight: bold;" >
506
+ Tommy Bishop
507
+ </span>
508
+ / bishop.thomas@gmail.com
509
+ </td>
510
+ </tr>
511
+ <tr>
512
+ <td style="border: 1px solid black;padding-left: 10px;" >
513
+ 2012-06-18
514
+ </td>
515
+ <td style="border: 1px solid black;padding-left: 10px;" >
516
+ (0002)
517
+ </td>
518
+ <td style="border: 1px solid black;padding-left: 10px;" >
519
+ <span style="font-weight: bold;" >
520
+ Jeremy Gailor
521
+ </span>
522
+ / jeremy@infinitecube.com
523
+ </td>
524
+ </tr>
525
+ <tr>
526
+ <td style="border: 1px solid black;padding-left: 10px;" >
527
+ 2013-02-20
528
+ </td>
529
+ <td style="border: 1px solid black;padding-left: 10px;" >
530
+ (0002)
531
+ </td>
532
+ <td style="border: 1px solid black;padding-left: 10px;" >
533
+ <span style="font-weight: bold;" >
534
+ JP Hastings-Spital
535
+ </span>
536
+ / jphastings@gmail.com
537
+ </td>
538
+ </tr>
539
+ <tr>
540
+ <td style="border: 1px solid black;padding-left: 10px;" >
541
+ 2013-03-14
542
+ </td>
543
+ <td style="border: 1px solid black;padding-left: 10px;" >
544
+ (0003)
545
+ </td>
546
+ <td style="border: 1px solid black;padding-left: 10px;" >
547
+ <span style="font-weight: bold;" >
548
+ glennr
549
+ </span>
550
+ / glenn@siyelo.com
551
+ </td>
552
+ </tr>
553
+ <tr>
554
+ <td style="border: 1px solid black;padding-left: 10px;" >
555
+ 2013-07-29
556
+ </td>
557
+ <td style="border: 1px solid black;padding-left: 10px;" >
558
+ (0021)
559
+ </td>
560
+ <td style="border: 1px solid black;padding-left: 10px;" >
561
+ <span style="font-weight: bold;" >
562
+ Ian Smith
563
+ </span>
564
+ / ian.smith@mylookout.com
565
+ </td>
566
+ </tr>
567
+ <tr>
568
+ <td style="border: 1px solid black;padding-left: 10px;" >
569
+ 2013-08-07
570
+ </td>
571
+ <td style="border: 1px solid black;padding-left: 10px;" >
572
+ (0001)
573
+ </td>
574
+ <td style="border: 1px solid black;padding-left: 10px;" >
575
+ <span style="font-weight: bold;" >
576
+ Hiram Chirino
577
+ </span>
578
+ / hiram@hiramchirino.com
579
+ </td>
580
+ </tr>
581
+ <tr>
582
+ <td style="border: 1px solid black;padding-left: 10px;" >
583
+ 2013-08-15
584
+ </td>
585
+ <td style="border: 1px solid black;padding-left: 10px;" >
586
+ (0005)
587
+ </td>
588
+ <td style="border: 1px solid black;padding-left: 10px;" >
589
+ <span style="font-weight: bold;" >
590
+ Ian Smith
591
+ </span>
592
+ / ian.smith@lookout.com
593
+ </td>
594
+ </tr>
595
+ <tr>
596
+ <td style="border: 1px solid black;padding-left: 10px;" >
597
+ 2013-08-22
598
+ </td>
599
+ <td style="border: 1px solid black;padding-left: 10px;" >
600
+ (0007)
601
+ </td>
602
+ <td style="border: 1px solid black;padding-left: 10px;" >
603
+ <span style="font-weight: bold;" >
604
+ Ian Smith
605
+ </span>
606
+ / ismith@mit.edu
607
+ </td>
608
+ </tr>
609
+ <tr>
610
+ <td style="border: 1px solid black;padding-left: 10px;" >
611
+ 2013-09-26
612
+ </td>
613
+ <td style="border: 1px solid black;padding-left: 10px;" >
614
+ (0001)
615
+ </td>
616
+ <td style="border: 1px solid black;padding-left: 10px;" >
617
+ <span style="font-weight: bold;" >
618
+ Orazio Cotroneo
619
+ </span>
620
+ / orazio@we7.com
621
+ </td>
622
+ </tr>
623
+ <tr>
624
+ <td style="border: 1px solid black;padding-left: 10px;" >
625
+ 2013-10-22
626
+ </td>
627
+ <td style="border: 1px solid black;padding-left: 10px;" >
628
+ (0001)
629
+ </td>
630
+ <td style="border: 1px solid black;padding-left: 10px;" >
631
+ <span style="font-weight: bold;" >
632
+ OrazioWE7
633
+ </span>
634
+ / orazio@we7.com
635
+ </td>
636
+ </tr>
637
+ <tr>
638
+ <td style="border: 1px solid black;padding-left: 10px;" >
639
+ 2014-03-13
640
+ </td>
641
+ <td style="border: 1px solid black;padding-left: 10px;" >
642
+ (0001)
643
+ </td>
644
+ <td style="border: 1px solid black;padding-left: 10px;" >
645
+ <span style="font-weight: bold;" >
646
+ Richard Clamp
647
+ </span>
648
+ / richardc@unixbeard.net
649
+ </td>
650
+ </tr>
651
+ <tr>
652
+ <td style="border: 1px solid black;padding-left: 10px;" >
653
+ 2014-12-08
654
+ </td>
655
+ <td style="border: 1px solid black;padding-left: 10px;" >
656
+ (0001)
657
+ </td>
658
+ <td style="border: 1px solid black;padding-left: 10px;" >
659
+ <span style="font-weight: bold;" >
660
+ m4rCsi
661
+ </span>
662
+ / m4rCsi@gmail.com
663
+ </td>
664
+ </tr>
665
+ <tr>
666
+ <td style="border: 1px solid black;padding-left: 10px;" >
667
+ 2015-09-05
668
+ </td>
669
+ <td style="border: 1px solid black;padding-left: 10px;" >
670
+ (0001)
671
+ </td>
672
+ <td style="border: 1px solid black;padding-left: 10px;" >
673
+ <span style="font-weight: bold;" >
674
+ Michael Klishin
675
+ </span>
676
+ / michael@novemberain.com
677
+ </td>
678
+ </tr>
679
+ <tr>
680
+ <td style="border: 1px solid black;padding-left: 10px;" >
681
+ 2015-11-10
682
+ </td>
683
+ <td style="border: 1px solid black;padding-left: 10px;" >
684
+ (0002)
685
+ </td>
686
+ <td style="border: 1px solid black;padding-left: 10px;" >
687
+ <span style="font-weight: bold;" >
688
+ Patrick Sharp
689
+ </span>
690
+ / psharp@numerex.com
691
+ </td>
692
+ </tr>
693
+ <tr>
694
+ <td style="border: 1px solid black;padding-left: 10px;" >
695
+ 2016-02-03
696
+ </td>
697
+ <td style="border: 1px solid black;padding-left: 10px;" >
698
+ (0001)
699
+ </td>
700
+ <td style="border: 1px solid black;padding-left: 10px;" >
701
+ <span style="font-weight: bold;" >
702
+ Wayne Robinson
703
+ </span>
704
+ / wayne.robinson@gmail.com
705
+ </td>
706
+ </tr>
707
+ </table>
708
+