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