0.9.5.2
  - made the UniqueId serializable
0.9.5.1
  - create a protocol around the multicast packages, so that we can go to nio eventually
  - corrected tracing
0.9.5.0
  - added message tracers
0.9.4.9
  - max multicast packet is no roughly 64k instead of 8k
  - tribes throws an illegal argument exception if the payload added is too large  
0.9.4.8
  - fix bug in the NIO sender, it should use flip instead of rewind
0.9.4.7
  - release the socket key to the poller before sending the data requests up through the channel
    this makes receiving data non blocking, even if the application is
0.9.4.6
  - fix package processing, the old release was hogging a thread for a single connection, making concurrency not so efficient,
    this fix uses the thread for one package, then moves on. faster concurrency, and much less memory usage in high stress environments
0.9.4.4
  - temporary work around for the threading problem, go directly to max threads
0.9.4.3
  - minor fixes to threading and test cases
0.9.4.2
  - Huge Performance improvements on the NIOReceiver
  - revision 418518
  - worked out the build script to generate versioned jars
0.9.4.1
  - fixed bug with the command being transferred but not deserialized
0.9.4.0
  - Added Member.getCommand, to separate out internal tribes logic from application payload
  - when setting payload, the update should get sent immediately
  - domain name filter, using an interceptor if we wish
  - major version bump since we are changing the protocol for member
0.9.3.2
  - MemberImpl.toString has a limit on the size it prints out
0.9.3.1
  - fixed a bug in the startup sequence. If the local member gets created, then we need to set the unique Id
  - default multicast packet can be 8kb
0.9.3.0
  - fixed bugs
0.9.2.9
  - jdk1.4 support for buffer pools
0.9.2.8
  - finished coordinator and bug fixes in the coordinator and ChannelReceiver
0.9.2.6
  - first version of the NonBlockingCoordinator implemented
  - org.apache.catalina.tribes.demos.CoordinationDemo implemented
0.9.2.5
  - minor updates
0.9.2.4
  - leader election, work in progress
0.9.2.3
  - Keep alive pings for AbstractReplicatedMap
  - Improved TcpFailureDetector
0.9.2.2
  - removed getMemberProperties from the membership interface
0.9.2.1
 - remove domain from membership
 - documentation updates
0.9.2.0
 - message dispatch interceptor is included if no other interceptors are added so that
   async messaging is enabled in the default stack
0.9.1.2
 - 1.4 compatibility
0.9.1.1
