Nitay <nitayj@gmail.com>
-Support for "make check".

William Morgan <w@adap.tv>
-Miscellaneous Ruby improvements.

Ben Maurer <bmaurer@andrew.cmu.edu>
-Restructuring the way Autoconf is used.

Patrick Collison <patrick@collison.ie>
-Smalltalk bindings.

Dave Simpson <dave@powerset.com>
-Better support for connection tracking in the C++ server.
-Miscellaneous fixes.

Igor Afanasyev <afan@evernote.com>
-Perl HttpClient and bugfixes

Todd Berman <tberman@imeem.com>
-MinGW port of the compiler.
-C# bindings.
-MS build task.

----------------
Release 20070917
----------------

Dave Engberg <engberg@gmail.com>
-JavaBean/JavaDoc enhancements

Andrew McGeachie <geechorama@gmail.com>
-Cocoa/Objective-C support

Ben Maurer <bmaurer@andrew.cmu.edu>
-Python performance enhancements, fastbinary support

Andrew Lutomirski <andy@luto.us>
-Added optional/required keywords for C++ objects
-Added comparison operators for C++ structs

Johan Oskarsson <johan@oksarsson.nu>
-Java findbugs compliance fixes

Paul Saab <ps@powerset.com>
-IPv6 support for TSocket in C++/Python

Kevin Clark <kevin@powerset.com>
-Significant overhaul of Ruby code generation and servers

Simon Forman <sforman@gmail.com>
-TProcessorFactory abstraction for Java servers

Jake Luciani <jakers@gmail.com>
-Perl code generation, libraries, test code

David Reiss <dreiss@stanford.edu>
-strings.h include fix for bzero
-endianness fixes on TBinaryProtocol double serialization
-improved ntohll,htonll implementation

Dan Li <dto@dev.java.net>
-Java TestServer and Tutorial Fixes

Kevin Ko <kevin.s.ko@gmail.com>
-Fix for unnecessary std::string copy construction in Protocol/Exception

Paul Querna <pquerna@apache.org>
-Autoconf error message fix for libevent detection
-clock_gettime implementation for OSX

----------------
Release 20070401
----------------
