This repository was archived by the owner on Jun 13, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathchangelog.txt
More file actions
466 lines (334 loc) · 17.9 KB
/
Copy pathchangelog.txt
File metadata and controls
466 lines (334 loc) · 17.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
OpenAMQ change log
AMQP changes for 0.92
- exchange.declare-ok - add properties result
- queue.declare-ok - add properties result
- basic.cancel - explicitly document as assertive
- exchange.delete - explicitly document as assertive
- queue.delete - explicitly document as assertive
- queue.unbind - explicitly document as assertive, queue may be gone
- basic.ack - make synchronous, reply is ack-ok
- basic.reject - make synchronous, reply is reject-ok
- restms class
- direct class
- content class properties:
- remove unused properties
- add timestamping for latency tracking
- add/clarify routing and addressing properties
-> SIG for AMQP/0.9.2
TODO
- redesign console interface
- use portals
- use more restful model
- option to disable console in amq_server
- projector exchange, generates test data
- generate N random messages
- immediately or with precise delays
- size, max, min
- message id template
- body
- document iCL classes like icl_longstr, asl_field_table, etc. for
WireAPI developers
- generate shortref:
// Comment
type result = method (argument prototype)
- make PAL arrived processing faster when possible
- remove all content class variability in asl scripts
- alias amq_content_basic_t -> amq_content_t
- show broker HA status via amq_shell
- show connection direct status via amq_shell
- make web-based amq_shell tool using http server
- fix/remove settle time in server (before/after socket? federation?)
- use portals for exchange implementation interface
- implement fuzzy text search exchange
- use Leif's algorithms...
- example for picking up news items, public news server -> RSS
- implement rotator exchange
- show how shared queue can be implemented as exchange
- implement last-held-values for topic exchange
- trivial type of exchange
- tune topic exchange binding etc.
- save all topic keys at shutdown
- reload known topic keys at startup
- solve DoS - create too many queues, exchanges, bindings
- quotas per connection
- connections per IP address
- consider how to implement reliable req-resp and pub-sub
- use persistent exchange, not queue, to back the data
- implement persistent queues
- only for get/ack
- mainly for RESTful access
- back the queue using SQLite
- add SQLite to foreign
- solve security on exchanges, bindings, queues
- set permissions on declare
- world, group, owner
- exchange publish, bind, delete
- queue consume, delete
- defaults can be defined in configuration
- perhaps using group name in item name
- need concept of arbitrary user groups
- document as new security model proposal
- make federation work with failover
- already records/replays via peering
- need to include failover detection & recovery
- make regression test set for server
- send to shared queue and read back
- pubsub over topic exchange
- direct mode publisher
- direct mode subscriber
- returned messages, all modes
- run peering test case
- send warnings to amq.notify (check CML spec)
- win32 support improvements
- msvs2008 project files from Boom
- win32 installer
- win32 service interface
- win32 front-end (maybe portable GUI? Clutter?)
- redesign queue->consumer->channel using portals
- also for exchange->binding->queue?
2010-10-06
* fixed: WireAPI was not clearing messages out of IO thread if client thread was too slow.
* fixed: two access violations in amq_console due to improper multithreading code.
* fixed: OPF config framework did not properly free filename property of object class.
2009-05-23
* fixed: returned messages were not triggering wait end (http://www.openamq.org/issue:58)
* added: no wait in wireapi, timeout = -1 (http://www.openamq.org/issue:65)
* added: implemented acknowledgements on shared queues (http://www.openamq.org/issue:55)
* added: --no-ack option to keep old behaviour
2009-05-22
* added: in Base2/icl, opaque classes and property export/import
* changed: in OpenAMQ, amq_queue_base.icl class merged into amq_queue_basic.
2009-05-01
* added: in amq_server console, you can see all bindings for a queue (1.4)
* added: in amq_server console, verbose option to see all private queues, must be superuser (1.4)
2009-04-30
* fixed: socket management layer was leaking socket descriptors (1.3, 1.4)
* added: --user and --group options to switch to unprivileged user (1.3, 1.4) (TODO: DOC)
* changed: response to socket exhaustion improved (BASE2-312, 1.3, 1.4)
* added: new option --accept-retry-timeout tunes server response to socket exhaustion (BASE2-312, 1.3, 1.4) (TODO: DOC)
* fixed: WireAPI Direct Mode layer was leaking connections (DAMQ-33, 1.3, 1.4)
* fixed: WireAPI Direct Mode layer could abort at shutdown (AMQ-599, 1.3, 1.4)
2009-04-21
* added: regular expression exchange (http://www.pcre.org, 1.4)
* added: amq.regexp is default regexp exchange
* changed: semi-active failover feature added (http://www.openamq.org/issue:21, 1.3 and 1.4)
* changed: Connection.Start 'id' property renamed to 'connection' for clarity
* added: new Connection.Start property, 'identifier' is server process ID
* fixed: failover detects attempt to connect to self as primary or backup (AMQ-597)
* fixed: federation detects attempt to connect to self (--attach localhost) (AMQ-597)
* fixed: checks channel-nbr from misbehaving clients (http://www.openamq.org/issue:44)
2009-04-20
* changed: added --syslog support (--syslog option) (http://www.openamq.org/issue:51, 1.4)
* changed: some debugging went to daily log, cleaned up (1.4)
* changed: maximum length of log line reduced to 1024 octets (1.4)
2009-04-17
* fixed: server assertion on large direct mode messages (http://www.openamq.org/issue:53)
2009-04-16
* fixed: detect and reject attempts to declare durable queues (http://www.openamq.org/issue:54)
* changed: saves message to panic.log in case of abort (1.4, http://www.openamq.org/issue:50)
* changed: removed archive_path from log file configuration (1.4, http://www.openamq.org/issue:48)
* changed: log files are now written to /var/log/openamq (1.4, http://www.openamq.org/issue:48)
2009-03-05
* changed: backported small fixes to Direct Mode thread management from trunk to 1.3 (asl_client_session.gsl).
* added: Boom3 BOOM_CORES=n option to parallelize compile & link on multicore Unix boxes
2009-03-04
* added: new WireAPI connection property "connection->id" holds unique connection ID string assigned by server
* added: WireAPI option /config/sequence/set that sets Sender-Id and Timestamp on published messages
* added: WireAPI option /config/sequence/check that verifies Sender-Id and Timestamp on received messages
* changed: internal hash tables initial size increased from 255 to 4096 to reduce latency spikes on hash table rebuilds
2009-02-20
* fixed: build on Windows failed on older MSVC which did not correctly define InputDir macro
* fixed: renamed 'template' property in ipr_dict_table_file_save to make it C++ compatible
* fixed: Zyre: eliminate 'client connection timed-out' messages (http://www.xitami.com/issue:3)
* fixed: Zyre: fixed crash on unrecognized HTTP methods (http://www.xitami.com/issue:1)
2009-02-17
* changed: apr updated to 1.3.3, apr-util updated to 1.3.4 (1.4, FOR-21, BASE2-305)
* removed: legacy platforms from 'c' script (everything except "modern gcc system" and "AIX with CCNAME=xlc_r") (1.4, FOR-22)
* changed: if CCNAME and CCOPTS are unset, 'c' script looks for gcc on PATH, if found assumes a modern system and uses gcc and pthreads, if not then exits with error (1.4, FOR-22)
* changed: if CCNAME and CCOPTS are set, 'c' does no autodetection of anything (including libraries) and just uses the provided values ("you're on your own mode"). this is done to massively simplify logic in 'c' script (1.4, FOR-22)
* changed: when using gcc, detect standard "modern" libraries and link with them if present (includes libcrypt) (1.4, FOR-22)
* changed: default BOOM_MODEL for all POSIX platforms is st,release (1.4, FOR-22)
* changed: default ALLOCATOR for release is direct, for debug is fat (1.4, FOR-22)
* removed: lockfree allocator and support code from iCL (1.4)
* changed: ST builds on POSIX now identical to MT builds except for -DBASE_THREADSAFE (1.4, FOR-22)
2009-02-06
* fixed: Zyre crashed if pipe was still open on timed-out client.
2009-02-01
* fixed: crash in amq_content_basic_get_body() if content size was zero (1.3, 1.4, issue:43).
2009-01-23
* added: runs CoreMark test at startup (1.4)
2009-01-17
* fixed: various Win32 compile errors and warnings (1.3, 1.4)
2009-01-15
* added: support for Digest-AMQP spec, with full test/demo case.
2009-01-11
* added: lots, in Xitami: access modules, driver modules, password management, digest authentication.
* added: lots, in Zyre: portal for backend peering, digest-amqp spec and examples.
2009-01-01
* added: -S command line option to snapshot config data (1.3, 1.4)
* fixed: copyright statements in all code updated to 2009 (1.2, 1.3, 1.4)
2008-12-30
* changed: removed all C++ generation from base2 frameworks (1.4)
* added: console interface now shows bindings per exchange (1.3, 1.4) (http://www.openamq.org/issue:10)
* added: ipr_config class now reports config files loaded (1.3, 1.4) (http://www.openamq.org/issue:34)
* added: http: access logging in NSCA and Apache formats
2008-12-29
* added: http: policy based security module
2008-12-27
* fixed: aborts if peering credentials are not found (1.3, 1.4) (AMQ-595)
2008-12-20
* fixed: removed setup timer for peering connections (1.4)
asl_client_agent.gsl
2008-12-19
* fixed: malloc now aborts if the process runs out of memory (DAMQ-22, 1.2, 1.3, 1.4)
2008-12-17
* added: support for AMQP/0.9.1 (1.3, 1.4)
* fixed: WireAPI Direct Mode fixed to allow unlimited connections (AMQ-598) (1.3, 1.4)
2008-12-10
* fixed: icl_console output trims whitespace at end of line (1.3, 1.4)
* fixed: SMT sockets crashed after constant use for 2^31 operations (BASE2-301) (1.2, 1.3, 1.4)
2008-12-08
* fixed: Queue.Delete calls self-destructor for better link mgt (1.4)
2008-12-07
* fixed: PAL scripts did not free client config (1.3, 1.4)
asl_pal_stdc.gsl
* added: PAL scripts can now set command timeout in session (1.3, 1.4)
asl_pal_stdc.gsl
* fixed: queue deletion could crash on destroyed channel (1.2, 1.3, 1.4)
amq_server_channel.icl
2008-11-30
* removed: peer host and peer name from asynch client agent connection properties (1.4)
2008-11-26
* changed: virtual host framework removed from server (1.4)
* changed: DMP-4 upgraded to store publish flag byte (1.3, 1.4)
- see spec in base2/asl/notes.txt
- need to expand DMP to allow arbitrary envelopes
* fixed: Basic.Publish 'immediate' functionality was broken (1.3, 1.4)
* fixed: Direct Mode did not handle mandatory and immediate (1.3, 1.4)
- fixed, see examples/test_routing.pal
2008-11-19
* fixed: Direct Mode lease management had thread safety issues (1.3, 1.4)
* fixed: credit-based flow control in normal mode was not robust (1.3, 1.4)
2008-11-17
* fixed: PAL crashed when receiving contents greated than 1024 large - fixed (1.3, 1.4)
* added: session->timestamp property (1.3, 1.4)
* added: session includes tables returned by AMQP methods (1.3, 1.4)
* added: latency measurement framework (1.3, 1.4)
FIX DOC advanced
FIX DOC: wireapi config
* fixed: failover used weak keys for amq.status (1.4)
amq_failover.icl
2008-11-16
* fixed: queue overflow code crashed on shared queues (DAMQ-18) (1.3, 1.4)
* fixed: on slow networks, broker sometimes asserted on setup_timer destroy (DAMQ-19) (1.3, 1.4)
2008-11-15
* fixed: SMT sockets crashed after constant use for 2^31 operations (1.2, 1.3, 1.4)
* changed: auto-named queues now called "auto.nnn" instead of "#nnn" for compatibility with topic routing. (1.4)
amq_server.asl
2008-11-14
* fixed: consumers not properly destroyed on queue_delete (unlogged issue) (1.2, 1.3, 1.4)
- s_destroy_consumers was inside <action> block, in synchronous basic queue agent
2008-11-03
* added wireapi.h for WireAPI programs (1.3, 1.4)
FIX DOC wireapi
2008-11-01
* added: WireAPI postmortem facility for debugging lost/dropped messages (1.3, 1.4).
FIX DOC wireapi, check 'postmortem' in asl_client_agent.gsl.
2008-10-31
* fixed: log file naming did not work when name with no extension was specified (1.2, 1.3, 1.4)
* fixed: connections were not properly destroyed, causing memory leaks (1.3, 1.4 AMQ-593)
2008-10-27
* fixed: Basic.Cancel returned error if consumer did not exist, should return Cancel-Ok. (1.2, 1.3, 1.4)
* fixed: http://www.openamq.org/issue:32 fix caused WireAPI wait() to wait unduly (1.2, 1.3, 1.4)
2008-10-20
* fixed: mixing deliveries with sync methods confused WireAPI (http://www.openamq.org/issue:32)
* fixed: Queue.Destroy was not working properly (http://www.openamq.org/issue:31)
* fixed: zero-sized content crashes server & client (http://www.openamq.org/issue:30)
* fixed: asl_field_list_dump () wrote into unallocated memory. (http://www.openamq.org/issue:29)
* fixed: PAL did not allow nested repeat blocks (confused the counters).
2008-10-19
* fixed: amq_client.asl crashed when using default exchange (http://www.openamq.org/issue:28)
* fixed: amq_server let applications delete pre-defined exchanges (http://www.openamq.org/issue:27)
2008-10-17
* Java JMS client moved to public git at http://github.com/pieterh/openamq-jms/tree/master
* fixed: PAL assert did not work with symbolic variables
* added amq_rest.asl class for RESTful access to server resources
2008-10-15
* --debug_route prints exchange creation and destruction (like queues)
* removed rwlock from wireapi connection & session (need to profile difference)
* added portals and made http server work with current base2
2008-10-12
* 'c' script: suppress warning when creating new library on Linux/UNIX
* when server takes action on queue overflow, displays client IP address in logs
* fixed: in direct mode, queue & connection transfer statistics were not updated (DAMQ-9)
2008-10-09
* reduced server queue limits for greater stability (10000/40000, 1000/5000)
* implemented warn/drop on Direct Mode for slow network links, using private queue config (http://www.openamq.org/issue:22)
* fixed crash in content wire_get with malformed content (http://www.openamq.org/issue:24)
2008-10-08
* added WIREAPI_FAKESLOW environment variable to simulate slow network at client end (http://www.openamq.org/issue:22)
2008-10-07
* fixed loss of messages caused by Direct Mode heartbeating (http://www.openamq.org/issue:20)
2008-10-06
* fixed amq_client to report lost messages, if any, on interrupt
* added report of total direct in/out/sunk/fed in --dump_state
* amq_shell did not work with direct mode (http://www.openamq.org/issue:19)
2008-10-02
* allow signal to be registered by multiple threads (issue:16)
* fixed error in WIREAPI_SILENT handling (issue:18)
2009-09-28
* connection->silent set by default from WIREAPI_SILENT environment variable
* session->silent removed, uses connection setting
* Refactored CBFC out of base2/asl and into openamq/server, except for minimal stub.
* Added tuning:private_window and public_window settings
2009-09-27
* Fixed AMQ-590 bug in CBFC and backported to 1.2d.
2009-09-23
* Added high/low water handling for Direct Mode (warn, trim, drop, kill)
* Refactored handling of high/low water into asl_client_session template
* Defined configuration for Direct Mode high water handling (on_overflow)
-> needs to be documented
2009-09-22
* Frame-max limit was wrongly defined as 4M, should be 2M (IPR_BUCKET_MAX)
* Added configurability to direct mode batching (direct/batching)
-> needs to be documented
2009-09-21
* Consumer-tag got corrupted in direct-mode transfers (issue:2 refix)
* Direct mode caused aborts on client session close (issue:14)
2008-09-17
* Implemented Direct Mode bundling in client and server agents.
2008-09-16
* Implemented Basic.Qos (trunk and 1.2d) (issue:5)
* Direct mode properly records input/output rates (trunk) (issue:11)
* Fixed use of C++ words in amq_queue.icl (private) and amq_cml (class) (trunk & 1.2d) (issue:6)
* Fixed setting of last routing key on binding (trunk & 1.2d1) (issue:12)
* amq_queue reported bad client ip address on shared queues with no connections (trunk & 1.2d) (issue:12)
* Fixed error in topic routing key (foo.# matched fruit.bar) (issue:7)
2008-09-10
* DAMQ-6: fixed protocol class error (asl_connection.asl)
2008-09-06
* JAMQ-120: fixed rare crash on read from closing socket
2008-09-04
* Renamed arrived_high_water/low_water to high_water/low_water in wireapi.cfg
* Added direct option to wireapi.cfg
* Added direct option to server config (--direct 1, or in config file)
* In PAL, <session failover = "n"> option changed to seconds for consistency
* In PAL, added <session direct = "1"> option to enable Direct Mode
* Session now accurately holds content exchange, routing-key, and consumer-tag. (http://www.openamq.org/issue:2)
2008-08-26
* Removed active/passive arrays from amq_client.c
* Added support for Direct Message Protocol <4-DMP@wiki.amqp.org>
2008-08-22
* Removed file, stream, tx, dtx, and tunnel classes from OpenAMQ
* Fanout exchange did not accept multiple bindings - fixed
* Fixed various compiler warnings for gcc 4.2.3
2008-08-21
Changes to failover functionality
* Fixed split-brain error in failover (HA pair would randomly split)
* Renamed /failover/failover_timeout config item to /failover/timeout
* Removed failover monitor config item, is now always timeout / 2
* Failover timeout defaults to 5 seconds (was 1 second)
* Failover timeout verified to not exceed 60 seconds
* Issues warning if timeout is 0 or > 60 (then fixes timeout)
2008-07-28
* Fixed crash at server startup if could not resolve own hostname (win32) (http://www.openamq.org/issue:3)