Thrift Changelog Version 0.4.0 THRIFT-650 Build Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro) THRIFT-770 Build Get 'make dist' to work without first compiling source code (Anthony Molinaro) THRIFT-160 C# Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene) THRIFT-834 C# THttpClient resends contents of message after transport errors (Anatoly Fayngelerin) THRIFT-247 C++ THttpServer Transport (Unassigned) THRIFT-676 C++ Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned) THRIFT-570 Compiler Thrift compiler does not error when duplicate method names are present (Bruce Simpson) THRIFT-808 Compiler Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury) THRIFT-646 Erlang Erlang library is missing install target (Anthony Molinaro) THRIFT-544 General multiple enums with the same key generate invalid code (Ben Taitelbaum) THRIFT-434 General ruby compiler should warn when a reserved word is used (Michael Stockton) THRIFT-799 General Files missing proper Apache license header (Bryan Duxbury) THRIFT-832 HTML HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury) THRIFT-226 Java Collections with binary keys or values break equals() (Bryan Duxbury) THRIFT-484 Java Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury) THRIFT-714 Java maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury) THRIFT-751 Java Add clear() method to TBase (Bryan Duxbury) THRIFT-765 Java Improved string encoding and decoding performance (Bryan Duxbury) THRIFT-768 Java Async client for Java (Bryan Duxbury) THRIFT-774 Java TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski) THRIFT-783 Java .equals java method is broken on structs containing binary-type fields (Unassigned) THRIFT-804 Java CompareTo is broken for unions set to map, set, or list (Bryan Duxbury) THRIFT-814 Java Include a TServlet in the standard Thrift distribution (Mathias Herberts) THRIFT-818 Java Async client doesn't send method args (Bryan Duxbury) THRIFT-830 Java Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury) THRIFT-831 Java FramedTransport implementation that reuses its buffers (Bryan Duxbury) THRIFT-833 Java build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury) THRIFT-836 Java Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury) THRIFT-842 Java Upgrade to current version of commons-lang (2.5 instead of 2.4) and/or change dependency in ivy.xml to not be exact (Bryan Duxbury) THRIFT-815 JavaScript Deserialization of lists is critically broken. (T Jake Luciani) THRIFT-827 OCaml OCaml generator to take default values into account (Lev Walkin) THRIFT-647 PHP PHP library is missing install target (Anthony Molinaro) THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury) THRIFT-718 PHP Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford) THRIFT-778 PHP PHP socket listening server (Nick Jones) THRIFT-780 PHP PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss) THRIFT-837 PHP PHP accelerator bug for writes > 8k (Thomas Kho) THRIFT-782 Perl Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes) THRIFT-395 Python Python library + compiler does not support unicode strings (Unassigned) THRIFT-133 Ruby 'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury) THRIFT-664 Ruby Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati) THRIFT-699 Ruby Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury) THRIFT-767 Ruby ruby compiler does not keep comments for enum values (Bryan Duxbury) THRIFT-811 Ruby http_client_transport.rb: allow custom http headers (Tony Kamenick) THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert) Version 0.1.0 RC1 / Unreleased Compatibility Breaking Changes: C++: * It's quite possible that regenerating code and rebuilding will be required. Make sure your headers match your libs! Java: Python: Ruby: * Generated files now have underscored names [THRIFT-421] * The library has been rearranged to be more Ruby-like [THRIFT-276] Erlang: * Generated code will have to be regenerated, and the new code will have to be deployed atomically with the new library code [THRIFT-136] New Features and Bug Fixes: C++: * Support for TCompactProtocol [THRIFT-333] Java: * Support for TCompactProtocol [THRIFT-110] Python: * Support for Twisted [THRIFT-148] Ruby: * Support for TCompactProtocol [THRIFT-332]