Apache Thrift v0.6 Release Notes

  • ๐Ÿ› Bug

    • THRIFT-1020 - OCaml compiler generates invalid OCaml
    • THRIFT-1015 - TUnion does not handle ByteBuffer in toString
    • THRIFT-1013 - generated java code may have name clashes with thrift library
    • THRIFT-1009 - TUnion does not correctly deep copy a ByteBuffer
    • THRIFT-1032 - "make dist" fails due to c_glib problem
    • THRIFT-868 - Referencing constant values doesn't work with with typedef types
    • THRIFT-971 - java module can't be compiled without ivy and network connection
    • THRIFT-970 - Under heavy load, THttpClient may fail with "too many open files"
    • ๐Ÿšš THRIFT-969 - Java Tutorial broken, move CalculatorHandler to a separate file
    • THRIFT-807 - JavaScript: Initialization of Base Types with 0 instead of null
    • ๐Ÿ THRIFT-955 - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
    • THRIFT-992 - Naming convention in C# constructor is not consistent with other fields causes compile errors
    • THRIFT-1008 - byte[] accessors throw NPE on unset field
    • THRIFT-1006 - Impossible to correctly qualify an enum constant in an external thrift file
    • THRIFT-950 - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
    • THRIFT-975 - lib/c_glib/README is missing => breaks make dist
    • ๐Ÿ‘ THRIFT-944 - Support all version-4s of base
    • 0๏ธโƒฃ THRIFT-939 - optional binary fields throw NPE on default byte[] getters
    • ๐Ÿ— THRIFT-935 - PHP Extension aborts the build if php-config is not installed
    • โš  THRIFT-933 - Haskell's Thrift.cabal has warnings
    • โœ… THRIFT-932 - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
    • THRIFT-904 - C# TSocket should disable nagle and linger
    • THRIFT-941 - Make PHP C Extension use the defined Protocol writeMessageBegin function
    • THRIFT-940 - 'make check' fails if boost is not in the std include and link paths
    • THRIFT-924 - Fix generated php structure constants
    • ๐Ÿ’Ž THRIFT-979 - ruby bindings used to work on jruby
    • THRIFT-977 - Hex Conversion Bug in C++ TJSONProtocol
    • โฑ THRIFT-347 - PHP TSocket Timeout Issues
    • THRIFT-517 - TExceptions thrown by server result in cryptic error message on client) - Tried to read 4 bytes, but only got 0 bytes

    ๐Ÿ‘Œ Improvement

    • THRIFT-1024 - Add Python Twisted example to the Tutorial
    • THRIFT-958 - Change accessmodifer on trans_ field in the FrameBuffer class to public.
    • THRIFT-957 - THsHaServer: Change access modifier of the invoker field.
    • THRIFT-1002 - CodeStyle: t_c_glib_generator.cc
    • THRIFT-1005 - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
    • THRIFT-951 - Add a new isServing() method to TServer
    • THRIFT-943 - Silly readme typo fix.
    • โœ… THRIFT-961 - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
    • โœ… THRIFT-960 - add TestServer, TestNonblockingServer and TestClient again
    • THRIFT-949 - Modify the TEnum interface so it defines a method similar to findByValue
    • ๐Ÿ“‡ THRIFT-946 - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
    • THRIFT-903 - custom ThreadFactory in THsHaServer
    • โœ… THRIFT-913 - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
    • THRIFT-926 - Miscellaneous C++ improvements
    • โœ… THRIFT-929 - Improvements to the C++ test suite
    • THRIFT-893 - add JavaScript to the tutorial examples
    • ๐Ÿ’… THRIFT-1003 - Polishing c_glib code
    • THRIFT-71 - Debian packaging for thrift

    ๐Ÿ†• New Feature

    • THRIFT-1033 - Node.js language target
    • THRIFT-947 - Provide a helper method to determine the TProtocol used to serialize some data.
    • THRIFT-928 - Make more statistics available in C++ servers
    • THRIFT-922 - Templatized [de]serialization code for C++
    • ๐Ÿ‘ THRIFT-923 - Event-driven client and server support for C++
    • THRIFT-925 - Provide name<->value map for enums in C++
    • THRIFT-927 - Add option to modify the PHP include path
    • THRIFT-377 - TFileTransport port in Java
    • THRIFT-106 - TSSLServerSocket
    • THRIFT-582 - C implementation of Thrift
    • THRIFT-745 - Make it easier to instantiate servers

    Sub-task

    • THRIFT-1038 - Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable

    Task

    โœ… Test

    • โœ… THRIFT-581 - Add a testsuite for txThrift (Twisted)