blob: 0371d1f761b7a437f58b4ac302c27b6d106ee118 [file] [log] [blame]
jfarrell507ba1b2014-07-10 12:44:51 -04001Apache Thrift Changelog
Kevin Clark38919c52009-04-07 19:12:01 +00002
jfarrell507ba1b2014-07-10 12:44:51 -04003Thrift 0.9.2
4--------------------------------------------------------------------------------
5## Bug
jfarrell591e20f2014-11-04 21:12:20 -05006 * [THRIFT-2645] - generated Go server code always sets Success retval
7 * [THRIFT-2634] - undocumented php "nsglobal" option
8 * [THRIFT-2627] - erlang backend doesn't support corecursive structs
9 * [THRIFT-2595] - Node.js: Fix global leaks and copy-paste errors
10 * [THRIFT-2594] - JS Compiler: Single quotes are not being escaped in constants.
11 * [THRIFT-2610] - MSVC warning in TSocket.cpp
12 * [THRIFT-2607] - ThreadManager.cpp warning on clang++ 3.4
13 * [THRIFT-2609] - TFileTransport.h unused field warning (clang 3.4)
14 * [THRIFT-2608] - TNonblockingServer.cpp warnings on clang 3.4
15 * [THRIFT-2606] - ThreadManager.h warning in clang++ 3.4
16 * [THRIFT-2605] - TSocket warning on gcc 4.8.3
17 * [THRIFT-2604] - Fix debian packaging
18 * [THRIFT-2601] - Fix vagrant to work again for builds again
19 * [THRIFT-2599] - Uncompileable Delphi code due to naming conflicts with IDL
20 * [THRIFT-2622] - Expecting > 4 bytes, found only 2
21 * [THRIFT-2620] - Fix python packaging
22 * [THRIFT-2619] - Go lib http transport does not handle EOF correctly
23 * [THRIFT-2618] - Unignore /aclocal files required for build
24 * [THRIFT-2614] - TNonblockingServer.cpp warnings on MSVC
25 * [THRIFT-2591] - TFramedTransport does not handle payloads split across packets correctly
26 * [THRIFT-2679] - golang generation fails for service names less than 5 characters
27 * [THRIFT-2666] - Usage of PYTHONHASHSEED breaks older Python code
28 * [THRIFT-2584] - Error handler not listened on javascript client
29 * [THRIFT-2582] - "FileTransport error" exception is raised when trying to use Java's TFileTransport
jfarrell507ba1b2014-07-10 12:44:51 -040030 * [THRIFT-2581] - TFDTransport destructor should not throw
jfarrell591e20f2014-11-04 21:12:20 -050031 * [THRIFT-2588] - Thrift compiler is not buildable in Visual Studio 2010
jfarrell507ba1b2014-07-10 12:44:51 -040032 * [THRIFT-2577] - TFileTransport missuse of closesocket on windows platform
33 * [THRIFT-2576] - Implement Thrift.Protocol.prototype.skip method in JavaScript library
jfarrell591e20f2014-11-04 21:12:20 -050034 * [THRIFT-2575] - Thrift includes siginfo_t within apache::thrift::protocol namespace
35 * [THRIFT-2570] - Wrong URL given in http://thrift.apache.org/developers
36 * [THRIFT-2559] - Centos 6.5 unable to "make" with Thrift 0.9.1
jfarrell507ba1b2014-07-10 12:44:51 -040037 * [THRIFT-2565] - autoconf fails to find mingw-g++ cross compiler on travis CI
38 * [THRIFT-2555] - excessive "unused field" comments
39 * [THRIFT-2554] - double initialization in generated Read() method
jfarrell591e20f2014-11-04 21:12:20 -050040 * [THRIFT-2562] - ./configure create MakeFile in lib/d with errors
jfarrell507ba1b2014-07-10 12:44:51 -040041 * [THRIFT-2560] - Thrift compiler generator tries to concat ints with strings using +
jfarrell591e20f2014-11-04 21:12:20 -050042 * [THRIFT-2545] - Test CPP fails to build (possibly typo)
43 * [THRIFT-2537] - Path for "go get" does not work (pull request 115)
44 * [THRIFT-2551] - OutOfMemoryError "unable to create new native thread" kills serve thread
45 * [THRIFT-2515] - TLS Method error during make
46 * [THRIFT-2508] - Uncompileable C# code due to language keywords in IDL
47 * [THRIFT-2557] - CS0542 member names cannot be the same as their enclosing type
48 * [THRIFT-2506] - Update TProtocolException error codes to be used consistently throughout the library
49 * [THRIFT-2505] - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
50 * [THRIFT-2523] - Visual Studio project is missing OverlappedSubmissionThread files
51 * [THRIFT-2528] - Thrift Erlang Library: Multiple thrift applications in one bundle
52 * [THRIFT-2533] - Boost version in requirements should be updated
53 * [THRIFT-2532] - Java version in installation requirements should be updated
54 * [THRIFT-2529] - TBufferedTransport split Tcp data bug in nodeJs
55 * [THRIFT-2524] - Visual Studio project is missing TThreadedServer files
56 * [THRIFT-2520] - cpp:cob_style generates incorrect .tcc file
57 * [THRIFT-2590] - C++ Visual Studio solution doesn't include Multiplexing support
58 * [THRIFT-2492] - test/cpp does not compile on mac
59 * [THRIFT-2491] - unable to import generated ThriftTest service
60 * [THRIFT-2490] - c_glib: if fail to read a exception from server, client may be occurred double free
61 * [THRIFT-2489] - Peer host name not provied when performing AccessManager common name verification.
62 * [THRIFT-2487] - Tutorial requires two IDL files but only one is linked from the Thrift web site
63 * [THRIFT-2477] - thrift --help text with misplaced comma
64 * [THRIFT-2340] - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
65 * [THRIFT-2337] - Golang does not report TIMED_OUT exceptions
66 * [THRIFT-2331] - Missing call to ReadStructBegin() in TApplicationException.Read()
67 * [THRIFT-2329] - missing release tags within git
68 * [THRIFT-2323] - Uncompileable Delphi code generated for typedef'd structs
69 * [THRIFT-2322] - Correctly show the number of times ExecutorService (java) has rejected the client.
70 * [THRIFT-2316] - ccp: TFileTransportTest
71 * [THRIFT-2313] - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
72 * [THRIFT-2311] - Go: invalid code generated when exception name is a go keyword
73 * [THRIFT-2367] - Build failure: stdlib and boost both define uint64_t
74 * [THRIFT-2365] - C# decodes too many binary bytes from JSON
75 * [THRIFT-2363] - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
76 * [THRIFT-2359] - TBufferedTransport doesn't clear it's buffer on a failed flush call
77 * [THRIFT-2357] - recurse option has no effect when generating php
78 * [THRIFT-2356] - c++ thrift client not working with ssl (SSL_connect hangs)
79 * [THRIFT-2354] - Connection errors can lead to case_clause exceptions
80 * [THRIFT-2352] - msvc failed to compile thrift tests
81 * [THRIFT-2351] - PHP TCompactProtocol has fails to decode messages
82 * [THRIFT-2308] - node: TJSONProtocol parse error when reading from buffered message
83 * [THRIFT-2306] - concurent client calls with nodejs
84 * [THRIFT-2303] - TBufferredTransport not properly closing underlying transport
85 * [THRIFT-2285] - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
86 * [THRIFT-2282] - Incorect code generated for some typedefs
87 * [THRIFT-2280] - TJSONProtocol.Flush() does not really flush the transport
88 * [THRIFT-2281] - Generated send/recv code ignores errors returned by the underlying protocol
89 * [THRIFT-2279] - TSerializer only returns the first 1024 bytes serialized
90 * [THRIFT-2278] - Buffered transport doesn't support writes > buffer size
91 * [THRIFT-2276] - java path in spec file needs updating
92 * [THRIFT-2275] - Fix memory leak in golang compact_protocol.
93 * [THRIFT-2240] - thrift.vim (contrib) does not correctly handle 'union'
94 * [THRIFT-2232] - IsSet* broken in Go
95 * [THRIFT-2230] - Cannot Build on RHEL/Centos/Amazon Linux 6.x
96 * [THRIFT-2227] - Thrift compiler generates spurious warnings with Xlint
97 * [THRIFT-2226] - TServerSocket - keepAlive wrong initialization order
98 * [THRIFT-2259] - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
99 * [THRIFT-2253] - Python Tornado TTornadoServer base class change
100 * [THRIFT-2248] - Go generator doesn't deal well with map keys of type binary
101 * [THRIFT-2247] - Go generator doesn't deal well with map keys of type binary
102 * [THRIFT-2246] - Unset enum value is printed by ToString()
103 * [THRIFT-2243] - TNonblockingServer in thrift crashes when TFramedTransport opens
104 * [THRIFT-2225] - SSLContext destroy before cleanupOpenSSL
105 * [THRIFT-2224] - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
106 * [THRIFT-2222] - ruby gem cannot be compiled on OS X mavericks
107 * [THRIFT-2219] - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
108 * [THRIFT-2216] - Extraneous semicolon in TProtocolUtil.h makes clang mad
109 * [THRIFT-2215] - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
110 * [THRIFT-2503] - C++: Fix name collision when a struct has a member named "val"
111 * [THRIFT-2500] - sending random data crashes thrift(golang) service
112 * [THRIFT-2498] - Error message "Invalid method name" while trying to call HBase Thrift API
113 * [THRIFT-2495] - JavaScript/Node string constants lack proper escaping
114 * [THRIFT-2475] - c_glib: buffered_transport_write function return always TRUE.
115 * [THRIFT-2470] - THttpHandler swallows exceptions from processor
jfarrell507ba1b2014-07-10 12:44:51 -0400116 * [THRIFT-2468] - Timestamp handling
117 * [THRIFT-2467] - Unable to build contrib/fb303 on OSX 10.9.2
118 * [THRIFT-2466] - Improper error handling for SSL/TLS connections that don't complete a handshake
119 * [THRIFT-2463] - test/py/RunClientServer.py fails sometimes
jfarrell591e20f2014-11-04 21:12:20 -0500120 * [THRIFT-2461] - Can't install thrift-0.8.0 on OS X 10.9.2
121 * [THRIFT-2454] - c_glib: There is no gethostbyname_r() in some OS.
122 * [THRIFT-2448] - thrift/test/test.sh has incorrect Node.js test path
123 * [THRIFT-2459] - --version should not exit 1
jfarrell507ba1b2014-07-10 12:44:51 -0400124 * [THRIFT-2458] - Generated golang server code for "oneway" methods is incorrect
jfarrell507ba1b2014-07-10 12:44:51 -0400125 * [THRIFT-2443] - Node fails cross lang tests
jfarrell591e20f2014-11-04 21:12:20 -0500126 * [THRIFT-2456] - THttpClient fails when using async support outside Silverlight
127 * [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
128 * [THRIFT-2450] - include HowToContribute in the src repo
129 * [THRIFT-2460] - unopened socket fd must be less than zero.
130 * [THRIFT-2442] - Fix issue with cpp server on Windows (WSAStartup wasn't called)
131 * [THRIFT-2439] - Bug in TProtocolDecorator Class causes parsing errors
132 * [THRIFT-2438] - Unexpected readFieldEnd call causes JSON Parsing errors
jfarrell507ba1b2014-07-10 12:44:51 -0400133 * [THRIFT-2437] - Author fields in Python setup.py must be strings not lists.
134 * [THRIFT-2435] - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
135 * [THRIFT-2434] - Missing namespace import for php TMultiplexedProcessor implementation
136 * [THRIFT-2432] - Flaky parallel build
137 * [THRIFT-2430] - Crash during TThreadPoolServer shutdown
jfarrell591e20f2014-11-04 21:12:20 -0500138 * [THRIFT-2428] - Python 3 setup.py support
139 * [THRIFT-2426] - clarify IP rights and contributions from fbthrift
140 * [THRIFT-2420] - Go argument parser for methods without arguments does not skip fields
141 * [THRIFT-2419] - golang - Fix fmt.Errorf in generated code
142 * [THRIFT-2418] - Go handler function panics on internal error
jfarrell507ba1b2014-07-10 12:44:51 -0400143 * [THRIFT-2416] - Cannot use TCompactProtocol with MSVC
jfarrell591e20f2014-11-04 21:12:20 -0500144 * [THRIFT-2414] - c_glib fix several bug.
145 * [THRIFT-2405] - Node.js Multiplexer tests fail (silently)
146 * [THRIFT-2402] - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
147 * [THRIFT-2399] - thrift.el: recognize "//"-style comments in emacs thrift-mode
148 * [THRIFT-2400] - thrift.el: recognize "//"-style comments in emacs thrift-mode
149 * [THRIFT-2396] - Build Error on MacOSX
150 * [THRIFT-2395] - thrift Ruby gem requires development dependency 'thin' regardless of environment
151 * [THRIFT-2390] - no close event when connection lost
152 * [THRIFT-2389] - namespaces handled wrongly in acrionscript 3.0 implementation
153 * [THRIFT-2388] - GoLang - Fix data races in simple_server and server_socket
154 * [THRIFT-2386] - Thrift refuses to link yylex
jfarrell507ba1b2014-07-10 12:44:51 -0400155 * [THRIFT-2385] - Problem with gethostbyname2 during make check
jfarrell591e20f2014-11-04 21:12:20 -0500156 * [THRIFT-2384] - Binary map keys produce uncompilable code in go
157 * [THRIFT-2381] - code which generated by thrift2/hbase.thrift compile error
158 * [THRIFT-2380] - unreachable code (CID 1174546, CID 1174679)
159 * [THRIFT-2378] - service method arguments of binary type lead to uncompileable Go code
160 * [THRIFT-2375] - Excessive <br>'s in generated HTML
161 * [THRIFT-2373] - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
162 * [THRIFT-2372] - thrift/json_protocol.go:160: function ends without a return statement
163 * [THRIFT-2371] - ruby bundler version fails on ~1.3.1, remove and take latest avail
164 * [THRIFT-2370] - Compiler SEGFAULTs generating HTML documentation for complex strucre
165 * [THRIFT-2147] - Thrift IDL grammar allows for dotted identifier names
166 * [THRIFT-2145] - Rack and Thin are not just development dependencies
167 * [THRIFT-2146] - Unable to pass multiple "--gen" options to the thrift compiler
168 * [THRIFT-2140] - Error compiling cpp tutorials
169 * [THRIFT-2182] - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
170 * [THRIFT-2171] - NodeJS implementation has extremely low test coverage
171 * [THRIFT-2169] - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
172 * [THRIFT-2165] - Thrift Compiler fails at input files with UTF-8 BOM
173 * [THRIFT-2160] - Warning in thrift.h when compiling with -Wunused and NDEBUG
174 * [THRIFT-2158] - Compact, JSON, and SimpleJSON protocols are not working correctly
175 * [THRIFT-2181] - oneway calls don't work in NodeJS
176 * [THRIFT-2178] - Thrift generator returns error exit code on --version
177 * [THRIFT-2173] - Move FrameBuffer creation to a factory method for cusomization
178 * [THRIFT-2168] - Node.js appears broken (at least, examples don't work as intended)
179 * [THRIFT-2167] - nodejs lib throws error if options argument isn't passed
180 * [THRIFT-2139] - MSVC 2012 Error - Cannot compile due to BoostThreadFactory
181 * [THRIFT-2138] - pkgconfig file created with wrong include path
182 * [THRIFT-2130] - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
183 * [THRIFT-2122] - NPE in TSSLTransportFactory.createClient when no truststore password is passed in custom SSL params
184 * [THRIFT-2288] - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
185 * [THRIFT-2294] - Incorrect Makefile generation
186 * [THRIFT-2293] - TSSLTransportFactory.createSSLContext() leaves files open
187 * [THRIFT-2274] - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
jfarrell507ba1b2014-07-10 12:44:51 -0400188 * [THRIFT-2273] - Please delete old releases from mirroring system
189 * [THRIFT-2270] - Faulty library version numbering at build or documentation
jfarrell591e20f2014-11-04 21:12:20 -0500190 * [THRIFT-2267] - Should be able to choose socket family in Python TSocket
jfarrell507ba1b2014-07-10 12:44:51 -0400191 * [THRIFT-2266] - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
jfarrell591e20f2014-11-04 21:12:20 -0500192 * [THRIFT-2265] - php library doesn't build
193 * [THRIFT-2262] - thrift server 'MutateRow' operation gives no indication of success / failure
194 * [THRIFT-2261] - java: error: unmappable character for encoding ASCII
195 * [THRIFT-2104] - Structs lose binary data when transferred from server to client in Java
196 * [THRIFT-2209] - Ruby generator -- please namespace classes
197 * [THRIFT-2210] - lib/java TSimpleJSONProtocol can emit invalid JSON
198 * [THRIFT-2201] - Ternary operator returns different types (build error for some compilers)
199 * [THRIFT-2200] - nested structs cause generate_fingerprint() to slow down at excessive CPU load
200 * [THRIFT-2197] - fix jar output directory in rpm spec file
201 * [THRIFT-2196] - Fix invalid dependency in Makefile.am
202 * [THRIFT-2191] - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
203 * [THRIFT-2203] - Tests keeping failing on Jenkins and Travis CI
204 * [THRIFT-2202] - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
205 * [THRIFT-2187] - Guard against ambiguous occurrences
206 * [THRIFT-2214] - System header sys/param.h is included inside the Thrift namespace
207 * [THRIFT-2211] - Exception constructor does not contain namespace prefix.
208 * [THRIFT-2194] - Node: Not actually prepending residual data in TFramedTransport.receiver
209 * [THRIFT-2193] - Java code generator emits spurious semicolon when deep copying binary data
210 * [THRIFT-2184] - undefined method rspec_verify for Thrift::MemoryBufferTransport
211 * [THRIFT-2183] - gem install fails on zsh
212 * [THRIFT-2108] - Fix TAsyncClientManager timeout race
213 * [THRIFT-2092] - TNonblocking server should release handler as soon as connection closes
214 * [THRIFT-1999] - warning on gcc 4.7 while compiling BoostMutex.cpp
215 * [THRIFT-1998] - TCompactProtocol.tcc - one more warning on Visual 2010
216 * [THRIFT-2009] - Go redeclaration error
217 * [THRIFT-2016] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
218 * [THRIFT-2045] - C++ compiler warning and build cleanup
219 * [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
220 * [THRIFT-2025] - Fix TSSLServerSocket 64-bit builds
221 * [THRIFT-1964] - 'Isset' causes problems with C#/.NET serializers
222 * [THRIFT-1908] - Using php thrift_protocol accelerated transfer causes core dump
223 * [THRIFT-1892] - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
224 * [THRIFT-2069] - TPipeServer creates overlapped pipes, then uses synchronous I/O on them with TPipe
225 * [THRIFT-2068] - Multiple calls from same connection are not processed in node
226 * [THRIFT-2048] - Prefer boolean context to nullptr_t conversion
227 * [THRIFT-2041] - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
228 * [THRIFT-1682] - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
229 * [THRIFT-1647] - NodeJS BufferedTransport does not work beyond the hello-world example
230 * [THRIFT-1639] - Java/Python: Serialization/Deserialization of double type using CompactProtocol
231 * [THRIFT-1771] - "make check" fails on x64 for libboost_unit_test_framework.a
232 * [THRIFT-1841] - NodeJS Thrift incorrectly parses non-UTF8-string types
233 * [THRIFT-1755] - Comment parsing bug
234 * [THRIFT-1750] - Make compiler build cleanly under visual studio 10
235 * [THRIFT-1803] - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
236 * [THRIFT-1717] - Fix deb build in jenkins
237 * [THRIFT-1609] - Cocoa import namespace
238 * [THRIFT-1614] - Thrift build from svn repo sources fails with automake-1.12
239 * [THRIFT-1584] - Error: could not SetMinThreads in ThreadPool on single-core machines
240 * [THRIFT-1579] - PHP Extention - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
241 * [THRIFT-1455] - TBinaryProtocolT<Transport_>::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
242 * [THRIFT-1481] - Unix domain sockets in C++ do not support the abstract namespace
243 * [THRIFT-1357] - Erlang Dependency breaks build
244 * [THRIFT-1260] - The thrift THttpclient in c# client is not closing the connections when calling SendRequest
jfarrell507ba1b2014-07-10 12:44:51 -0400245 * [THRIFT-1300] - Test failures with parallel builds (make -j)
jfarrell591e20f2014-11-04 21:12:20 -0500246 * [THRIFT-1212] - Members capital case conflict
jfarrell507ba1b2014-07-10 12:44:51 -0400247 * [THRIFT-841] - Build cruft
jfarrell591e20f2014-11-04 21:12:20 -0500248 * [THRIFT-1047] - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
249 * [THRIFT-667] - Period should not be allowed in identifier names
250 * [THRIFT-1389] - c_glib_generator.cc generates leaking code for cassandra_client_get_slice() and cassandra_client_get()
251 * [THRIFT-2675] - md5 file content is malformed in the download website
252 * [THRIFT-2284] - java.lang.OutOfMemoryError: Java heap space
253 * [THRIFT-2596] - Cannot compile haskell thrift 0.6.0
254 * [THRIFT-2064] - Node thrift can't handle maps with primitive values
255 * [THRIFT-2656] - ./configure mis-reports minimum bison version required
256 * [THRIFT-908] - Make required types actually required by the Haskell type system
257 * [THRIFT-2690] - c_glib: Incorrect behaviour when serializing a map with typedef'd keys
258 * [THRIFT-2651] - struct names that are restricted erlang terms generate invalid type signatures
259 * [THRIFT-2667] - create Windows Installer via CPack
260 * [THRIFT-1028] - field names of structs used with wrong casing in the generated haskell code
261 * [THRIFT-2647] - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
262 * [THRIFT-2649] - TAsyncClientManager leaks the selector
263 * [THRIFT-2683] - c_glib: Seg fault when deserializing a map with typedef'd keys
264 * [THRIFT-2686] - Another extraneous semicolon - TBinaryProtocol.h
265 * [THRIFT-1497] - i64 type not supported in JavaScript. Low-order bits lost.
266 * [THRIFT-1266] - generated C code for iterating over nested maps is wrong
267 * [THRIFT-2680] - c_glib: ThriftFramedTransport fails when peer unexpectedly closes connection
268 * [THRIFT-2660] - Validate the bytes received in TSaslTransport
269 * [THRIFT-2152] - Generated Haskell files does not compile
270 * [THRIFT-2198] - THRIFT_CLOSESOCKET on win32 platforms is wrong defined for TFileProtocol
271 * [THRIFT-2673] - PHP: generated Service_method_result code should not have validators
272 * [THRIFT-2657] - py.twisted/test_suite.py:ThriftTestCase.testOneway spuriously fails on loaded machines
273 * [THRIFT-2617] - Missing -lboost_system when compiling with boost threads
274 * [THRIFT-2687] - struct/class inconsitency between forward decl and definition
275 * [THRIFT-2696] - Unable to stop socket server while there are idle clients
276 * [THRIFT-2702] - empty enums lead to invalid code
277 * [THRIFT-2694] - Minor glitches in Delphi cross-test code
278 * [THRIFT-2714] - Graphviz generator is missing from MSVC++ project files
279 * [THRIFT-2706] - D library does not support "oneway" message type
280 * [THRIFT-2676] - Cocoa code generator emits reserved symbol, 'i386'
281 * [THRIFT-2543] - Generated enum type in haskell should be qualified
282 * [THRIFT-2526] - Assignment operators and copy constructors in c++ don't copy the __isset struct
283 * [THRIFT-2339] - Uncaught exception in thrift c# driver
284 * [THRIFT-2719] - ObjectDisposedException in TSocket when sending rapidly
285 * [THRIFT-2707] - Ruby library does not support "oneway" message type
286 * [THRIFT-2701] - Update TCompactProtocol.php
287 * [THRIFT-2711] - Travis reports false possitive while building with mingw
288 * [THRIFT-2693] - Erlang test leaves a lot of generated files
289 * [THRIFT-2716] - automake-1.13.4 reports warnings for some Makefile.am
290 * [THRIFT-2664] - Python tornado generated oneway client functions crash on server error
291 * [THRIFT-2662] - python bindings generate incorrect indentation for functions after a oneway function
292 * [THRIFT-2663] - python library should not use the root logger
jfarrell507ba1b2014-07-10 12:44:51 -0400293 * [THRIFT-2593] - Unable to build thrift on ubuntu-12.04 (Precise)
jfarrell591e20f2014-11-04 21:12:20 -0500294 * [THRIFT-585] - exceptions in the autogenerated send_METHOD functions are not propagated (Twisted)
295 * [THRIFT-2669] - javascript thrift library can not deserialize nested list<map> structure
296 * [THRIFT-1847] - TSSLSocket.cpp and TFileTransport.cpp incorrectly excluded from Visual Studio project file
297 * [THRIFT-2745] - C++ - Unit-test compilation on Windows fixes
298 * [THRIFT-2665] - tornado library debug messages are too verbose
299 * [THRIFT-2715] - Wrong Import-Package directive in MANIFEST
300 * [THRIFT-2229] - thrift failed to build on OSX 10.9 GM
301 * [THRIFT-2759] - Trusty Vagrantfile does not make clean
302 * [THRIFT-2186] - Build failure of Haskell example
303 * [THRIFT-2778] - nodejs build cleanup
304 * [THRIFT-2589] - C# generator: const of BaseType in IDL generates static instead of const properties
jfarrell507ba1b2014-07-10 12:44:51 -0400305 * [THRIFT-2602] - Fix missing dist files
jfarrell591e20f2014-11-04 21:12:20 -0500306 * [THRIFT-1940] - Deploy Haskell package as part of release process
307 * [THRIFT-2700] - Compiling from source for haskell reveals a missing cabal dependency
308 * [THRIFT-2792] - Wrong option level for setsockopt(...TCP_DEFER_ACCEPT)
309 * [THRIFT-2769] - D: std.traits.pointerTarget is deprecated
310 * [THRIFT-2722] - Fix javascript service inheritance namespacing
311 * [THRIFT-2628] - erlang: struct member name conflicts due to lowercased names
312 * [THRIFT-2757] - TCompactProtocol and TJSONProtocol need boundary checking
313 * [THRIFT-2775] - static assert fails in src/thrift/internal/ctfe.d
314 * [THRIFT-2781] - D compiler stuck at idlgen due to compiler bug
315 * [THRIFT-2782] - D: Timing-insensitive unit tests for thrift.internal.resource_pool
316 * [THRIFT-2689] - struct names that differ only in capitalization of first character generate broken erlang code
317 * [THRIFT-2767] - Transport.Empty is not externally available
318 * [THRIFT-2788] - Java client and server does not enable tcp keep alive.
319 * [THRIFT-2776] - D tests failing
320 * [THRIFT-2770] - D: thrift.internal.traits unittest fails due to std.metastrings import
321 * [THRIFT-2720] - nodejs - Error with enum generation
322 * [THRIFT-2777] - erlang lib tests may fail due to permissions error
jfarrell0d866d72012-12-10 15:46:04 -0500323
jfarrell507ba1b2014-07-10 12:44:51 -0400324## Documentation
jfarrell507ba1b2014-07-10 12:44:51 -0400325 * [THRIFT-2334] - add a tutorial for node JS
326 * [THRIFT-2392] - Actionscript tutorial
327 * [THRIFT-2383] - contrib: sample for connecting Thrift with Rebus
328 * [THRIFT-2382] - contrib: sample for connecting Thrift with STOMP
jfarrell591e20f2014-11-04 21:12:20 -0500329 * [THRIFT-2155] - Adding one liner guide to rename the version.h.in and rename thrifty.cc.h
330 * [THRIFT-1991] - Add exceptions to examples
jfarrell72498202013-08-24 09:18:30 -0400331
jfarrell507ba1b2014-07-10 12:44:51 -0400332## Improvement
jfarrell591e20f2014-11-04 21:12:20 -0500333 * [THRIFT-2639] - c_glib: Expose as properties members of generated structs
334 * [THRIFT-2653] - improved Delphi const generation
335 * [THRIFT-2638] - travis: build with Haskell
336 * [THRIFT-2636] - c_glib: ThriftApplicationException: Expose "type" and "message" properties
337 * [THRIFT-2635] - Travis CI build and test matrix
338 * [THRIFT-2633] - remove 'this is a dummy struct' structs from generated erlang
339 * [THRIFT-2632] - PHP: add "validate" option to generate read/write validation code
340 * [THRIFT-2629] - JavaDoc style documentation should be reused
341 * [THRIFT-2631] - c_glib: Support service inheritance in clients
342 * [THRIFT-2624] - Add TServerEventHandler support to C#
343 * [THRIFT-2612] - Java TCompactProtocol.readBinary zero copying
344 * [THRIFT-2621] - Add basic default hash code method to python
345 * [THRIFT-2574] - Compiler option to generate namespace directories for Ruby
346 * [THRIFT-2568] - Implement own certificate handler
347 * [THRIFT-2569] - Introduce file to specify third party library locations on Windows
348 * [THRIFT-2549] - Generate json tag for struct members. use go.tag annotation to override the default generated tag.
349 * [THRIFT-2541] - reclaim TFramedTransport's read and write buffers for thrift cpp
350 * [THRIFT-2535] - TJSONProtocol when serialized yields TField ids rather than names
351 * [THRIFT-2544] - Add support for socket transport for c# library when using Windows Phone projects
352 * [THRIFT-2552] - eliminate warning from configure.ac
353 * [THRIFT-2571] - Simplify cross compilation using CMake
354 * [THRIFT-2511] - Node.js needs the compact protocol
355 * [THRIFT-2579] - Windows CE support
356 * [THRIFT-2341] - Enable generation of Delphi XMLDoc comments (a.k.a. "Help Insight")
357 * [THRIFT-2332] - RPMBUILD: run bootstrap (if needed)
358 * [THRIFT-2330] - Generate PHPDoc comments
359 * [THRIFT-2320] - Program level doctext does not get attached by parser
jfarrell507ba1b2014-07-10 12:44:51 -0400360 * [THRIFT-2318] - perl: dependency Class::Accessor not checked
361 * [THRIFT-2317] - exclude tutorial from build
jfarrell591e20f2014-11-04 21:12:20 -0500362 * [THRIFT-2309] - Ruby (gem) & PHP RPM subpackages
363 * [THRIFT-2355] - Add SSL and Web Socket Support to Node and JavaScript
364 * [THRIFT-2350] - Add async calls to normal JavaScript
jfarrell507ba1b2014-07-10 12:44:51 -0400365 * [THRIFT-2349] - Golang - improve tutorial
366 * [THRIFT-2348] - PHP Generator: add array typehint to functions
367 * [THRIFT-2344] - configure.ac: compiler-only option
368 * [THRIFT-2343] - Golang - Return a single error for all exceptions instead of multiple return values
jfarrell591e20f2014-11-04 21:12:20 -0500369 * [THRIFT-2305] - TFramedTransport empty constructor should probably be private
370 * [THRIFT-2304] - Move client assignments from construtor in method
371 * [THRIFT-2300] - D configure info output should follow same format as other languages
372 * [THRIFT-2239] - Address FindBugs errors
373 * [THRIFT-2233] - Java compiler should defensively copy its binary inputs
374 * [THRIFT-2260] - Thrift imposes unneeded dependency on commons-lang3
375 * [THRIFT-2258] - Add TLS v1.1/1.2 support to TSSLSocket.cpp
376 * [THRIFT-2254] - Exceptions generated by Go compiler should implement error interface
377 * [THRIFT-2249] - Add SMP Build option to thrift.spec (and three config defines)
378 * [THRIFT-2220] - Add a new struct structv?
379 * [THRIFT-2497] - server and client for test/go, also several fixes and improvements
380 * [THRIFT-2496] - server and client for test/go, also several fixes and improvements
381 * [THRIFT-2494] - Add enum toString helper function in c_glib
382 * [THRIFT-2502] - Optimize go implementations of binary and compact protocols for speed
383 * [THRIFT-2471] - Make cpp.ref annotation language agnostic
384 * [THRIFT-2449] - Enhance typedef structure to distinguish between forwards and real typedefs
385 * [THRIFT-2453] - haskell tutorial: fix up division by 0 example
386 * [THRIFT-2455] - Allow client certificates to be used with THttpClient
387 * [THRIFT-2446] - There is no way to handle server stream errors
388 * [THRIFT-2433] - Allow manual control of OpenSSL initialization/cleanup
jfarrell507ba1b2014-07-10 12:44:51 -0400389 * [THRIFT-2417] - C# Union classes are not partial
390 * [THRIFT-2415] - Named pipes server performance & message mode
jfarrell591e20f2014-11-04 21:12:20 -0500391 * [THRIFT-2407] - use markdown (rename README => README.md)
jfarrell507ba1b2014-07-10 12:44:51 -0400392 * [THRIFT-2404] - emit warning on (typically inefficient) list<byte>
jfarrell591e20f2014-11-04 21:12:20 -0500393 * [THRIFT-2401] - Haskell tutorial compiles
jfarrell507ba1b2014-07-10 12:44:51 -0400394 * [THRIFT-2398] - Improve Node Server Library
395 * [THRIFT-2397] - Add CORS and CSP support for JavaScript and Node.js libraries
jfarrell591e20f2014-11-04 21:12:20 -0500396 * [THRIFT-2394] - TCurlClient: an HTTP transport implementation using libcurl
397 * [THRIFT-2391] - simple socket transport for actionscript 3.0
398 * [THRIFT-2387] - nodejs: external imports should be centralized in index.js
399 * [THRIFT-2376] - nodejs: allow Promise style calls for client and server
400 * [THRIFT-2369] - Add ssl support for nodejs implementation
401 * [THRIFT-2142] - Minor tweaks to thrift.el for better emacs package compatibility
402 * [THRIFT-2172] - Java compiler allocates optionals array for every struct with an optional field
403 * [THRIFT-2268] - Modify TSaslTransport to ignore TCP health checks from loadbalancers
404 * [THRIFT-2263] - Always generate good hashCode for Java
405 * [THRIFT-2264] - GitHub page incorrectly states that Thrift is still incubating
406 * [THRIFT-2095] - Use print function for Python 3 compatiblity
407 * [THRIFT-2185] - use cabal instead of runhaskell in haskell library
408 * [THRIFT-2204] - SSL client for the cocoa client
409 * [THRIFT-2205] - Node.js Test Server to support test.js JavaScript Browser test and sundry fixes
410 * [THRIFT-2054] - TSimpleFileTransport - Java Lib has no straight forward TTransport based file transport
411 * [THRIFT-2037] - More general macro THRIFT_UNUSED_VARIABLE
412 * [THRIFT-2029] - Port C++ tests to Windows
413 * [THRIFT-2034] - Give developers' C++ code direct access to socket FDs on server side
414 * [THRIFT-1926] - PHP Constant Generation Refactoring
415 * [THRIFT-2040] - "uninitialized variable" warnings on MSVC/windows
jfarrell507ba1b2014-07-10 12:44:51 -0400416 * [THRIFT-2043] - visual 2010 warnings - unreachable code
417 * [THRIFT-1683] - Implement alternatives to Javascript Client side Transport protocol, just as NPAPI and WebSocket.
jfarrell591e20f2014-11-04 21:12:20 -0500418 * [THRIFT-1868] - Make the TPC backlog configurable in the Java servers
jfarrell507ba1b2014-07-10 12:44:51 -0400419 * [THRIFT-1772] - Serialization does not check types of embedded structures.
jfarrell591e20f2014-11-04 21:12:20 -0500420 * [THRIFT-1743] - Add composer.json for new Symfony 2.1 Dependency Manager
421 * [THRIFT-1746] - provide a SPDX file
422 * [THRIFT-1815] - Code generators line buffer output
423 * [THRIFT-1813] - Add @Generated annotation to generated classes
424 * [THRIFT-1541] - The thrift compiler is not buildable with visual studio 2010 in Windows 7
425 * [THRIFT-1544] - Create correct Ruby namespace directories
426 * [THRIFT-1457] - Capacity of TframedTransport write buffer is never reset
427 * [THRIFT-1442] - TNonblockingServer: Refactor to allow multiple IO Threads
428 * [THRIFT-1371] - Socket timeouts (SO_RCVTIMEO and SO_SNDTIMEO) not supported on Solaris
429 * [THRIFT-1349] - Remove unnecessary print outs
430 * [THRIFT-1352] - Thrift server
431 * [THRIFT-1135] - Node.js tutorial
432 * [THRIFT-1114] - Maven publish shouldn't require passwords hardcoded in settings.xml
433 * [THRIFT-989] - Push boost m4 macros upstream
434 * [THRIFT-2691] - C++ - new operator<< could be used in tutorial
435 * [THRIFT-2067] - Thrift objects should have a default string representation
436 * [THRIFT-2641] - Improvements to Haskell Compiler/Libraries
437 * [THRIFT-2231] - Support tornado-4.x (Python)
438 * [THRIFT-2643] - Optional offset/length for TDeserializer.deserialize()
439 * [THRIFT-2684] - c_glib: Improvements to map deserialization in generated code
440 * [THRIFT-2672] - Provide origin of call via TTransport
441 * [THRIFT-2677] - Haskell library needs to build with network >= 2.6
442 * [THRIFT-2648] - cleanup erlang lib
443 * [THRIFT-2493] - Node.js lib needs HTTP client
444 * [THRIFT-2718] - Align command line args for Thrift test server/client
445 * [THRIFT-2709] - c_glib: Support server implementation
446 * [THRIFT-976] - c_glib tutorial
447 * [THRIFT-2752] - Centos 6.5 Installation Docs update
448 * [THRIFT-2269] - Can deploy libthrift-source.jar to maven center repository
449 * [THRIFT-2512] - lib/${language}/README.md
450 * [THRIFT-2783] - Correctly propagate binary encoding of WebSocket frames Node.js library
451 * [THRIFT-2692] - Allow unit testing of compiler parts
452 * [THRIFT-2787] - Delphi Lib README
453 * [THRIFT-2786] - Cpp Tutorial: Make TThreadPoolServer / TThreadedServer a bit easier to use
454 * [THRIFT-2785] - Wrap errors in iostream_transport.go
455 * [THRIFT-2062] - cpp flag for using unordered_set instead of set
456 * [THRIFT-2654] - reduce number of server exceptions
457 * [THRIFT-2360] - Json Generator
458 * [THRIFT-2791] - Allowing use of buffered sockets in go server
459 * [THRIFT-809] - Javascript client: Please make required fields actually required.
460 * [THRIFT-2784] - Eliminate compiler warnings in generated C++ code
461 * [THRIFT-2538] - Apache Thrift needs an official NuGet package
462 * [THRIFT-2046] - The worktask can be timed out in TThreadPoolServer (Java) when the max# thrift thread is reached
jfarrell507ba1b2014-07-10 12:44:51 -0400463
464## New Feature
jfarrell591e20f2014-11-04 21:12:20 -0500465 * [THRIFT-2637] - "java:fullcamel_service_methods" option to automatically camel-case Java service methods
jfarrell507ba1b2014-07-10 12:44:51 -0400466 * [THRIFT-2572] - Add string/collection length limit checks (from C++) to java protocol readers
jfarrell507ba1b2014-07-10 12:44:51 -0400467 * [THRIFT-795] - Importing service functions (simulation multiple inheritance)
jfarrell591e20f2014-11-04 21:12:20 -0500468 * [THRIFT-2347] - C# TLS Transport based on THRIFT-181
469 * [THRIFT-2256] - Using c++11/c++0x std library replace boost library
jfarrell507ba1b2014-07-10 12:44:51 -0400470 * [THRIFT-2255] - add Parent Class for generated Struct class
jfarrell591e20f2014-11-04 21:12:20 -0500471 * [THRIFT-2250] - JSON and MemoryBuffer for JavaME
472 * [THRIFT-2469] - "java:fullcamel" option to automatically camel-case underscored attribute names
473 * [THRIFT-2408] - Named Pipe Transport Option for C#
474 * [THRIFT-2377] - Allow addition of custom HTTP Headers to an HTTP Transport
475 * [THRIFT-2164] - Add a Get/Post Http Server to Node along with examples
476 * [THRIFT-2114] - Python Service Remote SSL Option
477 * [THRIFT-1894] - Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
478 * [THRIFT-2058] - Add reconnect support to node.js library
479 * [THRIFT-1719] - SASL client support for Python
480 * [THRIFT-1188] - C++: Use bit fields for a more compact __isset struct
481 * [THRIFT-1012] - Transport for DataInput DataOutput interface
482 * [THRIFT-2688] - Generating *Null implementations should be optional
483 * [THRIFT-728] - Make generated Haskell code an instance of Arbitrary
484 * [THRIFT-2522] - TypeScript extension for Thrift Compiler
485 * [THRIFT-1893] - HTTP/JSON server/client for node js
486 * [THRIFT-2670] - Android Parcelable Java generation option
487 * [THRIFT-1536] - Maven thrift plugin
488 * [THRIFT-2712] - PHP: add "json" option to create JsonSerializable code
jfarrell507ba1b2014-07-10 12:44:51 -0400489
490## Question
jfarrell591e20f2014-11-04 21:12:20 -0500491 * [THRIFT-2573] - thrift 0.9.2 release
492 * [THRIFT-2567] - Csharp slow ?
jfarrell507ba1b2014-07-10 12:44:51 -0400493 * [THRIFT-2539] - Tsocket.cpp addrinfo ai_flags = AI_ADDRCONFIG
jfarrell591e20f2014-11-04 21:12:20 -0500494 * [THRIFT-2277] - Thrift: installing fb303 error
jfarrell507ba1b2014-07-10 12:44:51 -0400495 * [THRIFT-2440] - how to connect as3 to java by thrift ,
496 * [THRIFT-2379] - Memmory leaking while using multithreading in C++ server.
jfarrell591e20f2014-11-04 21:12:20 -0500497 * [THRIFT-2699] - Which version of Thrift to be used for WinCE
498 * [THRIFT-2703] - Thrift on Windows CE
499 * [THRIFT-2705] - make a package out of the haskell libraries for thrift
jfarrell507ba1b2014-07-10 12:44:51 -0400500
501## Sub-task
jfarrell591e20f2014-11-04 21:12:20 -0500502 * [THRIFT-2534] - Cross language test results should recorded to a status.md or status.html file automatically
503 * [THRIFT-2558] - CSharp compiler generator tries to concat ints with strings using +
504 * [THRIFT-2507] - Additional LUA TProtocolException error code needed?
505 * [THRIFT-334] - Compact Protocol for PHP
506 * [THRIFT-66] - Java: Allow multiplexing multiple services over a single TCP connection
507 * [THRIFT-2338] - First doctext wrongly interpreted as program doctext in some cases
508 * [THRIFT-2325] - SSL test certificates
509 * [THRIFT-2310] - PHP: Client-side support for Multiplexing Services
510 * [THRIFT-2358] - C++: add compact protocol to cross language test suite
511 * [THRIFT-2297] - TJsonProtocol implementation for Delphi does not allow for both possible slash (solidus) encodings
jfarrell507ba1b2014-07-10 12:44:51 -0400512 * [THRIFT-2299] - TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
513 * [THRIFT-2298] - TJsonProtocol implementation for C# does not allow for both possible slash (solidus) encodings
jfarrell507ba1b2014-07-10 12:44:51 -0400514 * [THRIFT-2251] - go test for compact protocol is not running
jfarrell591e20f2014-11-04 21:12:20 -0500515 * [THRIFT-2499] - Compiler: allow annotations without "= value"
516 * [THRIFT-2444] - pull request 88: thrift: clean up enum value assignment
517 * [THRIFT-2425] - PHP: Server-side support for Multiplexing Services
518 * [THRIFT-2421] - Tree/Recursive struct support in thrift
jfarrell507ba1b2014-07-10 12:44:51 -0400519 * [THRIFT-2175] - Wrong field type set for binary
jfarrell591e20f2014-11-04 21:12:20 -0500520 * [THRIFT-2176] - TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
jfarrell507ba1b2014-07-10 12:44:51 -0400521 * [THRIFT-2174] - Deserializing JSON fails in specific cases
jfarrell591e20f2014-11-04 21:12:20 -0500522 * [THRIFT-2132] - Go: Support for Multiplexing Services on any Transport, Protocol and Server
523 * [THRIFT-2290] - Update Go tutorial to align with THRIFT-2232
524 * [THRIFT-2271] - JavaScript: Support for Multiplexing Services
525 * [THRIFT-2195] - Delphi: Add event handlers for server and processing events
jfarrell507ba1b2014-07-10 12:44:51 -0400526 * [THRIFT-2053] - NodeJS: Support for Multiplexing Services
527 * [THRIFT-1914] - Python: Support for Multiplexing Services on any Transport, Protocol and Server
528 * [THRIFT-1810] - add ruby to test/test.sh
jfarrell507ba1b2014-07-10 12:44:51 -0400529 * [THRIFT-1681] - Add Lua Support
jfarrell591e20f2014-11-04 21:12:20 -0500530 * [THRIFT-1766] - [Ruby] Provide support for binary types
jfarrell507ba1b2014-07-10 12:44:51 -0400531 * [THRIFT-1727] - Ruby-1.9: data loss: "binary" fields are re-encoded
532 * [THRIFT-1726] - Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
533 * [THRIFT-988] - perl: add version Info to the library via configure
jfarrell591e20f2014-11-04 21:12:20 -0500534 * [THRIFT-981] - cocoa: add version Info to the library
535 * [THRIFT-2345] - Delphi: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
536 * [THRIFT-2346] - C#: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
537 * [THRIFT-2652] - THRIFT_TEST_PORT variable via to run tests in parallel
538 * [THRIFT-2513] - clean up enum value assignment
539 * [THRIFT-2144] - Cocoa: Client-side support for Multiplexing Services on any Transport and Protocol
540 * [THRIFT-2746] - Compiler C++98 conformance
541 * [THRIFT-2750] - JS Lib ant build.xml fails on older ants
542 * [THRIFT-2751] - NodeJS Lib clean up
543 * [THRIFT-2749] - C++ Lib Transport Clean Up
544 * [THRIFT-2747] - Add .vagrant to .gitignore
545 * [THRIFT-2758] - lib/go/test/Makefile.am uses ln -s which breaks in vagrant
546 * [THRIFT-2760] - thrift/test/cpp depends on boost libs not installed by Vagrantfile
547 * [THRIFT-2762] - Python Twisted tests crash in Trusty Vagrantfile
548 * [THRIFT-2768] - Whitespace fixups
549 * [THRIFT-2761] - go make crashes with Trusty Vagrantfile
550 * [THRIFT-2763] - D is not installed (and thus not built/tested) in the Trusty Vagrantfile
551 * [THRIFT-2774] - Add documentation for new erlang case feature flag
552 * [THRIFT-2764] - Haskell does not build/test when using the Trusty Vagrantfile
553 * [THRIFT-1462] - add more strict compiler flags
554 * [THRIFT-2727] - C glib coding standards
555 * [THRIFT-2728] - C# coding standards
556 * [THRIFT-2741] - Python coding standards
jfarrell507ba1b2014-07-10 12:44:51 -0400557
558## Task
jfarrell507ba1b2014-07-10 12:44:51 -0400559 * [THRIFT-2566] - Please create a DOAP file for your TLP
560 * [THRIFT-2237] - Update archive to contain all versions
jfarrell591e20f2014-11-04 21:12:20 -0500561 * [THRIFT-2223] - Spam links on wiki
jfarrell507ba1b2014-07-10 12:44:51 -0400562 * [THRIFT-962] - Tutorial page on our website is really unhelpful
563
564## Test
565 * [THRIFT-2327] - nodejs: nodejs test suite should be bundled with the library
jfarrell507ba1b2014-07-10 12:44:51 -0400566 * [THRIFT-2501] - C# The test parameters from the TestServer and TestClient are different from the http://thrift.apache.org/test/
jfarrell591e20f2014-11-04 21:12:20 -0500567 * [THRIFT-2445] - THRIFT-2384 (code generation for go maps with binary keys) should be tested
568 * [THRIFT-2685] - c_glib: Include in integration test suite
569 * [THRIFT-2754] - erlang lib tests don't clean up after themselves properly
jfarrell507ba1b2014-07-10 12:44:51 -0400570
571## Wish
572 * [THRIFT-2190] - Add the JavaScript thrift.js lib to the Bower registry
573 * [THRIFT-2076] - boost::optional instead of __isset
jfarrell72498202013-08-24 09:18:30 -0400574
575
jfarrell507ba1b2014-07-10 12:44:51 -0400576Thrift 0.9.1
577--------------------------------------------------------------------------------
578## Bug
579 * [THRIFT-1440] - debian packaging: minor-ish policy problems
580 * [THRIFT-1402] - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
581 * [THRIFT-1551] - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
582 * [THRIFT-1264] - TSocketClient is queried by run loop after deallocation in Cocoa
583 * [THRIFT-1600] - Thrift Go Compiler and Library out of date with Go 1 Release.
584 * [THRIFT-1603] - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
585 * [THRIFT-1062] - Problems with python tutorials
586 * [THRIFT-864] - default value fails if identifier is a struct
587 * [THRIFT-930] - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
588 * [THRIFT-820] - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
589 * [THRIFT-1640] - None of the tutorials linked on the website contain content
590 * [THRIFT-1637] - NPM registry does not include version 0.8
591 * [THRIFT-1648] - NodeJS clients always receive 0 for 'double' values.
592 * [THRIFT-1660] - Python Thrift library can be installed with pip but not easy_install
593 * [THRIFT-1657] - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
594 * [THRIFT-2118] - Certificate error handling still incorrect
595 * [THRIFT-2137] - Ruby test lib fails jenkins build #864
596 * [THRIFT-2136] - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
597 * [THRIFT-2135] - GO lib leaves behind test files that are auto generated
598 * [THRIFT-2134] - mingw-cross-compile script failing with strip errors
599 * [THRIFT-2133] - java TestTBinaryProtocol.java test failing
600 * [THRIFT-2126] - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
601 * [THRIFT-2125] - debian missing from DIST
602 * [THRIFT-2124] - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
603 * [THRIFT-2123] - GO lib missing files in DIST build
604 * [THRIFT-2121] - Compilation bug for Node.js
605 * [THRIFT-2129] - php ext missing from dist
606 * [THRIFT-2128] - lib GO tests fail with funct ends without a return statement
607 * [THRIFT-2286] - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
608 * [THRIFT-1973] - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
609 * [THRIFT-1992] - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
610 * [THRIFT-1930] - C# generates unsigned byte for Thrift "byte" type
611 * [THRIFT-1929] - Update website to use Mirrors for downloads
612 * [THRIFT-1928] - Race may still exist in TFileTransport::flush()
613 * [THRIFT-1934] - Tabs in Example section on main page are not working
614 * [THRIFT-1933] - Delphi generator crashes when a typedef references another typedef from an included file
615 * [THRIFT-1942] - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
616 * [THRIFT-1959] - C#: Add Union TMemoryBuffer support
617 * [THRIFT-1958] - C#: Use static Object.Equals instead of .Equals() calls in equals
618 * [THRIFT-1957] - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
619 * [THRIFT-1955] - Union Type writer generated in C# does not WriteStructBegin
620 * [THRIFT-1952] - Travis CI
621 * [THRIFT-1949] - WP7 build broken
622 * [THRIFT-1943] - docstrings for enum values are ignored
623 * [THRIFT-2070] - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
624 * [THRIFT-2017] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
625 * [THRIFT-2032] - C# client leaks sockets/handles
626 * [THRIFT-1996] - JavaME Constants generation is broken / inconsistent with regular Java generation
627 * [THRIFT-2002] - Haskell: Test use Data.Maybe instead of Maybe
628 * [THRIFT-2051] - Vagrant fails to build erlang
629 * [THRIFT-2050] - Vagrant C# lib compile fails with TException missing
630 * [THRIFT-1978] - Ruby: Thrift should allow for the SSL verify mode to be set
631 * [THRIFT-1984] - namespace collision in python bindings
632 * [THRIFT-1988] - When trying to build a debian package it fails as the file NEWS doesn't exist
633 * [THRIFT-1975] - TBinaryProtocol CheckLength can't be used for a client
634 * [THRIFT-1995] - '.' allowed at end of identifier generates non-compilable code
635 * [THRIFT-2112] - Error in Go generator when using typedefs in map keys
636 * [THRIFT-2088] - Typos in Thrift compiler help text
637 * [THRIFT-2080] - C# multiplex processor does not catch IOException
638 * [THRIFT-2082] - Executing "gmake clean" is broken
639 * [THRIFT-2102] - constants are not referencing to correct type when included from another thrift file
640 * [THRIFT-2100] - typedefs are not correctly referenced when including from other thrift files
641 * [THRIFT-2066] - 'make install' does not install two headers required for C++ bindings
642 * [THRIFT-2065] - Not valid constants filename in Java
643 * [THRIFT-2047] - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
644 * [THRIFT-2036] - Thrift gem warns about class variable access from top level
645 * [THRIFT-2057] - Vagrant fails on php tests
646 * [THRIFT-2105] - Generated code for default values of collections ignores t_field::T_REQUIRED
647 * [THRIFT-2091] - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
648 * [THRIFT-2090] - Go generator, fix including of other thrift files
649 * [THRIFT-2106] - Fix support for namespaces in GO generator
650 * [THRIFT-1783] - C# doesn't handle required fields correctly
651 * [THRIFT-1782] - async only defined in silverlight
652 * [THRIFT-1779] - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
653 * [THRIFT-1692] - SO_REUSEADDR allows for socket hijacking on Windows
654 * [THRIFT-1720] - JRuby times out on successful connection
655 * [THRIFT-1713] - Named and Anonymous Pipe transport (Delphi)
656 * [THRIFT-1699] - Native Union#read has extra read_field_end call
657 * [THRIFT-1749] - Python TSSLSocket error handling obscures actual error
658 * [THRIFT-1748] - Guard and RWGuard macros defined in global namespace
659 * [THRIFT-1734] - Front webpage is still advertising v0.8 as current release
660 * [THRIFT-1729] - C glib refactor left empty folders in svn
661 * [THRIFT-1767] - unions can't have required fields (Delphi)
662 * [THRIFT-1765] - Incorrect error message printed for null or negative keys
663 * [THRIFT-1778] - Configure requires manual intervention due to tar failure
664 * [THRIFT-1777] - TPipeServer is UNSTOPPABLE
665 * [THRIFT-1753] - Multiple C++ Windows, OSX, and iOS portability issues
666 * [THRIFT-1756] - 'make -j 8' fails with "unterminated #ifdef" error
667 * [THRIFT-1773] - Python library should run on python 2.4
668 * [THRIFT-1769] - unions can't have required fields (C++)
669 * [THRIFT-1768] - unions can't have required fields (Compiler)
670 * [THRIFT-1666] - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
671 * [THRIFT-1919] - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
672 * [THRIFT-1864] - implement event handler for non-blocking server
673 * [THRIFT-1859] - Generated error c++ code with -out and include_prefix param
674 * [THRIFT-1869] - TThreadPoolServer (java) dies when threadpool is consumed
675 * [THRIFT-1842] - Memory leak with Pipes
676 * [THRIFT-1838] - Can't build compiler on OS X because of missing thrifty.h
677 * [THRIFT-1846] - Restore socket.h header to support builds with Android NDK
678 * [THRIFT-1850] - make check hangs on TSocket tests in TransportTest.cpp
679 * [THRIFT-1873] - Binary protocol factory ignores struct read/write flags
680 * [THRIFT-1872] - issues with TBufferedTransport buffer
681 * [THRIFT-1904] - Incorrect code is generated for typedefs which use included types
682 * [THRIFT-1903] - PHP namespaces cause binary protocols to not be used
683 * [THRIFT-1895] - Delphi: reserved variable name "result" not detected properly
684 * [THRIFT-1881] - TNonblockingServer does not release open connections or threads on shutdown
685 * [THRIFT-1888] - Java Thrift client can't connect to Python Thrift server on same host
686 * [THRIFT-1831] - Bug in list deserializer
687 * [THRIFT-1824] - many compile warning, becase Thread.h includes config.h
688 * [THRIFT-1823] - Missing parenthesis breaks "IS_..." macro in generated code
689 * [THRIFT-1806] - Python generation always truncates __init__.py files
690 * [THRIFT-1795] - Race condition in TThreadedServerPool java implementation
691 * [THRIFT-1794] - C# asyncctp broken
692 * [THRIFT-1804] - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
693 * [THRIFT-1800] - Documentation text not always escaped correctly when rendered to HTML
694 * [THRIFT-1788] - C#: Constants static constructor does not compile
695 * [THRIFT-1816] - Need "require" included thrift files in "xxx_types.js"
696 * [THRIFT-1907] - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
697 * [THRIFT-1913] - skipping unknown fields in java unions
698 * [THRIFT-2553] - C++ linker error - transport/TSocket
699 * [THRIFT-274] - Towards a working release/versioning process
700
701## Documentation
702 * [THRIFT-1971] - [Graphviz] Adds tutorial/general description documentation
703 * [THRIFT-2001] - http://thrift.apache.org/ Example "C++ Server" tab is broken
704
705## Improvement
706 * [THRIFT-1574] - Apache project branding requirements: DOAP file [PATCH]
707 * [THRIFT-1347] - Unify the exceptions returned in generated Go code
708 * [THRIFT-1353] - Switch to performance branch, get rid of BinaryParser
709 * [THRIFT-1629] - Ruby 1.9 Compatibility during Thrift configure, make, install
710 * [THRIFT-991] - Refactor Haskell code and generator
711 * [THRIFT-990] - Sanify gettimeofday usage codebase-wide
712 * [THRIFT-791] - Let C++ TSimpleServer be driven by an external main loop
713 * [THRIFT-2117] - Cocoa TBinaryProtocol strictWrite should be set to true by default
714 * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
715 * [THRIFT-1972] - Add support for async processors
716 * [THRIFT-1970] - [Graphviz] Adds option to render exceptions relationships
717 * [THRIFT-1966] - Support different files for SSL certificates and keys
718 * [THRIFT-1965] - Adds Graphviz (graph description language) generator
719 * [THRIFT-1956] - Switch to Apache Commons Lang 3
720 * [THRIFT-1962] - Multiplex processor should send any TApplicationException back to client
721 * [THRIFT-1960] - main() declares 22 unused gen bools
722 * [THRIFT-1951] - libthrift.jar has source files in it
723 * [THRIFT-1997] - Add accept backlog configuration method to TServerSocket
724 * [THRIFT-2003] - Deprecate senum
725 * [THRIFT-2052] - Vagrant machine image defaults to only 384MB of RAM
726 * [THRIFT-1980] - Modernize Go tooling, fix go client libary.
727 * [THRIFT-1977] - C# compiler should generate constant files prefixed with thrift file name
728 * [THRIFT-1985] - add a Vagrantfile to build and test Apache Thrift fully reproducable
729 * [THRIFT-1994] - Deprecate slist
730 * [THRIFT-1993] - Factory to create instances from known (generated) interface types with Delphi
731 * [THRIFT-2081] - Specified timeout should be used in TSocket.Open()
732 * [THRIFT-2084] - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
733 * [THRIFT-2083] - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
734 * [THRIFT-2109] - Secure connections should be supported in Go
735 * [THRIFT-2107] - minor Go generator fixes
736 * [THRIFT-1695] - allow warning-free compilation in VS 2012 and GNU 4.6
737 * [THRIFT-1735] - integrate tutorial into regular build
738 * [THRIFT-1716] - max allowed connections should be PIPE_UNLIMITED_INSTANCES
739 * [THRIFT-1715] - Allow excluding python parts when building contrib/fb303
740 * [THRIFT-1733] - Fix RPM build issues on RHEL6/OL6 systems
741 * [THRIFT-1728] - Upgradation of httpcomponents
742 * [THRIFT-1876] - Use enum names instead of casted integers in assignments
743 * [THRIFT-1874] - timeout for the server-side end of a named pipe
744 * [THRIFT-1897] - Support validation of required fields
745 * [THRIFT-1896] - Add TBase protocol for Cocoa
746 * [THRIFT-1880] - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
747 * [THRIFT-1878] - Add the possibility to send custom headers
748 * [THRIFT-1882] - Use single include
749 * [THRIFT-1793] - C#: Use static read instead of instance read
750 * [THRIFT-1799] - Option to generate HTML in "standalone mode"
751 * [THRIFT-1815] - Code generators line buffer output
752 * [THRIFT-1890] - C++: Make named pipes server work asynchronously
753 * [THRIFT-474] - Generating Ruby on Rails friendly code
754
755## New Feature
756 * [THRIFT-801] - Provide an interactive shell (irb) when generating ruby bindings
757 * [THRIFT-2292] - Android Library Project
758 * [THRIFT-2012] - Modernizing Go
759 * [THRIFT-1969] - C#: Tests not properly linked from the solution
760 * [THRIFT-1785] - C#: Add TMemoryBuffer serializer/deserializer
761 * [THRIFT-1780] - Add option to generate nullable values
762 * [THRIFT-1786] - C# Union Typing
763 * [THRIFT-591] - Make the C++ runtime library be compatible with Windows and Visual Studio
764 * [THRIFT-514] - Add option to configure compiler output directory
765
766## Question
767 * [THRIFT-1764] - how to get the context of client when on a rpc call in server side?
768 * [THRIFT-1791] - thrift's namespace directive when generating haskell code
769
770## Sub-task
771 * [THRIFT-1594] - Java test clients should have a return codes that reflect whether it succeeds or not.
772 * [THRIFT-1595] - Java test server should follow the documented behavior as of THRIFT-1590
773 * [THRIFT-986] - st: add version Info to the library
774 * [THRIFT-985] - php: add version Info to the library
775 * [THRIFT-984] - ocaml: add version Info to the library
776 * [THRIFT-1924] - Delphi: Inconsistency in serialization of optional fields
777 * [THRIFT-1922] - C#: Inconsistency in serialization of optional fields
778 * [THRIFT-1961] - C# tests should be in lib/csharp/test/...
779 * [THRIFT-1822] - PHP unit test does not work
780 * [THRIFT-1902] - C++: Support for Multiplexing Services on any Transport, Protocol and Server
781 * [THRIFT-1901] - C#: Support for Multiplexing Services on any Transport, Protocol and Server
782 * [THRIFT-1899] - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
783 * [THRIFT-563] - Support for Multiplexing Services on any Transport, Protocol and Server
Jake Farrell6fcecd42012-10-11 20:34:25 +0000784
785
Jake Farrell6fcecd42012-10-11 20:34:25 +0000786
jfarrell507ba1b2014-07-10 12:44:51 -0400787Thrift 0.9
788--------------------------------------------------------------------------------
789## Bug
790 * [THRIFT-1438] - lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
791 * [THRIFT-1446] - Compile error with Delphi 2009 in constant initializer
792 * [THRIFT-1450] - Problems building thrift 0.8.0 for Python and Ruby
793 * [THRIFT-1449] - Ruby client does not work on solaris (?)
794 * [THRIFT-1447] - NullpointerException in ProcessFunction.class :in "oneway" method
795 * [THRIFT-1433] - TServerSocket fix for MSVC
796 * [THRIFT-1429] - The nonblocking servers is supposed to use TransportFactory to read the data
797 * [THRIFT-1427] - PHP library uses non-multibyte safe functions with mbstring function overloading
798 * [THRIFT-1421] - Debian Packages can not be built
799 * [THRIFT-1394] - Treatment of optional fields is not consistent between C++ and Java
800 * [THRIFT-1511] - Server with oneway support ( JAVA )
801 * [THRIFT-1496] - PHP compiler not namespacing enums
802 * [THRIFT-1495] - PHP TestClient fatals on missing class
803 * [THRIFT-1508] - TServerSocket does not allow for the user to specify the IP address to bind to
804 * [THRIFT-1504] - Cocoa Generator should use local file imports for base Thrift headers
805 * [THRIFT-1512] - Thrift socket support for Windows XP
806 * [THRIFT-1502] - TSimpleServer::serve(): Do not print out error message if server was stopped.
807 * [THRIFT-1501] - PHP old namespaces not generated for enums
808 * [THRIFT-1483] - java compiler does not generate type parameters for services in extended clauses
809 * [THRIFT-1479] - Compiled PHP process functions missing writeMessageEnd()
810 * [THRIFT-1492] - enabling c_glib render thrift unusable (even for C++ code)
811 * [THRIFT-1491] - Uninitialize processorFactory_ member in TServer.h
812 * [THRIFT-1475] - Incomplete records generation for Erlang
813 * [THRIFT-1486] - Javascript manual testserver not returning content types
814 * [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]
815 * [THRIFT-1490] - Windows-specific header files - fixes & tweaks
816 * [THRIFT-1526] - Union TupleSchemeFactory returns StandardSchemes
817 * [THRIFT-1527] - Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
818 * [THRIFT-1524] - TNonBlockingServer does not compile in Visual Studio 2010
819 * [THRIFT-1529] - TupleProtocol can unintentionally include an extra byte in bit vectors when number of optional fields is an integral of 8
820 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
821 * [THRIFT-1456] - System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
822 * [THRIFT-1468] - Memory leak in TSaslServerTransport
823 * [THRIFT-1461] - Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
824 * [THRIFT-1460] - why not add unicode strings support to python directly?
825 * [THRIFT-1464] - AbstractNonblockingServer.FrameBuffer TNonblockingTransport accessor changed from public to private
826 * [THRIFT-1467] - Possible AV with empty strings when using JSON protocol
827 * [THRIFT-1523] - clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
828 * [THRIFT-1537] - TFramedTransport issues
829 * [THRIFT-1519] - Thirft Build Failure referencing rb_intern2 symbol
830 * [THRIFT-1518] - Generated C++ code only sends the first optional field in the write() function for a struct.
831 * [THRIFT-1515] - NameError: global name 'TApplicationException' is not defined
832 * [THRIFT-1554] - Inherited service methods are not resolved in derived service implementations
833 * [THRIFT-1553] - thrift nodejs service side can't read map structure, key as enum, value as Object
834 * [THRIFT-1575] - Typo in server/TThreadPoolServer.h
835 * [THRIFT-1327] - Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
836 * [THRIFT-1326] - on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
837 * [THRIFT-1159] - THttpClient->Flush() issue (connection thru proxy)
838 * [THRIFT-1277] - Node.js serializes false booleans as null
839 * [THRIFT-1224] - Cannot insert UTF-8 text
840 * [THRIFT-1267] - Node.js can't throw exceptions.
841 * [THRIFT-1338] - Do not use an unpatched autoconf 2.65 to generate release tarball
842 * [THRIFT-1128] - MAC OS X: thrift.h incompatibility with Thrift.h
843 * [THRIFT-1631] - Fix C++ server constructor typos
844 * [THRIFT-1602] - PHP C Extension is not Compatible with PHP 5.4
845 * [THRIFT-1610] - IWebProxy not available on WP7 platform
846 * [THRIFT-1606] - Race condition in BoostThreadFactory.cpp
847 * [THRIFT-1604] - Python exception handeling for changes from PEP 3110
848 * [THRIFT-1607] - Incorrect file modes for several source files
849 * [THRIFT-1583] - c_glib leaks memory
850 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
851 * [THRIFT-1578] - C_GLib generated code does not compile
852 * [THRIFT-1597] - TJSONProtocol.php is missing from Makefile.am
853 * [THRIFT-1591] - Enable TCP_NODELAY for ruby gem
854 * [THRIFT-1624] - Isset Generated differently on different platforms
855 * [THRIFT-1622] - Incorrect size returned on read
856 * [THRIFT-1621] - Memory leaks
857 * [THRIFT-1612] - Base64 encoding is broken
858 * [THRIFT-1627] - compiler built using compilers.vcxproj cannot be used to build some test .thrift files
859 * [THRIFT-1571] - Update Ruby HTTP transport for recent Ruby versions
860 * [THRIFT-1023] - Thrift encoding (UTF-8) issue with Ruby 1.9.2
861 * [THRIFT-1090] - Document the generation of a file called "Constants.java"
862 * [THRIFT-1082] - Thrift::FramedTransport sometimes calls close() on an undefined value
863 * [THRIFT-956] - Python module's version meta-data should be updated
864 * [THRIFT-973] - Cocoa library won't compile using clang
865 * [THRIFT-1632] - ruby: data corruption in thrift_native implementation of MemoryBufferTransport
866 * [THRIFT-1665] - TBinaryProtocol: exceeded message length raises generic TException
867 * [THRIFT-1664] - Reference to non-existing variable in build script
868 * [THRIFT-1663] - Java Thrift server is not throwing exceptions
869 * [THRIFT-1662] - "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
870 * [THRIFT-1643] - Denial of Service attack in TBinaryProtocol.readString
871 * [THRIFT-1674] - Update Thrift D library to be compatible with 2.060
872 * [THRIFT-1673] - Ruby compile flags for extension for multi arch builds (os x)
873 * [THRIFT-1655] - Configure still trying to use thrift_generators in output
874 * [THRIFT-1654] - c_glib thrift_socket_read() returns corrupted data
875 * [THRIFT-1653] - TThreadedSelectorServer leaks CLOSE_WAIT sockets
876 * [THRIFT-1658] - Java thrift server is not throwing TApplicationException
877 * [THRIFT-1656] - Setting proper headers in THttpServer.cpp so that "Cross-Origin Resource Sharing" on js client can work.
878 * [THRIFT-1652] - TSaslTransport does not log the error when kerberos auth fails
879 * [THRIFT-2272] - CLONE - Denial of Service attack in TBinaryProtocol.readString
880 * [THRIFT-2086] - Invalid generated code for Node.JS when using namespaces
881 * [THRIFT-1686] - t_php_generator.cc uses "and" instead of "&&", and causes compiler errors with Visual Studio
882 * [THRIFT-1693] - libthrift has dependency on two different versions of httpcore
883 * [THRIFT-1689] - don't exit(-1) in TNonblockingServer
884 * [THRIFT-1679] - NodeJS: protocol readString() should treat string as utf8, not binary
885 * [THRIFT-1721] - Dist broken due to 0.8.0 to 0.9.0 changes
886 * [THRIFT-1710] - Minor issues in test case code
887 * [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()
888 * [THRIFT-1707] - [ruby] Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
889 * [THRIFT-1671] - Cocoa code generator does not put keywords into generated method calls
890 * [THRIFT-1670] - Incompatibilities between different versions of a Thrift interface
891 * [THRIFT-1669] - NameError: global name 'TApplicationException' is not defined
892 * [THRIFT-1668] - Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
893 * [THRIFT-1845] - Fix compiler warning caused by implicit string conversion with Xcode 4.6
894 * [THRIFT-304] - Building the Python library requires development headers
895 * [THRIFT-369] - sets and maps break equality
896 * [THRIFT-556] - Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
897 * [THRIFT-481] - indentation of ruby classes is off by a few
898
899## Improvement
900 * [THRIFT-1498] - Allow TThreadedPoolServer.Args to pass a ExecutorService
901 * [THRIFT-1444] - FunctionRunner - add syntactic sugar to create shared_ptrs
902 * [THRIFT-1443] - define a TProcessor helper class to implement process()
903 * [THRIFT-1441] - Generate constructor with parameters for exception class to let it update message property automatically.
904 * [THRIFT-1520] - Embed version number in erlang .app file
905 * [THRIFT-1480] - python: remove tabs, adjust whitespace and address PEP8 warnings
906 * [THRIFT-1485] - Performance: pass large and/or refcounted arguments as "const"
907 * [THRIFT-1484] - Introduce phpunit test suite
908 * [THRIFT-1532] - The type specifications in the generated Erlang code should include "undefined" where it's used as a default value
909 * [THRIFT-1534] - Required fields in the Delphi code generator.
910 * [THRIFT-1469] - Java isset space optimization
911 * [THRIFT-1465] - Visibility of methods in generated java code
912 * [THRIFT-1453] - Don't change types of arguments when serializing with thrift php extension
913 * [THRIFT-1452] - generate a swap() method for all generated structs
914 * [THRIFT-1451] - FramedTransport: Prevent infinite loop when writing
915 * [THRIFT-1521] - Two patches for more Performance
916 * [THRIFT-1555] - Delphi version of the tutorial code
917 * [THRIFT-1535] - Why thrift don't use wrapped class for optional fields ?
918 * [THRIFT-1204] - Ruby autogenerated files should require 'thrift' gem
919 * [THRIFT-1344] - Using the httpc module directly rather than the deprecated http layer
920 * [THRIFT-1343] - no_auto_import min/2 to avoid compile warning
921 * [THRIFT-1340] - Add support of ARC to Objective-C
922 * [THRIFT-1611] - Improved code generation for typedefs
923 * [THRIFT-1593] - Pass on errors like "connection closed" to the handler module
924 * [THRIFT-1615] - PHP Namespace
925 * [THRIFT-1567] - Thrift/cpp: Allow alternate classes to be used for
926 * [THRIFT-1072] - Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
927 * [THRIFT-1650] - [ruby] Update clean items and svn:ignore entries for OS X artifacts
928 * [THRIFT-1661] - [PATCH] Add --with-qt4 configure option
929 * [THRIFT-1675] - Do we have any plan to support scala?
930 * [THRIFT-1645] - Replace Object#tee with more conventional Object#tap in specs
931 * [THRIFT-1644] - Upgrade RSpec to 2.10.x and refactor specs as needed
932 * [THRIFT-1672] - MonoTouch (and Mono for Android) compatibility
933 * [THRIFT-1702] - a thrift manual
934 * [THRIFT-1694] - Re-Enable serialization for WP7 Silverlight
935 * [THRIFT-1691] - Serializer/deserializer support for Delphi
936 * [THRIFT-1688] - Update IDL page markup
937 * [THRIFT-1725] - Tutorial web pages for Delphi and C#
938 * [THRIFT-1714] - [ruby] Explicitly add CWD to Ruby test_suites.rb
939 * [THRIFT-317] - Issues with Java struct validation
940 * [THRIFT-164] - Build web tutorial on Incubator web site
941 * [THRIFT-541] - Cocoa code generator doesn't put keywords before all arguments.
942 * [THRIFT-681] - The HTML generator does not handle JavaDoc style comments very well
943
944## New Feature
945 * [THRIFT-1500] - D programming language support
946 * [THRIFT-1510] - There should be an implementation of the JsonProtocol for ruby
947 * [THRIFT-1115] - python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
948 * [THRIFT-1953] - support for asp.net mvc 3
949
950## Question
951 * [THRIFT-1235] - How could I use THttpServerTransportFactory withTNonBlockingServer
952 * [THRIFT-1368] - TNonblockingServer usage
953 * [THRIFT-1061] - Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
954 * [THRIFT-491] - Ripping raw pthreads out of TFileTransport and associated test issues
955
956## Sub-task
957 * [THRIFT-1596] - Delphi: Test clients should have a return codes that reflect whether they succeeded or not
958 * [THRIFT-982] - javame: add version Info to the library
959 * [THRIFT-1722] - C# WP7 Assembly addition beaks mono build
960 * [THRIFT-336] - Compact Protocol in C#
961
962## Test
963 * [THRIFT-1613] - Add code back into empty source file ToStringTest.java
964 * [THRIFT-1718] - Incorrect check in TFileTransportTest
965
966## Wish
967 * [THRIFT-1463] - Decouple Thrift IDL from generators
968 * [THRIFT-1466] - Proper Documentation for Thrift C Glib
969 * [THRIFT-1539] - Build and distribute the fb303 python libraries along with thrift
970 * [THRIFT-1685] - Please add "aereo.com" to "Powered by Apache Thrift" list in about page
971 * [THRIFT-330] - TProcessor - additional method to called when connection is broken
Jake Farrell6fcecd42012-10-11 20:34:25 +0000972
973
Jake Farrell9c762582011-08-13 21:29:36 +0000974
jfarrell507ba1b2014-07-10 12:44:51 -0400975Thrift 0.8
976--------------------------------------------------------------------------------
977## Bug
978 * [THRIFT-1436] - pip install thrift fails on Windows with "Unable to find vcvarsall.bat"
979 * [THRIFT-1432] - Javascript struct constants declared in the same file as their struct definition will cause an error
980 * [THRIFT-1428] - shared.thrft does not include namespace for php, so thrift compiler generate incorrect name
981 * [THRIFT-1426] - Dist package missing files for release 0.8
982 * [THRIFT-1425] - The Node package is incompatible with latest node (0.6) & npm (1.0.27)
983 * [THRIFT-1416] - Python Unit test is broken on ci
984 * [THRIFT-1419] - AbstractNonBlockingServer does not catch errors when invoking the processor
985 * [THRIFT-1424] - Ruby specs fail when run with rake
986 * [THRIFT-1420] - Nonblocking and HsHa server should make sure to close all their socket connections when the selector exits
987 * [THRIFT-1413] - Generated code does not read MapEnd / ListEnd / SetEnd
988 * [THRIFT-1409] - Name conflict check does not work properly for exception object(Delphi).
989 * [THRIFT-1408] - Delphi Test Server: Exception test case fails due to naming conflict with e.message
990 * [THRIFT-1407] - Typo in Python socket server causes Thrift to fail when we enable a global socket timout
991 * [THRIFT-1397] - CI server fails during build due to unused parameters in delphi generator
992 * [THRIFT-1404] - Delphi compiler generates struct reader code with problem.
993 * [THRIFT-1400] - Ruby native extension aborts with __stack_chk_fail in OSX
994 * [THRIFT-1399] - One of the TServerImpl.Create CTORs lacks implementation
995 * [THRIFT-1390] - Debian packages build fix for Squeeze (build from the official 0.7.0 tarball)
996 * [THRIFT-1393] - TTransportException's thrown from THttpClient contain superfluous slashes in the Exception message
997 * [THRIFT-1392] - Enabling both namespaces and autoloading in generated PHP code won't work.
998 * [THRIFT-1406] - Build error after applying THRIFT-1395
999 * [THRIFT-1405] - Delphi compiler does not generates container serializer properly.
1000 * [THRIFT-1411] - java generator does not provide type parameter for TBaseProcessor
1001 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
1002 * [THRIFT-1331] - Ruby library deserializes an empty map to nil
1003 * [THRIFT-1330] - PHP Namespaces no longer generated
1004 * [THRIFT-1328] - TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
1005 * [THRIFT-1322] - OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
1006 * [THRIFT-1143] - Build doesn't detect correct architecture type on 64bit osx
1007 * [THRIFT-1205] - port server unduly fragile with arbitrary input
1008 * [THRIFT-1279] - type set is handled incorrectly when writing object
1009 * [THRIFT-1298] - Standard scheme doesn't read or write metadata along with field values
1010 * [THRIFT-1265] - C++ container deserialize
1011 * [THRIFT-1263] - publish ruby client to rubygems
1012 * [THRIFT-1384] - Java help menu missing newline near javame flag
1013 * [THRIFT-1382] - Bundle install doesnot work because thrift crashes
1014 * [THRIFT-1381] - Thrift C++ libs have incorrectly versioned names
1015 * [THRIFT-1350] - Go library code does not build as of r60 (most recent release)
1016 * [THRIFT-1365] - TupleProtocol#writeBitSet unintentionally writes a variable length byte array
1017 * [THRIFT-1359] - --gen-cob cpp:cob_style does not compile anymore
1018 * [THRIFT-1319] - Mismatch between how a union reads and writes a container
1019 * [THRIFT-1309] - libfb303-0.7.0.jar missing in maven repository
1020 * [THRIFT-1238] - Thrift JS client cannot read map of structures
1021 * [THRIFT-1254] - Code can't be compiled against a regular JRE: Object.clone() override has a different return type
1022 * [THRIFT-1367] - Mac OSX build fails with "no such file to load -- spec/rake/spectask"
1023 * [THRIFT-1355] - Running make in lib/rb doesn't build the native extensions
1024 * [THRIFT-1370] - Debian packaging should Build-Depend on libglib2.0-dev
1025 * [THRIFT-1342] - Compilation problem on Windows of fastbinary.c
1026 * [THRIFT-1341] - TProtocol.h endian detection wrong with boost
1027 * [THRIFT-1583] - c_glib leaks memory
1028 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
1029 * [THRIFT-1578] - C_GLib generated code does not compile
1030 * [THRIFT-1027] - 'make -j 16' fails with "unterminated #ifdef" error
1031 * [THRIFT-1121] - Java server performance regression in 0.6
1032 * [THRIFT-857] - tests run by "make install" fail if generators are disabled
1033 * [THRIFT-380] - Use setuptools for python build
1034
1035## Dependency upgrade
1036 * [THRIFT-1257] - thrift's dependency scope on javax.servlet:servlet-api should be 'provided'
1037
1038## Improvement
1039 * [THRIFT-1445] - minor C++ generator variable cleanup
1040 * [THRIFT-1435] - make TException.Message property conformant to the usual expectations
1041 * [THRIFT-1431] - Rename 'sys' module to 'util'
1042 * [THRIFT-1396] - Dephi generator has dependacy on boost 1.42 later.
1043 * [THRIFT-1395] - Patch to prevent warnings for integer types in some cases
1044 * [THRIFT-1275] - thrift: always prefix namespaces with " ::"
1045 * [THRIFT-1274] - thrift: fail compilation if an unexpected token is
1046 * [THRIFT-1271] - thrift: fix missing namespace in generated local
1047 * [THRIFT-1270] - thrift: add --allow-neg-keys argument to allow
1048 * [THRIFT-1345] - Allow building without tests
1049 * [THRIFT-1286] - Modernize the Thrift Ruby Library Dev Environment
1050 * [THRIFT-1284] - thrift: fix processor inheritance
1051 * [THRIFT-1283] - thrift: wrap t_cpp_generator::generate_process_function() to 80
1052 * [THRIFT-1282] - Upgrade httpclient to 4.1.2 (from 4.0.1)
1053 * [THRIFT-1281] - add @generated to the docblock
1054 * [THRIFT-1280] - Thrift: Improve Monitor exception-free interfaces
1055 * [THRIFT-1278] - javadoc warnings - compilation
1056 * [THRIFT-1227] - Erlang implementation of thrift JSON protocol
1057 * [THRIFT-1295] - Duplicate include in TSocket.cpp
1058 * [THRIFT-1294] - thrift: fix log message typos in TSimpleServer
1059 * [THRIFT-1293] - thrift: improve handling of exceptions thrown by
1060 * [THRIFT-1292] - thrift: silence log spew from TThreadedServer
1061 * [THRIFT-1288] - Allow typedefed exceptions in throws clauses
1062 * [THRIFT-1290] - thrift: TNonblockingServer: clean up state in the
1063 * [THRIFT-1287] - thrift: start refactoring some of the C++ processor
1064 * [THRIFT-1289] - thrift: implement TNonblockingServer::stop()
1065 * [THRIFT-1305] - thrift: make TConnection a private inner class of
1066 * [THRIFT-1304] - TNonblockingServer: pass in the connection context to
1067 * [THRIFT-1302] - thrift: raise an exception if send() times out in
1068 * [THRIFT-1301] - thrift: consolidate common code in TNonblockingServer
1069 * [THRIFT-1377] - abort PHP deserialization on unknown field type
1070 * [THRIFT-1379] - fix uninitialized enum values in thrift C++ objects
1071 * [THRIFT-1376] - Make port specification option in thrift remote
1072 * [THRIFT-1375] - fixed a hex char conversion bug in TJSONProtocol
1073 * [THRIFT-1373] - Fix user-defined exception generation in thrift (python)
1074 * [THRIFT-1361] - Optional replacement of pthread by boost::thread
1075 * [THRIFT-1320] - Consistency of configure generated config.h
1076 * [THRIFT-1317] - Remove copy constructibility from
1077 * [THRIFT-1316] - thrift: update server classes to accept
1078 * [THRIFT-1315] - thrift: generate server interface factory classes
1079 * [THRIFT-1314] - thrift: add TProcessorFactory
1080 * [THRIFT-1335] - Add accept timeout to TServerSocket
1081 * [THRIFT-1334] - Add more info to IllegalStateException
1082 * [THRIFT-1333] - Make RWGuard not copyable
1083 * [THRIFT-1332] - TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
1084 * [THRIFT-1251] - Generated java code should indicate which fields are required and which are optional
1085 * [THRIFT-1387] - Build MSVC libraries with Boost Threads instead of Pthreads
1086 * [THRIFT-1339] - Extend Tuple Protocol to TUnions
1087 * [THRIFT-1031] - Patch to compile Thrift for vc++ 9.0 and 10.0
1088 * [THRIFT-1130] - Add the ability to specify symbolic default value for optional boolean
1089 * [THRIFT-1123] - Patch to compile Thrift server and client for vc++ 9.0 and 10.0
1090 * [THRIFT-386] - Make it possible to build the Python library without the extension
1091
1092## New Feature
1093 * [THRIFT-1401] - JSON-protocol for Delphi XE Libraries
1094 * [THRIFT-1167] - Java nonblocking server with more than one thread for select and handling IO
1095 * [THRIFT-1366] - Delphi generator, lirbrary and unit test.
1096 * [THRIFT-1354] - Add rake task to build just the gem file
1097 * [THRIFT-769] - Pluggable Serializers
1098
1099## Sub-task
1100 * [THRIFT-1415] - delphi: add version Info to the library
1101 * [THRIFT-1391] - Improved Delphi XE test cases
Jake Farrell9c762582011-08-13 21:29:36 +00001102
1103
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00001104
jfarrell507ba1b2014-07-10 12:44:51 -04001105Thrift 0.7
1106--------------------------------------------------------------------------------
1107## Bug
1108 * [THRIFT-1140] - Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
1109 * [THRIFT-1154] - HttpClient does not specify the connection close parameter
1110 * [THRIFT-1153] - HttpClient does not specify the connection close parameter
1111 * [THRIFT-1149] - Nonblocking server fails when client connection is reset
1112 * [THRIFT-1146] - Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor
1113 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
1114 * [THRIFT-1132] - Deserialization error in TApplicationException C#
1115 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
1116 * [THRIFT-1208] - python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec for CONTAINER_WRITE, CONTAINER_READ
1117 * [THRIFT-1200] - JS compiler generates code that clobbers existing namespaces
1118 * [THRIFT-1183] - Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
1119 * [THRIFT-1182] - Native deserializer segfaults on incorrect list element type
1120 * [THRIFT-1181] - AS3 compiler generates incorrect code for setting default values in constructor
1121 * [THRIFT-1234] - thrift --help is missing doc on py:utf8strings
1122 * [THRIFT-1180] - AS3 compiler generates uncompilable code for binary types.
1123 * [THRIFT-1194] - Java lib does not install artifacts to local dir correctly
1124 * [THRIFT-1193] - Potential infinite loop in nonblocking_server
1125 * [THRIFT-1192] - Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
1126 * [THRIFT-1190] - readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage and general server malfunction
1127 * [THRIFT-1187] - nonblocking_server shutdown race under Ruby 1.9
1128 * [THRIFT-1178] - Java: TBase signature should be T extends TBase<?,?>
1129 * [THRIFT-1164] - Segmentation fault on NULL pointer in t_js_generator::generate_const
1130 * [THRIFT-1171] - Perl write/readDouble assumes little-endian platform
1131 * [THRIFT-1222] - Unhandled exception for TEvhttpServer request
1132 * [THRIFT-1220] - TProcessor::process never returns false
1133 * [THRIFT-1285] - Stable 0.7.0 Windows compiler exe available on the webside is not the good one
1134 * [THRIFT-1218] - c_glib uses wrong name in pkg-config
1135 * [THRIFT-1215] - Undefined property Thirft in lib/js/thrift.js
1136 * [THRIFT-1211] - When using THttpClient, non 200 responses leave the connection open
1137 * [THRIFT-1228] - The php accelerator module calls flush incorrectly
1138 * [THRIFT-1308] - libfb303-0.7.0.jar missing in maven repository
1139 * [THRIFT-1255] - Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
1140 * [THRIFT-1253] - Code generated for maps is not compiling
1141 * [THRIFT-1252] - Segfault in Ruby deserializer
1142 * [THRIFT-1094] - bug in TCompactProto python readMessageEnd method and updated test cases
1143 * [THRIFT-1093] - several bugs in python TCompactProtocol
1144 * [THRIFT-1092] - generated validate() method has wrong indentation
1145 * [THRIFT-1011] - Error generating package imports when using classes from other packages
1146 * [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
1147 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
1148 * [THRIFT-1067] - Tons of bugs in php implementation
1149 * [THRIFT-1065] - Unexpected exceptions not proper handled on JS
1150 * [THRIFT-1076] - Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception
1151 * [THRIFT-1057] - casts in TBinaryProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
1152 * [THRIFT-1055] - csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
1153 * [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
1154 * [THRIFT-1117] - JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment
1155 * [THRIFT-1111] - The HTML generator does not distinguish between string and binary types
1156 * [THRIFT-1032] - "make dist" fails due to c_glib problem
1157 * [THRIFT-1036] - Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
1158 * [THRIFT-1041] - TDeserializer holds onto a reference of the array it reads after it is done deserializing
1159 * [THRIFT-1106] - C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions but no virtual destructor. Causes warnings on -Wall
1160 * [THRIFT-1105] - OCaml generator does not prefix methods of included structs with their type
1161 * [THRIFT-1104] - INSTALLDIRS should be included in configure script
1162 * [THRIFT-1102] - typo in configure.ac: "==" operator in 'test' (instead of"'=")
1163 * [THRIFT-1101] - bytebuffer length calculation in TBinaryProtocol writeBinary
1164 * [THRIFT-1098] - Undefined properties in TBinaryProtocolFactory
1165 * [THRIFT-1081] - PHP tests broken and somewhat incomplete
1166 * [THRIFT-1080] - erlang test's 'make' fails on Mac OSX
1167 * [THRIFT-1078] - ThriftTest.thrift generates invalid PHP library
1168 * [THRIFT-1120] - proto.WriteListEnd being called in the wrong place
1169 * [THRIFT-1119] - TJSONProtocol fails to UTF8 decode strings
1170 * [THRIFT-867] - PHP accelerator module's output transport is incompatible with TFramedTransport
1171 * [THRIFT-826] - PHP TSocket Write Timeout
1172 * [THRIFT-835] - Bad AS3 syntax in constructors that set default values
1173 * [THRIFT-788] - thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
1174 * [THRIFT-125] - OCaml libraries don't compile with 32-bit ocaml
1175 * [THRIFT-342] - PHP: can't have sets of complex types
1176 * [THRIFT-731] - configure doesn't check for ant >= 1.7
1177 * [THRIFT-690] - Update TApplicationException codes
1178 * [THRIFT-638] - BufferedTransport + C extensions block until recv timeout is reached on last fread call
1179
1180## Dependency upgrade
1181 * [THRIFT-1177] - Update thrift to reflect changes in Go's networking libraries
1182
1183## Improvement
1184 * [THRIFT-1155] - Remove log4j dependency from java client
1185 * [THRIFT-1151] - Produce more informative runtime error in case of schema and data mismatch during serialization
1186 * [THRIFT-1207] - Support DESTDIR on "make install" of ruby libs
1187 * [THRIFT-1199] - Union structs should have generated methods to test whether a specific field is currently set
1188 * [THRIFT-1233] - Remove unused include in generated C++ code
1189 * [THRIFT-1189] - Ruby deserializer speed improvements
1190 * [THRIFT-1170] - Thrift Generated Code and Java 5
1191 * [THRIFT-1174] - Publish as3 client implementation via Maven for use by flex-mojos users
1192 * [THRIFT-1225] - TCompactProtocol for PHP
1193 * [THRIFT-1221] - Remove SimpleCallback.h
1194 * [THRIFT-1217] - Use evutil_socketpair instead of pipe (Windows port)
1195 * [THRIFT-1216] - build Java Library behind a proxy
1196 * [THRIFT-1231] - Remove bogus include
1197 * [THRIFT-1213] - Membuffer should provide a way to get back the buffer
1198 * [THRIFT-1237] - Java fb303 missing some methods
1199 * [THRIFT-1063] - Fix Erlang Tutorial Files
1200 * [THRIFT-1053] - Make remote client's IP address available for all socket related transports
1201 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
1202 * [THRIFT-1107] - improvement for compiler-generated python for 'None' object comparisons
1203 * [THRIFT-1069] - Add command line option to prevent thrift from inserting gen-* directories
1204 * [THRIFT-1049] - Allow for TServerSocket python library to bind to a specific host
1205 * [THRIFT-1126] - Extending struct_info for erlang bindings
1206 * [THRIFT-1100] - python TSSLSocket improvements, including certificate validation
1207 * [THRIFT-994] - Don't try to invoke phpize if we don't have it
1208 * [THRIFT-993] - Some improvements in C++ stubs for oneway operations
1209 * [THRIFT-997] - Using valueOf for base types in getFieldValue
1210 * [THRIFT-418] - Don't do runtime sorting of struct fields
1211 * [THRIFT-151] - TSSLServerSocket and TSSLSocket implementation
1212 * [THRIFT-27] - Generated erlang types don't contain default values for records
1213 * [THRIFT-113] - to-string methods should omit optional null fields from output
1214 * [THRIFT-363] - Maven Deploy
1215 * [THRIFT-447] - Make an abstract base Client class so we can generate less code
1216 * [THRIFT-627] - should c++ have setters for optional fields?
1217
1218## New Feature
1219 * [THRIFT-1236] - Erlang Reconnecting Thrift Client
1220 * [THRIFT-1021] - Framed transport support for OCaml
1221 * [THRIFT-1068] - Python SSL Socket Support
1222 * [THRIFT-1103] - TZlibTransport for python, a zlib compressed transport
1223 * [THRIFT-1083] - Preforking python process pool server
1224 * [THRIFT-999] - Add TForkingServer
1225
1226## Sub-task
1227 * [THRIFT-1152] - Attributes from private to protected
1228 * [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
1229
1230## Task
1231 * [THRIFT-892] - Refactor erlang build system with rebar
1232
1233## Wish
1234 * [THRIFT-625] - Add support for 'Go'
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00001235
1236
Bryan Duxburyf0755e92010-09-28 15:06:38 +00001237
jfarrell507ba1b2014-07-10 12:44:51 -04001238Thrift 0.6.1
1239--------------------------------------------------------------------------------
1240## Bug
1241 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
1242 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
1243 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
1244
1245## Improvement
1246 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
1247 * [THRIFT-363] - Maven Deploy
1248
1249## Question
1250 * [THRIFT-1206] - did the THRIFT 0.6.1 merge THRIFT-563 ?
1251
1252## Sub-task
1253 * [THRIFT-1163] - How can i use multi service in one program?
1254
1255## Task
1256 * [THRIFT-1112] - Apply THRIFT-363 to 0.6 branch
1257 * [THRIFT-1113] - Apply THRIFT-1074 to 0.6 branch
1258
1259
1260
1261Thrift 0.6
1262--------------------------------------------------------------------------------
1263## Bug
1264 * [THRIFT-1020] - OCaml compiler generates invalid OCaml
1265 * [THRIFT-1015] - TUnion does not handle ByteBuffer in toString
1266 * [THRIFT-1013] - generated java code may have name clashes with thrift library
1267 * [THRIFT-1009] - TUnion does not correctly deep copy a ByteBuffer
1268 * [THRIFT-1032] - "make dist" fails due to c_glib problem
1269 * [THRIFT-868] - Referencing constant values doesn't work with with typedef types
1270 * [THRIFT-971] - java module can't be compiled without ivy and network connection
1271 * [THRIFT-970] - Under heavy load, THttpClient may fail with "too many open files"
1272 * [THRIFT-969] - Java Tutorial broken, move CalculatorHandler to a separate file
1273 * [THRIFT-807] - JavaScript: Initialization of Base Types with 0 instead of null
1274 * [THRIFT-955] - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
1275 * [THRIFT-992] - Naming convention in C# constructor is not consistent with other fields causes compile errors
1276 * [THRIFT-1008] - byte[] accessors throw NPE on unset field
1277 * [THRIFT-1006] - Impossible to correctly qualify an enum constant in an external thrift file
1278 * [THRIFT-950] - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
1279 * [THRIFT-975] - lib/c_glib/README is missing => breaks make dist
1280 * [THRIFT-944] - Support all version-4s of base
1281 * [THRIFT-939] - optional binary fields throw NPE on default byte[] getters
1282 * [THRIFT-935] - PHP Extension aborts the build if php-config is not installed
1283 * [THRIFT-933] - Haskell's Thrift.cabal has warnings
1284 * [THRIFT-932] - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
1285 * [THRIFT-904] - C# TSocket should disable nagle and linger
1286 * [THRIFT-941] - Make PHP C Extension use the defined Protocol writeMessageBegin function
1287 * [THRIFT-940] - 'make check' fails if boost is not in the std include and link paths
1288 * [THRIFT-924] - Fix generated php structure constants
1289 * [THRIFT-979] - ruby bindings used to work on jruby
1290 * [THRIFT-977] - Hex Conversion Bug in C++ TJSONProtocol
1291 * [THRIFT-347] - PHP TSocket Timeout Issues
1292 * [THRIFT-517] - TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes
1293
1294## Improvement
1295 * [THRIFT-1024] - Add Python Twisted example to the Tutorial
1296 * [THRIFT-958] - Change accessmodifer on trans_ field in the FrameBuffer class to public.
1297 * [THRIFT-957] - THsHaServer: Change access modifier of the invoker field.
1298 * [THRIFT-1002] - CodeStyle: t_c_glib_generator.cc
1299 * [THRIFT-1005] - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
1300 * [THRIFT-951] - Add a new isServing() method to TServer
1301 * [THRIFT-943] - Silly readme typo fix.
1302 * [THRIFT-961] - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
1303 * [THRIFT-960] - add TestServer, TestNonblockingServer and TestClient again
1304 * [THRIFT-949] - Modify the TEnum interface so it defines a method similar to findByValue
1305 * [THRIFT-946] - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
1306 * [THRIFT-903] - custom ThreadFactory in THsHaServer
1307 * [THRIFT-913] - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
1308 * [THRIFT-926] - Miscellaneous C++ improvements
1309 * [THRIFT-929] - Improvements to the C++ test suite
1310 * [THRIFT-893] - add JavaScript to the tutorial examples
1311 * [THRIFT-1003] - Polishing c_glib code
1312 * [THRIFT-71] - Debian packaging for thrift
1313
1314## New Feature
1315 * [THRIFT-1033] - Node.js language target
1316 * [THRIFT-947] - Provide a helper method to determine the TProtocol used to serialize some data.
1317 * [THRIFT-928] - Make more statistics available in C++ servers
1318 * [THRIFT-922] - Templatized [de]serialization code for C++
1319 * [THRIFT-923] - Event-driven client and server support for C++
1320 * [THRIFT-925] - Provide name<->value map for enums in C++
1321 * [THRIFT-927] - Add option to modify the PHP include path
1322 * [THRIFT-377] - TFileTransport port in Java
1323 * [THRIFT-106] - TSSLServerSocket
1324 * [THRIFT-582] - C implementation of Thrift
1325 * [THRIFT-745] - Make it easier to instantiate servers
1326
1327## Sub-task
1328 * [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
1329
1330## Task
1331 * [THRIFT-862] - Async client issues / improvements
1332
1333## Test
1334 * [THRIFT-581] - Add a testsuite for txThrift (Twisted)
1335
1336
1337
1338Thrift 0.5.0 - Incubating
1339--------------------------------------------------------------------------------
Bryan Duxburyf0755e92010-09-28 15:06:38 +00001340THRIFT-505 Build Make configure give a summary of the enabled components (David Reiss)
1341THRIFT-506 Build Allow Thrift to be built without the C++ library (David Reiss)
1342THRIFT-844 Build Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg)
1343THRIFT-850 Build Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum)
1344THRIFT-854 Build Provide configure option and make rules to build/install php extension (Anthony Molinaro)
1345THRIFT-858 Build Have bootstrap.sh check for a suitable autoconf version before running (David Reiss)
1346THRIFT-871 Build Thrift compiler for WIndows (binary distribution) (David Reiss)
1347THRIFT-323 C# TJSONProtocol (Roger Meier)
1348THRIFT-634 C# C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar)
1349THRIFT-881 C# add csharp to the tutorial (Roger Meier)
1350THRIFT-856 C++ Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke)
1351THRIFT-865 C++ C++ compiler build depends on libfl even when flex/lex not detected (David Reiss)
1352THRIFT-900 C++ Unix domain socket (Roger Meier)
1353THRIFT-920 C++ C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier)
1354THRIFT-567 C++ Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert)
1355THRIFT-756 C++ Exposing TSocket(int) constructor to public (Rajat Goel)
1356THRIFT-798 C++ TNonblockingServer leaks resources when destroyed (David Reiss)
1357THRIFT-812 C++, Python Demo of Thrift over ZeroMQ (David Reiss)
1358THRIFT-629 Cocoa Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar)
1359THRIFT-838 Cocoa Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard)
1360THRIFT-805 Cocoa Don't generate process_XXXX methods for oneway methods (Brad Taylor)
1361THRIFT-507 Compiler Remove the compiler's dependency on Boost (David Reiss)
1362THRIFT-895 Compiler (General) Thrift compiler does not allow two different enumerations to have the same key name for one of the enum values (David Reiss)
1363THRIFT-852 Compiler (General) Missing newline causes many compiler warnings (Anthony Molinaro)
1364THRIFT-877 Compiler (General) smalltalk namespace doesn't work (Bruce Lowekamp)
1365THRIFT-897 Compiler (General) Don't allow unqualified constant access to enum values (Bryan Duxbury)
1366THRIFT-9 Compiler (General) Add a default namespace declaration for all languages (David Reiss)
1367THRIFT-599 Erlang Don't use unnecessary processes in the Erlang transports and clients (David Reiss)
1368THRIFT-646 Erlang Erlang library is missing install target (David Reiss)
1369THRIFT-698 Erlang Generated module list should contain atoms, not strings (Anthony Molinaro)
1370THRIFT-866 Erlang term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro)
1371THRIFT-886 Erlang Dialyzer warning (Anthony Molinaro)
1372THRIFT-785 Erlang Framed transport server problems (Anthony Molinaro)
1373THRIFT-884 HTML HTML Generator: add Key attribute to the Data Types Tables (Roger Meier)
1374THRIFT-652 Haskell Generated field name for strut is not capitalized correctly (Christian Lavoie)
1375THRIFT-743 Haskell compile error with GHC 6.12.1 (Christian Lavoie)
1376THRIFT-901 Haskell Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie)
1377THRIFT-905 Haskell Make haskell thrift bindings use automake to compile and install (Christian Lavoie)
1378THRIFT-906 Haskell Improve type mappings (Christian Lavoie)
1379THRIFT-914 Haskell Make haskell bindings 'easily' compilable (Christian Lavoie)
1380THRIFT-918 Haskell Make haskell tests run again (Christian Lavoie)
1381THRIFT-919 Haskell Update Haskell bindings README (Christian Lavoie)
1382THRIFT-787 Haskell Enums are not read correctly (Christian Lavoie)
1383THRIFT-250 Java ExecutorService as a constructor parameter for TServer (Ed Ceaser)
1384THRIFT-693 Java Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury)
1385THRIFT-843 Java TNonblockingSocket connects without a timeout (Bryan Duxbury)
1386THRIFT-845 Java async client does not respect timeout (Ning Liang)
1387THRIFT-870 Java Java constants don't get Javadoc comments (Bryan Duxbury)
1388THRIFT-873 Java Java tests fail due to Too many open files (Todd Lipcon)
1389THRIFT-876 Java Add SASL support (Aaron T. Myers)
1390THRIFT-879 Java Remove @Override from TUnion.clear (Dave Engberg)
1391THRIFT-882 Java deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury)
1392THRIFT-888 Java async client should also have nonblocking connect (Eric Jensen)
1393THRIFT-890 Java Java tutorial doesn't work (Todd Lipcon)
1394THRIFT-894 Java Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury)
1395THRIFT-896 Java TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen)
1396THRIFT-907 Java libfb303 doesn't compile in 0.4.0 (Todd Lipcon)
1397THRIFT-912 Java Improvements and bug fixes to SASL implementation (Todd Lipcon)
1398THRIFT-917 Java THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser)
1399THRIFT-931 Java Use log4j for Java tests (Todd Lipcon)
1400THRIFT-880 JavaME JavaME code generator and runtime library (Dave Engberg)
1401THRIFT-846 JavaScript JavaScript Test Framwork: extended Testcases (Roger Meier)
1402THRIFT-885 JavaScript Url encoded strings never get decoded? How do we fix this? (T Jake Luciani)
1403THRIFT-911 JavaScript (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani)
1404THRIFT-860 OCaml copy method and reset method (Lev Walkin)
1405THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
1406THRIFT-851 PHP php extension fails to compile on centos 5.x (Todd Lipcon)
1407THRIFT-840 Perl Perl protocol handler could be more robust against unrecognised types (Conrad Hughes)
1408THRIFT-758 Perl incorrect deference in exception handling (Yann Kerherve)
1409THRIFT-257 Python Support validation of required fields (Esteve Fernandez)
1410THRIFT-335 Python Compact Protocol for Python (David Reiss)
1411THRIFT-596 Python Make Python's TBufferedTransport use a configurable input buffer (David Reiss)
1412THRIFT-597 Python Python THttpServer performance improvements (David Reiss)
1413THRIFT-598 Python Allow Python's threading servers to use daemon threads (David Reiss)
1414THRIFT-666 Python Allow the handler to override HTTP responses in THttpServer (David Reiss)
1415THRIFT-673 Python Generated Python code has whitespace issues (Ian Eure)
1416THRIFT-721 Python THttpClient ignores url parameters (Thomas Kho)
1417THRIFT-824 Python TApplicationException.__str__() refers to class constants as globals (Peter Schuller)
1418THRIFT-855 Python Include optimized compiled python objects in install (Anthony Molinaro)
1419THRIFT-859 Python Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp)
1420THRIFT-869 Python TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight)
1421THRIFT-875 Python Include python setup.cfg in dist (Anthony Molinaro)
1422THRIFT-610 Ruby binary_protocol.rb segfaults [line 86] (Unassigned)
1423THRIFT-899 Ruby Ruby read timeouts can sometimes be 2x what they should be (Ryan King)
1424THRIFT-909 Ruby allow block argument to struct constructor (Michael Stockton)
1425THRIFT-456 Test Suite Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)
1426
1427
jfarrell507ba1b2014-07-10 12:44:51 -04001428Thrift 0.4.0 - Incubating
1429--------------------------------------------------------------------------------
Bryan Duxburyd7042702010-08-13 04:28:13 +00001430THRIFT-650 Build Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro)
1431THRIFT-770 Build Get 'make dist' to work without first compiling source code (Anthony Molinaro)
1432THRIFT-160 C# Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene)
1433THRIFT-834 C# THttpClient resends contents of message after transport errors (Anatoly Fayngelerin)
1434THRIFT-247 C++ THttpServer Transport (Unassigned)
1435THRIFT-676 C++ Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned)
1436THRIFT-570 Compiler Thrift compiler does not error when duplicate method names are present (Bruce Simpson)
1437THRIFT-808 Compiler Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury)
1438THRIFT-646 Erlang Erlang library is missing install target (Anthony Molinaro)
1439THRIFT-544 General multiple enums with the same key generate invalid code (Ben Taitelbaum)
1440THRIFT-434 General ruby compiler should warn when a reserved word is used (Michael Stockton)
1441THRIFT-799 General Files missing proper Apache license header (Bryan Duxbury)
1442THRIFT-832 HTML HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury)
1443THRIFT-226 Java Collections with binary keys or values break equals() (Bryan Duxbury)
1444THRIFT-484 Java Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury)
1445THRIFT-714 Java maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury)
1446THRIFT-751 Java Add clear() method to TBase (Bryan Duxbury)
1447THRIFT-765 Java Improved string encoding and decoding performance (Bryan Duxbury)
1448THRIFT-768 Java Async client for Java (Bryan Duxbury)
1449THRIFT-774 Java TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski)
1450THRIFT-783 Java .equals java method is broken on structs containing binary-type fields (Unassigned)
1451THRIFT-804 Java CompareTo is broken for unions set to map, set, or list (Bryan Duxbury)
1452THRIFT-814 Java Include a TServlet in the standard Thrift distribution (Mathias Herberts)
1453THRIFT-818 Java Async client doesn't send method args (Bryan Duxbury)
1454THRIFT-830 Java Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury)
1455THRIFT-831 Java FramedTransport implementation that reuses its buffers (Bryan Duxbury)
1456THRIFT-833 Java build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury)
1457THRIFT-836 Java Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury)
1458THRIFT-842 Java Upgrade to current version of commons-lang (2.5 instead of 2.4) and/or change dependency in ivy.xml to not be exact (Bryan Duxbury)
1459THRIFT-815 JavaScript Deserialization of lists is critically broken. (T Jake Luciani)
1460THRIFT-827 OCaml OCaml generator to take default values into account (Lev Walkin)
1461THRIFT-647 PHP PHP library is missing install target (Anthony Molinaro)
1462THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
1463THRIFT-718 PHP Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford)
1464THRIFT-778 PHP PHP socket listening server (Nick Jones)
1465THRIFT-780 PHP PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss)
1466THRIFT-837 PHP PHP accelerator bug for writes > 8k (Thomas Kho)
1467THRIFT-782 Perl Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes)
1468THRIFT-395 Python Python library + compiler does not support unicode strings (Unassigned)
1469THRIFT-133 Ruby 'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury)
1470THRIFT-664 Ruby Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati)
1471THRIFT-699 Ruby Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury)
1472THRIFT-767 Ruby ruby compiler does not keep comments for enum values (Bryan Duxbury)
1473THRIFT-811 Ruby http_client_transport.rb: allow custom http headers (Tony Kamenick)
1474THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)
1475
1476
jfarrell507ba1b2014-07-10 12:44:51 -04001477Thrift 0.1.0 - Incubating (not released)
1478--------------------------------------------------------------------------------
Kevin Clark38919c52009-04-07 19:12:01 +00001479Compatibility Breaking Changes:
David Reiss7d64c0a2009-04-08 20:46:13 +00001480 C++:
David Reissc42485a2009-04-07 23:44:01 +00001481 * It's quite possible that regenerating code and rebuilding will be
1482 required. Make sure your headers match your libs!
1483
David Reiss7d64c0a2009-04-08 20:46:13 +00001484 Java:
David Reissc42485a2009-04-07 23:44:01 +00001485
David Reiss7d64c0a2009-04-08 20:46:13 +00001486 Python:
David Reissc42485a2009-04-07 23:44:01 +00001487
David Reiss7d64c0a2009-04-08 20:46:13 +00001488 Ruby:
Kevin Clark38919c52009-04-07 19:12:01 +00001489 * Generated files now have underscored names [THRIFT-421]
1490 * The library has been rearranged to be more Ruby-like [THRIFT-276]
1491
David Reiss7d64c0a2009-04-08 20:46:13 +00001492 Erlang:
David Reissc42485a2009-04-07 23:44:01 +00001493 * Generated code will have to be regenerated, and the new code will
1494 have to be deployed atomically with the new library code [THRIFT-136]
jfarrell507ba1b2014-07-10 12:44:51 -04001495
Kevin Clark38919c52009-04-07 19:12:01 +00001496New Features and Bug Fixes:
David Reiss7d64c0a2009-04-08 20:46:13 +00001497 C++:
David Reissc42485a2009-04-07 23:44:01 +00001498 * Support for TCompactProtocol [THRIFT-333]
Kevin Clark38919c52009-04-07 19:12:01 +00001499
David Reiss7d64c0a2009-04-08 20:46:13 +00001500 Java:
Kevin Clark38919c52009-04-07 19:12:01 +00001501 * Support for TCompactProtocol [THRIFT-110]
1502
David Reiss7d64c0a2009-04-08 20:46:13 +00001503 Python:
David Reissc42485a2009-04-07 23:44:01 +00001504 * Support for Twisted [THRIFT-148]
1505
David Reiss7d64c0a2009-04-08 20:46:13 +00001506 Ruby:
David Reissc42485a2009-04-07 23:44:01 +00001507 * Support for TCompactProtocol [THRIFT-332]
1508