THRIFT-2600: Release 0.9.2
Updating Changelog
diff --git a/CHANGES b/CHANGES
index 3275de4..28c1f40 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,680 +1,1175 @@
-Thrift Changelog
+Apache Thrift Changelog
-Version 1.0
-- Coming Soon
+Thrift 0.9.2
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1481] - Unix domain sockets in C++ do not support the abstract namespace
+ * [THRIFT-1455] - TBinaryProtocolT<Transport_>::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
+ * [THRIFT-1579] - PHP Extention - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
+ * [THRIFT-1584] - Error: could not SetMinThreads in ThreadPool on single-core machines
+ * [THRIFT-1614] - Thrift build from svn repo sources fails with automake-1.12
+ * [THRIFT-1047] - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
+ * [THRIFT-1639] - Java/Python: Serialization/Deserialization of double type using CompactProtocol
+ * [THRIFT-1647] - NodeJS BufferedTransport does not work beyond the hello-world example
+ * [THRIFT-2130] - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
+ * [THRIFT-2140] - Error compiling cpp tutorials
+ * [THRIFT-2139] - MSVC 2012 Error - Cannot compile due to BoostThreadFactory
+ * [THRIFT-2138] - pkgconfig file created with wrong include path
+ * [THRIFT-2160] - Warning in thrift.h when compiling with -Wunused and NDEBUG
+ * [THRIFT-2158] - Compact, JSON, and SimpleJSON protocols are not working correctly
+ * [THRIFT-2167] - nodejs lib throws error if options argument isn't passed
+ * [THRIFT-2288] - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
+ * [THRIFT-2147] - Thrift IDL grammar allows for dotted identifier names
+ * [THRIFT-2145] - Rack and Thin are not just development dependencies
+ * [THRIFT-2267] - Should be able to choose socket family in Python TSocket
+ * [THRIFT-2276] - java path in spec file needs updating
+ * [THRIFT-2281] - Generated send/recv code ignores errors returned by the underlying protocol
+ * [THRIFT-2280] - TJSONProtocol.Flush() does not really flush the transport
+ * [THRIFT-2274] - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
+ * [THRIFT-2265] - php library doesn't build
+ * [THRIFT-2232] - IsSet* broken in Go
+ * [THRIFT-2246] - Unset enum value is printed by ToString()
+ * [THRIFT-2240] - thrift.vim (contrib) does not correctly handle 'union'
+ * [THRIFT-2243] - TNonblockingServer in thrift crashes when TFramedTransport opens
+ * [THRIFT-2230] - Cannot Build on RHEL/Centos/Amazon Linux 6.x
+ * [THRIFT-2247] - Go generator doesn't deal well with map keys of type binary
+ * [THRIFT-2253] - Python Tornado TTornadoServer base class change
+ * [THRIFT-2261] - java: error: unmappable character for encoding ASCII
+ * [THRIFT-2259] - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
+ * [THRIFT-2225] - SSLContext destroy before cleanupOpenSSL
+ * [THRIFT-2224] - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
+ * [THRIFT-2229] - thrift failed to build on OSX 10.9 GM
+ * [THRIFT-2227] - Thrift compiler generates spurious warnings with Xlint
+ * [THRIFT-2219] - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
+ * [THRIFT-2226] - TServerSocket - keepAlive wrong initialization order
+ * [THRIFT-2285] - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
+ * [THRIFT-2216] - Extraneous semicolon in TProtocolUtil.h makes clang mad
+ * [THRIFT-2215] - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
+ * [THRIFT-2211] - Exception constructor does not contain namespace prefix.
+ * [THRIFT-2210] - lib/java TSimpleJSONProtocol can emit invalid JSON
+ * [THRIFT-2209] - Ruby generator -- please namespace classes
+ * [THRIFT-2202] - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
+ * [THRIFT-2201] - Ternary operator returns different types (build error for some compilers)
+ * [THRIFT-2200] - nested structs cause generate_fingerprint() to slow down at excessive CPU load
+ * [THRIFT-2197] - fix jar output directory in rpm spec file
+ * [THRIFT-2196] - Fix invalid dependency in Makefile.am
+ * [THRIFT-2194] - Node: Not actually prepending residual data in TFramedTransport.receiver
+ * [THRIFT-2193] - Java code generator emits spurious semicolon when deep copying binary data
+ * [THRIFT-2191] - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
+ * [THRIFT-2214] - System header sys/param.h is included inside the Thrift namespace
+ * [THRIFT-2178] - Thrift generator returns error exit code on --version
+ * [THRIFT-2171] - NodeJS implementation has extremely low test coverage
+ * [THRIFT-2183] - gem install fails on zsh
+ * [THRIFT-2182] - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
+ * [THRIFT-2181] - oneway calls don't work in NodeJS
+ * [THRIFT-2169] - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
+ * [THRIFT-2168] - Node.js appears broken (at least, examples don't work as intended)
+ * [THRIFT-2293] - TSSLTransportFactory.createSSLContext() leaves files open
+ * [THRIFT-2279] - TSerializer only returns the first 1024 bytes serialized
+ * [THRIFT-2278] - Buffered transport doesn't support writes > buffer size
+ * [THRIFT-2275] - Fix memory leak in golang compact_protocol.
+ * [THRIFT-2282] - Incorect code generated for some typedefs
+ * [THRIFT-2009] - Go redeclaration error
+ * [THRIFT-1964] - 'Isset' causes problems with C#/.NET serializers
+ * [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
+ * [THRIFT-2108] - Fix TAsyncClientManager timeout race
+ * [THRIFT-2068] - Multiple calls from same connection are not processed in node
+ * [THRIFT-1750] - Make compiler build cleanly under visual studio 10
+ * [THRIFT-1755] - Comment parsing bug
+ * [THRIFT-1771] - "make check" fails on x64 for libboost_unit_test_framework.a
+ * [THRIFT-1841] - NodeJS Thrift incorrectly parses non-UTF8-string types
+ * [THRIFT-1908] - Using php thrift_protocol accelerated transfer causes core dump
+ * [THRIFT-1892] - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
+ * [THRIFT-2303] - TBufferredTransport not properly closing underlying transport
+ * [THRIFT-2313] - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
+ * [THRIFT-2311] - Go: invalid code generated when exception name is a go keyword
+ * [THRIFT-2308] - node: TJSONProtocol parse error when reading from buffered message
+ * [THRIFT-2316] - ccp: TFileTransportTest
+ * [THRIFT-2352] - msvc failed to compile thrift tests
+ * [THRIFT-2337] - Golang does not report TIMED_OUT exceptions
+ * [THRIFT-2340] - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
+ * [THRIFT-2354] - Connection errors can lead to case_clause exceptions
+ * [THRIFT-2339] - Uncaught exception in thrift c# driver
+ * [THRIFT-2356] - c++ thrift client not working with ssl (SSL_connect hangs)
+ * [THRIFT-2331] - Missing call to ReadStructBegin() in TApplicationException.Read()
+ * [THRIFT-2323] - Uncompileable Delphi code generated for typedef'd structs
+ * [THRIFT-2322] - Correctly show the number of times ExecutorService (java) has rejected the client.
+ * [THRIFT-2389] - namespaces handled wrongly in acrionscript 3.0 implementation
+ * [THRIFT-2388] - GoLang - Fix data races in simple_server and server_socket
+ * [THRIFT-2386] - Thrift refuses to link yylex
+ * [THRIFT-2375] - Excessive <br>'s in generated HTML
+ * [THRIFT-2373] - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
+ * [THRIFT-2372] - thrift/json_protocol.go:160: function ends without a return statement
+ * [THRIFT-2371] - ruby bundler version fails on ~1.3.1, remove and take latest avail
+ * [THRIFT-2370] - Compiler SEGFAULTs generating HTML documentation for complex strucre
+ * [THRIFT-2384] - Binary map keys produce uncompilable code in go
+ * [THRIFT-2380] - unreachable code (CID 1174546, CID 1174679)
+ * [THRIFT-2378] - service method arguments of binary type lead to uncompileable Go code
+ * [THRIFT-2363] - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
+ * [THRIFT-2359] - TBufferedTransport doesn't clear it's buffer on a failed flush call
+ * [THRIFT-2428] - Python 3 setup.py support
+ * [THRIFT-2367] - Build failure: stdlib and boost both define uint64_t
+ * [THRIFT-2365] - C# decodes too many binary bytes from JSON
+ * [THRIFT-2402] - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
+ * [THRIFT-2396] - Build Error on MacOSX
+ * [THRIFT-2395] - thrift Ruby gem requires development dependency 'thin' regardless of environment
+ * [THRIFT-2414] - c_glib fix several bug.
+ * [THRIFT-2420] - Go argument parser for methods without arguments does not skip fields
+ * [THRIFT-2439] - Bug in TProtocolDecorator Class causes parsing errors
+ * [THRIFT-2419] - golang - Fix fmt.Errorf in generated code
+ * [THRIFT-2418] - Go handler function panics on internal error
+ * [THRIFT-2405] - Node.js Multiplexer tests fail (silently)
+ * [THRIFT-2581] - TFDTransport destructor should not throw
+ * [THRIFT-2575] - Thrift includes siginfo_t within apache::thrift::protocol namespace
+ * [THRIFT-2577] - TFileTransport missuse of closesocket on windows platform
+ * [THRIFT-2576] - Implement Thrift.Protocol.prototype.skip method in JavaScript library
+ * [THRIFT-2588] - Thrift compiler is not buildable in Visual Studio 2010
+ * [THRIFT-2594] - JS Compiler: Single quotes are not being escaped in constants.
+ * [THRIFT-2591] - TFramedTransport does not handle payloads split across packets correctly
+ * [THRIFT-2599] - Uncompileable Delphi code due to naming conflicts with IDL
+ * [THRIFT-2590] - C++ Visual Studio solution doesn't include Multiplexing support
+ * [THRIFT-2595] - Node.js: Fix global leaks and copy-paste errors
+ * [THRIFT-2565] - autoconf fails to find mingw-g++ cross compiler on travis CI
+ * [THRIFT-2555] - excessive "unused field" comments
+ * [THRIFT-2554] - double initialization in generated Read() method
+ * [THRIFT-2551] - OutOfMemoryError "unable to create new native thread" kills serve thread
+ * [THRIFT-2543] - Generated enum type in haskell should be qualified
+ * [THRIFT-2560] - Thrift compiler generator tries to concat ints with strings using +
+ * [THRIFT-2559] - Centos 6.5 unable to "make" with Thrift 0.9.1
+ * [THRIFT-2526] - Assignment operators and copy constructors in c++ don't copy the __isset struct
+ * [THRIFT-2454] - c_glib: There is no gethostbyname_r() in some OS.
+ * [THRIFT-2451] - Do not use pointers for optional fields with defaults. Do not write such fields if its value set to default. Also, do not use pointers for any optional fields mapped to go map or slice. generate Get accessors
+ * [THRIFT-2450] - include HowToContribute in the src repo
+ * [THRIFT-2448] - thrift/test/test.sh has incorrect Node.js test path
+ * [THRIFT-2460] - unopened socket fd must be less than zero.
+ * [THRIFT-2459] - --version should not exit 1
+ * [THRIFT-2468] - Timestamp handling
+ * [THRIFT-2467] - Unable to build contrib/fb303 on OSX 10.9.2
+ * [THRIFT-2466] - Improper error handling for SSL/TLS connections that don't complete a handshake
+ * [THRIFT-2463] - test/py/RunClientServer.py fails sometimes
+ * [THRIFT-2458] - Generated golang server code for "oneway" methods is incorrect
+ * [THRIFT-2456] - THttpClient fails when using async support outside Silverlight
+ * [THRIFT-2524] - Visual Studio project is missing TThreadedServer files
+ * [THRIFT-2523] - Visual Studio project is missing OverlappedSubmissionThread files
+ * [THRIFT-2520] - cpp:cob_style generates incorrect .tcc file
+ * [THRIFT-2508] - Uncompileable C# code due to language keywords in IDL
+ * [THRIFT-2506] - Update TProtocolException error codes to be used consistently throughout the library
+ * [THRIFT-2505] - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
+ * [THRIFT-2515] - TLS Method error during make
+ * [THRIFT-2503] - C++: Fix name collision when a struct has a member named "val"
+ * [THRIFT-2477] - thrift --help text with misplaced comma
+ * [THRIFT-2492] - test/cpp does not compile on mac
+ * [THRIFT-2500] - sending random data crashes thrift(golang) service
+ * [THRIFT-2475] - c_glib: buffered_transport_write function return always TRUE.
+ * [THRIFT-2495] - JavaScript/Node string constants lack proper escaping
+ * [THRIFT-2491] - unable to import generated ThriftTest service
+ * [THRIFT-2490] - c_glib: if fail to read a exception from server, client may be occurred double free
+ * [THRIFT-2470] - THttpHandler swallows exceptions from processor
+ * [THRIFT-2533] - Boost version in requirements should be updated
+ * [THRIFT-2532] - Java version in installation requirements should be updated
+ * [THRIFT-2529] - TBufferedTransport split Tcp data bug in nodeJs
+ * [THRIFT-2537] - Path for "go get" does not work (pull request 115)
+ * [THRIFT-2443] - Node fails cross lang tests
+ * [THRIFT-2437] - Author fields in Python setup.py must be strings not lists.
+ * [THRIFT-2435] - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
+ * [THRIFT-2434] - Missing namespace import for php TMultiplexedProcessor implementation
+ * [THRIFT-2432] - Flaky parallel build
+ * [THRIFT-2430] - Crash during TThreadPoolServer shutdown
+ * [THRIFT-667] - Period should not be allowed in identifier names
+ * [THRIFT-1212] - Members capital case conflict
+ * [THRIFT-2584] - Error handler not listened on javascript client
+ * [THRIFT-2294] - Incorrect Makefile generation
+ * [THRIFT-2601] - Fix vagrant to work again for builds again
+ * [THRIFT-2092] - TNonblocking server should release handler as soon as connection closes
+ * [THRIFT-2557] - CS0542 member names cannot be the same as their enclosing type
+ * [THRIFT-2605] - TSocket warning on gcc 4.8.3
+ * [THRIFT-2607] - ThreadManager.cpp warning on clang++ 3.4
+ * [THRIFT-1998] - TCompactProtocol.tcc - one more warning on Visual 2010
+ * [THRIFT-2610] - MSVC warning in TSocket.cpp
+ * [THRIFT-2614] - TNonblockingServer.cpp warnings on MSVC
+ * [THRIFT-2608] - TNonblockingServer.cpp warnings on clang 3.4
+ * [THRIFT-2606] - ThreadManager.h warning in clang++ 3.4
+ * [THRIFT-2609] - TFileTransport.h unused field warning (clang 3.4)
+ * [THRIFT-2416] - Cannot use TCompactProtocol with MSVC
+ * [THRIFT-1803] - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
+ * [THRIFT-2385] - Problem with gethostbyname2 during make check
+ * [THRIFT-2262] - thrift server 'MutateRow' operation gives no indication of success / failure
+ * [THRIFT-2048] - Prefer boolean context to nullptr_t conversion
+ * [THRIFT-2528] - Thrift Erlang Library: Multiple thrift applications in one bundle
+ * [THRIFT-1999] - warning on gcc 4.7 while compiling BoostMutex.cpp
+ * [THRIFT-2104] - Structs lose binary data when transferred from server to client in Java
+ * [THRIFT-2184] - undefined method rspec_verify for Thrift::MemoryBufferTransport
+ * [THRIFT-2351] - PHP TCompactProtocol has fails to decode messages
+ * [THRIFT-2016] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
+ * [THRIFT-2273] - Please delete old releases from mirroring system
+ * [THRIFT-2270] - Faulty library version numbering at build or documentation
+ * [THRIFT-2203] - Tests keeping failing on Jenkins and Travis CI
+ * [THRIFT-2399] - thrift.el: recognize "//"-style comments in emacs thrift-mode
+ * [THRIFT-2582] - "FileTransport error" exception is raised when trying to use Java's TFileTransport
+ * [THRIFT-1682] - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
+ * [THRIFT-2357] - recurse option has no effect when generating php
+ * [THRIFT-2248] - Go generator doesn't deal well with map keys of type binary
+ * [THRIFT-2426] - clarify IP rights and contributions from fbthrift
+ * [THRIFT-2041] - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
+ * [THRIFT-2400] - thrift.el: recognize "//"-style comments in emacs thrift-mode
+ * [THRIFT-1717] - Fix deb build in jenkins
+ * [THRIFT-2266] - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
+ * [THRIFT-1300] - Test failures with parallel builds (make -j)
+ * [THRIFT-2487] - Tutorial requires two IDL files but only one is linked from the Thrift web site
+ * [THRIFT-2329] - missing release tags within git
+ * [THRIFT-2306] - concurent client calls with nodejs
+ * [THRIFT-2222] - ruby gem cannot be compiled on OS X mavericks
+ * [THRIFT-2381] - code which generated by thrift2/hbase.thrift compile error
+ * [THRIFT-2390] - no close event when connection lost
+ * [THRIFT-2146] - Unable to pass multiple "--gen" options to the thrift compiler
+ * [THRIFT-2438] - Unexpected readFieldEnd call causes JSON Parsing errors
+ * [THRIFT-2498] - Error message "Invalid method name" while trying to call HBase Thrift API
+ * [THRIFT-841] - Build cruft
+ * [THRIFT-2570] - Wrong URL given in http://thrift.apache.org/developers
+ * [THRIFT-2604] - Fix debian packaging
+ * [THRIFT-2618] - Unignore /aclocal files required for build
+ * [THRIFT-2562] - ./configure create MakeFile in lib/d with errors
+ * [THRIFT-2593] - Unable to build thrift on ubuntu-12.04 (Precise)
+ * [THRIFT-2461] - Can't install thrift-0.8.0 on OS X 10.9.2
+ * [THRIFT-2602] - Fix missing dist files
+ * [THRIFT-2620] - Fix python packaging
+ * [THRIFT-2545] - Test CPP fails to build (possibly typo)
-Version 0.9.1
+## Documentation
+ * [THRIFT-2155] - Adding one liner guide to rename the version.h.in and rename thrifty.cc.h
+ * [THRIFT-1991] - Add exceptions to examples
+ * [THRIFT-2334] - add a tutorial for node JS
+ * [THRIFT-2392] - Actionscript tutorial
+ * [THRIFT-2383] - contrib: sample for connecting Thrift with Rebus
+ * [THRIFT-2382] - contrib: sample for connecting Thrift with STOMP
-THRIFT-2137 Ruby Ruby test lib fails jenkins build #864
-THRIFT-2136 Build Proces Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
-THRIFT-2135 Go GO lib leaves behind test files that are auto generated
-THRIFT-2134 Compiler mingw-cross-compile script failing with strip errors
-THRIFT-2133 Java java TestTBinaryProtocol.java test failing
-THRIFT-2129 PHP php ext missing from dist
-THRIFT-2128 Go lib GO tests fail with funct ends without a return statement
-THRIFT-2126 C++ lib/cpp/src/thrift/concurrency/STD* files missing from DIST
-THRIFT-2125 Build Process debian missing from DIST
-THRIFT-2124 Build Process .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
-THRIFT-2123 GO lib missing files in DIST build
-THRIFT-2118 Certificate error handling still incorrect
-THRIFT-2117 Cocoa Cocoa TBinaryProtocol strictWrite should be set to true by default
-THRIFT-2112 Go Error in Go generator when using typedefs in map keys
-THRIFT-2109 Secure connections should be supported in Go
-THRIFT-2107 Go minor Go generator fixes
-THRIFT-2106 Fix support for namespaces in GO generator
-THRIFT-2105 Generated code for default values of collections ignores t_field::T_REQUIRED
-THRIFT-2102 constants are not referencing to correct type when included from another thrift file
-THRIFT-2100 typedefs are not correctly referenced when including from other thrift files
-THRIFT-2091 Unnecessary 'friend' declaration causes warning in TWinsockSingleton
-THRIFT-2090 Go Go generator, fix including of other thrift files
-THRIFT-2088 Compiler Typos in Thrift compiler help text
-THRIFT-2084 Delphi Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
-THRIFT-2083 Go Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
-THRIFT-2082 Build Process Executing "gmake clean" is broken
-THRIFT-2081 Specified timeout should be used in TSocket.Open()
-THRIFT-2080 C# C# multiplex processor does not catch IOException
-THRIFT-2070 Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
-THRIFT-2066 Build Process 'make install' does not install two headers required for C++ bindings
-THRIFT-2065 Java Not valid constants filename in Java
-THRIFT-2057 Build Process Vagrant fails on php tests
-THRIFT-2052 Build Process Vagrant machine image defaults to only 384MB of RAM
-THRIFT-2051 Build Process Vagrant fails to build erlang
-THRIFT-2050 Build Process Vagrant C# lib compile fails with TException missing
-THRIFT-2047 Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
-THRIFT-2036 Thrift gem warns about class variable access from top level
-THRIFT-2032 C# C# client leaks sockets/handles
-THRIFT-2017 Compiler Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
-THRIFT-2014 C++ Change C++ lib includes to use <namespace/> style throughout
-THRIFT-2012 Go Modernizing Go
-THRIFT-2003 Deprecate senum
-THRIFT-2002 Haskell Haskell: Test use Data.Maybe instead of Maybe
-THRIFT-2001 Website http://thrift.apache.org/ Example "C++ Server" tab is broken
-THRIFT-1997 Add accept backlog configuration method to TServerSocket
-THRIFT-1996 JavaME JavaME Constants generation is broken / inconsistent with regular Java generation
-THRIFT-1995 Compiler '.' allowed at end of identifier generates non-compilable code
-THRIFT-1994 Compiler Deprecate slist
-THRIFT-1993 Delphi Factory to create instances from known (generated) interface types with Delphi
-THRIFT-1992 casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-
-THRIFT-1988 When trying to build a debian package it fails as the file NEWS doesn't exist
-THRIFT-1985 Build Process add a Vagrantfile to build and test Apache Thrift fully reproducable
-THRIFT-1984 Python namespace collision in python bindings
-THRIFT-1980 Go Modernize Go tooling, fix go client libary.
-THRIFT-1978 Ruby Ruby: Thrift should allow for the SSL verify mode to be set
-THRIFT-1977 C# C# compiler should generate constant files prefixed with thrift file name
-THRIFT-1975 TBinaryProtocol CheckLength can't be used for a client
-THRIFT-1973 C# TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 numb
-THRIFT-1972 Java Add support for async processors
-THRIFT-1971 Tutorial [Graphviz] Adds tutorial/general description documentation
-THRIFT-1970 [Graphviz] Adds option to render exceptions relationships
-THRIFT-1969 C# C#: Tests not properly linked from the solution
-THRIFT-1966 Support different files for SSL certificates and keys
-THRIFT-1965 Adds Graphviz (graph description language) generator
-THRIFT-1962 Multiplex processor should send any TApplicationException back to client
-THRIFT-1961 C# C# tests should be in lib/csharp/test/...
-THRIFT-1960 main() declares 22 unused gen bools
-THRIFT-1959 C# C#: Add Union TMemoryBuffer support
-THRIFT-1958 C# C#: Use static Object.Equals instead of .Equals() calls in equals
-THRIFT-1957 Node.js NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
-THRIFT-1956 Java Switch to Apache Commons Lang 3
-THRIFT-1955 Union Type writer generated in C# does not WriteStructBegin
-THRIFT-1952 Build Process Travis CI
-THRIFT-1951 Java libthrift.jar has source files in it
-THRIFT-1949 WP7 build broken
-THRIFT-1943 docstrings for enum values are ignored
-THRIFT-1942 PHP Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
-THRIFT-1934 Tutorial Tabs in Example section on main page are not working
-THRIFT-1933 Delphi generator crashes when a typedef references another typedef from an included file
-THRIFT-1930 C# C# generates unsigned byte for Thrift "byte" type
-THRIFT-1929 Website Update website to use Mirrors for downloads
-THRIFT-1928 Race may still exist in TFileTransport::flush()
-THRIFT-1924 Delphi Delphi: Inconsistency in serialization of optional fields
-THRIFT-1922 C# C#: Inconsistency in serialization of optional fields
-THRIFT-1919 libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
-THRIFT-1913 skipping unknown fields in java unions
-THRIFT-1907 Compiling namespace and sub-namespace directives for unrecognized generators should only be
-THRIFT-1904 Incorrect code is generated for typedefs which use included types
-THRIFT-1903 PHP PHP namespaces cause binary protocols to not be used
-THRIFT-1902 C++ C++: Support for Multiplexing Services on any Transport, Protocol and Server
-THRIFT-1901 C# C#: Support for Multiplexing Services on any Transport, Protocol and Server
-THRIFT-1899 Celphi Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
-THRIFT-1897 Support validation of required fields
-THRIFT-1896 Cocoa Add TBase protocol for Cocoa
-THRIFT-1895 Delphi Delphi: reserved variable name "result" not detected properly
-THRIFT-1890 C++ C++: Make named pipes server work asynchronously
-THRIFT-1888 Java Java Thrift client can't connect to Python Thrift server on same host
-THRIFT-1882 Use single include
-THRIFT-1881 TNonblockingServer does not release open connections or threads on shutdown
-THRIFT-1880 Make named pipes server work asynchronously (overlapped) to allow for clean server stops
-THRIFT-1878 Add the possibility to send custom headers
-THRIFT-1876 Use enum names instead of casted integers in assignments
-THRIFT-1874 timeout for the server-side end of a named pipe
-THRIFT-1873 Binary protocol factory ignores struct read/write flags
-THRIFT-1872 issues with TBufferedTransport buffer
-THRIFT-1869 Java TThreadPoolServer (java) dies when threadpool is consumed
-THRIFT-1864 implement event handler for non-blocking server
-THRIFT-1859 C++ Generated error c++ code with -out and include_prefix param
-THRIFT-1850 make check hangs on TSocket tests in TransportTest.cpp
-THRIFT-1846 Restore socket.h header to support builds with Android NDK
-THRIFT-1842 Memory leak with Pipes
-THRIFT-1838 Compiler Can't build compiler on OS X because of missing thrifty.h
-THRIFT-1831 Bug in list deserializer
-THRIFT-1824 many compile warning, becase Thread.h includes config.h
-THRIFT-1823 Missing parenthesis breaks "IS_..." macro in generated code
-THRIFT-1822 PHP unit test does not work
-THRIFT-1816 Need "require" included thrift files in "xxx_types.js"
-THRIFT-1815 Code generators line buffer output
-THRIFT-1806 Python generation always truncates __init__.py files
-THRIFT-1804 Build Proces Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by dif
-THRIFT-1800 Documentation text not always escaped correctly when rendered to HTML
-THRIFT-1799 Option to generate HTML in "standalone mode"
-THRIFT-1794 C# C# asyncctp broken
-THRIFT-1793 C# C#: Use static read instead of instance read
-THRIFT-1791 Haskell thrift's namespace directive when generating haskell code
-THRIFT-1788 C# C#: Constants static constructor does not compile
-THRIFT-1786 C# C# Union Typing
-THRIFT-1785 C# C#: Add TMemoryBuffer serializer/deserializer
-THRIFT-1783 C# C# doesn't handle required fields correctly
-THRIFT-1782 Javascript async only defined in silverlight
-THRIFT-1780 Add option to generate nullable values
-THRIFT-1779 Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service
-THRIFT-1778 Configure requires manual intervention due to tar failure
-THRIFT-1777 TPipeServer is UNSTOPPABLE
-THRIFT-1773 Python Python library should run on python 2.4
-THRIFT-1769 unions can't have required fields (C++)
-THRIFT-1768 unions can't have required fields (Compiler)
-THRIFT-1767 unions can't have required fields (Delphi)
-THRIFT-1765 Incorrect error message printed for null or negative keys
-THRIFT-1764 how to get the context of client when on a rpc call in server side?
-THRIFT-1756 Build Process 'make -j 8' fails with "unterminated #ifdef" error
-THRIFT-1753 C++ Multiple C++ Windows, OSX, and iOS portability issues
-THRIFT-1749 Python Python TSSLSocket error handling obscures actual error
-THRIFT-1748 Guard and RWGuard macros defined in global namespace
-THRIFT-1742 C# Optionally implement hashcode and equals in c#
-THRIFT-1740 C++ Make C++ library build on OS X and iOS
-THRIFT-1739 Node.js missing license header in node.js files
-THRIFT-1735 Tutorials integrate tutorial into regular build
-THRIFT-1734 Website Front webpage is still advertising v0.8 as current release
-THRIFT-1733 Build Process Fix RPM build issues on RHEL6/OL6 systems
-THRIFT-1729 GLibC C glib refactor left empty folders in svn
-THRIFT-1728 Upgradation of httpcomponents
-THRIFT-1720 Ruby JRuby times out on successful connection
-THRIFT-1716 max allowed connections should be PIPE_UNLIMITED_INSTANCES
-THRIFT-1715 Allow excluding python parts when building contrib/fb303
-THRIFT-1713 Named and Anonymous Pipe transport (Delphi)
-THRIFT-1699 Native Union#read has extra read_field_end call
-THRIFT-1695 allow warning-free compilation in VS 2012 and GNU 4.6
-THRIFT-1681 Lua Add Lua Support
-THRIFT-1666 CPP htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
-THRIFT-1660 Python Python Thrift library can be installed with pip but not easy_install
-THRIFT-1657 Javascript Chrome browser sending OPTIONS method before POST in xmlHttpRequest
-THRIFT-1648 Node.js NodeJS clients always receive 0 for 'double' values.
-THRIFT-1637 Node.js NPM registry does not include version 0.8
-THRIFT-1629 Ruby Ruby 1.9 Compatibility during Thrift configure, make, install
-THRIFT-1614 Thrift build from svn repo sources fails with automake-1.12
-THRIFT-1603 Thrift IDL allows for multiple exceptions, args or struct member names to be the same
-THRIFT-1600 Go - Compile Thrift Go Compiler and Library out of date with Go 1 Release.
-THRIFT-1595 Java test server should follow the documented behavior as of THRIFT-1590
-THRIFT-1594 Java test clients should have a return codes that reflect whether it succeeds or not.
-THRIFT-1574 Apache project branding requirements: DOAP file [PATCH]
-THRIFT-1440 debian packaging: minor-ish policy problems
-THRIFT-1402 Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
-THRIFT-1353 Switch to performance branch, get rid of BinaryParser
-THRIFT-1347 GO Unify the exceptions returned in generated Go code
-THRIFT-1264 Cocoa TSocketClient is queried by run loop after deallocation in Cocoa
-THRIFT-1062 Python Problems with python tutorials
-THRIFT-991 Haskell Refactor Haskell code and generator
-THRIFT-990 C++ Sanify gettimeofday usage codebase-wide
-THRIFT-986 Smalltalk st: add version Info to the library
-THRIFT-985 PHP php: add version Info to the library
-THRIFT-984 OCaml ocaml: add version Info to the library
-THRIFT-930 Haskell Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
-THRIFT-864 default value fails if identifier is a struct
-THRIFT-820 The readLength attribute of TBinaryProtocol is used as an instance variable and is decremen
-THRIFT-801 Ruby Provide an interactive shell (irb) when generating ruby bindings
-THRIFT-791 C++ Let C++ TSimpleServer be driven by an external main loop
-THRIFT-591 Make the C++ runtime library be compatible with Windows and Visual Studio
-THRIFT-563 Support for Multiplexing Services on any Transport, Protocol and Server
-THRIFT-514 Compiler Add option to configure compiler output directory
-THRIFT-474 Ruby Generating Ruby on Rails friendly code
-THRIFT-274 Build Process Towards a working release/versioning process
+## Improvement
+ * [THRIFT-1457] - Capacity of TframedTransport write buffer is never reset
+ * [THRIFT-1135] - Node.js tutorial
+ * [THRIFT-1371] - Socket timeouts (SO_RCVTIMEO and SO_SNDTIMEO) not supported on Solaris
+ * [THRIFT-2142] - Minor tweaks to thrift.el for better emacs package compatibility
+ * [THRIFT-2268] - Modify TSaslTransport to ignore TCP health checks from loadbalancers
+ * [THRIFT-2264] - GitHub page incorrectly states that Thrift is still incubating
+ * [THRIFT-2263] - Always generate good hashCode for Java
+ * [THRIFT-2233] - Java compiler should defensively copy its binary inputs
+ * [THRIFT-2239] - Address FindBugs errors
+ * [THRIFT-2249] - Add SMP Build option to thrift.spec (and three config defines)
+ * [THRIFT-2254] - Exceptions generated by Go compiler should implement error interface
+ * [THRIFT-2260] - Thrift imposes unneeded dependency on commons-lang3
+ * [THRIFT-2258] - Add TLS v1.1/1.2 support to TSSLSocket.cpp
+ * [THRIFT-2205] - Node.js Test Server to support test.js JavaScript Browser test and sundry fixes
+ * [THRIFT-2204] - SSL client for the cocoa client
+ * [THRIFT-2172] - Java compiler allocates optionals array for every struct with an optional field
+ * [THRIFT-2185] - use cabal instead of runhaskell in haskell library
+ * [THRIFT-1926] - PHP Constant Generation Refactoring
+ * [THRIFT-2029] - Port C++ tests to Windows
+ * [THRIFT-2054] - TSimpleFileTransport - Java Lib has no straight forward TTransport based file transport
+ * [THRIFT-2040] - "uninitialized variable" warnings on MSVC/windows
+ * [THRIFT-2034] - Give developers' C++ code direct access to socket FDs on server side
+ * [THRIFT-2095] - Use print function for Python 3 compatiblity
+ * [THRIFT-1868] - Make the TPC backlog configurable in the Java servers
+ * [THRIFT-1813] - Add @Generated annotation to generated classes
+ * [THRIFT-1815] - Code generators line buffer output
+ * [THRIFT-2305] - TFramedTransport empty constructor should probably be private
+ * [THRIFT-2304] - Move client assignments from construtor in method
+ * [THRIFT-2309] - Ruby (gem) & PHP RPM subpackages
+ * [THRIFT-2318] - perl: dependency Class::Accessor not checked
+ * [THRIFT-2317] - exclude tutorial from build
+ * [THRIFT-2320] - Program level doctext does not get attached by parser
+ * [THRIFT-2349] - Golang - improve tutorial
+ * [THRIFT-2348] - PHP Generator: add array typehint to functions
+ * [THRIFT-2344] - configure.ac: compiler-only option
+ * [THRIFT-2343] - Golang - Return a single error for all exceptions instead of multiple return values
+ * [THRIFT-2341] - Enable generation of Delphi XMLDoc comments (a.k.a. "Help Insight")
+ * [THRIFT-2355] - Add SSL and Web Socket Support to Node and JavaScript
+ * [THRIFT-2350] - Add async calls to normal JavaScript
+ * [THRIFT-2330] - Generate PHPDoc comments
+ * [THRIFT-2332] - RPMBUILD: run bootstrap (if needed)
+ * [THRIFT-2391] - simple socket transport for actionscript 3.0
+ * [THRIFT-2376] - nodejs: allow Promise style calls for client and server
+ * [THRIFT-2369] - Add ssl support for nodejs implementation
+ * [THRIFT-2401] - Haskell tutorial compiles
+ * [THRIFT-2417] - C# Union classes are not partial
+ * [THRIFT-2415] - Named pipes server performance & message mode
+ * [THRIFT-2404] - emit warning on (typically inefficient) list<byte>
+ * [THRIFT-2398] - Improve Node Server Library
+ * [THRIFT-2397] - Add CORS and CSP support for JavaScript and Node.js libraries
+ * [THRIFT-2407] - use markdown (rename README => README.md)
+ * [THRIFT-2300] - D configure info output should follow same format as other languages
+ * [THRIFT-2579] - Windows CE support
+ * [THRIFT-2574] - Compiler option to generate namespace directories for Ruby
+ * [THRIFT-2571] - Simplify cross compilation using CMake
+ * [THRIFT-2569] - Introduce file to specify third party library locations on Windows
+ * [THRIFT-2568] - Implement own certificate handler
+ * [THRIFT-2552] - eliminate warning from configure.ac
+ * [THRIFT-2549] - Generate json tag for struct members. use go.tag annotation to override the default generated tag.
+ * [THRIFT-2544] - Add support for socket transport for c# library when using Windows Phone projects
+ * [THRIFT-2453] - haskell tutorial: fix up division by 0 example
+ * [THRIFT-2449] - Enhance typedef structure to distinguish between forwards and real typedefs
+ * [THRIFT-2446] - There is no way to handle server stream errors
+ * [THRIFT-2455] - Allow client certificates to be used with THttpClient
+ * [THRIFT-2511] - Node.js needs the compact protocol
+ * [THRIFT-2493] - Node.js lib needs HTTP client
+ * [THRIFT-2502] - Optimize go implementations of binary and compact protocols for speed
+ * [THRIFT-2494] - Add enum toString helper function in c_glib
+ * [THRIFT-2471] - Make cpp.ref annotation language agnostic
+ * [THRIFT-2497] - server and client for test/go, also several fixes and improvements
+ * [THRIFT-2535] - TJSONProtocol when serialized yields TField ids rather than names
+ * [THRIFT-2220] - Add a new struct structv?
+ * [THRIFT-1352] - Thrift server
+ * [THRIFT-989] - Push boost m4 macros upstream
+ * [THRIFT-1349] - Remove unnecessary print outs
+ * [THRIFT-2496] - server and client for test/go, also several fixes and improvements
+ * [THRIFT-1114] - Maven publish shouldn't require passwords hardcoded in settings.xml
+ * [THRIFT-2043] - visual 2010 warnings - unreachable code
+ * [THRIFT-1683] - Implement alternatives to Javascript Client side Transport protocol, just as NPAPI and WebSocket.
+ * [THRIFT-1746] - provide a SPDX file
+ * [THRIFT-1772] - Serialization does not check types of embedded structures.
+ * [THRIFT-2387] - nodejs: external imports should be centralized in index.js
+ * [THRIFT-2037] - More general macro THRIFT_UNUSED_VARIABLE
+
+## New Feature
+ * [THRIFT-1012] - Transport for DataInput DataOutput interface
+ * [THRIFT-2256] - Using c++11/c++0x std library replace boost library
+ * [THRIFT-2250] - JSON and MemoryBuffer for JavaME
+ * [THRIFT-2114] - Python Service Remote SSL Option
+ * [THRIFT-1719] - SASL client support for Python
+ * [THRIFT-1894] - Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
+ * [THRIFT-1893] - HTTP/JSON server/client for node js
+ * [THRIFT-2347] - C# TLS Transport based on THRIFT-181
+ * [THRIFT-2377] - Allow addition of custom HTTP Headers to an HTTP Transport
+ * [THRIFT-2408] - Named Pipe Transport Option for C#
+ * [THRIFT-2572] - Add string/collection length limit checks (from C++) to java protocol readers
+ * [THRIFT-2469] - "java:fullcamel" option to automatically camel-case underscored attribute names
+ * [THRIFT-795] - Importing service functions (simulation multiple inheritance)
+ * [THRIFT-2164] - Add a Get/Post Http Server to Node along with examples
+ * [THRIFT-2255] - add Parent Class for generated Struct class
+
+## Question
+ * [THRIFT-2539] - Tsocket.cpp addrinfo ai_flags = AI_ADDRCONFIG
+ * [THRIFT-2440] - how to connect as3 to java by thrift ,
+ * [THRIFT-2379] - Memmory leaking while using multithreading in C++ server.
+ * [THRIFT-2277] - Thrift: installing fb303 error
+ * [THRIFT-2567] - Csharp slow ?
+ * [THRIFT-2573] - thrift 0.9.2 release
+
+## Sub-task
+ * [THRIFT-981] - cocoa: add version Info to the library
+ * [THRIFT-2132] - Go: Support for Multiplexing Services on any Transport, Protocol and Server
+ * [THRIFT-2299] - TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
+ * [THRIFT-2298] - TJsonProtocol implementation for C# does not allow for both possible slash (solidus) encodings
+ * [THRIFT-2297] - TJsonProtocol implementation for Delphi does not allow for both possible slash (solidus) encodings
+ * [THRIFT-2271] - JavaScript: Support for Multiplexing Services
+ * [THRIFT-2251] - go test for compact protocol is not running
+ * [THRIFT-2195] - Delphi: Add event handlers for server and processing events
+ * [THRIFT-2176] - TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
+ * [THRIFT-2175] - Wrong field type set for binary
+ * [THRIFT-2174] - Deserializing JSON fails in specific cases
+ * [THRIFT-2053] - NodeJS: Support for Multiplexing Services
+ * [THRIFT-1914] - Python: Support for Multiplexing Services on any Transport, Protocol and Server
+ * [THRIFT-1810] - add ruby to test/test.sh
+ * [THRIFT-2310] - PHP: Client-side support for Multiplexing Services
+ * [THRIFT-2346] - C#: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
+ * [THRIFT-2345] - Delphi: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
+ * [THRIFT-2338] - First doctext wrongly interpreted as program doctext in some cases
+ * [THRIFT-2325] - SSL test certificates
+ * [THRIFT-2358] - C++: add compact protocol to cross language test suite
+ * [THRIFT-2425] - PHP: Server-side support for Multiplexing Services
+ * [THRIFT-2421] - Tree/Recursive struct support in thrift
+ * [THRIFT-2290] - Update Go tutorial to align with THRIFT-2232
+ * [THRIFT-2558] - CSharp compiler generator tries to concat ints with strings using +
+ * [THRIFT-2507] - Additional LUA TProtocolException error code needed?
+ * [THRIFT-2499] - Compiler: allow annotations without "= value"
+ * [THRIFT-2534] - Cross language test results should recorded to a status.md or status.html file automatically
+ * [THRIFT-66] - Java: Allow multiplexing multiple services over a single TCP connection
+ * [THRIFT-1681] - Add Lua Support
+ * [THRIFT-1727] - Ruby-1.9: data loss: "binary" fields are re-encoded
+ * [THRIFT-1726] - Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
+ * [THRIFT-988] - perl: add version Info to the library via configure
+ * [THRIFT-334] - Compact Protocol for PHP
+ * [THRIFT-2444] - pull request 88: thrift: clean up enum value assignment
+
+## Task
+ * [THRIFT-2223] - Spam links on wiki
+ * [THRIFT-2566] - Please create a DOAP file for your TLP
+ * [THRIFT-2237] - Update archive to contain all versions
+ * [THRIFT-962] - Tutorial page on our website is really unhelpful
+
+## Test
+ * [THRIFT-2327] - nodejs: nodejs test suite should be bundled with the library
+ * [THRIFT-2445] - THRIFT-2384 (code generation for go maps with binary keys) should be tested
+ * [THRIFT-2501] - C# The test parameters from the TestServer and TestClient are different from the http://thrift.apache.org/test/
+
+## Wish
+ * [THRIFT-2190] - Add the JavaScript thrift.js lib to the Bower registry
+ * [THRIFT-2076] - boost::optional instead of __isset
-Version 0.9.0
-THRIFT-164 Website Build web tutorial on Incubator web site
-THRIFT-304 Python Building the Python library requires development headers
-THRIFT-317 Java Issues with Java struct validation
-THRIFT-330 Compiler (General) Additional method to called when connection is broken
-THRIFT-336 Csharp Compact Protocol in C#
-THRIFT-369 Ruby Sets and maps break equality
-THRIFT-481 Ruby Indentation of ruby classes is off by a few
-THRIFT-491 C++ Ripping raw pthreads out of TFileTransport and associated test issues
-THRIFT-541 Cocoa Cocoa code generator doesn't put keywords before all arguments.
-THRIFT-556 Ruby not correctly referred to top-level modules when a submodule masks the top-level name
-THRIFT-681 Compiler (General) The HTML generator does not handle JavaDoc style comments very well
-THRIFT-956 Python Python module's version meta-data should be updated
-THRIFT-973 Cocoa Cocoa library won't compile using clang
-THRIFT-982 JavaME add version Info to the library
-THRIFT-1023 Ruby Thrift encoding (UTF-8) issue with Ruby 1.9.2
-THRIFT-1061 Java, PHP Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
-THRIFT-1072 Cocoa Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
-THRIFT-1082 Perl Thrift::FramedTransport sometimes calls close() on an undefined value
-THRIFT-1090 Website Document the generation of a file called "Constants.java"
-THRIFT-111 Python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
-THRIFT-1128 Build OS X thrift.h incompatibility with Thrift.h
-THRIFT-1159 CSharp THttpClient->Flush() issue (connection thru proxy)
-THRIFT-1204 Ruby Ruby autogenerated files should require 'thrift' gem
-THRIFT-1224 Ruby Cannot insert UTF-8 text
-THRIFT-1235 C++ How could I use THttpServerTransportFactory withTNonBlockingServer
-THRIFT-1267 JavaScript Node.js can't throw exceptions.
-THRIFT-1277 JavaScript Node.js serializes false booleans as null
-THRIFT-1326 C++ on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
-THRIFT-1327 Ruby Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
-THRIFT-1338 Build Process Do not use an unpatched autoconf 2.65 to generate release tarball
-THRIFT-1340 Cocoa Add support of ARC to Objective-C
-THRIFT-1343 Erlang no_auto_import min/2 to avoid compile warning
-THRIFT-1344 Erlang Using the httpc module directly rather than the deprecated http layer
-THRIFT-1368 Java TNonblockingServer usage
-THRIFT-1394 C++ Treatment of optional fields is not consistent between C++ and Java
-THRIFT-1421 Build Process Debian Packages can not be built
-THRIFT-1427 PHP PHP library uses non-multibyte safe functions with mbstring function overloading
-THRIFT-1429 Java The nonblocking servers is supposed to use TransportFactory to read the data
-THRIFT-1433 C++ TServerSocket fix for MSVC
-THRIFT-1438 C++ lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
-THRIFT-1441 Delphi Generate constructor with parameters for exception class for message property auto update
-THRIFT-1443 C++ define a TProcessor helper class to implement process()
-THRIFT-1444 C++ FunctionRunner - add syntactic sugar to create shared_ptrs
-THRIFT-1446 Delphi Compile error with Delphi 2009 in constant initializer
-THRIFT-1447 Java NullpointerException in ProcessFunction.class :in "oneway" method
-THRIFT-1449 Ruby Ruby client does not work on solaris (?)
-THRIFT-1450 Build Process Problems building thrift 0.8.0 for Python and Ruby
-THRIFT-1451 C++ FramedTransport: Prevent infinite loop when writing
-THRIFT-1452 C++ generate a swap() method for all generated structs
-THRIFT-1453 C++ Don't change types of arguments when serializing with thrift php extension
-THRIFT-1456 C# System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
-THRIFT-1460 Python why not add unicode strings support to python directly?
-THRIFT-1461 C++ Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
-THRIFT-1463 Compiler Decouple Thrift IDL from generators
-THRIFT-1464 Java AbstractNonblockingServer.FrameBuffer TNonblockingTransport changed public to private
-THRIFT-1465 Java Visibility of methods in generated java code
-THRIFT-1466 C glib Proper Documentation for Thrift C Glib
-THRIFT-1467 Delphi Possible AV with empty strings when using JSON protocol
-THRIFT-1468 Java Memory leak in TSaslServerTransport
-THRIFT-1469 Java Java isset space optimization
-THRIFT-1473 Delphi JSON context stack left in an incorrect state when exception thrown during read/write
-THRIFT-1475 Erlang Incomplete records generation for Erlang
-THRIFT-1479 PHP Compiled PHP process functions missing writeMessageEnd()
-THRIFT-1480 Python remove tabs, adjust whitespace and address PEP8 warnings
-THRIFT-1483 Java java compiler does not generate type parameters for services in extended clauses
-THRIFT-1484 PHP Introduce phpunit test suite
-THRIFT-1485 Delphi Performance: pass large and/or refcounted arguments as "const"
-THRIFT-1486 Test Suite Javascript manual testserver not returning content types
-THRIFT-1488 Build Process invalid conversion 'pthread_t {aka _opaque_pthread_t*}' to {aka long long unsigned int}'
-THRIFT-1490 C++ Windows-specific header files - fixes & tweaks
-THRIFT-1491 C++ Uninitialize processorFactory_ member in TServer.h
-THRIFT-1492 C glib enabling c_glib render thrift unusable (even for C++ code)
-THRIFT-1495 Test Suite PHP TestClient fatals on missing class
-THRIFT-1496 PHP PHP compiler not namespacing enums
-THRIFT-1498 Java Allow TThreadedPoolServer.Args to pass a ExecutorService
-THRIFT-1500 D D programming language support
-THRIFT-1501 PHP PHP old namespaces not generated for enums
-THRIFT-1502 C++ TSimpleServer::serve(): Do not print out error message if server was stopped.
-THRIFT-1504 Cocoa Cocoa Generator should use local file imports for base Thrift headers
-THRIFT-1508 C++ TServerSocket does not allow for the user to specify the IP address to bind to
-THRIFT-1510 Ruby There should be an implementation of the JsonProtocol for ruby
-THRIFT-1511 Java Server with oneway support ( JAVA )
-THRIFT-1512 C++ Thrift socket support for Windows XP
-THRIFT-1515 Python NameError: global name 'TApplicationException' is not defined
-THRIFT-1518 C++ Generated C++ code sends the first optional field in the write() function for a struct.
-THRIFT-1519 Ruby Thirft Build Failure referencing rb_intern2 symbol
-THRIFT-1520 Erlang Embed version number in erlang .app file
-THRIFT-1521 PHP Two patches for more Performance
-THRIFT-1523 Java clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
-THRIFT-1524 C++ TNonBlockingServer does not compile in Visual Studio 2010
-THRIFT-1526 Java Union TupleSchemeFactory returns StandardSchemes
-THRIFT-1527 Java Gen tupleReadStruct in unions return null when the setfield is unrecognized
-THRIFT-1529 Java TupleProtocol unintentionally includes extra byte in bit vectors with ptional fields is 8
-THRIFT-1532 Erlang The type specifications in the gen Erlang code should include "undefined" for default val
-THRIFT-1534 Delphi Required fields in the Delphi code generator.
-THRIFT-1535 Java Why thrift don't use wrapped class for optional fields ?
-THRIFT-1537 Delphi TFramedTransport issues
-THRIFT-1539 Python Build and distribute the fb303 python libraries along with thrift
-THRIFT-1553 Node.js thrift nodejs service side can't read map structure, key as enum, value as Object
-THRIFT-1554 Delphi Inherited service methods are not resolved in derived service implementations
-THRIFT-1555 Delphi Delphi version of the tutorial code
-THRIFT-1567 C++ Thrift/cpp: Allow alternate classes to be used for
-THRIFT-1571 Ruby Update Ruby HTTP transport for recent Ruby versions
-THRIFT-1575 C++ Typo in server/TThreadPoolServer.h
-THRIFT-1578 C glib C_GLib generated code does not compile
-THRIFT-1582 C glib Bad includes of nested thrift files in c_glib
-THRIFT-1583 C glib c_glib leaks memory
-THRIFT-1591 Ruby Enable TCP_NODELAY for ruby gem
-THRIFT-1593 Erlang Pass on errors like "connection closed" to the handler module
-THRIFT-1596 Delphi Test clients should have a return codes that reflect whether they succeeded or not
-THRIFT-1597 PHP TJSONProtocol.php is missing from Makefile.am
-THRIFT-1602 PHP PHP C Extension is not Compatible with PHP 5.4
-THRIFT-1604 Python Python exception handeling for changes from PEP 3110
-THRIFT-1606 C++ Race condition in BoostThreadFactory.cpp
-THRIFT-1607 Build Process Incorrect file modes for several source files
-THRIFT-1610 C# IWebProxy not available on WP7 platform
-THRIFT-1611 Delphi Improved code generation for typedefs
-THRIFT-1612 C# Base64 encoding is broken
-THRIFT-1613 Java Add code back into empty source file ToStringTest.java
-THRIFT-1615 PHP PHP Namespace
-THRIFT-1621 Delphi Memory leaks
-THRIFT-1622 C++ Incorrect size returned on read
-THRIFT-1624 Java Isset Generated differently on different platforms
-THRIFT-1627 Build Process compiler built using compilers.vcxproj cannot be used to build some test .thrift files
-THRIFT-1631 C++ Fix C++ server constructor typos
-THRIFT-1632 Ruby data corruption in thrift_native implementation of MemoryBufferTransport
-THRIFT-1644 Ruby Upgrade RSpec to 2.10.x and refactor specs as needed
-THRIFT-1645 Ruby Replace Object#tee with more conventional Object#tap in specs
-THRIFT-1650 Ruby Update clean items and svn:ignore entries for OS X artifacts
-THRIFT-1652 Java TSaslTransport does not log the error when kerberos auth fails
-THRIFT-1653 Java TThreadedSelectorServer leaks CLOSE_WAIT sockets
-THRIFT-1654 C glib c_glib thrift_socket_read() returns corrupted data
-THRIFT-1655 Build Process Configure still trying to use thrift_generators in output
-THRIFT-1656 C++ Set proper headers in THttpServer.cpp so "Cross-Origin Resource Sharing" to fix js client
-THRIFT-1658 Java Java thrift server is not throwing TApplicationException
-THRIFT-1661 Build Process Add --with-qt4 configure option
-THRIFT-1662 Cocoa "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
-THRIFT-1663 Java Java Thrift server is not throwing exceptions
-THRIFT-1664 Build Process Reference to non-existing variable in build script
-THRIFT-1665 Java TBinaryProtocol: exceeded message length raises generic TException
-THRIFT-1668 Build Process Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
-THRIFT-1669 Python NameError: global name 'TApplicationException' is not defined
-THRIFT-1670 Delphi Incompatibilities between different versions of a Thrift interface
-THRIFT-1671 Cocoa Cocoa code generator does not put keywords into generated method calls
-THRIFT-1672 C# MonoTouch (and Mono for Android) compatibility
-THRIFT-1673 Ruby Ruby compile flags for extension for multi arch builds (os x)
-THRIFT-1674 D Update Thrift D library to be compatible with 2.060
-THRIFT-1675 Java Do we have any plan to support scala?
-THRIFT-1676 C++ Allow specifying IP/hostname in TServer::serve
-THRIFT-1685 Website Please add "aereo.com" to "Powered by Apache Thrift" list in about page
-THRIFT-1686 PHP php generator uses "and" instead of "&&", and causes compiler errors with Visual Studio
-THRIFT-1688 Website Update IDL page markup
-THRIFT-1689 C++ don't exit(-1) in TNonblockingServer
-THRIFT-1691 Delphi Serializer/deserializer support for Delphi
-THRIFT-1693 Java libthrift has dependency on two different versions of httpcore
-THRIFT-1694 C# Re-Enable serialization for WP7 Silverlight
-THRIFT-1702 Documentation a thrift manual
-THRIFT-1707 Ruby Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
-THRIFT-1709 C# Warning "Bitwise-or operator used on a sign-extended operand;" cast error
-THRIFT-1710 Delphi Minor issues in test case code
-THRIFT-1714 Ruby Explicitly add CWD to Ruby test_suites.rb
-THRIFT-1718 C++ Incorrect check in TFileTransportTest
-THRIFT-1721 Build Dist broken due to 0.8.0 to 0.9.0 changes
-THRIFT-1722 Csharp C# WP7 Assembly addition beaks mono build
-THRIFT-1725 Website Tutorial web pages for Delphi and C#
+Thrift 0.9.1
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1440] - debian packaging: minor-ish policy problems
+ * [THRIFT-1402] - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
+ * [THRIFT-1551] - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
+ * [THRIFT-1264] - TSocketClient is queried by run loop after deallocation in Cocoa
+ * [THRIFT-1600] - Thrift Go Compiler and Library out of date with Go 1 Release.
+ * [THRIFT-1603] - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
+ * [THRIFT-1062] - Problems with python tutorials
+ * [THRIFT-864] - default value fails if identifier is a struct
+ * [THRIFT-930] - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
+ * [THRIFT-820] - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
+ * [THRIFT-1640] - None of the tutorials linked on the website contain content
+ * [THRIFT-1637] - NPM registry does not include version 0.8
+ * [THRIFT-1648] - NodeJS clients always receive 0 for 'double' values.
+ * [THRIFT-1660] - Python Thrift library can be installed with pip but not easy_install
+ * [THRIFT-1657] - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
+ * [THRIFT-2118] - Certificate error handling still incorrect
+ * [THRIFT-2137] - Ruby test lib fails jenkins build #864
+ * [THRIFT-2136] - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
+ * [THRIFT-2135] - GO lib leaves behind test files that are auto generated
+ * [THRIFT-2134] - mingw-cross-compile script failing with strip errors
+ * [THRIFT-2133] - java TestTBinaryProtocol.java test failing
+ * [THRIFT-2126] - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
+ * [THRIFT-2125] - debian missing from DIST
+ * [THRIFT-2124] - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
+ * [THRIFT-2123] - GO lib missing files in DIST build
+ * [THRIFT-2121] - Compilation bug for Node.js
+ * [THRIFT-2129] - php ext missing from dist
+ * [THRIFT-2128] - lib GO tests fail with funct ends without a return statement
+ * [THRIFT-2286] - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
+ * [THRIFT-1973] - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
+ * [THRIFT-1992] - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
+ * [THRIFT-1930] - C# generates unsigned byte for Thrift "byte" type
+ * [THRIFT-1929] - Update website to use Mirrors for downloads
+ * [THRIFT-1928] - Race may still exist in TFileTransport::flush()
+ * [THRIFT-1934] - Tabs in Example section on main page are not working
+ * [THRIFT-1933] - Delphi generator crashes when a typedef references another typedef from an included file
+ * [THRIFT-1942] - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
+ * [THRIFT-1959] - C#: Add Union TMemoryBuffer support
+ * [THRIFT-1958] - C#: Use static Object.Equals instead of .Equals() calls in equals
+ * [THRIFT-1957] - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
+ * [THRIFT-1955] - Union Type writer generated in C# does not WriteStructBegin
+ * [THRIFT-1952] - Travis CI
+ * [THRIFT-1949] - WP7 build broken
+ * [THRIFT-1943] - docstrings for enum values are ignored
+ * [THRIFT-2070] - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
+ * [THRIFT-2017] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
+ * [THRIFT-2032] - C# client leaks sockets/handles
+ * [THRIFT-1996] - JavaME Constants generation is broken / inconsistent with regular Java generation
+ * [THRIFT-2002] - Haskell: Test use Data.Maybe instead of Maybe
+ * [THRIFT-2051] - Vagrant fails to build erlang
+ * [THRIFT-2050] - Vagrant C# lib compile fails with TException missing
+ * [THRIFT-1978] - Ruby: Thrift should allow for the SSL verify mode to be set
+ * [THRIFT-1984] - namespace collision in python bindings
+ * [THRIFT-1988] - When trying to build a debian package it fails as the file NEWS doesn't exist
+ * [THRIFT-1975] - TBinaryProtocol CheckLength can't be used for a client
+ * [THRIFT-1995] - '.' allowed at end of identifier generates non-compilable code
+ * [THRIFT-2112] - Error in Go generator when using typedefs in map keys
+ * [THRIFT-2088] - Typos in Thrift compiler help text
+ * [THRIFT-2080] - C# multiplex processor does not catch IOException
+ * [THRIFT-2082] - Executing "gmake clean" is broken
+ * [THRIFT-2102] - constants are not referencing to correct type when included from another thrift file
+ * [THRIFT-2100] - typedefs are not correctly referenced when including from other thrift files
+ * [THRIFT-2066] - 'make install' does not install two headers required for C++ bindings
+ * [THRIFT-2065] - Not valid constants filename in Java
+ * [THRIFT-2047] - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
+ * [THRIFT-2036] - Thrift gem warns about class variable access from top level
+ * [THRIFT-2057] - Vagrant fails on php tests
+ * [THRIFT-2105] - Generated code for default values of collections ignores t_field::T_REQUIRED
+ * [THRIFT-2091] - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
+ * [THRIFT-2090] - Go generator, fix including of other thrift files
+ * [THRIFT-2106] - Fix support for namespaces in GO generator
+ * [THRIFT-1783] - C# doesn't handle required fields correctly
+ * [THRIFT-1782] - async only defined in silverlight
+ * [THRIFT-1779] - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
+ * [THRIFT-1692] - SO_REUSEADDR allows for socket hijacking on Windows
+ * [THRIFT-1720] - JRuby times out on successful connection
+ * [THRIFT-1713] - Named and Anonymous Pipe transport (Delphi)
+ * [THRIFT-1699] - Native Union#read has extra read_field_end call
+ * [THRIFT-1749] - Python TSSLSocket error handling obscures actual error
+ * [THRIFT-1748] - Guard and RWGuard macros defined in global namespace
+ * [THRIFT-1734] - Front webpage is still advertising v0.8 as current release
+ * [THRIFT-1729] - C glib refactor left empty folders in svn
+ * [THRIFT-1767] - unions can't have required fields (Delphi)
+ * [THRIFT-1765] - Incorrect error message printed for null or negative keys
+ * [THRIFT-1778] - Configure requires manual intervention due to tar failure
+ * [THRIFT-1777] - TPipeServer is UNSTOPPABLE
+ * [THRIFT-1753] - Multiple C++ Windows, OSX, and iOS portability issues
+ * [THRIFT-1756] - 'make -j 8' fails with "unterminated #ifdef" error
+ * [THRIFT-1773] - Python library should run on python 2.4
+ * [THRIFT-1769] - unions can't have required fields (C++)
+ * [THRIFT-1768] - unions can't have required fields (Compiler)
+ * [THRIFT-1666] - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
+ * [THRIFT-1919] - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
+ * [THRIFT-1864] - implement event handler for non-blocking server
+ * [THRIFT-1859] - Generated error c++ code with -out and include_prefix param
+ * [THRIFT-1869] - TThreadPoolServer (java) dies when threadpool is consumed
+ * [THRIFT-1842] - Memory leak with Pipes
+ * [THRIFT-1838] - Can't build compiler on OS X because of missing thrifty.h
+ * [THRIFT-1846] - Restore socket.h header to support builds with Android NDK
+ * [THRIFT-1850] - make check hangs on TSocket tests in TransportTest.cpp
+ * [THRIFT-1873] - Binary protocol factory ignores struct read/write flags
+ * [THRIFT-1872] - issues with TBufferedTransport buffer
+ * [THRIFT-1904] - Incorrect code is generated for typedefs which use included types
+ * [THRIFT-1903] - PHP namespaces cause binary protocols to not be used
+ * [THRIFT-1895] - Delphi: reserved variable name "result" not detected properly
+ * [THRIFT-1881] - TNonblockingServer does not release open connections or threads on shutdown
+ * [THRIFT-1888] - Java Thrift client can't connect to Python Thrift server on same host
+ * [THRIFT-1831] - Bug in list deserializer
+ * [THRIFT-1824] - many compile warning, becase Thread.h includes config.h
+ * [THRIFT-1823] - Missing parenthesis breaks "IS_..." macro in generated code
+ * [THRIFT-1806] - Python generation always truncates __init__.py files
+ * [THRIFT-1795] - Race condition in TThreadedServerPool java implementation
+ * [THRIFT-1794] - C# asyncctp broken
+ * [THRIFT-1804] - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
+ * [THRIFT-1800] - Documentation text not always escaped correctly when rendered to HTML
+ * [THRIFT-1788] - C#: Constants static constructor does not compile
+ * [THRIFT-1816] - Need "require" included thrift files in "xxx_types.js"
+ * [THRIFT-1907] - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
+ * [THRIFT-1913] - skipping unknown fields in java unions
+ * [THRIFT-2553] - C++ linker error - transport/TSocket
+ * [THRIFT-274] - Towards a working release/versioning process
+
+## Documentation
+ * [THRIFT-1971] - [Graphviz] Adds tutorial/general description documentation
+ * [THRIFT-2001] - http://thrift.apache.org/ Example "C++ Server" tab is broken
+
+## Improvement
+ * [THRIFT-1574] - Apache project branding requirements: DOAP file [PATCH]
+ * [THRIFT-1347] - Unify the exceptions returned in generated Go code
+ * [THRIFT-1353] - Switch to performance branch, get rid of BinaryParser
+ * [THRIFT-1629] - Ruby 1.9 Compatibility during Thrift configure, make, install
+ * [THRIFT-991] - Refactor Haskell code and generator
+ * [THRIFT-990] - Sanify gettimeofday usage codebase-wide
+ * [THRIFT-791] - Let C++ TSimpleServer be driven by an external main loop
+ * [THRIFT-2117] - Cocoa TBinaryProtocol strictWrite should be set to true by default
+ * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
+ * [THRIFT-1972] - Add support for async processors
+ * [THRIFT-1970] - [Graphviz] Adds option to render exceptions relationships
+ * [THRIFT-1966] - Support different files for SSL certificates and keys
+ * [THRIFT-1965] - Adds Graphviz (graph description language) generator
+ * [THRIFT-1956] - Switch to Apache Commons Lang 3
+ * [THRIFT-1962] - Multiplex processor should send any TApplicationException back to client
+ * [THRIFT-1960] - main() declares 22 unused gen bools
+ * [THRIFT-1951] - libthrift.jar has source files in it
+ * [THRIFT-1997] - Add accept backlog configuration method to TServerSocket
+ * [THRIFT-2003] - Deprecate senum
+ * [THRIFT-2052] - Vagrant machine image defaults to only 384MB of RAM
+ * [THRIFT-1980] - Modernize Go tooling, fix go client libary.
+ * [THRIFT-1977] - C# compiler should generate constant files prefixed with thrift file name
+ * [THRIFT-1985] - add a Vagrantfile to build and test Apache Thrift fully reproducable
+ * [THRIFT-1994] - Deprecate slist
+ * [THRIFT-1993] - Factory to create instances from known (generated) interface types with Delphi
+ * [THRIFT-2081] - Specified timeout should be used in TSocket.Open()
+ * [THRIFT-2084] - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
+ * [THRIFT-2083] - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
+ * [THRIFT-2109] - Secure connections should be supported in Go
+ * [THRIFT-2107] - minor Go generator fixes
+ * [THRIFT-1695] - allow warning-free compilation in VS 2012 and GNU 4.6
+ * [THRIFT-1735] - integrate tutorial into regular build
+ * [THRIFT-1716] - max allowed connections should be PIPE_UNLIMITED_INSTANCES
+ * [THRIFT-1715] - Allow excluding python parts when building contrib/fb303
+ * [THRIFT-1733] - Fix RPM build issues on RHEL6/OL6 systems
+ * [THRIFT-1728] - Upgradation of httpcomponents
+ * [THRIFT-1876] - Use enum names instead of casted integers in assignments
+ * [THRIFT-1874] - timeout for the server-side end of a named pipe
+ * [THRIFT-1897] - Support validation of required fields
+ * [THRIFT-1896] - Add TBase protocol for Cocoa
+ * [THRIFT-1880] - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
+ * [THRIFT-1878] - Add the possibility to send custom headers
+ * [THRIFT-1882] - Use single include
+ * [THRIFT-1793] - C#: Use static read instead of instance read
+ * [THRIFT-1799] - Option to generate HTML in "standalone mode"
+ * [THRIFT-1815] - Code generators line buffer output
+ * [THRIFT-1890] - C++: Make named pipes server work asynchronously
+ * [THRIFT-474] - Generating Ruby on Rails friendly code
+
+## New Feature
+ * [THRIFT-801] - Provide an interactive shell (irb) when generating ruby bindings
+ * [THRIFT-2292] - Android Library Project
+ * [THRIFT-2012] - Modernizing Go
+ * [THRIFT-1969] - C#: Tests not properly linked from the solution
+ * [THRIFT-1785] - C#: Add TMemoryBuffer serializer/deserializer
+ * [THRIFT-1780] - Add option to generate nullable values
+ * [THRIFT-1786] - C# Union Typing
+ * [THRIFT-591] - Make the C++ runtime library be compatible with Windows and Visual Studio
+ * [THRIFT-514] - Add option to configure compiler output directory
+
+## Question
+ * [THRIFT-1764] - how to get the context of client when on a rpc call in server side?
+ * [THRIFT-1791] - thrift's namespace directive when generating haskell code
+
+## Sub-task
+ * [THRIFT-1594] - Java test clients should have a return codes that reflect whether it succeeds or not.
+ * [THRIFT-1595] - Java test server should follow the documented behavior as of THRIFT-1590
+ * [THRIFT-986] - st: add version Info to the library
+ * [THRIFT-985] - php: add version Info to the library
+ * [THRIFT-984] - ocaml: add version Info to the library
+ * [THRIFT-1924] - Delphi: Inconsistency in serialization of optional fields
+ * [THRIFT-1922] - C#: Inconsistency in serialization of optional fields
+ * [THRIFT-1961] - C# tests should be in lib/csharp/test/...
+ * [THRIFT-1822] - PHP unit test does not work
+ * [THRIFT-1902] - C++: Support for Multiplexing Services on any Transport, Protocol and Server
+ * [THRIFT-1901] - C#: Support for Multiplexing Services on any Transport, Protocol and Server
+ * [THRIFT-1899] - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
+ * [THRIFT-563] - Support for Multiplexing Services on any Transport, Protocol and Server
-Version 0.8.0
-THRIFT-1330 PHP PHP Namespaces no longer generated
-THRIFT-1392 PHP Enabling both namespaces and autoloading in generated PHP code won't work.
-THRIFT-386 Python Make it possible to build the Python library without the extension
-THRIFT-1431 Node.js Rename 'sys' module to 'util'
-THRIFT-1435 Delphi make TException.Message property conformant to the usual expectations
-THRIFT-1432 JavaScript Javascript struct constants declared in the same file as their struct cause an error
-THRIFT-1391 Delphi Improved Delphi XE test cases
-THRIFT-1387 C++ Build MSVC libraries with Boost Threads instead of Pthreads
-THRIFT-1426 Build Process Dist package missing files for release 0.8
-THRIFT-1428 Tutorial shared.thrft does not include namespace for php, compiler generate incorrect name
-THRIFT-1411 Java java generator does not provide type parameter for TBaseProcessor
-THRIFT-1425 Node.js The Node package is incompatible with latest node (0.6) & npm (1.0.27)
-THRIFT-1401 Delphi JSON-protocol for Delphi XE Libraries
-THRIFT-1424 Ruby Ruby specs fail when run with rake
-THRIFT-1382 Ruby Bundle install doesnot work because thrift crashes
-THRIFT-1251 Java Generated java code should indicate which fields are required and which are optional
-THRIFT-1361 C++ Optional replacement of pthread by boost::thread
-THRIFT-1415 Delphi delphi: add version Info to the library
-THRIFT-1031 C++ Patch to compile Thrift for vc++ 9.0 and 10.0
-THRIFT-1420 Java Nonblocking and HsHa server should close all socket connections when the selector exits
-THRIFT-1419 Java AbstractNonBlockingServer does not catch errors when invoking the processor
-THRIFT-1416 Python Python Unit test is broken on ci
-THRIFT-1409 Delphi Name conflict check does not work properly for exception object(Delphi).
-THRIFT-1413 Delphi Generated code does not read MapEnd / ListEnd / SetEnd
-THRIFT-1408 Delphi Delphi Test Server: Exception test case fails due to naming conflict with e.message
-THRIFT-1407 Python Typo in Python socket server causes Thrift to fail when we enable a global socket timout
-THRIFT-1405 Delphi Delphi compiler does not generates container serializer properly.
-THRIFT-1399 Delphi One of the TServerImpl.Create CTORs lacks implementation
-THRIFT-1406 Delphi Build error after applying THRIFT-1395
-THRIFT-1404 Delphi Delphi compiler generates struct reader code with problem.
-THRIFT-1395 Delphi Patch to prevent warnings for integer types in some cases
-THRIFT-1400 Ruby Ruby native extension aborts with __stack_chk_fail in OSX
-THRIFT-1397 Test Suite CI server fails during build due to unused parameters in delphi generator
-THRIFT-1396 Delphi Dephi generator has dependacy on boost 1.42 later.
-THRIFT-1390 Build Process Debian packages build fix for Squeeze (build from the official 0.7.0 tarball)
-THRIFT-1393 PHP TTransportException's thrown from THttpClient has extra slashes in the Exception message
-THRIFT-1366 Delphi Delphi generator, lirbrary and unit test.
-THRIFT-1130 Compiler (General) Add the ability to specify symbolic default value for optional boolean
-THRIFT-1381 C++ Thrift C++ libs have incorrectly versioned names
-THRIFT-1384 Javame Java help menu missing newline near javame flag
-THRIFT-1373 C++ Fix user-defined exception generation in thrift (python)
-THRIFT-1379 C++ fix uninitialized enum values in thrift C++ objects
-THRIFT-1377 C++ abort PHP deserialization on unknown field type
-THRIFT-1376 C++ Make port specification option in thrift remote
-THRIFT-1375 C++ fixed a hex char conversion bug in TJSONProtocol
-THRIFT-1370 C glib Debian packaging should Build-Depend on libglib2.0-dev
-THRIFT-1121 Java Java server performance regression in 0.6
-THRIFT-1365 Java TupleProtocol#writeBitSet unintentionally writes a variable length byte array
-THRIFT-1359 C++ --gen-cob cpp:cob_style does not compile anymore
-THRIFT-1355 Ruby Running make in lib/rb doesn't build the native extensions
-THRIFT-1354 Ruby Add rake task to build just the gem file
-THRIFT-857 Test Suite tests run by "make install" fail if generators are disabled
-THRIFT-1339 Java Extend Tuple Protocol to TUnions
-THRIFT-1331 Ruby Ruby library deserializes an empty map to nil
-THRIFT-1350 Go Go library code does not build as of r60 (most recent release)
-THRIFT-1227 Erlang Erlang implementation of thrift JSON protocol
-THRIFT-1335 C++ Add accept timeout to TServerSocket
-THRIFT-1345 Build Process Allow building without tests
-THRIFT-1342 Python Compilation problem on Windows of fastbinary.c
-THRIFT-1341 C++ TProtocol.h endian detection wrong with boost
-THRIFT-1243 C++ TAsyncChannel callbacks
-THRIFT-1238 JavaScript Thrift JS client cannot read map of structures
-THRIFT-1333 C++ Make RWGuard not copyable
-THRIFT-1334 C++ Add more info to IllegalStateException
-THRIFT-1332 Java TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
-THRIFT-1328 Java TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
-THRIFT-1322 OCaml OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
-THRIFT-1279 PHP type set is handled incorrectly when writing object
-THRIFT-1320 C++ Consistency of configure generated config.h
-THRIFT-1319 Java Mismatch between how a union reads and writes a container
-THRIFT-1316 C++ thrift: update server classes to accept
-THRIFT-1314 C++ thrift: add TProcessorFactory
-THRIFT-1315 C++ thrift: generate server interface factory classes
-THRIFT-1317 C++ Remove copy constructibility from
-THRIFT-1305 C++ thrift: make TConnection a private inner class of
-THRIFT-1286 Ruby Modernize the Thrift Ruby Library Dev Environment
-THRIFT-1304 C++ TNonblockingServer: pass in the connection context to
-THRIFT-1302 C++ thrift: raise an exception if send() times out in
-THRIFT-1301 C++ thrift: consolidate common code in TNonblockingServer
-THRIFT-1298 Java Standard scheme doesn't read or write metadata along with field values
-THRIFT-1257 Java thrift's dependency scope on javax.servlet:servlet-api should be 'provided'
-THRIFT-1240 PHP TBinarySerializer invalid serialization due to TBufferTransport not flushing
-THRIFT-1295 C++ Duplicate include in TSocket.cpp
-THRIFT-1294 C++ thrift: fix log message typos in TSimpleServer
-THRIFT-1293 C++ thrift: improve handling of exceptions thrown by
-THRIFT-1292 C++ thrift: silence log spew from TThreadedServer
-THRIFT-1290 C++ thrift: TNonblockingServer: clean up state in the
-THRIFT-1289 C++ thrift: implement TNonblockingServer::stop()
-THRIFT-1288 C++ Allow typedefed exceptions in throws clauses
-THRIFT-1287 C++ thrift: start refactoring some of the C++ processor
-THRIFT-1280 C++ Thrift: Improve Monitor exception-free interfaces
-THRIFT-1281 Compiler (General) add @generated to the docblock
-THRIFT-1282 Java Upgrade httpclient to 4.1.2 (from 4.0.1)
-THRIFT-1284 C++ thrift: fix processor inheritance
-THRIFT-1283 C++ thrift: wrap t_cpp_generator::generate_process_function() to 80
-THRIFT-1278 Java javadoc warnings - compilation
-THRIFT-1254 JavaME Code compiled against a regular JRE: Object.clone() override has a different return type
-THRIFT-1271 C++ thrift: fix missing namespace in generated local
-THRIFT-1274 C++ thrift: fail compilation if an unexpected token is
-THRIFT-1275 C++ thrift: always prefix namespaces with " ::"
-THRIFT-1265 C++ C++ container deserialize
-THRIFT-1167 Java Java nonblocking server with more than one thread for select and handling IO
-THRIFT-380 Python Use setuptools for python build
-THRIFT-1270 C++ thrift: add --allow-neg-keys argument to allow
-THRIFT-1263 Ruby publish ruby client to rubygems
-THRIFT-1205 Java port server unduly fragile with arbitrary input
-THRIFT-769 Java Pluggable Serializers
-THRIFT-1239 Java TupleProtocol- An extremely compact, temporary protocol
+Thrift 0.9
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1438] - lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
+ * [THRIFT-1446] - Compile error with Delphi 2009 in constant initializer
+ * [THRIFT-1450] - Problems building thrift 0.8.0 for Python and Ruby
+ * [THRIFT-1449] - Ruby client does not work on solaris (?)
+ * [THRIFT-1447] - NullpointerException in ProcessFunction.class :in "oneway" method
+ * [THRIFT-1433] - TServerSocket fix for MSVC
+ * [THRIFT-1429] - The nonblocking servers is supposed to use TransportFactory to read the data
+ * [THRIFT-1427] - PHP library uses non-multibyte safe functions with mbstring function overloading
+ * [THRIFT-1421] - Debian Packages can not be built
+ * [THRIFT-1394] - Treatment of optional fields is not consistent between C++ and Java
+ * [THRIFT-1511] - Server with oneway support ( JAVA )
+ * [THRIFT-1496] - PHP compiler not namespacing enums
+ * [THRIFT-1495] - PHP TestClient fatals on missing class
+ * [THRIFT-1508] - TServerSocket does not allow for the user to specify the IP address to bind to
+ * [THRIFT-1504] - Cocoa Generator should use local file imports for base Thrift headers
+ * [THRIFT-1512] - Thrift socket support for Windows XP
+ * [THRIFT-1502] - TSimpleServer::serve(): Do not print out error message if server was stopped.
+ * [THRIFT-1501] - PHP old namespaces not generated for enums
+ * [THRIFT-1483] - java compiler does not generate type parameters for services in extended clauses
+ * [THRIFT-1479] - Compiled PHP process functions missing writeMessageEnd()
+ * [THRIFT-1492] - enabling c_glib render thrift unusable (even for C++ code)
+ * [THRIFT-1491] - Uninitialize processorFactory_ member in TServer.h
+ * [THRIFT-1475] - Incomplete records generation for Erlang
+ * [THRIFT-1486] - Javascript manual testserver not returning content types
+ * [THRIFT-1488] - src/concurrency/Thread.h:91:58: error: invalid conversion from 'pthread_t {aka _opaque_pthread_t*}' to 'apache::thrift::concurrency::Thread::id_t {aka long long unsigned int}' [-fpermissive]
+ * [THRIFT-1490] - Windows-specific header files - fixes & tweaks
+ * [THRIFT-1526] - Union TupleSchemeFactory returns StandardSchemes
+ * [THRIFT-1527] - Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
+ * [THRIFT-1524] - TNonBlockingServer does not compile in Visual Studio 2010
+ * [THRIFT-1529] - TupleProtocol can unintentionally include an extra byte in bit vectors when number of optional fields is an integral of 8
+ * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
+ * [THRIFT-1456] - System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
+ * [THRIFT-1468] - Memory leak in TSaslServerTransport
+ * [THRIFT-1461] - Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
+ * [THRIFT-1460] - why not add unicode strings support to python directly?
+ * [THRIFT-1464] - AbstractNonblockingServer.FrameBuffer TNonblockingTransport accessor changed from public to private
+ * [THRIFT-1467] - Possible AV with empty strings when using JSON protocol
+ * [THRIFT-1523] - clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
+ * [THRIFT-1537] - TFramedTransport issues
+ * [THRIFT-1519] - Thirft Build Failure referencing rb_intern2 symbol
+ * [THRIFT-1518] - Generated C++ code only sends the first optional field in the write() function for a struct.
+ * [THRIFT-1515] - NameError: global name 'TApplicationException' is not defined
+ * [THRIFT-1554] - Inherited service methods are not resolved in derived service implementations
+ * [THRIFT-1553] - thrift nodejs service side can't read map structure, key as enum, value as Object
+ * [THRIFT-1575] - Typo in server/TThreadPoolServer.h
+ * [THRIFT-1327] - Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
+ * [THRIFT-1326] - on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
+ * [THRIFT-1159] - THttpClient->Flush() issue (connection thru proxy)
+ * [THRIFT-1277] - Node.js serializes false booleans as null
+ * [THRIFT-1224] - Cannot insert UTF-8 text
+ * [THRIFT-1267] - Node.js can't throw exceptions.
+ * [THRIFT-1338] - Do not use an unpatched autoconf 2.65 to generate release tarball
+ * [THRIFT-1128] - MAC OS X: thrift.h incompatibility with Thrift.h
+ * [THRIFT-1631] - Fix C++ server constructor typos
+ * [THRIFT-1602] - PHP C Extension is not Compatible with PHP 5.4
+ * [THRIFT-1610] - IWebProxy not available on WP7 platform
+ * [THRIFT-1606] - Race condition in BoostThreadFactory.cpp
+ * [THRIFT-1604] - Python exception handeling for changes from PEP 3110
+ * [THRIFT-1607] - Incorrect file modes for several source files
+ * [THRIFT-1583] - c_glib leaks memory
+ * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
+ * [THRIFT-1578] - C_GLib generated code does not compile
+ * [THRIFT-1597] - TJSONProtocol.php is missing from Makefile.am
+ * [THRIFT-1591] - Enable TCP_NODELAY for ruby gem
+ * [THRIFT-1624] - Isset Generated differently on different platforms
+ * [THRIFT-1622] - Incorrect size returned on read
+ * [THRIFT-1621] - Memory leaks
+ * [THRIFT-1612] - Base64 encoding is broken
+ * [THRIFT-1627] - compiler built using compilers.vcxproj cannot be used to build some test .thrift files
+ * [THRIFT-1571] - Update Ruby HTTP transport for recent Ruby versions
+ * [THRIFT-1023] - Thrift encoding (UTF-8) issue with Ruby 1.9.2
+ * [THRIFT-1090] - Document the generation of a file called "Constants.java"
+ * [THRIFT-1082] - Thrift::FramedTransport sometimes calls close() on an undefined value
+ * [THRIFT-956] - Python module's version meta-data should be updated
+ * [THRIFT-973] - Cocoa library won't compile using clang
+ * [THRIFT-1632] - ruby: data corruption in thrift_native implementation of MemoryBufferTransport
+ * [THRIFT-1665] - TBinaryProtocol: exceeded message length raises generic TException
+ * [THRIFT-1664] - Reference to non-existing variable in build script
+ * [THRIFT-1663] - Java Thrift server is not throwing exceptions
+ * [THRIFT-1662] - "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
+ * [THRIFT-1643] - Denial of Service attack in TBinaryProtocol.readString
+ * [THRIFT-1674] - Update Thrift D library to be compatible with 2.060
+ * [THRIFT-1673] - Ruby compile flags for extension for multi arch builds (os x)
+ * [THRIFT-1655] - Configure still trying to use thrift_generators in output
+ * [THRIFT-1654] - c_glib thrift_socket_read() returns corrupted data
+ * [THRIFT-1653] - TThreadedSelectorServer leaks CLOSE_WAIT sockets
+ * [THRIFT-1658] - Java thrift server is not throwing TApplicationException
+ * [THRIFT-1656] - Setting proper headers in THttpServer.cpp so that "Cross-Origin Resource Sharing" on js client can work.
+ * [THRIFT-1652] - TSaslTransport does not log the error when kerberos auth fails
+ * [THRIFT-2272] - CLONE - Denial of Service attack in TBinaryProtocol.readString
+ * [THRIFT-2086] - Invalid generated code for Node.JS when using namespaces
+ * [THRIFT-1686] - t_php_generator.cc uses "and" instead of "&&", and causes compiler errors with Visual Studio
+ * [THRIFT-1693] - libthrift has dependency on two different versions of httpcore
+ * [THRIFT-1689] - don't exit(-1) in TNonblockingServer
+ * [THRIFT-1679] - NodeJS: protocol readString() should treat string as utf8, not binary
+ * [THRIFT-1721] - Dist broken due to 0.8.0 to 0.9.0 changes
+ * [THRIFT-1710] - Minor issues in test case code
+ * [THRIFT-1709] - Warning "Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first" in TBinaryProtocol.cs at ReadInt64()
+ * [THRIFT-1707] - [ruby] Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
+ * [THRIFT-1671] - Cocoa code generator does not put keywords into generated method calls
+ * [THRIFT-1670] - Incompatibilities between different versions of a Thrift interface
+ * [THRIFT-1669] - NameError: global name 'TApplicationException' is not defined
+ * [THRIFT-1668] - Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
+ * [THRIFT-1845] - Fix compiler warning caused by implicit string conversion with Xcode 4.6
+ * [THRIFT-304] - Building the Python library requires development headers
+ * [THRIFT-369] - sets and maps break equality
+ * [THRIFT-556] - Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
+ * [THRIFT-481] - indentation of ruby classes is off by a few
+
+## Improvement
+ * [THRIFT-1498] - Allow TThreadedPoolServer.Args to pass a ExecutorService
+ * [THRIFT-1444] - FunctionRunner - add syntactic sugar to create shared_ptrs
+ * [THRIFT-1443] - define a TProcessor helper class to implement process()
+ * [THRIFT-1441] - Generate constructor with parameters for exception class to let it update message property automatically.
+ * [THRIFT-1520] - Embed version number in erlang .app file
+ * [THRIFT-1480] - python: remove tabs, adjust whitespace and address PEP8 warnings
+ * [THRIFT-1485] - Performance: pass large and/or refcounted arguments as "const"
+ * [THRIFT-1484] - Introduce phpunit test suite
+ * [THRIFT-1532] - The type specifications in the generated Erlang code should include "undefined" where it's used as a default value
+ * [THRIFT-1534] - Required fields in the Delphi code generator.
+ * [THRIFT-1469] - Java isset space optimization
+ * [THRIFT-1465] - Visibility of methods in generated java code
+ * [THRIFT-1453] - Don't change types of arguments when serializing with thrift php extension
+ * [THRIFT-1452] - generate a swap() method for all generated structs
+ * [THRIFT-1451] - FramedTransport: Prevent infinite loop when writing
+ * [THRIFT-1521] - Two patches for more Performance
+ * [THRIFT-1555] - Delphi version of the tutorial code
+ * [THRIFT-1535] - Why thrift don't use wrapped class for optional fields ?
+ * [THRIFT-1204] - Ruby autogenerated files should require 'thrift' gem
+ * [THRIFT-1344] - Using the httpc module directly rather than the deprecated http layer
+ * [THRIFT-1343] - no_auto_import min/2 to avoid compile warning
+ * [THRIFT-1340] - Add support of ARC to Objective-C
+ * [THRIFT-1611] - Improved code generation for typedefs
+ * [THRIFT-1593] - Pass on errors like "connection closed" to the handler module
+ * [THRIFT-1615] - PHP Namespace
+ * [THRIFT-1567] - Thrift/cpp: Allow alternate classes to be used for
+ * [THRIFT-1072] - Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
+ * [THRIFT-1650] - [ruby] Update clean items and svn:ignore entries for OS X artifacts
+ * [THRIFT-1661] - [PATCH] Add --with-qt4 configure option
+ * [THRIFT-1675] - Do we have any plan to support scala?
+ * [THRIFT-1645] - Replace Object#tee with more conventional Object#tap in specs
+ * [THRIFT-1644] - Upgrade RSpec to 2.10.x and refactor specs as needed
+ * [THRIFT-1672] - MonoTouch (and Mono for Android) compatibility
+ * [THRIFT-1702] - a thrift manual
+ * [THRIFT-1694] - Re-Enable serialization for WP7 Silverlight
+ * [THRIFT-1691] - Serializer/deserializer support for Delphi
+ * [THRIFT-1688] - Update IDL page markup
+ * [THRIFT-1725] - Tutorial web pages for Delphi and C#
+ * [THRIFT-1714] - [ruby] Explicitly add CWD to Ruby test_suites.rb
+ * [THRIFT-317] - Issues with Java struct validation
+ * [THRIFT-164] - Build web tutorial on Incubator web site
+ * [THRIFT-541] - Cocoa code generator doesn't put keywords before all arguments.
+ * [THRIFT-681] - The HTML generator does not handle JavaDoc style comments very well
+
+## New Feature
+ * [THRIFT-1500] - D programming language support
+ * [THRIFT-1510] - There should be an implementation of the JsonProtocol for ruby
+ * [THRIFT-1115] - python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
+ * [THRIFT-1953] - support for asp.net mvc 3
+
+## Question
+ * [THRIFT-1235] - How could I use THttpServerTransportFactory withTNonBlockingServer
+ * [THRIFT-1368] - TNonblockingServer usage
+ * [THRIFT-1061] - Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
+ * [THRIFT-491] - Ripping raw pthreads out of TFileTransport and associated test issues
+
+## Sub-task
+ * [THRIFT-1596] - Delphi: Test clients should have a return codes that reflect whether they succeeded or not
+ * [THRIFT-982] - javame: add version Info to the library
+ * [THRIFT-1722] - C# WP7 Assembly addition beaks mono build
+ * [THRIFT-336] - Compact Protocol in C#
+
+## Test
+ * [THRIFT-1613] - Add code back into empty source file ToStringTest.java
+ * [THRIFT-1718] - Incorrect check in TFileTransportTest
+
+## Wish
+ * [THRIFT-1463] - Decouple Thrift IDL from generators
+ * [THRIFT-1466] - Proper Documentation for Thrift C Glib
+ * [THRIFT-1539] - Build and distribute the fb303 python libraries along with thrift
+ * [THRIFT-1685] - Please add "aereo.com" to "Powered by Apache Thrift" list in about page
+ * [THRIFT-330] - TProcessor - additional method to called when connection is broken
-Version 0.7.0
-THRIFT-1252 Ruby Segfault in Ruby deserializer
-THRIFT-940 Build 'make check' fails if boost is not in the std include and link paths (Christian Lavoie)
-THRIFT-1038 Java Generated Java code for structures containing binary fields are not serializable correctly
-THRIFT-1098 PHP Undefined properties in TBinaryProtocolFactory
-THRIFT-1076 Erlang Erlang Thrift socket server causes java framed client to throw ""out of sequence"" exception"
-THRIFT-1171 Perl Perl write/readDouble assumes little-endian platform
-THRIFT-151 C TSSLServerSocket and TSSLSocket implementation
-THRIFT-1068 Python Python SSL Socket Support
-THRIFT-1011 AS3 Error generating package imports when using classes from other packages
-THRIFT-1069 Compiler (General) Add command line option to prevent thrift from inserting gen-* directories
-THRIFT-1055 C# csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
-THRIFT-638 PHP BufferedTransport + C extensions block until recv timeout is reached on last fread call
-THRIFT-867 PHP PHP accelerator module's output transport is incompatible with TFramedTransport
-THRIFT-1054 explicit call to PKG_PROG_PKG_CONFIG is missing and first use of PKG_CHECK_MODULES may not happen
-THRIFT-125 OCaml OCaml libraries don't compile with 32-bit ocaml
-THRIFT-1200 JavaScript JS compiler generates code that clobbers existing namespaces
-THRIFT-1102 Build "typo in configure.ac: ""=="" operator in 'test' (instead of""'="")"
-THRIFT-994 Build Don't try to invoke phpize if we don't have it
-THRIFT-864 Compiler (General) default value fails if identifier is a struct
-THRIFT-1021 OCaml Framed transport support for OCaml
-THRIFT-1032 make dist fails due to c_glib problem
-THRIFT-1057 C++ casts in TBinaryProtocol.tcc causing dereferencing type-punned pointer will break strict-aliasing rules
-THRIFT-1053 Java Make remote client's IP address available for all socket related transports
-THRIFT-1036 C++ "Auto-generated C++ code fails to compile with ""-Werror -Wextra -Wall"" g++ compiler flags"
-THRIFT-1063 Tutorial Fix Erlang Tutorial Files
-THRIFT-625 Go Add support for 'Go'
-THRIFT-1093 Python several bugs in python TCompactProtocol
-THRIFT-1101 Java bytebuffer length calculation in TBinaryProtocol writeBinary
-THRIFT-1094 Python bug in TCompactProto python readMessageEnd method and updated test cases
-THRIFT-1100 Python python TSSLSocket improvements, including certificate validation
-THRIFT-1104 Build INSTALLDIRS should be included in configure script
-THRIFT-1103 Python TZlibTransport for python, a zlib compressed transport
-THRIFT-1105 OCaml OCaml generator does not prefix methods of included structs with their type
-THRIFT-1107 Python improvement for compiler-generated python for 'None' object comparisons
-THRIFT-1109 Java Deploy fb303 along side libthrift to maven repo
-THRIFT-1111 Compiler (General) The HTML generator does not distinguish between string and binary types
-THRIFT-1074 Java .keystore and .truststore are missing from the 0.6.0 distribution
-THRIFT-1119 C# TJSONProtocol fails to UTF8 decode strings
-THRIFT-1120 C# - Compiler proto.WriteListEnd being called in the wrong place
-THRIFT-1126 Erlang Extending struct_info for erlang bindings
-THRIFT-1132 C# Deserialization error in TApplicationException C#
-THRIFT-1131 C# C# JSON Protocol is unable to decode escaped characters in string
-THRIFT-1133 Tutorial Java and JavaScript tutorial is broken since we have Java maven deployment
-THRIFT-1140 GlibC Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
-THRIFT-342 PHP PHP: can't have sets of complex types
-THRIFT-1149 Ruby Nonblocking server fails when client connection is reset
-THRIFT-363 Java Maven Deploy
-THRIFT-1155 Java Remove log4j dependency from java client
-THRIFT-1170 Java Thrift Generated Code and Java 5
-THRIFT-835 AS3 Bad AS3 syntax in constructors that set default values
-THRIFT-1174 Build Publish as3 client implementation via Maven for use by flex-mojos users
-THRIFT-1178 Java Java: TBase signature should be T extends TBase<?,?>
-THRIFT-1067 PHP Tons of bugs in php implementation
-THRIFT-1182 Ruby Native deserializer segfaults on incorrect list element type
-THRIFT-1190 Java readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage
-THRIFT-1183 Ruby Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
-THRIFT-1192 Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
-THRIFT-1194 Java Java lib does not install artifacts to local dir correctly
-THRIFT-1208 Python python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec
-THRIFT-1211 Java When using THttpClient, non 200 responses leave the connection open
-THRIFT-627 C++ should c++ have setters for optional fields?
-THRIFT-1218 GLibC c_glib uses wrong name in pkg-config
-THRIFT-1189 Ruby Ruby deserializer speed improvements
-THRIFT-1225 PHP TCompactProtocol for PHP
-THRIFT-1227 Erlang Erlang implementation of thrift JSON protocol
-THRIFT-1228 PHP The php accelerator module calls flush incorrectly
-THRIFT-1234 Python thrift --help is missing doc on py:utf8strings
-THRIFT-1237 Java Java fb303 missing some methods
-THRIFT-1248 C++ pointer subtraction in TMemoryBuffer relies on undefined behavior
-THRIFT-1253 Java Code generated for maps is not compiling
-THRIFT-1255 Java Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
-THRIFT-1238 JavaScript Thrift JS client cannot read map of structures
-THRIFT-1213 Membuffer should provide a way to get back the buffer
-THRIFT-1117 JavaScript JavaScript Unit Test does fail due to libthrift*.jar where moved by Maven Deployment
-THRIFT-1164 JavaScript Segmentation fault on NULL pointer in t_js_generator::generate_const
-THRIFT-788 PHP thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
-THRIFT-1222 C++ Unhandled exception for TEvhttpServer request
-THRIFT-1241 PHP php namespace generation
-THRIFT-1236 Erlang Erlang Reconnecting Thrift Client
-THRIFT-1151 Erlang Produce informative runtime error in case of schema and data mismatch on serialization
-THRIFT-1146 Java Android Incompatibility: Android < 2.3 java.io.IOException doesn't support for Throwable
-THRIFT-826 PHP PHP TSocket Write Timeout
-THRIFT-27 Erlang Generated erlang types don't contain default values for records
-THRIFT-1153 C++ HttpClient does not specify the connection close parameter
-THRIFT-1154 Cocoa HttpClient does not specify the connection close parameter
-THRIFT-1081 PHP PHP tests broken and somewhat incomplete
-THRIFT-1078 Test Suite ThriftTest.thrift generates invalid PHP library
-THRIFT-447 Java Make an abstract base Client class so we can generate less code
-THRIFT-1181 AS3 AS3 compiler generates incorrect code for setting default values in constructor
-THRIFT-997 Java Using valueOf for base types in getFieldValue
-THRIFT-999 PHP Add TForkingServer
-THRIFT-1041 Java TDeserializer holds onto a reference of the array it reads after it is done deserializing
-THRIFT-1065 JavaScript Unexpected exceptions not proper handled on JS
-THRIFT-993 C++ Some improvements in C++ stubs for oneway operations
-THRIFT-1083 Python Preforking python process pool server
-THRIFT-1092 Python generated validate() method has wrong indentation
-THRIFT-1050 Java "Declaring an argument named ""manager"" to a service method produces code that fails compile
-THRIFT-1106 C++ C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions
-THRIFT-1080 Erlang erlang test's 'make' fails on Mac OSX
-THRIFT-731 Java configure doesn't check for ant >= 1.7
-THRIFT-1180 AS3 AS3 compiler generates uncompilable code for binary types.
-THRIFT-1187 Ruby nonblocking_server shutdown race under Ruby 1.9
-THRIFT-1193 Ruby Potential infinite loop in nonblocking_server
-THRIFT-891 Compiler (General) Comments are not properly handled in some cases
-THRIFT-1216 Java build Java Library behind a proxy
-THRIFT-1177 Go Update thrift to reflect changes in Go's networking libraries
-THRIFT-1220 C++ TProcessor::process never returns false
-THRIFT-1231 C++ Remove bogus include
-THRIFT-1217 C++ Use evutil_socketpair instead of pipe (Windows port)
-THRIFT-1215 JavaScript Undefined property Thirft in lib/js/thrift.js
-THRIFT-418 Ruby Don't do runtime sorting of struct fields
-THRIFT-1244 C++ 'using' to disambiguate between functions in different bases does not conform to C++ standard
-THRIFT-892 Erlang Refactor erlang build system with rebar
-THRIFT-690 Compiler (General) Update TApplicationException codes
-THRIFT-1199 Java Union structs should have generated methods to test whether a specific field is currently set
-THRIFT-113 Compiler (General) to-string methods should omit optional null fields from output
-THRIFT-1049 Python Allow for TServerSocket python library to bind to a specific host
-THRIFT-1152 PHP THRIFT-1144 Attributes from private to protected
-THRIFT-1207 Ruby "Support DESTDIR on ""make install"" of ruby libs"
-THRIFT-1123 C++ Patch to compile Thrift server and client for vc++ 9.0 and 10.0
-THRIFT-1031 C++ Patch to compile Thrift for vc++ 9.0 and 10.0
-THRIFT-1221 C++ Remove SimpleCallback.h
-THRIFT-1233 C++ Remove unused include in generated C++ code
-THRIFT-1246 Java Improve logging: Change TNonblockingServer internalRead to trace from warn
-THRIFT-1251 Java Generated java code should indicate which fields are required and which are optional
+Thrift 0.8
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1436] - pip install thrift fails on Windows with "Unable to find vcvarsall.bat"
+ * [THRIFT-1432] - Javascript struct constants declared in the same file as their struct definition will cause an error
+ * [THRIFT-1428] - shared.thrft does not include namespace for php, so thrift compiler generate incorrect name
+ * [THRIFT-1426] - Dist package missing files for release 0.8
+ * [THRIFT-1425] - The Node package is incompatible with latest node (0.6) & npm (1.0.27)
+ * [THRIFT-1416] - Python Unit test is broken on ci
+ * [THRIFT-1419] - AbstractNonBlockingServer does not catch errors when invoking the processor
+ * [THRIFT-1424] - Ruby specs fail when run with rake
+ * [THRIFT-1420] - Nonblocking and HsHa server should make sure to close all their socket connections when the selector exits
+ * [THRIFT-1413] - Generated code does not read MapEnd / ListEnd / SetEnd
+ * [THRIFT-1409] - Name conflict check does not work properly for exception object(Delphi).
+ * [THRIFT-1408] - Delphi Test Server: Exception test case fails due to naming conflict with e.message
+ * [THRIFT-1407] - Typo in Python socket server causes Thrift to fail when we enable a global socket timout
+ * [THRIFT-1397] - CI server fails during build due to unused parameters in delphi generator
+ * [THRIFT-1404] - Delphi compiler generates struct reader code with problem.
+ * [THRIFT-1400] - Ruby native extension aborts with __stack_chk_fail in OSX
+ * [THRIFT-1399] - One of the TServerImpl.Create CTORs lacks implementation
+ * [THRIFT-1390] - Debian packages build fix for Squeeze (build from the official 0.7.0 tarball)
+ * [THRIFT-1393] - TTransportException's thrown from THttpClient contain superfluous slashes in the Exception message
+ * [THRIFT-1392] - Enabling both namespaces and autoloading in generated PHP code won't work.
+ * [THRIFT-1406] - Build error after applying THRIFT-1395
+ * [THRIFT-1405] - Delphi compiler does not generates container serializer properly.
+ * [THRIFT-1411] - java generator does not provide type parameter for TBaseProcessor
+ * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
+ * [THRIFT-1331] - Ruby library deserializes an empty map to nil
+ * [THRIFT-1330] - PHP Namespaces no longer generated
+ * [THRIFT-1328] - TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
+ * [THRIFT-1322] - OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
+ * [THRIFT-1143] - Build doesn't detect correct architecture type on 64bit osx
+ * [THRIFT-1205] - port server unduly fragile with arbitrary input
+ * [THRIFT-1279] - type set is handled incorrectly when writing object
+ * [THRIFT-1298] - Standard scheme doesn't read or write metadata along with field values
+ * [THRIFT-1265] - C++ container deserialize
+ * [THRIFT-1263] - publish ruby client to rubygems
+ * [THRIFT-1384] - Java help menu missing newline near javame flag
+ * [THRIFT-1382] - Bundle install doesnot work because thrift crashes
+ * [THRIFT-1381] - Thrift C++ libs have incorrectly versioned names
+ * [THRIFT-1350] - Go library code does not build as of r60 (most recent release)
+ * [THRIFT-1365] - TupleProtocol#writeBitSet unintentionally writes a variable length byte array
+ * [THRIFT-1359] - --gen-cob cpp:cob_style does not compile anymore
+ * [THRIFT-1319] - Mismatch between how a union reads and writes a container
+ * [THRIFT-1309] - libfb303-0.7.0.jar missing in maven repository
+ * [THRIFT-1238] - Thrift JS client cannot read map of structures
+ * [THRIFT-1254] - Code can't be compiled against a regular JRE: Object.clone() override has a different return type
+ * [THRIFT-1367] - Mac OSX build fails with "no such file to load -- spec/rake/spectask"
+ * [THRIFT-1355] - Running make in lib/rb doesn't build the native extensions
+ * [THRIFT-1370] - Debian packaging should Build-Depend on libglib2.0-dev
+ * [THRIFT-1342] - Compilation problem on Windows of fastbinary.c
+ * [THRIFT-1341] - TProtocol.h endian detection wrong with boost
+ * [THRIFT-1583] - c_glib leaks memory
+ * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
+ * [THRIFT-1578] - C_GLib generated code does not compile
+ * [THRIFT-1027] - 'make -j 16' fails with "unterminated #ifdef" error
+ * [THRIFT-1121] - Java server performance regression in 0.6
+ * [THRIFT-857] - tests run by "make install" fail if generators are disabled
+ * [THRIFT-380] - Use setuptools for python build
+
+## Dependency upgrade
+ * [THRIFT-1257] - thrift's dependency scope on javax.servlet:servlet-api should be 'provided'
+
+## Improvement
+ * [THRIFT-1445] - minor C++ generator variable cleanup
+ * [THRIFT-1435] - make TException.Message property conformant to the usual expectations
+ * [THRIFT-1431] - Rename 'sys' module to 'util'
+ * [THRIFT-1396] - Dephi generator has dependacy on boost 1.42 later.
+ * [THRIFT-1395] - Patch to prevent warnings for integer types in some cases
+ * [THRIFT-1275] - thrift: always prefix namespaces with " ::"
+ * [THRIFT-1274] - thrift: fail compilation if an unexpected token is
+ * [THRIFT-1271] - thrift: fix missing namespace in generated local
+ * [THRIFT-1270] - thrift: add --allow-neg-keys argument to allow
+ * [THRIFT-1345] - Allow building without tests
+ * [THRIFT-1286] - Modernize the Thrift Ruby Library Dev Environment
+ * [THRIFT-1284] - thrift: fix processor inheritance
+ * [THRIFT-1283] - thrift: wrap t_cpp_generator::generate_process_function() to 80
+ * [THRIFT-1282] - Upgrade httpclient to 4.1.2 (from 4.0.1)
+ * [THRIFT-1281] - add @generated to the docblock
+ * [THRIFT-1280] - Thrift: Improve Monitor exception-free interfaces
+ * [THRIFT-1278] - javadoc warnings - compilation
+ * [THRIFT-1227] - Erlang implementation of thrift JSON protocol
+ * [THRIFT-1295] - Duplicate include in TSocket.cpp
+ * [THRIFT-1294] - thrift: fix log message typos in TSimpleServer
+ * [THRIFT-1293] - thrift: improve handling of exceptions thrown by
+ * [THRIFT-1292] - thrift: silence log spew from TThreadedServer
+ * [THRIFT-1288] - Allow typedefed exceptions in throws clauses
+ * [THRIFT-1290] - thrift: TNonblockingServer: clean up state in the
+ * [THRIFT-1287] - thrift: start refactoring some of the C++ processor
+ * [THRIFT-1289] - thrift: implement TNonblockingServer::stop()
+ * [THRIFT-1305] - thrift: make TConnection a private inner class of
+ * [THRIFT-1304] - TNonblockingServer: pass in the connection context to
+ * [THRIFT-1302] - thrift: raise an exception if send() times out in
+ * [THRIFT-1301] - thrift: consolidate common code in TNonblockingServer
+ * [THRIFT-1377] - abort PHP deserialization on unknown field type
+ * [THRIFT-1379] - fix uninitialized enum values in thrift C++ objects
+ * [THRIFT-1376] - Make port specification option in thrift remote
+ * [THRIFT-1375] - fixed a hex char conversion bug in TJSONProtocol
+ * [THRIFT-1373] - Fix user-defined exception generation in thrift (python)
+ * [THRIFT-1361] - Optional replacement of pthread by boost::thread
+ * [THRIFT-1320] - Consistency of configure generated config.h
+ * [THRIFT-1317] - Remove copy constructibility from
+ * [THRIFT-1316] - thrift: update server classes to accept
+ * [THRIFT-1315] - thrift: generate server interface factory classes
+ * [THRIFT-1314] - thrift: add TProcessorFactory
+ * [THRIFT-1335] - Add accept timeout to TServerSocket
+ * [THRIFT-1334] - Add more info to IllegalStateException
+ * [THRIFT-1333] - Make RWGuard not copyable
+ * [THRIFT-1332] - TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
+ * [THRIFT-1251] - Generated java code should indicate which fields are required and which are optional
+ * [THRIFT-1387] - Build MSVC libraries with Boost Threads instead of Pthreads
+ * [THRIFT-1339] - Extend Tuple Protocol to TUnions
+ * [THRIFT-1031] - Patch to compile Thrift for vc++ 9.0 and 10.0
+ * [THRIFT-1130] - Add the ability to specify symbolic default value for optional boolean
+ * [THRIFT-1123] - Patch to compile Thrift server and client for vc++ 9.0 and 10.0
+ * [THRIFT-386] - Make it possible to build the Python library without the extension
+
+## New Feature
+ * [THRIFT-1401] - JSON-protocol for Delphi XE Libraries
+ * [THRIFT-1167] - Java nonblocking server with more than one thread for select and handling IO
+ * [THRIFT-1366] - Delphi generator, lirbrary and unit test.
+ * [THRIFT-1354] - Add rake task to build just the gem file
+ * [THRIFT-769] - Pluggable Serializers
+
+## Sub-task
+ * [THRIFT-1415] - delphi: add version Info to the library
+ * [THRIFT-1391] - Improved Delphi XE test cases
-Version 0.6.0
-THRIFT-940 Build 'make check' fails if boost is not in the std include and link paths (Christian Lavoie)
-THRIFT-1032 Build "make dist" fails due to c_glib problem (Michael Lum)
-THRIFT-1002 C glib CodeStyle: t_c_glib_generator.cc (Anatol Pomozov)
-THRIFT-975 C glib lib/c_glib/README is missing => breaks make dist (Michael Lum)
-THRIFT-1003 C glib Polishing c_glib code (Anatol Pomozov)
-THRIFT-582 C glib C implementation of Thrift (Anatol Pomozov)
-THRIFT-992 C# Naming convention in C# constructor is not consistent with other fields causes compile errors (Roger Meier)
-THRIFT-977 C++ Hex Conversion Bug in C++ TJSONProtocol (Aravind Narayanan)
-THRIFT-922 C++ Templatized [de]serialization code for C++ (David Reiss)
-THRIFT-923 C++ Event-driven client and server support for C++ (David Reiss)
-THRIFT-925 C++ Provide name<->value map for enums in C++ (David Reiss)
-THRIFT-926 C++ Miscellaneous C++ improvements (David Reiss)
-THRIFT-928 C++ Make more statistics available in C++ servers (David Reiss)
-THRIFT-929 C++ Improvements to the C++ test suite (David Reiss)
-THRIFT-868 Compiler (General) Referencing constant values doesn't work with with typedef types (David Reiss)
-THRIFT-1006 General Impossible to correctly qualify an enum constant in an external thrift file (Bryan Duxbury)
-THRIFT-932 Haskell Haskell tests need to be run through 'make check' (and probably 'cabal check') too (Christian Lavoie)
-THRIFT-933 Haskell Haskell's Thrift.cabal has warnings (Christian Lavoie)
-THRIFT-943 Haskell Silly readme typo fix. (Christian Lavoie)
-THRIFT-944 Haskell Support all version-4s of base (Christian Lavoie)
-THRIFT-950 Haskell Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). (Christian Lavoie)
-THRIFT-1009 Java TUnion does not correctly deep copy a ByteBuffer (Takashi Yonebayashi)
-THRIFT-1013 Java generated java code may have name clashes with thrift library (Peter Schuller)
-THRIFT-1015 Java TUnion does not handle ByteBuffer in toString (Takashi Yonebayashi)
-THRIFT-1038 Java 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 (Mathias Herberts)
-THRIFT-106 Java TSSLServerSocket (Nirmal Ranganathan)
-THRIFT-377 Java TFileTransport port in Java (Joydeep Sen Sarma)
-THRIFT-745 Java Make it easier to instantiate servers (Bryan Duxbury)
-THRIFT-862 Java Async client issues / improvements (Ning Liang)
-THRIFT-903 Java custom ThreadFactory in THsHaServer (Bryan Duxbury)
-THRIFT-939 Java optional binary fields throw NPE on default byte[] getters (Bryan Duxbury)
-THRIFT-947 Java Provide a helper method to determine the TProtocol used to serialize some data. (Mathias Herberts)
-THRIFT-951 Java Add a new isServing() method to TServer (Bryan Duxbury)
-THRIFT-957 Java THsHaServer: Change access modifier of the invoker field. (Benjamin Coverston)
-THRIFT-958 Java Change accessmodifer on trans_ field in the FrameBuffer class to public. (Benjamin Coverston)
-THRIFT-959 Java TSocket seems to do its own buffering inefficiently (Bryan Duxbury)
-THRIFT-970 Java Under heavy load, THttpClient may fail with "too many open files" (Mathias Herberts)
-THRIFT-971 Java java module can't be compiled without ivy and network connection (Roger Meier)
-THRIFT-807 JavaScript JavaScript: Initialization of Base Types with 0 instead of null (Roger Meier)
-THRIFT-913 JavaScript Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh (Roger Meier)
-THRIFT-961 JavaScript JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler (Roger Meier)
-THRIFT-1005 Java Give unions byte[] signature methods to go along with their ByteBuffer counterparts (Bryan Duxbury)
-THRIFT-1008 Java byte[] accessors throw NPE on unset field (Bryan Duxbury)
-THRIFT-517 Java TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes (Bryan Duxbury)
-THRIFT-946 Java Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields. (Mathias Herberts)
-THRIFT-949 Java Modify the TEnum interface so it defines a method similar to findByValue (Mathias Herberts)
-THRIFT-960 Java add TestServer, TestNonblockingServer and TestClient again (Roger Meier)
-THRIFT-969 Java Java Tutorial broken, move CalculatorHandler to a separate file (Roger Meier)
-THRIFT-71 Misc Debian packaging for thrift (Roger Meier)
-THRIFT-1020 OCaml OCaml compiler generates invalid OCaml (Richard Low)
-THRIFT-347 PHP PHP TSocket Timeout Issues (Tyler Hobbs)
-THRIFT-924 PHP Fix generated php structure constants (David Reiss)
-THRIFT-927 PHP Add option to modify the PHP include path (David Reiss)
-THRIFT-935 PHP PHP Extension aborts the build if php-config is not installed (David Reiss)
-THRIFT-941 PHP Make PHP C Extension use the defined Protocol writeMessageBegin function (Chris Goffinet)
-THRIFT-955 PHP Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms (Roger Meier)
-THRIFT-979 Ruby ruby bindings used to work on jruby (Jeff Hodges)
-THRIFT-581 Test Suite Add a testsuite for txThrift (Twisted) (Esteve Fernandez)
-THRIFT-1024 Tutorial Add Python Twisted example to the Tutorial (Roger Meier)
-THRIFT-893 Tutorial add JavaScript to the tutorial examples (Roger Meier)
+Thrift 0.7
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1140] - Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
+ * [THRIFT-1154] - HttpClient does not specify the connection close parameter
+ * [THRIFT-1153] - HttpClient does not specify the connection close parameter
+ * [THRIFT-1149] - Nonblocking server fails when client connection is reset
+ * [THRIFT-1146] - Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor
+ * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
+ * [THRIFT-1132] - Deserialization error in TApplicationException C#
+ * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
+ * [THRIFT-1208] - python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec for CONTAINER_WRITE, CONTAINER_READ
+ * [THRIFT-1200] - JS compiler generates code that clobbers existing namespaces
+ * [THRIFT-1183] - Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
+ * [THRIFT-1182] - Native deserializer segfaults on incorrect list element type
+ * [THRIFT-1181] - AS3 compiler generates incorrect code for setting default values in constructor
+ * [THRIFT-1234] - thrift --help is missing doc on py:utf8strings
+ * [THRIFT-1180] - AS3 compiler generates uncompilable code for binary types.
+ * [THRIFT-1194] - Java lib does not install artifacts to local dir correctly
+ * [THRIFT-1193] - Potential infinite loop in nonblocking_server
+ * [THRIFT-1192] - Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
+ * [THRIFT-1190] - readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage and general server malfunction
+ * [THRIFT-1187] - nonblocking_server shutdown race under Ruby 1.9
+ * [THRIFT-1178] - Java: TBase signature should be T extends TBase<?,?>
+ * [THRIFT-1164] - Segmentation fault on NULL pointer in t_js_generator::generate_const
+ * [THRIFT-1171] - Perl write/readDouble assumes little-endian platform
+ * [THRIFT-1222] - Unhandled exception for TEvhttpServer request
+ * [THRIFT-1220] - TProcessor::process never returns false
+ * [THRIFT-1285] - Stable 0.7.0 Windows compiler exe available on the webside is not the good one
+ * [THRIFT-1218] - c_glib uses wrong name in pkg-config
+ * [THRIFT-1215] - Undefined property Thirft in lib/js/thrift.js
+ * [THRIFT-1211] - When using THttpClient, non 200 responses leave the connection open
+ * [THRIFT-1228] - The php accelerator module calls flush incorrectly
+ * [THRIFT-1308] - libfb303-0.7.0.jar missing in maven repository
+ * [THRIFT-1255] - Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
+ * [THRIFT-1253] - Code generated for maps is not compiling
+ * [THRIFT-1252] - Segfault in Ruby deserializer
+ * [THRIFT-1094] - bug in TCompactProto python readMessageEnd method and updated test cases
+ * [THRIFT-1093] - several bugs in python TCompactProtocol
+ * [THRIFT-1092] - generated validate() method has wrong indentation
+ * [THRIFT-1011] - Error generating package imports when using classes from other packages
+ * [THRIFT-1050] - Declaring an argument named "manager" to a service method produces code that fails compile due to name conflicts with protected ivars in TAsyncClient
+ * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
+ * [THRIFT-1067] - Tons of bugs in php implementation
+ * [THRIFT-1065] - Unexpected exceptions not proper handled on JS
+ * [THRIFT-1076] - Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception
+ * [THRIFT-1057] - casts in TBinaryProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
+ * [THRIFT-1055] - csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
+ * [THRIFT-1054] - explicit call to PKG_PROG_PKG_CONFIG is missing and first use of PKG_CHECK_MODULES may not happen, causes mono detection to fail
+ * [THRIFT-1117] - JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment
+ * [THRIFT-1111] - The HTML generator does not distinguish between string and binary types
+ * [THRIFT-1032] - "make dist" fails due to c_glib problem
+ * [THRIFT-1036] - Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
+ * [THRIFT-1041] - TDeserializer holds onto a reference of the array it reads after it is done deserializing
+ * [THRIFT-1106] - C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions but no virtual destructor. Causes warnings on -Wall
+ * [THRIFT-1105] - OCaml generator does not prefix methods of included structs with their type
+ * [THRIFT-1104] - INSTALLDIRS should be included in configure script
+ * [THRIFT-1102] - typo in configure.ac: "==" operator in 'test' (instead of"'=")
+ * [THRIFT-1101] - bytebuffer length calculation in TBinaryProtocol writeBinary
+ * [THRIFT-1098] - Undefined properties in TBinaryProtocolFactory
+ * [THRIFT-1081] - PHP tests broken and somewhat incomplete
+ * [THRIFT-1080] - erlang test's 'make' fails on Mac OSX
+ * [THRIFT-1078] - ThriftTest.thrift generates invalid PHP library
+ * [THRIFT-1120] - proto.WriteListEnd being called in the wrong place
+ * [THRIFT-1119] - TJSONProtocol fails to UTF8 decode strings
+ * [THRIFT-867] - PHP accelerator module's output transport is incompatible with TFramedTransport
+ * [THRIFT-826] - PHP TSocket Write Timeout
+ * [THRIFT-835] - Bad AS3 syntax in constructors that set default values
+ * [THRIFT-788] - thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
+ * [THRIFT-125] - OCaml libraries don't compile with 32-bit ocaml
+ * [THRIFT-342] - PHP: can't have sets of complex types
+ * [THRIFT-731] - configure doesn't check for ant >= 1.7
+ * [THRIFT-690] - Update TApplicationException codes
+ * [THRIFT-638] - BufferedTransport + C extensions block until recv timeout is reached on last fread call
+
+## Dependency upgrade
+ * [THRIFT-1177] - Update thrift to reflect changes in Go's networking libraries
+
+## Improvement
+ * [THRIFT-1155] - Remove log4j dependency from java client
+ * [THRIFT-1151] - Produce more informative runtime error in case of schema and data mismatch during serialization
+ * [THRIFT-1207] - Support DESTDIR on "make install" of ruby libs
+ * [THRIFT-1199] - Union structs should have generated methods to test whether a specific field is currently set
+ * [THRIFT-1233] - Remove unused include in generated C++ code
+ * [THRIFT-1189] - Ruby deserializer speed improvements
+ * [THRIFT-1170] - Thrift Generated Code and Java 5
+ * [THRIFT-1174] - Publish as3 client implementation via Maven for use by flex-mojos users
+ * [THRIFT-1225] - TCompactProtocol for PHP
+ * [THRIFT-1221] - Remove SimpleCallback.h
+ * [THRIFT-1217] - Use evutil_socketpair instead of pipe (Windows port)
+ * [THRIFT-1216] - build Java Library behind a proxy
+ * [THRIFT-1231] - Remove bogus include
+ * [THRIFT-1213] - Membuffer should provide a way to get back the buffer
+ * [THRIFT-1237] - Java fb303 missing some methods
+ * [THRIFT-1063] - Fix Erlang Tutorial Files
+ * [THRIFT-1053] - Make remote client's IP address available for all socket related transports
+ * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
+ * [THRIFT-1107] - improvement for compiler-generated python for 'None' object comparisons
+ * [THRIFT-1069] - Add command line option to prevent thrift from inserting gen-* directories
+ * [THRIFT-1049] - Allow for TServerSocket python library to bind to a specific host
+ * [THRIFT-1126] - Extending struct_info for erlang bindings
+ * [THRIFT-1100] - python TSSLSocket improvements, including certificate validation
+ * [THRIFT-994] - Don't try to invoke phpize if we don't have it
+ * [THRIFT-993] - Some improvements in C++ stubs for oneway operations
+ * [THRIFT-997] - Using valueOf for base types in getFieldValue
+ * [THRIFT-418] - Don't do runtime sorting of struct fields
+ * [THRIFT-151] - TSSLServerSocket and TSSLSocket implementation
+ * [THRIFT-27] - Generated erlang types don't contain default values for records
+ * [THRIFT-113] - to-string methods should omit optional null fields from output
+ * [THRIFT-363] - Maven Deploy
+ * [THRIFT-447] - Make an abstract base Client class so we can generate less code
+ * [THRIFT-627] - should c++ have setters for optional fields?
+
+## New Feature
+ * [THRIFT-1236] - Erlang Reconnecting Thrift Client
+ * [THRIFT-1021] - Framed transport support for OCaml
+ * [THRIFT-1068] - Python SSL Socket Support
+ * [THRIFT-1103] - TZlibTransport for python, a zlib compressed transport
+ * [THRIFT-1083] - Preforking python process pool server
+ * [THRIFT-999] - Add TForkingServer
+
+## Sub-task
+ * [THRIFT-1152] - Attributes from private to protected
+ * [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
+ * [THRIFT-892] - Refactor erlang build system with rebar
+
+## Wish
+ * [THRIFT-625] - Add support for 'Go'
-Version 0.5.0
+Thrift 0.6.1
+--------------------------------------------------------------------------------
+## Bug
+ * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
+ * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
+ * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
+
+## Improvement
+ * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
+ * [THRIFT-363] - Maven Deploy
+
+## Question
+ * [THRIFT-1206] - did the THRIFT 0.6.1 merge THRIFT-563 ?
+
+## Sub-task
+ * [THRIFT-1163] - How can i use multi service in one program?
+
+## Task
+ * [THRIFT-1112] - Apply THRIFT-363 to 0.6 branch
+ * [THRIFT-1113] - Apply THRIFT-1074 to 0.6 branch
+
+
+
+Thrift 0.6
+--------------------------------------------------------------------------------
+## 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
+ * [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
+ * [THRIFT-862] - Async client issues / improvements
+
+## Test
+ * [THRIFT-581] - Add a testsuite for txThrift (Twisted)
+
+
+
+Thrift 0.5.0 - Incubating
+--------------------------------------------------------------------------------
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)
@@ -763,8 +1258,8 @@
THRIFT-456 Test Suite Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)
-Version 0.4.0
-
+Thrift 0.4.0 - Incubating
+--------------------------------------------------------------------------------
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)
@@ -812,8 +1307,8 @@
THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)
-Version 0.1.0 RC1 / Unreleased
-
+Thrift 0.1.0 - Incubating (not released)
+--------------------------------------------------------------------------------
Compatibility Breaking Changes:
C++:
* It's quite possible that regenerating code and rebuilding will be
@@ -830,8 +1325,7 @@
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]