|  | Thrift Changelog | 
|  |  | 
|  | Version 0.5.0 | 
|  |  | 
|  | THRIFT-505   Build                Make configure give a summary of the enabled components (David Reiss) | 
|  | THRIFT-506   Build                Allow Thrift to be built without the C++ library (David Reiss) | 
|  | THRIFT-844   Build                Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg) | 
|  | THRIFT-850   Build                Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum) | 
|  | THRIFT-854   Build                Provide configure option and make rules to build/install php extension (Anthony Molinaro) | 
|  | THRIFT-858   Build                Have bootstrap.sh check for a suitable autoconf version before running (David Reiss) | 
|  | THRIFT-871   Build                Thrift compiler for WIndows (binary distribution) (David Reiss) | 
|  | THRIFT-323   C#                   TJSONProtocol (Roger Meier) | 
|  | THRIFT-634   C#                   C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar) | 
|  | THRIFT-881   C#                   add csharp to the tutorial (Roger Meier) | 
|  | THRIFT-856   C++                  Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke) | 
|  | THRIFT-865   C++                  C++ compiler build depends on libfl even when flex/lex not detected (David Reiss) | 
|  | THRIFT-900   C++                  Unix domain socket (Roger Meier) | 
|  | THRIFT-920   C++                  C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier) | 
|  | THRIFT-567   C++                  Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert) | 
|  | THRIFT-756   C++                  Exposing TSocket(int) constructor to public (Rajat Goel) | 
|  | THRIFT-798   C++                  TNonblockingServer leaks resources when destroyed (David Reiss) | 
|  | THRIFT-812   C++, Python          Demo of Thrift over ZeroMQ (David Reiss) | 
|  | THRIFT-629   Cocoa                Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar) | 
|  | THRIFT-838   Cocoa                Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard) | 
|  | THRIFT-805   Cocoa                Don't generate process_XXXX methods for oneway methods (Brad Taylor) | 
|  | THRIFT-507   Compiler             Remove the compiler's dependency on Boost (David Reiss) | 
|  | THRIFT-895   Compiler (General)   Thrift compiler does not allow two different enumerations to have the same key name for one of the enum values (David Reiss) | 
|  | THRIFT-852   Compiler (General)   Missing newline causes many compiler warnings (Anthony Molinaro) | 
|  | THRIFT-877   Compiler (General)   smalltalk namespace doesn't work (Bruce Lowekamp) | 
|  | THRIFT-897   Compiler (General)   Don't allow unqualified constant access to enum values (Bryan Duxbury) | 
|  | THRIFT-9     Compiler (General)   Add a default namespace declaration for all languages (David Reiss) | 
|  | THRIFT-599   Erlang               Don't use unnecessary processes in the Erlang transports and clients (David Reiss) | 
|  | THRIFT-646   Erlang               Erlang library is missing install target (David Reiss) | 
|  | THRIFT-698   Erlang               Generated module list should contain atoms, not strings (Anthony Molinaro) | 
|  | THRIFT-866   Erlang               term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro) | 
|  | THRIFT-886   Erlang               Dialyzer warning (Anthony Molinaro) | 
|  | THRIFT-785   Erlang               Framed transport server problems (Anthony Molinaro) | 
|  | THRIFT-884   HTML                 HTML Generator: add Key attribute to the Data Types Tables (Roger Meier) | 
|  | THRIFT-652   Haskell              Generated field name for strut is not capitalized correctly (Christian Lavoie) | 
|  | THRIFT-743   Haskell              compile error with GHC 6.12.1 (Christian Lavoie) | 
|  | THRIFT-901   Haskell              Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie) | 
|  | THRIFT-905   Haskell              Make haskell thrift bindings use automake to compile and install (Christian Lavoie) | 
|  | THRIFT-906   Haskell              Improve type mappings (Christian Lavoie) | 
|  | THRIFT-914   Haskell              Make haskell bindings 'easily' compilable (Christian Lavoie) | 
|  | THRIFT-918   Haskell              Make haskell tests run again (Christian Lavoie) | 
|  | THRIFT-919   Haskell              Update Haskell bindings README (Christian Lavoie) | 
|  | THRIFT-787   Haskell              Enums are not read correctly (Christian Lavoie) | 
|  | THRIFT-250   Java                 ExecutorService as a constructor parameter for TServer (Ed Ceaser) | 
|  | THRIFT-693   Java                 Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury) | 
|  | THRIFT-843   Java                 TNonblockingSocket connects without a timeout (Bryan Duxbury) | 
|  | THRIFT-845   Java                 async client does not respect timeout (Ning Liang) | 
|  | THRIFT-870   Java                 Java constants don't get Javadoc comments (Bryan Duxbury) | 
|  | THRIFT-873   Java                 Java tests fail due to Too many open files (Todd Lipcon) | 
|  | THRIFT-876   Java                 Add SASL support (Aaron T. Myers) | 
|  | THRIFT-879   Java                 Remove @Override from TUnion.clear (Dave Engberg) | 
|  | THRIFT-882   Java                 deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury) | 
|  | THRIFT-888   Java                 async client should also have nonblocking connect (Eric Jensen) | 
|  | THRIFT-890   Java                 Java tutorial doesn't work (Todd Lipcon) | 
|  | THRIFT-894   Java                 Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury) | 
|  | THRIFT-896   Java                 TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen) | 
|  | THRIFT-907   Java                 libfb303 doesn't compile in 0.4.0 (Todd Lipcon) | 
|  | THRIFT-912   Java                 Improvements and bug fixes to SASL implementation (Todd Lipcon) | 
|  | THRIFT-917   Java                 THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser) | 
|  | THRIFT-931   Java                 Use log4j for Java tests (Todd Lipcon) | 
|  | THRIFT-880   JavaME               JavaME code generator and runtime library (Dave Engberg) | 
|  | THRIFT-846   JavaScript           JavaScript Test Framwork: extended Testcases (Roger Meier) | 
|  | THRIFT-885   JavaScript           Url encoded strings never get decoded? How do we fix this? (T Jake Luciani) | 
|  | THRIFT-911   JavaScript           (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani) | 
|  | THRIFT-860   OCaml                copy method and reset method (Lev Walkin) | 
|  | THRIFT-682   PHP                  PHP extension doesn't compile on Mac OS X (Bryan Duxbury) | 
|  | THRIFT-851   PHP                  php extension fails to compile on centos 5.x (Todd Lipcon) | 
|  | THRIFT-840   Perl                 Perl protocol handler could be more robust against unrecognised types (Conrad Hughes) | 
|  | THRIFT-758   Perl                 incorrect deference in exception handling (Yann Kerherve) | 
|  | THRIFT-257   Python               Support validation of required fields (Esteve Fernandez) | 
|  | THRIFT-335   Python               Compact Protocol for Python (David Reiss) | 
|  | THRIFT-596   Python               Make Python's TBufferedTransport use a configurable input buffer (David Reiss) | 
|  | THRIFT-597   Python               Python THttpServer performance improvements (David Reiss) | 
|  | THRIFT-598   Python               Allow Python's threading servers to use daemon threads (David Reiss) | 
|  | THRIFT-666   Python               Allow the handler to override HTTP responses in THttpServer (David Reiss) | 
|  | THRIFT-673   Python               Generated Python code has whitespace issues (Ian Eure) | 
|  | THRIFT-721   Python               THttpClient ignores url parameters (Thomas Kho) | 
|  | THRIFT-824   Python               TApplicationException.__str__() refers to class constants as globals (Peter Schuller) | 
|  | THRIFT-855   Python               Include optimized compiled python objects in install (Anthony Molinaro) | 
|  | THRIFT-859   Python               Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp) | 
|  | THRIFT-869   Python               TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight) | 
|  | THRIFT-875   Python               Include python setup.cfg in dist (Anthony Molinaro) | 
|  | THRIFT-610   Ruby                 binary_protocol.rb segfaults [line 86] (Unassigned) | 
|  | THRIFT-899   Ruby                 Ruby read timeouts can sometimes be 2x what they should be (Ryan King) | 
|  | THRIFT-909   Ruby                 allow block argument to struct constructor (Michael Stockton) | 
|  | THRIFT-456   Test Suite           Bad IP address string in test/cpp/src/main.cpp (Rush Manbert) | 
|  |  | 
|  |  | 
|  | 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] | 
|  |  |