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