blob: 1cf8b34167c55ac769de89f5c452fc68ab7e0aff [file] [log] [blame]
jfarrell507ba1b2014-07-10 12:44:51 -04001Apache Thrift Changelog
Kevin Clark38919c52009-04-07 19:12:01 +00002
jfarrell22508c32015-10-11 22:28:54 -04003Thrift 0.9.3
4--------------------------------------------------------------------------------
5## Bug
6 * [THRIFT-2441] - Cannot shutdown TThreadedServer when clients are still connected
7 * [THRIFT-2465] - TBinaryProtocolT breaks if copied/moved
8 * [THRIFT-2474] - thrift.h causes a compile failure
9 * [THRIFT-2540] - Running configure from outside the source directory fails
10 * [THRIFT-2598] - Add check for minimum Go version to configure.ac
11 * [THRIFT-2647] - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
12 * [THRIFT-2773] - Generated Java code for 'oneway' methods is incorrect.
13 * [THRIFT-2789] - TNonblockingServer leaks socket FD's under load
14 * [THRIFT-2682] - TThreadedServer leaks per-thread memory
15 * [THRIFT-2674] - JavaScript: declare Accept: and Content-Type: in request
16 * [THRIFT-3078] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
17 * [THRIFT-3077] - C++ TFileTransport ignores return code from ftruncate
18 * [THRIFT-3067] - C++ cppcheck performance related warnings
19 * [THRIFT-3066] - C++ TDenseProtocol assert modifies instead of checks
20 * [THRIFT-3071] - bootstrap.sh on Ubuntu 12.04 (Precise) automake error
21 * [THRIFT-3069] - C++ TServerSocket leaks socket on fcntl get or set flags error
22 * [THRIFT-3079] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
23 * [THRIFT-3080] - C++ TNonblockingServer connection leak while accept huge number connections.
24 * [THRIFT-3086] - C++ Valgrind Error Cleanup
25 * [THRIFT-3085] - thrift_reconnecting_client never try to reconnect
26 * [THRIFT-3123] - Missing include in compiler/cpp/src/main.h breaks build in some environments
27 * [THRIFT-3125] - Fix the list of exported headers in automake input
28 * [THRIFT-3126] - PHP JSON serializer converts empty or int-indexed maps to lists
29 * [THRIFT-3132] - Properly format date in Java @Generated annotations
30 * [THRIFT-3137] - Travis build hangs after failure
31 * [THRIFT-3138] - "make check" parallel execution is underministic
32 * [THRIFT-3139] - JS library test is flaky
33 * [THRIFT-3140] - ConcurrentModificationException is thrown by JavaScript test server
34 * [THRIFT-3124] - Some signed/unsigned warnings while building compiler
35 * [THRIFT-3128] - Go generated code produces name collisions between services
36 * [THRIFT-3146] - Graphviz generates function name collisions between services
37 * [THRIFT-3147] - Segfault while receiving data
38 * [THRIFT-3148] - Markdown links to coding_standards are dead
39 * [THRIFT-3090] - cmake build is broken on MacOSX
40 * [THRIFT-3097] - cmake targets unconditionally depend on optional libraries
41 * [THRIFT-3094] - master as of 2015-APR-13 fails -DBOOST_THREADS cmake build
42 * [THRIFT-3099] - cmake build is broken on FreeBSD
43 * [THRIFT-3089] - Assigning default ENUM values results in non-compilable java code if java namespace is not defined
44 * [THRIFT-3093] - mingw compile fixes for c++ library 0.9.2
45 * [THRIFT-3098] - Thrift does not pretty print binary typedefs the way it does binary fields
46 * [THRIFT-3091] - c_glib service method should return result from handler method
47 * [THRIFT-3088] - TThreadPoolServer with Sasl auth may leak CLOSE_WAIT socket
48 * [THRIFT-3109] - Cross test log file cannot be browsed when served in HTTP server
49 * [THRIFT-3113] - m4 C++11 macro issue
50 * [THRIFT-3105] - C++ libthriftnb library on Windows build failure
51 * [THRIFT-3115] - Uncompileable code due to name collision with predefined used types
52 * [THRIFT-3117] - Java TSSLTransportFactory can't load certificates within JAR archive
53 * [THRIFT-3102] - could not make check for Go Library
54 * [THRIFT-3120] - Minor spelling errors and an outdated URL
55 * [THRIFT-3121] - Librt does not exist on OS X
56 * [THRIFT-3152] - Compiler error on Mac OSX (missing #include <cstdlib>)
57 * [THRIFT-3162] - make fails for dmd 2.067
58 * [THRIFT-3164] - Thrift C++ library SSL socket by default allows for unsecure SSLv3 negotiation
59 * [THRIFT-3168] - Fix Maven POM
60 * [THRIFT-3170] - Initialism code in the Go compiler causes chaos
61 * [THRIFT-3169] - Do not export thrift.TestStruct and thrift.TestEnum in thrift Go library
62 * [THRIFT-3191] - Perl compiler does not add support for unexpected exception handling
63 * [THRIFT-3178] - glib C does not compile
64 * [THRIFT-3189] - Perl ServerSocket should allow a specific interface to be listened to
65 * [THRIFT-3252] - Missing TConcurrentClientSyncInfo.h in cpp Makefile, so doesn't install
66 * [THRIFT-3255] - Thrift generator doesn't exclude 'package' keyword for thrift property names breaking java builds
67 * [THRIFT-3260] - multiple warnings in c_glib tutorial
68 * [THRIFT-3256] - Some D test timings are too aggressive for slow machines
69 * [THRIFT-3257] - warning: extra tokens at end of #endif directive
70 * [THRIFT-3184] - Thrift Go leaves file descriptors open
71 * [THRIFT-3203] - DOAP - please fix "Ocaml" => "OCaml"
72 * [THRIFT-3210] - (uncompileable) code generated for server events while are events not enabled
73 * [THRIFT-3215] - TJSONProtocol '(c++) uses "throw new" to throw exceptions instead of "throw"
74 * [THRIFT-3202] - Allow HSHAServer to configure min and max worker threads separately.
75 * [THRIFT-3205] - TCompactProtocol return a wrong error when the io.EOF happens
76 * [THRIFT-3209] - LGPL mentioned in license file
77 * [THRIFT-3197] - keepAliveTime is hard coded as 60 sec in TThreadPoolServer
78 * [THRIFT-3196] - Misspelling in lua TBinaryProtocol (stirctWrite => strictWrite)
79 * [THRIFT-3198] - Allow construction of TTransportFactory with a specified maxLength
80 * [THRIFT-3192] - Go import paths changed in 1.4, and expired June 1
81 * [THRIFT-3271] - Could not find or load main class configtest_ax_javac_and_java on some non-english systems
82 * [THRIFT-3273] - c_glib: Generated code tries to convert between function and void pointers
83 * [THRIFT-3264] - Fix Erlang 16 namespaced types
84 * [THRIFT-3270] - reusing TNonblockingServer::TConnection cause dirty TSocket
85 * [THRIFT-3267] - c_glib: "Critical" failure during unit tests
86 * [THRIFT-3277] - THttpClient leaks connections if it's used for multiple requests
87 * [THRIFT-3278] - NodeJS: Fix exception stack traces and names
88 * [THRIFT-3279] - Fix a bug in retry_max_delay (NodeJS)
89 * [THRIFT-3280] - Initialize retry variables on construction
90 * [THRIFT-3283] - c_glib: Tutorial server always exits with warning
91 * [THRIFT-3284] - c_glib: Empty service produces unused-variable warning
92 * [THRIFT-1925] - c_glib generated code does not compile
93 * [THRIFT-1849] - after transport->open() opens isOpen returns true and next open() goes thru when it shall not
94 * [THRIFT-1866] - java compiler generates non-compiling code with const's defined in a thrift when name includes non-identifier chars
95 * [THRIFT-1938] - FunctionRunner.h -- uses wrong path for Thread.h when installed
96 * [THRIFT-1844] - Password string not cleared
97 * [THRIFT-2004] - Thrift::Union violates :== method contract and crashes
98 * [THRIFT-2073] - Thrift C++ THttpClient error: cannot refill buffer
99 * [THRIFT-2127] - Autoconf scripting does not properly account for cross-compile
100 * [THRIFT-2180] - Integer types issues in Cocoa lib on ARM64
101 * [THRIFT-2189] - Go needs "isset" to fully support "union" type (and optionals)
102 * [THRIFT-2192] - autotools on Redhat based systems
103 * [THRIFT-2546] - cross language tests fails at 'TestMultiException' when using nodejs server
104 * [THRIFT-2547] - nodejs servers and clients fails to connect with cpp using compact protocol
105 * [THRIFT-2548] - Nodejs servers and clients does not work properly with -ssl
106 * [THRIFT-1471] - toString() does not print ByteBuffer values when nested in a List
107 * [THRIFT-1201] - getaddrinfo resource leak
108 * [THRIFT-615] - TThreadPoolServer doesn't call task_done after pulling tasks from it's clients queue
109 * [THRIFT-162] - Thrift structures are unhashable, preventing them from being used as set elements
110 * [THRIFT-810] - Crashed client on TSocket::close under loads
111 * [THRIFT-557] - charset problem with file Autogenerated by Thrift
112 * [THRIFT-233] - IDL doesn't support negative hex literals
113 * [THRIFT-1649] - contrib/zeromq does not build in 0.8.0
114 * [THRIFT-1642] - Miscalculation lead to throw unexpected "TTransportException::TIMED_OUT"(or called "EAGAIN (timed out)") exception
115 * [THRIFT-1587] - TSocket::setRecvTimeout error
116 * [THRIFT-1248] - pointer subtraction in TMemoryBuffer relies on undefined behavior
117 * [THRIFT-1774] - Sasl Transport client would hang when trying to connect non-sasl transport server
118 * [THRIFT-1754] - RangeError in buffer handling
119 * [THRIFT-1618] - static structMap in FieldMetaData is not thread safe and can lead to deadlocks
120 * [THRIFT-2335] - thrift incompatibility with py:tornado as server, java as client
121 * [THRIFT-2803] - TCP_DEFER_ACCEPT not supported with domain sockets
122 * [THRIFT-2799] - Build Problem(s): ld: library not found for -l:libboost_unit_test_framework.a
123 * [THRIFT-2801] - C++ test suite compilation warnings
124 * [THRIFT-2802] - C++ tutorial compilation warnings
125 * [THRIFT-2795] - thrift_binary_protocol.c: 'dereferencing type-punned pointer will break strict-aliasing rules'
126 * [THRIFT-2817] - TSimpleJSONProtocol reads beyond end of message
127 * [THRIFT-2826] - html:standalone sometimes ignored
128 * [THRIFT-2829] - Support haxelib installation via github
129 * [THRIFT-2828] - slightly wrong help screen indent
130 * [THRIFT-2831] - Removes dead code in web_server.js introduced in THRIFT-2819
131 * [THRIFT-2823] - All JS-tests are failing when run with grunt test
132 * [THRIFT-2827] - Thrift 0.9.2 fails to compile on Yosemite due to tr1/functional include in ProcessorTest.cpp
133 * [THRIFT-2843] - Automake configure.ac has possible typo related to Java
134 * [THRIFT-2813] - multiple haxe library fixes/improvements
135 * [THRIFT-2825] - Supplying unicode to python Thrift client can cause next request arguments to get overwritten
136 * [THRIFT-2840] - Cabal file points to LICENSE file outside the path of the Haskell project.
137 * [THRIFT-2818] - Trailing commas in array
138 * [THRIFT-2830] - Clean up ant warnings in tutorial dir
139 * [THRIFT-2842] - Erlang thrift client has infinite timeout
140 * [THRIFT-2810] - Do not leave the underlying ServerSocket open if construction of TServerSocket fails
141 * [THRIFT-2812] - Go server adding redundant buffering layer
142 * [THRIFT-2839] - TFramedTransport read bug
143 * [THRIFT-2844] - Nodejs support broken when running under Browserify
144 * [THRIFT-2814] - args/result classes not found when no namespace is set
145 * [THRIFT-2847] - function IfValue() is a duplicate of System.StrUtils.IfThen
146 * [THRIFT-2848] - certain Delphi tests do not build if TypeRegistry is used
147 * [THRIFT-2854] - Go Struct writer and reader looses important error information
148 * [THRIFT-2858] - Enable header field case insensitive match in THttpServer
149 * [THRIFT-2857] - C# generator creates uncompilable code for struct constants
150 * [THRIFT-2860] - Delphi server closes connection on unexpected exceptions
151 * [THRIFT-2868] - Enhance error handling in the Go client
152 * [THRIFT-2879] - TMemoryBuffer: using lua string in wrong way
153 * [THRIFT-2851] - Remove strange public Peek() from Go transports
154 * [THRIFT-2852] - Better Open/IsOpen/Close behavior for StreamTransport.
155 * [THRIFT-2871] - Missing semicolon in thrift.js
156 * [THRIFT-2872] - ThreadManager deadlock for task expiration
157 * [THRIFT-2881] - Handle errors from Accept() correctly
158 * [THRIFT-2849] - Spell errors reported by codespell tool
159 * [THRIFT-2870] - C++ TJSONProtocol using locale dependent formatting
160 * [THRIFT-2882] - Lua Generator: using string.len funtion to get struct(map,list,set) size
161 * [THRIFT-2864] - JSON generator missing from Visual Studio build project
162 * [THRIFT-2878] - Go validation support of required fields
163 * [THRIFT-2873] - TPipe and TPipeServer don't compile on Windows with UNICODE enabled
164 * [THRIFT-2888] - import of <limits> is missing in JSON generator
165 * [THRIFT-2900] - Python THttpClient does not reset socket timeout on exception
166 * [THRIFT-2907] - 'ntohll' macro redefined
167 * [THRIFT-2884] - Map does not serialize correctly for JSON protocol in Go library
168 * [THRIFT-2887] - --with-openssl configure flag is ignored
169 * [THRIFT-2894] - PHP json serializer skips maps with int/bool keys
170 * [THRIFT-2904] - json_protocol_test.go fails
171 * [THRIFT-2906] - library not found for -l:libboost_unit_test_framework.a
172 * [THRIFT-2890] - binary data may lose bytes with JSON transport under specific circumstances
173 * [THRIFT-2891] - binary data may cause a failure with JSON transport under specific circumstances
174 * [THRIFT-2901] - Fix for generated TypeScript functions + indentation of JavaScript maps
175 * [THRIFT-2916] - make check fails for D language
176 * [THRIFT-2918] - Race condition in Python TProcessPoolServer test
177 * [THRIFT-2920] - Erlang Thrift test uses wrong IDL file
178 * [THRIFT-2922] - $TRIAL is used with Python tests but not tested accordingly
179 * [THRIFT-2912] - Autotool build for C++ Qt library is invalid
180 * [THRIFT-2914] - explicit dependency to Lua5.2 fails on some systems
181 * [THRIFT-2910] - libevent is not really optional
182 * [THRIFT-2911] - fix c++ version zeromq transport, the old version cannot work
183 * [THRIFT-2915] - Lua generator missing from Visual Studio build project
184 * [THRIFT-2917] - "make clean" breaks test/c_glib
185 * [THRIFT-2919] - Haxe test server timeout too large
186 * [THRIFT-2923] - JavaScript client assumes a message being written
187 * [THRIFT-2924] - TNonblockingServer crashes when user-provided event_base is used
188 * [THRIFT-2925] - CMake build does not work with OpenSSL nor anything installed in non-system location
189 * [THRIFT-2931] - Access to undeclared static property: Thrift\Protocol\TProtocol::$TBINARYPROTOCOLACCELERATED
190 * [THRIFT-2893] - CMake build fails with boost thread or std thread
191 * [THRIFT-2902] - Generated c_glib code does not compile with clang
192 * [THRIFT-2903] - Qt4 library built with CMake does not work
193 * [THRIFT-2942] - CSharp generate invalid code for property named read or write
194 * [THRIFT-2932] - Node.js Thrift connection libraries throw Exceptions into event emitter
195 * [THRIFT-2933] - v0.9.2: doubles encoded in node with compact protocol cannot be decoded by python
196 * [THRIFT-2934] - createServer signature mismatch
197 * [THRIFT-2981] - IDL with no namespace produces unparsable PHP
198 * [THRIFT-2999] - Addition of .gitattributes text auto in THRIFT-2724 causes modified files on checkout
199 * [THRIFT-2949] - typo in compiler/cpp/README.md
200 * [THRIFT-2957] - warning: source file %s is in a subdirectory, but option 'subdir-objects' is disabled
201 * [THRIFT-2953] - TNamedPipeServerTransport is not Stop()able
202 * [THRIFT-2962] - Docker Thrift env for development and testing
203 * [THRIFT-2971] - C++ test and tutorial parallel build is unstable
204 * [THRIFT-2972] - Missing backslash in lib/cpp/test/Makefile.am
205 * [THRIFT-2951] - Fix Erlang name conflict test
206 * [THRIFT-2955] - Using list of typedefs does not compile on Go
207 * [THRIFT-2960] - namespace regression for Ruby
208 * [THRIFT-2959] - nodejs: fix binary unit tests
209 * [THRIFT-2966] - nodejs: Fix bad references to TProtocolException and TProtocolExceptionType
210 * [THRIFT-2970] - grunt-jsdoc fails due to dependency issues
211 * [THRIFT-3001] - C# Equals fails for binary fields (byte[])
212 * [THRIFT-3003] - Missing LICENSE file prevents package from being installed
213 * [THRIFT-3008] - Node.js server does not fully support exception
214 * [THRIFT-3007] - Travis build is broken because of directory conflict
215 * [THRIFT-3009] - TSSLSocket does not use the correct hostname (breaks certificate checks)
216 * [THRIFT-3011] - C# test server testException() not implemented according to specs
217 * [THRIFT-3012] - Timing problems in NamedPipe implementation due to unnecessary open/close
218 * [THRIFT-3019] - Golang generator missing docstring for structs
219 * [THRIFT-3021] - Service remote tool does not import stub package with package prefix
220 * [THRIFT-3026] - TMultiplexedProcessor does not have a constructor
221 * [THRIFT-3028] - Regression caused by THRIFT-2180
222 * [THRIFT-3017] - order of map key/value types incorrect for one CTOR
223 * [THRIFT-3020] - Cannot compile thrift as C++03
224 * [THRIFT-3024] - User-Agent "BattleNet" used in some Thrift library files
225 * [THRIFT-3047] - Uneven calls to indent_up and indent_down in Cocoa generator
226 * [THRIFT-3048] - NodeJS decoding of I64 is inconsistent across protocols
227 * [THRIFT-3043] - go compiler generator uses non C++98 code
228 * [THRIFT-3044] - Docker README.md paths to Dockerfiles are incorrect
229 * [THRIFT-3040] - bower.json wrong "main" path
230 * [THRIFT-3051] - Go Thrift generator creates bad go code
231 * [THRIFT-3057] - Java compiler build is broken
232 * [THRIFT-3061] - C++ TSSLSocket shutdown delay/vulnerability
233 * [THRIFT-3062] - C++ TServerSocket invalid port number (over 999999) causes stack corruption
234 * [THRIFT-3065] - Update libthrift dependencies (slf4j, httpcore, httpclient)
235 * [THRIFT-3244] - TypeScript: fix namespace of included types
236 * [THRIFT-3246] - Reduce the number of trivial warnings in Windows C++ CMake builds
237 * [THRIFT-3224] - Fix TNamedPipeServer unpredictable behavior on accept
238 * [THRIFT-3230] - Python compiler generates wrong code if there is function throwing a typedef of exception with another namespace
239 * [THRIFT-3236] - MaxSkipDepth never checked
240 * [THRIFT-3239] - Limit recursion depth
241 * [THRIFT-3241] - fatal error: runtime: cannot map pages in arena address space
242 * [THRIFT-3242] - OSGi Import-Package directive is missing the Apache HTTP packages
243 * [THRIFT-3234] - Limit recursion depth
244 * [THRIFT-3222] - TypeScript: Generated Enums are quoted
245 * [THRIFT-3229] - unexpected Timeout exception when desired bytes are only partially available
246 * [THRIFT-3231] - CPP: Limit recursion depth to 64
247 * [THRIFT-3235] - Limit recursion depth
248 * [THRIFT-3175] - fastbinary.c python deserialize can cause huge allocations from garbage
249 * [THRIFT-3176] - Union incorrectly implements ==
250 * [THRIFT-3177] - Fails to run rake test
251 * [THRIFT-3180] - lua plugin: framed transport do not work
252 * [THRIFT-3179] - lua plugin cant connect to remote server because function l_socket_create_and_connect always bind socket to localhost
253 * [THRIFT-3248] - TypeScript: additional comma in method signature without parameters
254 * [THRIFT-3302] - Go JSON protocol should encode Thrift byte type as signed integer string
255 * [THRIFT-3297] - c_glib: an abstract base class is not generated
256 * [THRIFT-3294] - TZlibTransport for Java does not write data correctly
257 * [THRIFT-3296] - Go cross test does not conform to spec
258 * [THRIFT-3295] - C# library does not build on Mono 4.0.2.5 or later
259 * [THRIFT-3293] - JavaScript: null values turn into empty structs in constructor
260 * [THRIFT-3310] - lib/erl/README.md has incorrect formatting
261 * [THRIFT-3319] - CSharp tutorial will not build using the *.sln
262 * [THRIFT-3335] - Ruby server does not handle processor exception
263 * [THRIFT-3338] - Stray underscore in generated go when service name starts with "New"
264 * [THRIFT-3324] - Update Go Docs for pulling all packages
265 * [THRIFT-3345] - Clients blocked indefinitely when a java.lang.Error is thrown
266 * [THRIFT-3332] - make dist fails on clean build
267 * [THRIFT-3326] - Tests do not compile under *BSD
268 * [THRIFT-3334] - Markdown notation of protocol spec is malformed
269 * [THRIFT-3331] - warning: ‘etype’ may be used uninitialized in this function
270 * [THRIFT-3349] - Python server does not handle processor exception
271 * [THRIFT-3343] - Fix haskell README
272 * [THRIFT-3340] - Python: enable json tests again
273 * [THRIFT-3311] - Top level README.md has incorrect formmating
274 * [THRIFT-2936] - Minor memory leak in SSL
275 * [THRIFT-3290] - Using from in variable names causes the generated Python code to have errors
276 * [THRIFT-3225] - Fix TPipeServer unpredictable behavior on interrupt()
277 * [THRIFT-3354] - Fix word-extraction substr bug in initialism code
278 * [THRIFT-2006] - TBinaryProtocol message header call name length is not validated and can be used to core the server
279 * [THRIFT-3329] - C++ library unit tests don't compile against the new boost-1.59 unit test framework
280 * [THRIFT-2630] - windows7 64bit pc. ipv4 and ipv6 pc.can't use
281 * [THRIFT-3336] - Thrift generated streaming operators added in 0.9.2 cannot be overridden
282 * [THRIFT-2681] - Core of unwind_cleanup
283 * [THRIFT-3317] - cpp namespace org.apache issue appears in 0.9
284
285## Documentation
286 * [THRIFT-3286] - Apache Ant is a necessary dependency
287
288## Improvement
289 * [THRIFT-227] - Byte[] in collections aren't pretty printed like regular binary fields
290 * [THRIFT-2744] - Vagrantfile for Centos 6.5
291 * [THRIFT-2644] - Haxe support
292 * [THRIFT-2756] - register Media Type @ IANA
293 * [THRIFT-3076] - Compatibility with Haxe 3.2.0
294 * [THRIFT-3081] - C++ Consolidate client processing loops in TServers
295 * [THRIFT-3083] - C++ Consolidate server processing loops in TSimpleServer, TThreadedServer, TThreadPoolServer
296 * [THRIFT-3084] - C++ add concurrent client limit to threaded servers
297 * [THRIFT-3074] - Add compiler/cpp/lex.yythriftl.cc to gitignore.
298 * [THRIFT-3134] - Remove use of deprecated "phantom.args"
299 * [THRIFT-3133] - Allow "make cross" and "make precross" to run without building all languages
300 * [THRIFT-3142] - Make JavaScript use downloaded libraries
301 * [THRIFT-3141] - Improve logging of JavaScript test
302 * [THRIFT-3144] - Proposal: make String representation of enums in generated go code less verbose
303 * [THRIFT-3130] - Remove the last vestiges of THRIFT_OVERLOAD_IF from THRIFT-1316
304 * [THRIFT-3131] - Consolidate suggested import path for go thrift library to git.apache.org in docs and code
305 * [THRIFT-3092] - Generated Haskell types should derive Generic
306 * [THRIFT-3110] - Print error log after cross test failures on Travis
307 * [THRIFT-3114] - Using local temp variables to not pollute the global table
308 * [THRIFT-3106] - CMake summary should give more information why a library is set to off
309 * [THRIFT-3119] - Java's TThreadedSelectorServer has indistinguishable log messages in run()
310 * [THRIFT-3122] - Javascript struct constructor should properly initialize struct and container members from plain js arguments
311 * [THRIFT-3151] - Fix links to git-wip* - should be git.apache.org
312 * [THRIFT-3167] - Windows build from source instructions need to be revised
313 * [THRIFT-3155] - move contrib/mingw32-toolchain.cmake to build/cmake/
314 * [THRIFT-3160] - Make generated go enums implement TextMarshaller and TextUnmarshaller interfaces
315 * [THRIFT-3150] - Add an option to thrift go generator to make Read and Write methods private
316 * [THRIFT-3149] - Make ReadFieldN methods in generated Go code private
317 * [THRIFT-3172] - Add tutorial to Thrift web site
318 * [THRIFT-3214] - Add Erlang option for using maps instead of dicts
319 * [THRIFT-3201] - Capture github test artifacts for failed builds
320 * [THRIFT-3266] - c_glib: Multiple compiler warnings building unit tests
321 * [THRIFT-3285] - c_glib: Build library with all warnings enabled, no warnings generated
322 * [THRIFT-1954] - Allow for a separate connection timeout value
323 * [THRIFT-2098] - Add support for Qt5+
324 * [THRIFT-2199] - Remove Dense protocol (was: move to Contrib)
325 * [THRIFT-406] - C++ Test suite cleanup
326 * [THRIFT-902] - socket and connect timeout in TSocket should be distinguished
327 * [THRIFT-388] - Use a separate wire format for async calls
328 * [THRIFT-727] - support native C++ language specific exception message
329 * [THRIFT-1784] - pep-3110 compliance for exception handling
330 * [THRIFT-1025] - C++ ServerSocket should inherit from Socket with the necessary Ctor to listen on connections from a specific host
331 * [THRIFT-2269] - Can deploy libthrift-source.jar to maven center repository
332 * [THRIFT-2804] - Pull an interface out of TBaseAsyncProcessor
333 * [THRIFT-2806] - more whitespace fixups
334 * [THRIFT-2811] - Make remote socket address accessible
335 * [THRIFT-2809] - .gitignore update for compiler's visual project
336 * [THRIFT-2846] - Expose ciphers parameter from ssl.wrap_socket()
337 * [THRIFT-2859] - JSON generator: output complete descriptors
338 * [THRIFT-2861] - add buffered transport
339 * [THRIFT-2865] - Test case for Go: SeqId out of sequence
340 * [THRIFT-2866] - Go generator source code is hard to read and maintain
341 * [THRIFT-2880] - Read the network address from the listener if available.
342 * [THRIFT-2875] - Typo in TDenseProtocol.h comment
343 * [THRIFT-2874] - TBinaryProtocol member variable "string_buf_" is never used.
344 * [THRIFT-2855] - Move contributing.md to the root of the repository
345 * [THRIFT-2862] - Enable RTTI and/or build macros for generated code
346 * [THRIFT-2876] - Add test for THRIFT-2526 Assignment operators and copy constructors in c++ don't copy the __isset struct
347 * [THRIFT-2897] - Generate -isEqual: and -hash methods
348 * [THRIFT-2909] - Improve travis build
349 * [THRIFT-2921] - Make Erlang impl ready for OTP 18 release (dict/0 and set/0 are deprecated)
350 * [THRIFT-2928] - Rename the erlang test_server module
351 * [THRIFT-2940] - Allow installing Thrift from git as NPM module by providing package.json in top level directory
352 * [THRIFT-2937] - Allow setting a maximum frame size in TFramedTransport
353 * [THRIFT-2976] - nodejs: xhr and websocket support for browserify
354 * [THRIFT-2996] - Test for Haxe 3.1.3 or better
355 * [THRIFT-2969] - nodejs: DRY up library tests
356 * [THRIFT-2973] - Update Haxe lib readme regarding Haxe 3.1.3
357 * [THRIFT-2952] - Improve handling of Server.Stop()
358 * [THRIFT-2964] - nodejs: move protocols and transports into separate files
359 * [THRIFT-2963] - nodejs - add test coverage
360 * [THRIFT-3006] - Attach 'omitempty' json tag for optional fields in Go
361 * [THRIFT-3027] - Go compiler does not ensure common initialisms have consistent case
362 * [THRIFT-3030] - TThreadedServer: Property for number of clientThreads
363 * [THRIFT-3023] - Go compiler is a little overly conservative with names of attributes
364 * [THRIFT-3018] - Compact protocol for Delphi
365 * [THRIFT-3025] - Change pure Int constants into @enums (where possible)
366 * [THRIFT-3031] - migrate "shouldStop" flag to TServer
367 * [THRIFT-3022] - Compact protocol for Haxe
368 * [THRIFT-3041] - Generate asynchronous clients for Cocoa
369 * [THRIFT-3053] - Perl SSL Socket Support (Encryption)
370 * [THRIFT-3247] - Generate a C++ thread-safe client
371 * [THRIFT-3217] - Provide a little endian variant of the binary protocol in C++
372 * [THRIFT-3223] - TypeScript: Add initial support for Enum Maps
373 * [THRIFT-3220] - Option to suppress @Generated Annotation entirely
374 * [THRIFT-3300] - Reimplement TZlibTransport in Java using streams
375 * [THRIFT-3288] - c_glib: Build unit tests with all warnings enabled, no warnings generated
376 * [THRIFT-3347] - Improve cross test servers and clients
377 * [THRIFT-3342] - Improve ruby cross test client and server compatibility
378 * [THRIFT-2296] - Add C++ Base class for service
379 * [THRIFT-3337] - Add testBool method to cross tests
380 * [THRIFT-3303] - Disable concurrent cabal jobs on Travis to avoid GHC crash
381 * [THRIFT-2623] - Docker container for Thrift
382 * [THRIFT-3298] - thrift endian converters may conflict with other libraries
383 * [THRIFT-1559] - Provide memory pool for TBinaryProtocol to eliminate memory fragmentation
384 * [THRIFT-424] - Steal ProtocolBuffers' VarInt implementation for C++
385
386## New Feature
387 * [THRIFT-3070] - Add ability to set the LocalCertificateSelectionCallback
388 * [THRIFT-1909] - Java: Add compiler flag to use the "option pattern" for optional fields
389 * [THRIFT-2099] - Stop TThreadPoolServer with alive connections.
390 * [THRIFT-123] - implement TZlibTransport in Java
391 * [THRIFT-2368] - New option: reuse-objects for Java generator
392 * [THRIFT-2836] - Optionally generate C++11 MoveConstructible types
393 * [THRIFT-2824] - Flag to disable html escaping doctext
394 * [THRIFT-2819] - Add WebsSocket client to node.js
395 * [THRIFT-3050] - Client certificate authentication for non-http TLS in C#
396 * [THRIFT-3292] - Implement TZlibTransport in Go
397
398## Question
399 * [THRIFT-2583] - Thrift on xPC target (SpeedGoat)
400 * [THRIFT-2592] - thrift server using c_glib
401 * [THRIFT-2832] - c_glib: Handle string lists correctly
402 * [THRIFT-3136] - thrift installation problem on mac
403 * [THRIFT-3346] - c_glib: Tutorials example crashes saying Calculator.ping implementation returned FALSE but did not set an error
404
405## Sub-task
406 * [THRIFT-2578] - Moving 'make cross' from test.sh to test.py
407 * [THRIFT-2734] - Go coding standards
408 * [THRIFT-2748] - Add Vagrantfile for Centos 6.5
409 * [THRIFT-2753] - Misc. Haxe improvements
410 * [THRIFT-2640] - Compact Protocol in Cocoa
411 * [THRIFT-3262] - warning: overflow in implicit constant conversion in DenseProtoTest.cpp
412 * [THRIFT-3194] - Can't build with go enabled. gomock SCC path incorrect.
413 * [THRIFT-3275] - c_glib tutorial warnings in generated code
414 * [THRIFT-1125] - Multiplexing support for the Ruby Library
415 * [THRIFT-2807] - PHP Code Style
416 * [THRIFT-2841] - Add comprehensive integration tests for the whole Go stack
417 * [THRIFT-2815] - Haxe: Support for Multiplexing Services on any Transport, Protocol and Server
418 * [THRIFT-2886] - Integrate binary type in standard Thrift cross test
419 * [THRIFT-2946] - Enhance usability of cross test framework
420 * [THRIFT-2967] - Add .editorconfig to root
421 * [THRIFT-3033] - Perl: Support for Multiplexing Services on any Transport, Protocol and Server
422 * [THRIFT-3174] - Initialism code in the Go compiler doesn't check first word
423 * [THRIFT-3193] - Option to supress date value in @Generated annotation
424 * [THRIFT-3305] - Missing dist files for 0.9.3 release candidate
425 * [THRIFT-3341] - Add testBool methods
426 * [THRIFT-3308] - Fix broken test cases for 0.9.3 release candidate
427
428## Task
429 * [THRIFT-2834] - Remove semi-colons from python code generator
430 * [THRIFT-2853] - Adjust comments not applying anymore after THRIFT-2852
431
432## Test
433 * [THRIFT-3211] - Add make cross support for php TCompactProtocol
434
435## Wish
436 * [THRIFT-2838] - TNonblockingServer can bind to port 0 (i.e., get an OS-assigned port) but there is no way to get the port number
437
438
439
jfarrell507ba1b2014-07-10 12:44:51 -0400440Thrift 0.9.2
441--------------------------------------------------------------------------------
442## Bug
jfarrelle81367b2014-11-05 07:06:58 -0500443 * [THRIFT-2793] - Go compiler produces uncompilable code
jfarrell507ba1b2014-07-10 12:44:51 -0400444 * [THRIFT-1481] - Unix domain sockets in C++ do not support the abstract namespace
445 * [THRIFT-1455] - TBinaryProtocolT<Transport_>::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
446 * [THRIFT-1579] - PHP Extention - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
447 * [THRIFT-1584] - Error: could not SetMinThreads in ThreadPool on single-core machines
448 * [THRIFT-1614] - Thrift build from svn repo sources fails with automake-1.12
449 * [THRIFT-1047] - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
450 * [THRIFT-1639] - Java/Python: Serialization/Deserialization of double type using CompactProtocol
451 * [THRIFT-1647] - NodeJS BufferedTransport does not work beyond the hello-world example
452 * [THRIFT-2130] - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
453 * [THRIFT-2140] - Error compiling cpp tutorials
454 * [THRIFT-2139] - MSVC 2012 Error - Cannot compile due to BoostThreadFactory
455 * [THRIFT-2138] - pkgconfig file created with wrong include path
456 * [THRIFT-2160] - Warning in thrift.h when compiling with -Wunused and NDEBUG
457 * [THRIFT-2158] - Compact, JSON, and SimpleJSON protocols are not working correctly
458 * [THRIFT-2167] - nodejs lib throws error if options argument isn't passed
459 * [THRIFT-2288] - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
460 * [THRIFT-2147] - Thrift IDL grammar allows for dotted identifier names
461 * [THRIFT-2145] - Rack and Thin are not just development dependencies
462 * [THRIFT-2267] - Should be able to choose socket family in Python TSocket
463 * [THRIFT-2276] - java path in spec file needs updating
464 * [THRIFT-2281] - Generated send/recv code ignores errors returned by the underlying protocol
465 * [THRIFT-2280] - TJSONProtocol.Flush() does not really flush the transport
466 * [THRIFT-2274] - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
467 * [THRIFT-2265] - php library doesn't build
468 * [THRIFT-2232] - IsSet* broken in Go
469 * [THRIFT-2246] - Unset enum value is printed by ToString()
470 * [THRIFT-2240] - thrift.vim (contrib) does not correctly handle 'union'
471 * [THRIFT-2243] - TNonblockingServer in thrift crashes when TFramedTransport opens
472 * [THRIFT-2230] - Cannot Build on RHEL/Centos/Amazon Linux 6.x
473 * [THRIFT-2247] - Go generator doesn't deal well with map keys of type binary
474 * [THRIFT-2253] - Python Tornado TTornadoServer base class change
475 * [THRIFT-2261] - java: error: unmappable character for encoding ASCII
476 * [THRIFT-2259] - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
477 * [THRIFT-2225] - SSLContext destroy before cleanupOpenSSL
478 * [THRIFT-2224] - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
479 * [THRIFT-2229] - thrift failed to build on OSX 10.9 GM
480 * [THRIFT-2227] - Thrift compiler generates spurious warnings with Xlint
481 * [THRIFT-2219] - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
482 * [THRIFT-2226] - TServerSocket - keepAlive wrong initialization order
483 * [THRIFT-2285] - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
484 * [THRIFT-2216] - Extraneous semicolon in TProtocolUtil.h makes clang mad
485 * [THRIFT-2215] - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
486 * [THRIFT-2211] - Exception constructor does not contain namespace prefix.
487 * [THRIFT-2210] - lib/java TSimpleJSONProtocol can emit invalid JSON
488 * [THRIFT-2209] - Ruby generator -- please namespace classes
489 * [THRIFT-2202] - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
490 * [THRIFT-2201] - Ternary operator returns different types (build error for some compilers)
491 * [THRIFT-2200] - nested structs cause generate_fingerprint() to slow down at excessive CPU load
492 * [THRIFT-2197] - fix jar output directory in rpm spec file
493 * [THRIFT-2196] - Fix invalid dependency in Makefile.am
494 * [THRIFT-2194] - Node: Not actually prepending residual data in TFramedTransport.receiver
495 * [THRIFT-2193] - Java code generator emits spurious semicolon when deep copying binary data
496 * [THRIFT-2191] - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
497 * [THRIFT-2214] - System header sys/param.h is included inside the Thrift namespace
498 * [THRIFT-2178] - Thrift generator returns error exit code on --version
499 * [THRIFT-2171] - NodeJS implementation has extremely low test coverage
500 * [THRIFT-2183] - gem install fails on zsh
501 * [THRIFT-2182] - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
502 * [THRIFT-2181] - oneway calls don't work in NodeJS
503 * [THRIFT-2169] - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
504 * [THRIFT-2168] - Node.js appears broken (at least, examples don't work as intended)
505 * [THRIFT-2293] - TSSLTransportFactory.createSSLContext() leaves files open
506 * [THRIFT-2279] - TSerializer only returns the first 1024 bytes serialized
507 * [THRIFT-2278] - Buffered transport doesn't support writes > buffer size
508 * [THRIFT-2275] - Fix memory leak in golang compact_protocol.
509 * [THRIFT-2282] - Incorect code generated for some typedefs
510 * [THRIFT-2009] - Go redeclaration error
511 * [THRIFT-1964] - 'Isset' causes problems with C#/.NET serializers
512 * [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
513 * [THRIFT-2108] - Fix TAsyncClientManager timeout race
514 * [THRIFT-2068] - Multiple calls from same connection are not processed in node
515 * [THRIFT-1750] - Make compiler build cleanly under visual studio 10
516 * [THRIFT-1755] - Comment parsing bug
517 * [THRIFT-1771] - "make check" fails on x64 for libboost_unit_test_framework.a
518 * [THRIFT-1841] - NodeJS Thrift incorrectly parses non-UTF8-string types
519 * [THRIFT-1908] - Using php thrift_protocol accelerated transfer causes core dump
520 * [THRIFT-1892] - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
521 * [THRIFT-2303] - TBufferredTransport not properly closing underlying transport
522 * [THRIFT-2313] - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
523 * [THRIFT-2311] - Go: invalid code generated when exception name is a go keyword
524 * [THRIFT-2308] - node: TJSONProtocol parse error when reading from buffered message
525 * [THRIFT-2316] - ccp: TFileTransportTest
526 * [THRIFT-2352] - msvc failed to compile thrift tests
527 * [THRIFT-2337] - Golang does not report TIMED_OUT exceptions
528 * [THRIFT-2340] - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
529 * [THRIFT-2354] - Connection errors can lead to case_clause exceptions
530 * [THRIFT-2339] - Uncaught exception in thrift c# driver
531 * [THRIFT-2356] - c++ thrift client not working with ssl (SSL_connect hangs)
532 * [THRIFT-2331] - Missing call to ReadStructBegin() in TApplicationException.Read()
533 * [THRIFT-2323] - Uncompileable Delphi code generated for typedef'd structs
534 * [THRIFT-2322] - Correctly show the number of times ExecutorService (java) has rejected the client.
535 * [THRIFT-2389] - namespaces handled wrongly in acrionscript 3.0 implementation
536 * [THRIFT-2388] - GoLang - Fix data races in simple_server and server_socket
537 * [THRIFT-2386] - Thrift refuses to link yylex
538 * [THRIFT-2375] - Excessive <br>'s in generated HTML
539 * [THRIFT-2373] - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
540 * [THRIFT-2372] - thrift/json_protocol.go:160: function ends without a return statement
541 * [THRIFT-2371] - ruby bundler version fails on ~1.3.1, remove and take latest avail
542 * [THRIFT-2370] - Compiler SEGFAULTs generating HTML documentation for complex strucre
543 * [THRIFT-2384] - Binary map keys produce uncompilable code in go
544 * [THRIFT-2380] - unreachable code (CID 1174546, CID 1174679)
545 * [THRIFT-2378] - service method arguments of binary type lead to uncompileable Go code
546 * [THRIFT-2363] - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
547 * [THRIFT-2359] - TBufferedTransport doesn't clear it's buffer on a failed flush call
548 * [THRIFT-2428] - Python 3 setup.py support
549 * [THRIFT-2367] - Build failure: stdlib and boost both define uint64_t
550 * [THRIFT-2365] - C# decodes too many binary bytes from JSON
551 * [THRIFT-2402] - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
552 * [THRIFT-2396] - Build Error on MacOSX
553 * [THRIFT-2395] - thrift Ruby gem requires development dependency 'thin' regardless of environment
554 * [THRIFT-2414] - c_glib fix several bug.
555 * [THRIFT-2420] - Go argument parser for methods without arguments does not skip fields
556 * [THRIFT-2439] - Bug in TProtocolDecorator Class causes parsing errors
557 * [THRIFT-2419] - golang - Fix fmt.Errorf in generated code
558 * [THRIFT-2418] - Go handler function panics on internal error
559 * [THRIFT-2405] - Node.js Multiplexer tests fail (silently)
560 * [THRIFT-2581] - TFDTransport destructor should not throw
561 * [THRIFT-2575] - Thrift includes siginfo_t within apache::thrift::protocol namespace
562 * [THRIFT-2577] - TFileTransport missuse of closesocket on windows platform
563 * [THRIFT-2576] - Implement Thrift.Protocol.prototype.skip method in JavaScript library
564 * [THRIFT-2588] - Thrift compiler is not buildable in Visual Studio 2010
565 * [THRIFT-2594] - JS Compiler: Single quotes are not being escaped in constants.
566 * [THRIFT-2591] - TFramedTransport does not handle payloads split across packets correctly
567 * [THRIFT-2599] - Uncompileable Delphi code due to naming conflicts with IDL
568 * [THRIFT-2590] - C++ Visual Studio solution doesn't include Multiplexing support
569 * [THRIFT-2595] - Node.js: Fix global leaks and copy-paste errors
570 * [THRIFT-2565] - autoconf fails to find mingw-g++ cross compiler on travis CI
571 * [THRIFT-2555] - excessive "unused field" comments
572 * [THRIFT-2554] - double initialization in generated Read() method
573 * [THRIFT-2551] - OutOfMemoryError "unable to create new native thread" kills serve thread
574 * [THRIFT-2543] - Generated enum type in haskell should be qualified
575 * [THRIFT-2560] - Thrift compiler generator tries to concat ints with strings using +
576 * [THRIFT-2559] - Centos 6.5 unable to "make" with Thrift 0.9.1
577 * [THRIFT-2526] - Assignment operators and copy constructors in c++ don't copy the __isset struct
578 * [THRIFT-2454] - c_glib: There is no gethostbyname_r() in some OS.
579 * [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
580 * [THRIFT-2450] - include HowToContribute in the src repo
581 * [THRIFT-2448] - thrift/test/test.sh has incorrect Node.js test path
582 * [THRIFT-2460] - unopened socket fd must be less than zero.
583 * [THRIFT-2459] - --version should not exit 1
584 * [THRIFT-2468] - Timestamp handling
585 * [THRIFT-2467] - Unable to build contrib/fb303 on OSX 10.9.2
586 * [THRIFT-2466] - Improper error handling for SSL/TLS connections that don't complete a handshake
587 * [THRIFT-2463] - test/py/RunClientServer.py fails sometimes
588 * [THRIFT-2458] - Generated golang server code for "oneway" methods is incorrect
589 * [THRIFT-2456] - THttpClient fails when using async support outside Silverlight
590 * [THRIFT-2524] - Visual Studio project is missing TThreadedServer files
591 * [THRIFT-2523] - Visual Studio project is missing OverlappedSubmissionThread files
592 * [THRIFT-2520] - cpp:cob_style generates incorrect .tcc file
593 * [THRIFT-2508] - Uncompileable C# code due to language keywords in IDL
594 * [THRIFT-2506] - Update TProtocolException error codes to be used consistently throughout the library
595 * [THRIFT-2505] - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
596 * [THRIFT-2515] - TLS Method error during make
597 * [THRIFT-2503] - C++: Fix name collision when a struct has a member named "val"
598 * [THRIFT-2477] - thrift --help text with misplaced comma
599 * [THRIFT-2492] - test/cpp does not compile on mac
600 * [THRIFT-2500] - sending random data crashes thrift(golang) service
601 * [THRIFT-2475] - c_glib: buffered_transport_write function return always TRUE.
602 * [THRIFT-2495] - JavaScript/Node string constants lack proper escaping
603 * [THRIFT-2491] - unable to import generated ThriftTest service
604 * [THRIFT-2490] - c_glib: if fail to read a exception from server, client may be occurred double free
605 * [THRIFT-2470] - THttpHandler swallows exceptions from processor
606 * [THRIFT-2533] - Boost version in requirements should be updated
607 * [THRIFT-2532] - Java version in installation requirements should be updated
608 * [THRIFT-2529] - TBufferedTransport split Tcp data bug in nodeJs
609 * [THRIFT-2537] - Path for "go get" does not work (pull request 115)
610 * [THRIFT-2443] - Node fails cross lang tests
611 * [THRIFT-2437] - Author fields in Python setup.py must be strings not lists.
612 * [THRIFT-2435] - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
613 * [THRIFT-2434] - Missing namespace import for php TMultiplexedProcessor implementation
614 * [THRIFT-2432] - Flaky parallel build
615 * [THRIFT-2430] - Crash during TThreadPoolServer shutdown
616 * [THRIFT-667] - Period should not be allowed in identifier names
617 * [THRIFT-1212] - Members capital case conflict
618 * [THRIFT-2584] - Error handler not listened on javascript client
619 * [THRIFT-2294] - Incorrect Makefile generation
620 * [THRIFT-2601] - Fix vagrant to work again for builds again
621 * [THRIFT-2092] - TNonblocking server should release handler as soon as connection closes
622 * [THRIFT-2557] - CS0542 member names cannot be the same as their enclosing type
623 * [THRIFT-2605] - TSocket warning on gcc 4.8.3
624 * [THRIFT-2607] - ThreadManager.cpp warning on clang++ 3.4
625 * [THRIFT-1998] - TCompactProtocol.tcc - one more warning on Visual 2010
626 * [THRIFT-2610] - MSVC warning in TSocket.cpp
627 * [THRIFT-2614] - TNonblockingServer.cpp warnings on MSVC
628 * [THRIFT-2608] - TNonblockingServer.cpp warnings on clang 3.4
629 * [THRIFT-2606] - ThreadManager.h warning in clang++ 3.4
630 * [THRIFT-2609] - TFileTransport.h unused field warning (clang 3.4)
631 * [THRIFT-2416] - Cannot use TCompactProtocol with MSVC
632 * [THRIFT-1803] - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
633 * [THRIFT-2385] - Problem with gethostbyname2 during make check
634 * [THRIFT-2262] - thrift server 'MutateRow' operation gives no indication of success / failure
635 * [THRIFT-2048] - Prefer boolean context to nullptr_t conversion
636 * [THRIFT-2528] - Thrift Erlang Library: Multiple thrift applications in one bundle
637 * [THRIFT-1999] - warning on gcc 4.7 while compiling BoostMutex.cpp
638 * [THRIFT-2104] - Structs lose binary data when transferred from server to client in Java
639 * [THRIFT-2184] - undefined method rspec_verify for Thrift::MemoryBufferTransport
640 * [THRIFT-2351] - PHP TCompactProtocol has fails to decode messages
641 * [THRIFT-2016] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
642 * [THRIFT-2273] - Please delete old releases from mirroring system
643 * [THRIFT-2270] - Faulty library version numbering at build or documentation
644 * [THRIFT-2203] - Tests keeping failing on Jenkins and Travis CI
645 * [THRIFT-2399] - thrift.el: recognize "//"-style comments in emacs thrift-mode
646 * [THRIFT-2582] - "FileTransport error" exception is raised when trying to use Java's TFileTransport
647 * [THRIFT-1682] - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
648 * [THRIFT-2357] - recurse option has no effect when generating php
649 * [THRIFT-2248] - Go generator doesn't deal well with map keys of type binary
650 * [THRIFT-2426] - clarify IP rights and contributions from fbthrift
651 * [THRIFT-2041] - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
652 * [THRIFT-2400] - thrift.el: recognize "//"-style comments in emacs thrift-mode
653 * [THRIFT-1717] - Fix deb build in jenkins
654 * [THRIFT-2266] - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
655 * [THRIFT-1300] - Test failures with parallel builds (make -j)
656 * [THRIFT-2487] - Tutorial requires two IDL files but only one is linked from the Thrift web site
657 * [THRIFT-2329] - missing release tags within git
658 * [THRIFT-2306] - concurent client calls with nodejs
659 * [THRIFT-2222] - ruby gem cannot be compiled on OS X mavericks
660 * [THRIFT-2381] - code which generated by thrift2/hbase.thrift compile error
661 * [THRIFT-2390] - no close event when connection lost
662 * [THRIFT-2146] - Unable to pass multiple "--gen" options to the thrift compiler
663 * [THRIFT-2438] - Unexpected readFieldEnd call causes JSON Parsing errors
664 * [THRIFT-2498] - Error message "Invalid method name" while trying to call HBase Thrift API
665 * [THRIFT-841] - Build cruft
666 * [THRIFT-2570] - Wrong URL given in http://thrift.apache.org/developers
667 * [THRIFT-2604] - Fix debian packaging
668 * [THRIFT-2618] - Unignore /aclocal files required for build
669 * [THRIFT-2562] - ./configure create MakeFile in lib/d with errors
670 * [THRIFT-2593] - Unable to build thrift on ubuntu-12.04 (Precise)
671 * [THRIFT-2461] - Can't install thrift-0.8.0 on OS X 10.9.2
672 * [THRIFT-2602] - Fix missing dist files
673 * [THRIFT-2620] - Fix python packaging
674 * [THRIFT-2545] - Test CPP fails to build (possibly typo)
jfarrell0d866d72012-12-10 15:46:04 -0500675
jfarrell507ba1b2014-07-10 12:44:51 -0400676## Documentation
677 * [THRIFT-2155] - Adding one liner guide to rename the version.h.in and rename thrifty.cc.h
678 * [THRIFT-1991] - Add exceptions to examples
679 * [THRIFT-2334] - add a tutorial for node JS
680 * [THRIFT-2392] - Actionscript tutorial
681 * [THRIFT-2383] - contrib: sample for connecting Thrift with Rebus
682 * [THRIFT-2382] - contrib: sample for connecting Thrift with STOMP
jfarrell72498202013-08-24 09:18:30 -0400683
jfarrell507ba1b2014-07-10 12:44:51 -0400684## Improvement
685 * [THRIFT-1457] - Capacity of TframedTransport write buffer is never reset
686 * [THRIFT-1135] - Node.js tutorial
687 * [THRIFT-1371] - Socket timeouts (SO_RCVTIMEO and SO_SNDTIMEO) not supported on Solaris
688 * [THRIFT-2142] - Minor tweaks to thrift.el for better emacs package compatibility
689 * [THRIFT-2268] - Modify TSaslTransport to ignore TCP health checks from loadbalancers
690 * [THRIFT-2264] - GitHub page incorrectly states that Thrift is still incubating
691 * [THRIFT-2263] - Always generate good hashCode for Java
692 * [THRIFT-2233] - Java compiler should defensively copy its binary inputs
693 * [THRIFT-2239] - Address FindBugs errors
694 * [THRIFT-2249] - Add SMP Build option to thrift.spec (and three config defines)
695 * [THRIFT-2254] - Exceptions generated by Go compiler should implement error interface
696 * [THRIFT-2260] - Thrift imposes unneeded dependency on commons-lang3
697 * [THRIFT-2258] - Add TLS v1.1/1.2 support to TSSLSocket.cpp
698 * [THRIFT-2205] - Node.js Test Server to support test.js JavaScript Browser test and sundry fixes
699 * [THRIFT-2204] - SSL client for the cocoa client
700 * [THRIFT-2172] - Java compiler allocates optionals array for every struct with an optional field
701 * [THRIFT-2185] - use cabal instead of runhaskell in haskell library
702 * [THRIFT-1926] - PHP Constant Generation Refactoring
703 * [THRIFT-2029] - Port C++ tests to Windows
704 * [THRIFT-2054] - TSimpleFileTransport - Java Lib has no straight forward TTransport based file transport
705 * [THRIFT-2040] - "uninitialized variable" warnings on MSVC/windows
706 * [THRIFT-2034] - Give developers' C++ code direct access to socket FDs on server side
707 * [THRIFT-2095] - Use print function for Python 3 compatiblity
708 * [THRIFT-1868] - Make the TPC backlog configurable in the Java servers
709 * [THRIFT-1813] - Add @Generated annotation to generated classes
710 * [THRIFT-1815] - Code generators line buffer output
711 * [THRIFT-2305] - TFramedTransport empty constructor should probably be private
712 * [THRIFT-2304] - Move client assignments from construtor in method
713 * [THRIFT-2309] - Ruby (gem) & PHP RPM subpackages
714 * [THRIFT-2318] - perl: dependency Class::Accessor not checked
715 * [THRIFT-2317] - exclude tutorial from build
716 * [THRIFT-2320] - Program level doctext does not get attached by parser
717 * [THRIFT-2349] - Golang - improve tutorial
718 * [THRIFT-2348] - PHP Generator: add array typehint to functions
719 * [THRIFT-2344] - configure.ac: compiler-only option
720 * [THRIFT-2343] - Golang - Return a single error for all exceptions instead of multiple return values
721 * [THRIFT-2341] - Enable generation of Delphi XMLDoc comments (a.k.a. "Help Insight")
722 * [THRIFT-2355] - Add SSL and Web Socket Support to Node and JavaScript
723 * [THRIFT-2350] - Add async calls to normal JavaScript
724 * [THRIFT-2330] - Generate PHPDoc comments
725 * [THRIFT-2332] - RPMBUILD: run bootstrap (if needed)
726 * [THRIFT-2391] - simple socket transport for actionscript 3.0
727 * [THRIFT-2376] - nodejs: allow Promise style calls for client and server
728 * [THRIFT-2369] - Add ssl support for nodejs implementation
729 * [THRIFT-2401] - Haskell tutorial compiles
730 * [THRIFT-2417] - C# Union classes are not partial
731 * [THRIFT-2415] - Named pipes server performance & message mode
732 * [THRIFT-2404] - emit warning on (typically inefficient) list<byte>
733 * [THRIFT-2398] - Improve Node Server Library
734 * [THRIFT-2397] - Add CORS and CSP support for JavaScript and Node.js libraries
735 * [THRIFT-2407] - use markdown (rename README => README.md)
736 * [THRIFT-2300] - D configure info output should follow same format as other languages
737 * [THRIFT-2579] - Windows CE support
738 * [THRIFT-2574] - Compiler option to generate namespace directories for Ruby
739 * [THRIFT-2571] - Simplify cross compilation using CMake
740 * [THRIFT-2569] - Introduce file to specify third party library locations on Windows
741 * [THRIFT-2568] - Implement own certificate handler
742 * [THRIFT-2552] - eliminate warning from configure.ac
743 * [THRIFT-2549] - Generate json tag for struct members. use go.tag annotation to override the default generated tag.
744 * [THRIFT-2544] - Add support for socket transport for c# library when using Windows Phone projects
745 * [THRIFT-2453] - haskell tutorial: fix up division by 0 example
746 * [THRIFT-2449] - Enhance typedef structure to distinguish between forwards and real typedefs
747 * [THRIFT-2446] - There is no way to handle server stream errors
748 * [THRIFT-2455] - Allow client certificates to be used with THttpClient
749 * [THRIFT-2511] - Node.js needs the compact protocol
750 * [THRIFT-2493] - Node.js lib needs HTTP client
751 * [THRIFT-2502] - Optimize go implementations of binary and compact protocols for speed
752 * [THRIFT-2494] - Add enum toString helper function in c_glib
753 * [THRIFT-2471] - Make cpp.ref annotation language agnostic
754 * [THRIFT-2497] - server and client for test/go, also several fixes and improvements
755 * [THRIFT-2535] - TJSONProtocol when serialized yields TField ids rather than names
756 * [THRIFT-2220] - Add a new struct structv?
757 * [THRIFT-1352] - Thrift server
758 * [THRIFT-989] - Push boost m4 macros upstream
759 * [THRIFT-1349] - Remove unnecessary print outs
760 * [THRIFT-2496] - server and client for test/go, also several fixes and improvements
761 * [THRIFT-1114] - Maven publish shouldn't require passwords hardcoded in settings.xml
762 * [THRIFT-2043] - visual 2010 warnings - unreachable code
763 * [THRIFT-1683] - Implement alternatives to Javascript Client side Transport protocol, just as NPAPI and WebSocket.
764 * [THRIFT-1746] - provide a SPDX file
765 * [THRIFT-1772] - Serialization does not check types of embedded structures.
766 * [THRIFT-2387] - nodejs: external imports should be centralized in index.js
767 * [THRIFT-2037] - More general macro THRIFT_UNUSED_VARIABLE
768
769## New Feature
770 * [THRIFT-1012] - Transport for DataInput DataOutput interface
771 * [THRIFT-2256] - Using c++11/c++0x std library replace boost library
772 * [THRIFT-2250] - JSON and MemoryBuffer for JavaME
773 * [THRIFT-2114] - Python Service Remote SSL Option
774 * [THRIFT-1719] - SASL client support for Python
775 * [THRIFT-1894] - Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
776 * [THRIFT-1893] - HTTP/JSON server/client for node js
777 * [THRIFT-2347] - C# TLS Transport based on THRIFT-181
778 * [THRIFT-2377] - Allow addition of custom HTTP Headers to an HTTP Transport
779 * [THRIFT-2408] - Named Pipe Transport Option for C#
780 * [THRIFT-2572] - Add string/collection length limit checks (from C++) to java protocol readers
781 * [THRIFT-2469] - "java:fullcamel" option to automatically camel-case underscored attribute names
782 * [THRIFT-795] - Importing service functions (simulation multiple inheritance)
783 * [THRIFT-2164] - Add a Get/Post Http Server to Node along with examples
784 * [THRIFT-2255] - add Parent Class for generated Struct class
785
786## Question
787 * [THRIFT-2539] - Tsocket.cpp addrinfo ai_flags = AI_ADDRCONFIG
788 * [THRIFT-2440] - how to connect as3 to java by thrift ,
789 * [THRIFT-2379] - Memmory leaking while using multithreading in C++ server.
790 * [THRIFT-2277] - Thrift: installing fb303 error
791 * [THRIFT-2567] - Csharp slow ?
792 * [THRIFT-2573] - thrift 0.9.2 release
793
794## Sub-task
795 * [THRIFT-981] - cocoa: add version Info to the library
796 * [THRIFT-2132] - Go: Support for Multiplexing Services on any Transport, Protocol and Server
797 * [THRIFT-2299] - TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
798 * [THRIFT-2298] - TJsonProtocol implementation for C# does not allow for both possible slash (solidus) encodings
799 * [THRIFT-2297] - TJsonProtocol implementation for Delphi does not allow for both possible slash (solidus) encodings
800 * [THRIFT-2271] - JavaScript: Support for Multiplexing Services
801 * [THRIFT-2251] - go test for compact protocol is not running
802 * [THRIFT-2195] - Delphi: Add event handlers for server and processing events
803 * [THRIFT-2176] - TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
804 * [THRIFT-2175] - Wrong field type set for binary
805 * [THRIFT-2174] - Deserializing JSON fails in specific cases
806 * [THRIFT-2053] - NodeJS: Support for Multiplexing Services
807 * [THRIFT-1914] - Python: Support for Multiplexing Services on any Transport, Protocol and Server
808 * [THRIFT-1810] - add ruby to test/test.sh
809 * [THRIFT-2310] - PHP: Client-side support for Multiplexing Services
810 * [THRIFT-2346] - C#: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
811 * [THRIFT-2345] - Delphi: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
812 * [THRIFT-2338] - First doctext wrongly interpreted as program doctext in some cases
813 * [THRIFT-2325] - SSL test certificates
814 * [THRIFT-2358] - C++: add compact protocol to cross language test suite
815 * [THRIFT-2425] - PHP: Server-side support for Multiplexing Services
816 * [THRIFT-2421] - Tree/Recursive struct support in thrift
817 * [THRIFT-2290] - Update Go tutorial to align with THRIFT-2232
818 * [THRIFT-2558] - CSharp compiler generator tries to concat ints with strings using +
819 * [THRIFT-2507] - Additional LUA TProtocolException error code needed?
820 * [THRIFT-2499] - Compiler: allow annotations without "= value"
821 * [THRIFT-2534] - Cross language test results should recorded to a status.md or status.html file automatically
822 * [THRIFT-66] - Java: Allow multiplexing multiple services over a single TCP connection
823 * [THRIFT-1681] - Add Lua Support
824 * [THRIFT-1727] - Ruby-1.9: data loss: "binary" fields are re-encoded
825 * [THRIFT-1726] - Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
826 * [THRIFT-988] - perl: add version Info to the library via configure
827 * [THRIFT-334] - Compact Protocol for PHP
828 * [THRIFT-2444] - pull request 88: thrift: clean up enum value assignment
829
830## Task
831 * [THRIFT-2223] - Spam links on wiki
832 * [THRIFT-2566] - Please create a DOAP file for your TLP
833 * [THRIFT-2237] - Update archive to contain all versions
834 * [THRIFT-962] - Tutorial page on our website is really unhelpful
835
836## Test
837 * [THRIFT-2327] - nodejs: nodejs test suite should be bundled with the library
838 * [THRIFT-2445] - THRIFT-2384 (code generation for go maps with binary keys) should be tested
839 * [THRIFT-2501] - C# The test parameters from the TestServer and TestClient are different from the http://thrift.apache.org/test/
840
841## Wish
842 * [THRIFT-2190] - Add the JavaScript thrift.js lib to the Bower registry
843 * [THRIFT-2076] - boost::optional instead of __isset
jfarrell72498202013-08-24 09:18:30 -0400844
845
Jake Farrell6fcecd42012-10-11 20:34:25 +0000846
jfarrell507ba1b2014-07-10 12:44:51 -0400847Thrift 0.9.1
848--------------------------------------------------------------------------------
849## Bug
850 * [THRIFT-1440] - debian packaging: minor-ish policy problems
851 * [THRIFT-1402] - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
852 * [THRIFT-1551] - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
853 * [THRIFT-1264] - TSocketClient is queried by run loop after deallocation in Cocoa
854 * [THRIFT-1600] - Thrift Go Compiler and Library out of date with Go 1 Release.
855 * [THRIFT-1603] - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
856 * [THRIFT-1062] - Problems with python tutorials
857 * [THRIFT-864] - default value fails if identifier is a struct
858 * [THRIFT-930] - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
859 * [THRIFT-820] - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
860 * [THRIFT-1640] - None of the tutorials linked on the website contain content
861 * [THRIFT-1637] - NPM registry does not include version 0.8
862 * [THRIFT-1648] - NodeJS clients always receive 0 for 'double' values.
863 * [THRIFT-1660] - Python Thrift library can be installed with pip but not easy_install
864 * [THRIFT-1657] - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
865 * [THRIFT-2118] - Certificate error handling still incorrect
866 * [THRIFT-2137] - Ruby test lib fails jenkins build #864
867 * [THRIFT-2136] - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
868 * [THRIFT-2135] - GO lib leaves behind test files that are auto generated
869 * [THRIFT-2134] - mingw-cross-compile script failing with strip errors
870 * [THRIFT-2133] - java TestTBinaryProtocol.java test failing
871 * [THRIFT-2126] - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
872 * [THRIFT-2125] - debian missing from DIST
873 * [THRIFT-2124] - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
874 * [THRIFT-2123] - GO lib missing files in DIST build
875 * [THRIFT-2121] - Compilation bug for Node.js
876 * [THRIFT-2129] - php ext missing from dist
877 * [THRIFT-2128] - lib GO tests fail with funct ends without a return statement
878 * [THRIFT-2286] - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
879 * [THRIFT-1973] - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
880 * [THRIFT-1992] - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
881 * [THRIFT-1930] - C# generates unsigned byte for Thrift "byte" type
882 * [THRIFT-1929] - Update website to use Mirrors for downloads
883 * [THRIFT-1928] - Race may still exist in TFileTransport::flush()
884 * [THRIFT-1934] - Tabs in Example section on main page are not working
885 * [THRIFT-1933] - Delphi generator crashes when a typedef references another typedef from an included file
886 * [THRIFT-1942] - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
887 * [THRIFT-1959] - C#: Add Union TMemoryBuffer support
888 * [THRIFT-1958] - C#: Use static Object.Equals instead of .Equals() calls in equals
889 * [THRIFT-1957] - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
890 * [THRIFT-1955] - Union Type writer generated in C# does not WriteStructBegin
891 * [THRIFT-1952] - Travis CI
892 * [THRIFT-1949] - WP7 build broken
893 * [THRIFT-1943] - docstrings for enum values are ignored
894 * [THRIFT-2070] - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
895 * [THRIFT-2017] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
896 * [THRIFT-2032] - C# client leaks sockets/handles
897 * [THRIFT-1996] - JavaME Constants generation is broken / inconsistent with regular Java generation
898 * [THRIFT-2002] - Haskell: Test use Data.Maybe instead of Maybe
899 * [THRIFT-2051] - Vagrant fails to build erlang
900 * [THRIFT-2050] - Vagrant C# lib compile fails with TException missing
901 * [THRIFT-1978] - Ruby: Thrift should allow for the SSL verify mode to be set
902 * [THRIFT-1984] - namespace collision in python bindings
903 * [THRIFT-1988] - When trying to build a debian package it fails as the file NEWS doesn't exist
904 * [THRIFT-1975] - TBinaryProtocol CheckLength can't be used for a client
905 * [THRIFT-1995] - '.' allowed at end of identifier generates non-compilable code
906 * [THRIFT-2112] - Error in Go generator when using typedefs in map keys
907 * [THRIFT-2088] - Typos in Thrift compiler help text
908 * [THRIFT-2080] - C# multiplex processor does not catch IOException
909 * [THRIFT-2082] - Executing "gmake clean" is broken
910 * [THRIFT-2102] - constants are not referencing to correct type when included from another thrift file
911 * [THRIFT-2100] - typedefs are not correctly referenced when including from other thrift files
912 * [THRIFT-2066] - 'make install' does not install two headers required for C++ bindings
913 * [THRIFT-2065] - Not valid constants filename in Java
914 * [THRIFT-2047] - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
915 * [THRIFT-2036] - Thrift gem warns about class variable access from top level
916 * [THRIFT-2057] - Vagrant fails on php tests
917 * [THRIFT-2105] - Generated code for default values of collections ignores t_field::T_REQUIRED
918 * [THRIFT-2091] - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
919 * [THRIFT-2090] - Go generator, fix including of other thrift files
920 * [THRIFT-2106] - Fix support for namespaces in GO generator
921 * [THRIFT-1783] - C# doesn't handle required fields correctly
922 * [THRIFT-1782] - async only defined in silverlight
923 * [THRIFT-1779] - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
924 * [THRIFT-1692] - SO_REUSEADDR allows for socket hijacking on Windows
925 * [THRIFT-1720] - JRuby times out on successful connection
926 * [THRIFT-1713] - Named and Anonymous Pipe transport (Delphi)
927 * [THRIFT-1699] - Native Union#read has extra read_field_end call
928 * [THRIFT-1749] - Python TSSLSocket error handling obscures actual error
929 * [THRIFT-1748] - Guard and RWGuard macros defined in global namespace
930 * [THRIFT-1734] - Front webpage is still advertising v0.8 as current release
931 * [THRIFT-1729] - C glib refactor left empty folders in svn
932 * [THRIFT-1767] - unions can't have required fields (Delphi)
933 * [THRIFT-1765] - Incorrect error message printed for null or negative keys
934 * [THRIFT-1778] - Configure requires manual intervention due to tar failure
935 * [THRIFT-1777] - TPipeServer is UNSTOPPABLE
936 * [THRIFT-1753] - Multiple C++ Windows, OSX, and iOS portability issues
937 * [THRIFT-1756] - 'make -j 8' fails with "unterminated #ifdef" error
938 * [THRIFT-1773] - Python library should run on python 2.4
939 * [THRIFT-1769] - unions can't have required fields (C++)
940 * [THRIFT-1768] - unions can't have required fields (Compiler)
941 * [THRIFT-1666] - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
942 * [THRIFT-1919] - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
943 * [THRIFT-1864] - implement event handler for non-blocking server
944 * [THRIFT-1859] - Generated error c++ code with -out and include_prefix param
945 * [THRIFT-1869] - TThreadPoolServer (java) dies when threadpool is consumed
946 * [THRIFT-1842] - Memory leak with Pipes
947 * [THRIFT-1838] - Can't build compiler on OS X because of missing thrifty.h
948 * [THRIFT-1846] - Restore socket.h header to support builds with Android NDK
949 * [THRIFT-1850] - make check hangs on TSocket tests in TransportTest.cpp
950 * [THRIFT-1873] - Binary protocol factory ignores struct read/write flags
951 * [THRIFT-1872] - issues with TBufferedTransport buffer
952 * [THRIFT-1904] - Incorrect code is generated for typedefs which use included types
953 * [THRIFT-1903] - PHP namespaces cause binary protocols to not be used
954 * [THRIFT-1895] - Delphi: reserved variable name "result" not detected properly
955 * [THRIFT-1881] - TNonblockingServer does not release open connections or threads on shutdown
956 * [THRIFT-1888] - Java Thrift client can't connect to Python Thrift server on same host
957 * [THRIFT-1831] - Bug in list deserializer
958 * [THRIFT-1824] - many compile warning, becase Thread.h includes config.h
959 * [THRIFT-1823] - Missing parenthesis breaks "IS_..." macro in generated code
960 * [THRIFT-1806] - Python generation always truncates __init__.py files
961 * [THRIFT-1795] - Race condition in TThreadedServerPool java implementation
962 * [THRIFT-1794] - C# asyncctp broken
963 * [THRIFT-1804] - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
964 * [THRIFT-1800] - Documentation text not always escaped correctly when rendered to HTML
965 * [THRIFT-1788] - C#: Constants static constructor does not compile
966 * [THRIFT-1816] - Need "require" included thrift files in "xxx_types.js"
967 * [THRIFT-1907] - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
968 * [THRIFT-1913] - skipping unknown fields in java unions
969 * [THRIFT-2553] - C++ linker error - transport/TSocket
970 * [THRIFT-274] - Towards a working release/versioning process
971
972## Documentation
973 * [THRIFT-1971] - [Graphviz] Adds tutorial/general description documentation
974 * [THRIFT-2001] - http://thrift.apache.org/ Example "C++ Server" tab is broken
975
976## Improvement
977 * [THRIFT-1574] - Apache project branding requirements: DOAP file [PATCH]
978 * [THRIFT-1347] - Unify the exceptions returned in generated Go code
979 * [THRIFT-1353] - Switch to performance branch, get rid of BinaryParser
980 * [THRIFT-1629] - Ruby 1.9 Compatibility during Thrift configure, make, install
981 * [THRIFT-991] - Refactor Haskell code and generator
982 * [THRIFT-990] - Sanify gettimeofday usage codebase-wide
983 * [THRIFT-791] - Let C++ TSimpleServer be driven by an external main loop
984 * [THRIFT-2117] - Cocoa TBinaryProtocol strictWrite should be set to true by default
985 * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
986 * [THRIFT-1972] - Add support for async processors
987 * [THRIFT-1970] - [Graphviz] Adds option to render exceptions relationships
988 * [THRIFT-1966] - Support different files for SSL certificates and keys
989 * [THRIFT-1965] - Adds Graphviz (graph description language) generator
990 * [THRIFT-1956] - Switch to Apache Commons Lang 3
991 * [THRIFT-1962] - Multiplex processor should send any TApplicationException back to client
992 * [THRIFT-1960] - main() declares 22 unused gen bools
993 * [THRIFT-1951] - libthrift.jar has source files in it
994 * [THRIFT-1997] - Add accept backlog configuration method to TServerSocket
995 * [THRIFT-2003] - Deprecate senum
996 * [THRIFT-2052] - Vagrant machine image defaults to only 384MB of RAM
997 * [THRIFT-1980] - Modernize Go tooling, fix go client libary.
998 * [THRIFT-1977] - C# compiler should generate constant files prefixed with thrift file name
999 * [THRIFT-1985] - add a Vagrantfile to build and test Apache Thrift fully reproducable
1000 * [THRIFT-1994] - Deprecate slist
1001 * [THRIFT-1993] - Factory to create instances from known (generated) interface types with Delphi
1002 * [THRIFT-2081] - Specified timeout should be used in TSocket.Open()
1003 * [THRIFT-2084] - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
1004 * [THRIFT-2083] - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
1005 * [THRIFT-2109] - Secure connections should be supported in Go
1006 * [THRIFT-2107] - minor Go generator fixes
1007 * [THRIFT-1695] - allow warning-free compilation in VS 2012 and GNU 4.6
1008 * [THRIFT-1735] - integrate tutorial into regular build
1009 * [THRIFT-1716] - max allowed connections should be PIPE_UNLIMITED_INSTANCES
1010 * [THRIFT-1715] - Allow excluding python parts when building contrib/fb303
1011 * [THRIFT-1733] - Fix RPM build issues on RHEL6/OL6 systems
1012 * [THRIFT-1728] - Upgradation of httpcomponents
1013 * [THRIFT-1876] - Use enum names instead of casted integers in assignments
1014 * [THRIFT-1874] - timeout for the server-side end of a named pipe
1015 * [THRIFT-1897] - Support validation of required fields
1016 * [THRIFT-1896] - Add TBase protocol for Cocoa
1017 * [THRIFT-1880] - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
1018 * [THRIFT-1878] - Add the possibility to send custom headers
1019 * [THRIFT-1882] - Use single include
1020 * [THRIFT-1793] - C#: Use static read instead of instance read
1021 * [THRIFT-1799] - Option to generate HTML in "standalone mode"
1022 * [THRIFT-1815] - Code generators line buffer output
1023 * [THRIFT-1890] - C++: Make named pipes server work asynchronously
1024 * [THRIFT-474] - Generating Ruby on Rails friendly code
1025
1026## New Feature
1027 * [THRIFT-801] - Provide an interactive shell (irb) when generating ruby bindings
1028 * [THRIFT-2292] - Android Library Project
1029 * [THRIFT-2012] - Modernizing Go
1030 * [THRIFT-1969] - C#: Tests not properly linked from the solution
1031 * [THRIFT-1785] - C#: Add TMemoryBuffer serializer/deserializer
1032 * [THRIFT-1780] - Add option to generate nullable values
1033 * [THRIFT-1786] - C# Union Typing
1034 * [THRIFT-591] - Make the C++ runtime library be compatible with Windows and Visual Studio
1035 * [THRIFT-514] - Add option to configure compiler output directory
1036
1037## Question
1038 * [THRIFT-1764] - how to get the context of client when on a rpc call in server side?
1039 * [THRIFT-1791] - thrift's namespace directive when generating haskell code
1040
1041## Sub-task
1042 * [THRIFT-1594] - Java test clients should have a return codes that reflect whether it succeeds or not.
1043 * [THRIFT-1595] - Java test server should follow the documented behavior as of THRIFT-1590
1044 * [THRIFT-986] - st: add version Info to the library
1045 * [THRIFT-985] - php: add version Info to the library
1046 * [THRIFT-984] - ocaml: add version Info to the library
1047 * [THRIFT-1924] - Delphi: Inconsistency in serialization of optional fields
1048 * [THRIFT-1922] - C#: Inconsistency in serialization of optional fields
1049 * [THRIFT-1961] - C# tests should be in lib/csharp/test/...
1050 * [THRIFT-1822] - PHP unit test does not work
1051 * [THRIFT-1902] - C++: Support for Multiplexing Services on any Transport, Protocol and Server
1052 * [THRIFT-1901] - C#: Support for Multiplexing Services on any Transport, Protocol and Server
1053 * [THRIFT-1899] - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
1054 * [THRIFT-563] - Support for Multiplexing Services on any Transport, Protocol and Server
Jake Farrell6fcecd42012-10-11 20:34:25 +00001055
1056
Jake Farrell6fcecd42012-10-11 20:34:25 +00001057
jfarrell507ba1b2014-07-10 12:44:51 -04001058Thrift 0.9
1059--------------------------------------------------------------------------------
1060## Bug
1061 * [THRIFT-1438] - lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
1062 * [THRIFT-1446] - Compile error with Delphi 2009 in constant initializer
1063 * [THRIFT-1450] - Problems building thrift 0.8.0 for Python and Ruby
1064 * [THRIFT-1449] - Ruby client does not work on solaris (?)
1065 * [THRIFT-1447] - NullpointerException in ProcessFunction.class :in "oneway" method
1066 * [THRIFT-1433] - TServerSocket fix for MSVC
1067 * [THRIFT-1429] - The nonblocking servers is supposed to use TransportFactory to read the data
1068 * [THRIFT-1427] - PHP library uses non-multibyte safe functions with mbstring function overloading
1069 * [THRIFT-1421] - Debian Packages can not be built
1070 * [THRIFT-1394] - Treatment of optional fields is not consistent between C++ and Java
1071 * [THRIFT-1511] - Server with oneway support ( JAVA )
1072 * [THRIFT-1496] - PHP compiler not namespacing enums
1073 * [THRIFT-1495] - PHP TestClient fatals on missing class
1074 * [THRIFT-1508] - TServerSocket does not allow for the user to specify the IP address to bind to
1075 * [THRIFT-1504] - Cocoa Generator should use local file imports for base Thrift headers
1076 * [THRIFT-1512] - Thrift socket support for Windows XP
1077 * [THRIFT-1502] - TSimpleServer::serve(): Do not print out error message if server was stopped.
1078 * [THRIFT-1501] - PHP old namespaces not generated for enums
1079 * [THRIFT-1483] - java compiler does not generate type parameters for services in extended clauses
1080 * [THRIFT-1479] - Compiled PHP process functions missing writeMessageEnd()
1081 * [THRIFT-1492] - enabling c_glib render thrift unusable (even for C++ code)
1082 * [THRIFT-1491] - Uninitialize processorFactory_ member in TServer.h
1083 * [THRIFT-1475] - Incomplete records generation for Erlang
1084 * [THRIFT-1486] - Javascript manual testserver not returning content types
1085 * [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]
1086 * [THRIFT-1490] - Windows-specific header files - fixes & tweaks
1087 * [THRIFT-1526] - Union TupleSchemeFactory returns StandardSchemes
1088 * [THRIFT-1527] - Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
1089 * [THRIFT-1524] - TNonBlockingServer does not compile in Visual Studio 2010
1090 * [THRIFT-1529] - TupleProtocol can unintentionally include an extra byte in bit vectors when number of optional fields is an integral of 8
1091 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
1092 * [THRIFT-1456] - System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
1093 * [THRIFT-1468] - Memory leak in TSaslServerTransport
1094 * [THRIFT-1461] - Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
1095 * [THRIFT-1460] - why not add unicode strings support to python directly?
1096 * [THRIFT-1464] - AbstractNonblockingServer.FrameBuffer TNonblockingTransport accessor changed from public to private
1097 * [THRIFT-1467] - Possible AV with empty strings when using JSON protocol
1098 * [THRIFT-1523] - clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
1099 * [THRIFT-1537] - TFramedTransport issues
1100 * [THRIFT-1519] - Thirft Build Failure referencing rb_intern2 symbol
1101 * [THRIFT-1518] - Generated C++ code only sends the first optional field in the write() function for a struct.
1102 * [THRIFT-1515] - NameError: global name 'TApplicationException' is not defined
1103 * [THRIFT-1554] - Inherited service methods are not resolved in derived service implementations
1104 * [THRIFT-1553] - thrift nodejs service side can't read map structure, key as enum, value as Object
1105 * [THRIFT-1575] - Typo in server/TThreadPoolServer.h
1106 * [THRIFT-1327] - Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
1107 * [THRIFT-1326] - on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
1108 * [THRIFT-1159] - THttpClient->Flush() issue (connection thru proxy)
1109 * [THRIFT-1277] - Node.js serializes false booleans as null
1110 * [THRIFT-1224] - Cannot insert UTF-8 text
1111 * [THRIFT-1267] - Node.js can't throw exceptions.
1112 * [THRIFT-1338] - Do not use an unpatched autoconf 2.65 to generate release tarball
1113 * [THRIFT-1128] - MAC OS X: thrift.h incompatibility with Thrift.h
1114 * [THRIFT-1631] - Fix C++ server constructor typos
1115 * [THRIFT-1602] - PHP C Extension is not Compatible with PHP 5.4
1116 * [THRIFT-1610] - IWebProxy not available on WP7 platform
1117 * [THRIFT-1606] - Race condition in BoostThreadFactory.cpp
1118 * [THRIFT-1604] - Python exception handeling for changes from PEP 3110
1119 * [THRIFT-1607] - Incorrect file modes for several source files
1120 * [THRIFT-1583] - c_glib leaks memory
1121 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
1122 * [THRIFT-1578] - C_GLib generated code does not compile
1123 * [THRIFT-1597] - TJSONProtocol.php is missing from Makefile.am
1124 * [THRIFT-1591] - Enable TCP_NODELAY for ruby gem
1125 * [THRIFT-1624] - Isset Generated differently on different platforms
1126 * [THRIFT-1622] - Incorrect size returned on read
1127 * [THRIFT-1621] - Memory leaks
1128 * [THRIFT-1612] - Base64 encoding is broken
1129 * [THRIFT-1627] - compiler built using compilers.vcxproj cannot be used to build some test .thrift files
1130 * [THRIFT-1571] - Update Ruby HTTP transport for recent Ruby versions
1131 * [THRIFT-1023] - Thrift encoding (UTF-8) issue with Ruby 1.9.2
1132 * [THRIFT-1090] - Document the generation of a file called "Constants.java"
1133 * [THRIFT-1082] - Thrift::FramedTransport sometimes calls close() on an undefined value
1134 * [THRIFT-956] - Python module's version meta-data should be updated
1135 * [THRIFT-973] - Cocoa library won't compile using clang
1136 * [THRIFT-1632] - ruby: data corruption in thrift_native implementation of MemoryBufferTransport
1137 * [THRIFT-1665] - TBinaryProtocol: exceeded message length raises generic TException
1138 * [THRIFT-1664] - Reference to non-existing variable in build script
1139 * [THRIFT-1663] - Java Thrift server is not throwing exceptions
1140 * [THRIFT-1662] - "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
1141 * [THRIFT-1643] - Denial of Service attack in TBinaryProtocol.readString
1142 * [THRIFT-1674] - Update Thrift D library to be compatible with 2.060
1143 * [THRIFT-1673] - Ruby compile flags for extension for multi arch builds (os x)
1144 * [THRIFT-1655] - Configure still trying to use thrift_generators in output
1145 * [THRIFT-1654] - c_glib thrift_socket_read() returns corrupted data
1146 * [THRIFT-1653] - TThreadedSelectorServer leaks CLOSE_WAIT sockets
1147 * [THRIFT-1658] - Java thrift server is not throwing TApplicationException
1148 * [THRIFT-1656] - Setting proper headers in THttpServer.cpp so that "Cross-Origin Resource Sharing" on js client can work.
1149 * [THRIFT-1652] - TSaslTransport does not log the error when kerberos auth fails
1150 * [THRIFT-2272] - CLONE - Denial of Service attack in TBinaryProtocol.readString
1151 * [THRIFT-2086] - Invalid generated code for Node.JS when using namespaces
1152 * [THRIFT-1686] - t_php_generator.cc uses "and" instead of "&&", and causes compiler errors with Visual Studio
1153 * [THRIFT-1693] - libthrift has dependency on two different versions of httpcore
1154 * [THRIFT-1689] - don't exit(-1) in TNonblockingServer
1155 * [THRIFT-1679] - NodeJS: protocol readString() should treat string as utf8, not binary
1156 * [THRIFT-1721] - Dist broken due to 0.8.0 to 0.9.0 changes
1157 * [THRIFT-1710] - Minor issues in test case code
1158 * [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()
1159 * [THRIFT-1707] - [ruby] Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
1160 * [THRIFT-1671] - Cocoa code generator does not put keywords into generated method calls
1161 * [THRIFT-1670] - Incompatibilities between different versions of a Thrift interface
1162 * [THRIFT-1669] - NameError: global name 'TApplicationException' is not defined
1163 * [THRIFT-1668] - Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
1164 * [THRIFT-1845] - Fix compiler warning caused by implicit string conversion with Xcode 4.6
1165 * [THRIFT-304] - Building the Python library requires development headers
1166 * [THRIFT-369] - sets and maps break equality
1167 * [THRIFT-556] - Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
1168 * [THRIFT-481] - indentation of ruby classes is off by a few
1169
1170## Improvement
1171 * [THRIFT-1498] - Allow TThreadedPoolServer.Args to pass a ExecutorService
1172 * [THRIFT-1444] - FunctionRunner - add syntactic sugar to create shared_ptrs
1173 * [THRIFT-1443] - define a TProcessor helper class to implement process()
1174 * [THRIFT-1441] - Generate constructor with parameters for exception class to let it update message property automatically.
1175 * [THRIFT-1520] - Embed version number in erlang .app file
1176 * [THRIFT-1480] - python: remove tabs, adjust whitespace and address PEP8 warnings
1177 * [THRIFT-1485] - Performance: pass large and/or refcounted arguments as "const"
1178 * [THRIFT-1484] - Introduce phpunit test suite
1179 * [THRIFT-1532] - The type specifications in the generated Erlang code should include "undefined" where it's used as a default value
1180 * [THRIFT-1534] - Required fields in the Delphi code generator.
1181 * [THRIFT-1469] - Java isset space optimization
1182 * [THRIFT-1465] - Visibility of methods in generated java code
1183 * [THRIFT-1453] - Don't change types of arguments when serializing with thrift php extension
1184 * [THRIFT-1452] - generate a swap() method for all generated structs
1185 * [THRIFT-1451] - FramedTransport: Prevent infinite loop when writing
1186 * [THRIFT-1521] - Two patches for more Performance
1187 * [THRIFT-1555] - Delphi version of the tutorial code
1188 * [THRIFT-1535] - Why thrift don't use wrapped class for optional fields ?
1189 * [THRIFT-1204] - Ruby autogenerated files should require 'thrift' gem
1190 * [THRIFT-1344] - Using the httpc module directly rather than the deprecated http layer
1191 * [THRIFT-1343] - no_auto_import min/2 to avoid compile warning
1192 * [THRIFT-1340] - Add support of ARC to Objective-C
1193 * [THRIFT-1611] - Improved code generation for typedefs
1194 * [THRIFT-1593] - Pass on errors like "connection closed" to the handler module
1195 * [THRIFT-1615] - PHP Namespace
1196 * [THRIFT-1567] - Thrift/cpp: Allow alternate classes to be used for
1197 * [THRIFT-1072] - Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
1198 * [THRIFT-1650] - [ruby] Update clean items and svn:ignore entries for OS X artifacts
1199 * [THRIFT-1661] - [PATCH] Add --with-qt4 configure option
1200 * [THRIFT-1675] - Do we have any plan to support scala?
1201 * [THRIFT-1645] - Replace Object#tee with more conventional Object#tap in specs
1202 * [THRIFT-1644] - Upgrade RSpec to 2.10.x and refactor specs as needed
1203 * [THRIFT-1672] - MonoTouch (and Mono for Android) compatibility
1204 * [THRIFT-1702] - a thrift manual
1205 * [THRIFT-1694] - Re-Enable serialization for WP7 Silverlight
1206 * [THRIFT-1691] - Serializer/deserializer support for Delphi
1207 * [THRIFT-1688] - Update IDL page markup
1208 * [THRIFT-1725] - Tutorial web pages for Delphi and C#
1209 * [THRIFT-1714] - [ruby] Explicitly add CWD to Ruby test_suites.rb
1210 * [THRIFT-317] - Issues with Java struct validation
1211 * [THRIFT-164] - Build web tutorial on Incubator web site
1212 * [THRIFT-541] - Cocoa code generator doesn't put keywords before all arguments.
1213 * [THRIFT-681] - The HTML generator does not handle JavaDoc style comments very well
1214
1215## New Feature
1216 * [THRIFT-1500] - D programming language support
1217 * [THRIFT-1510] - There should be an implementation of the JsonProtocol for ruby
1218 * [THRIFT-1115] - python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
1219 * [THRIFT-1953] - support for asp.net mvc 3
1220
1221## Question
1222 * [THRIFT-1235] - How could I use THttpServerTransportFactory withTNonBlockingServer
1223 * [THRIFT-1368] - TNonblockingServer usage
1224 * [THRIFT-1061] - Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
1225 * [THRIFT-491] - Ripping raw pthreads out of TFileTransport and associated test issues
1226
1227## Sub-task
1228 * [THRIFT-1596] - Delphi: Test clients should have a return codes that reflect whether they succeeded or not
1229 * [THRIFT-982] - javame: add version Info to the library
1230 * [THRIFT-1722] - C# WP7 Assembly addition beaks mono build
1231 * [THRIFT-336] - Compact Protocol in C#
1232
1233## Test
1234 * [THRIFT-1613] - Add code back into empty source file ToStringTest.java
1235 * [THRIFT-1718] - Incorrect check in TFileTransportTest
1236
1237## Wish
1238 * [THRIFT-1463] - Decouple Thrift IDL from generators
1239 * [THRIFT-1466] - Proper Documentation for Thrift C Glib
1240 * [THRIFT-1539] - Build and distribute the fb303 python libraries along with thrift
1241 * [THRIFT-1685] - Please add "aereo.com" to "Powered by Apache Thrift" list in about page
1242 * [THRIFT-330] - TProcessor - additional method to called when connection is broken
Jake Farrell6fcecd42012-10-11 20:34:25 +00001243
1244
Jake Farrell9c762582011-08-13 21:29:36 +00001245
jfarrell507ba1b2014-07-10 12:44:51 -04001246Thrift 0.8
1247--------------------------------------------------------------------------------
1248## Bug
1249 * [THRIFT-1436] - pip install thrift fails on Windows with "Unable to find vcvarsall.bat"
1250 * [THRIFT-1432] - Javascript struct constants declared in the same file as their struct definition will cause an error
1251 * [THRIFT-1428] - shared.thrft does not include namespace for php, so thrift compiler generate incorrect name
1252 * [THRIFT-1426] - Dist package missing files for release 0.8
1253 * [THRIFT-1425] - The Node package is incompatible with latest node (0.6) & npm (1.0.27)
1254 * [THRIFT-1416] - Python Unit test is broken on ci
1255 * [THRIFT-1419] - AbstractNonBlockingServer does not catch errors when invoking the processor
1256 * [THRIFT-1424] - Ruby specs fail when run with rake
1257 * [THRIFT-1420] - Nonblocking and HsHa server should make sure to close all their socket connections when the selector exits
1258 * [THRIFT-1413] - Generated code does not read MapEnd / ListEnd / SetEnd
1259 * [THRIFT-1409] - Name conflict check does not work properly for exception object(Delphi).
1260 * [THRIFT-1408] - Delphi Test Server: Exception test case fails due to naming conflict with e.message
1261 * [THRIFT-1407] - Typo in Python socket server causes Thrift to fail when we enable a global socket timout
1262 * [THRIFT-1397] - CI server fails during build due to unused parameters in delphi generator
1263 * [THRIFT-1404] - Delphi compiler generates struct reader code with problem.
1264 * [THRIFT-1400] - Ruby native extension aborts with __stack_chk_fail in OSX
1265 * [THRIFT-1399] - One of the TServerImpl.Create CTORs lacks implementation
1266 * [THRIFT-1390] - Debian packages build fix for Squeeze (build from the official 0.7.0 tarball)
1267 * [THRIFT-1393] - TTransportException's thrown from THttpClient contain superfluous slashes in the Exception message
1268 * [THRIFT-1392] - Enabling both namespaces and autoloading in generated PHP code won't work.
1269 * [THRIFT-1406] - Build error after applying THRIFT-1395
1270 * [THRIFT-1405] - Delphi compiler does not generates container serializer properly.
1271 * [THRIFT-1411] - java generator does not provide type parameter for TBaseProcessor
1272 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
1273 * [THRIFT-1331] - Ruby library deserializes an empty map to nil
1274 * [THRIFT-1330] - PHP Namespaces no longer generated
1275 * [THRIFT-1328] - TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
1276 * [THRIFT-1322] - OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
1277 * [THRIFT-1143] - Build doesn't detect correct architecture type on 64bit osx
1278 * [THRIFT-1205] - port server unduly fragile with arbitrary input
1279 * [THRIFT-1279] - type set is handled incorrectly when writing object
1280 * [THRIFT-1298] - Standard scheme doesn't read or write metadata along with field values
1281 * [THRIFT-1265] - C++ container deserialize
1282 * [THRIFT-1263] - publish ruby client to rubygems
1283 * [THRIFT-1384] - Java help menu missing newline near javame flag
1284 * [THRIFT-1382] - Bundle install doesnot work because thrift crashes
1285 * [THRIFT-1381] - Thrift C++ libs have incorrectly versioned names
1286 * [THRIFT-1350] - Go library code does not build as of r60 (most recent release)
1287 * [THRIFT-1365] - TupleProtocol#writeBitSet unintentionally writes a variable length byte array
1288 * [THRIFT-1359] - --gen-cob cpp:cob_style does not compile anymore
1289 * [THRIFT-1319] - Mismatch between how a union reads and writes a container
1290 * [THRIFT-1309] - libfb303-0.7.0.jar missing in maven repository
1291 * [THRIFT-1238] - Thrift JS client cannot read map of structures
1292 * [THRIFT-1254] - Code can't be compiled against a regular JRE: Object.clone() override has a different return type
1293 * [THRIFT-1367] - Mac OSX build fails with "no such file to load -- spec/rake/spectask"
1294 * [THRIFT-1355] - Running make in lib/rb doesn't build the native extensions
1295 * [THRIFT-1370] - Debian packaging should Build-Depend on libglib2.0-dev
1296 * [THRIFT-1342] - Compilation problem on Windows of fastbinary.c
1297 * [THRIFT-1341] - TProtocol.h endian detection wrong with boost
1298 * [THRIFT-1583] - c_glib leaks memory
1299 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
1300 * [THRIFT-1578] - C_GLib generated code does not compile
1301 * [THRIFT-1027] - 'make -j 16' fails with "unterminated #ifdef" error
1302 * [THRIFT-1121] - Java server performance regression in 0.6
1303 * [THRIFT-857] - tests run by "make install" fail if generators are disabled
1304 * [THRIFT-380] - Use setuptools for python build
1305
1306## Dependency upgrade
1307 * [THRIFT-1257] - thrift's dependency scope on javax.servlet:servlet-api should be 'provided'
1308
1309## Improvement
1310 * [THRIFT-1445] - minor C++ generator variable cleanup
1311 * [THRIFT-1435] - make TException.Message property conformant to the usual expectations
1312 * [THRIFT-1431] - Rename 'sys' module to 'util'
1313 * [THRIFT-1396] - Dephi generator has dependacy on boost 1.42 later.
1314 * [THRIFT-1395] - Patch to prevent warnings for integer types in some cases
1315 * [THRIFT-1275] - thrift: always prefix namespaces with " ::"
1316 * [THRIFT-1274] - thrift: fail compilation if an unexpected token is
1317 * [THRIFT-1271] - thrift: fix missing namespace in generated local
1318 * [THRIFT-1270] - thrift: add --allow-neg-keys argument to allow
1319 * [THRIFT-1345] - Allow building without tests
1320 * [THRIFT-1286] - Modernize the Thrift Ruby Library Dev Environment
1321 * [THRIFT-1284] - thrift: fix processor inheritance
1322 * [THRIFT-1283] - thrift: wrap t_cpp_generator::generate_process_function() to 80
1323 * [THRIFT-1282] - Upgrade httpclient to 4.1.2 (from 4.0.1)
1324 * [THRIFT-1281] - add @generated to the docblock
1325 * [THRIFT-1280] - Thrift: Improve Monitor exception-free interfaces
1326 * [THRIFT-1278] - javadoc warnings - compilation
1327 * [THRIFT-1227] - Erlang implementation of thrift JSON protocol
1328 * [THRIFT-1295] - Duplicate include in TSocket.cpp
1329 * [THRIFT-1294] - thrift: fix log message typos in TSimpleServer
1330 * [THRIFT-1293] - thrift: improve handling of exceptions thrown by
1331 * [THRIFT-1292] - thrift: silence log spew from TThreadedServer
1332 * [THRIFT-1288] - Allow typedefed exceptions in throws clauses
1333 * [THRIFT-1290] - thrift: TNonblockingServer: clean up state in the
1334 * [THRIFT-1287] - thrift: start refactoring some of the C++ processor
1335 * [THRIFT-1289] - thrift: implement TNonblockingServer::stop()
1336 * [THRIFT-1305] - thrift: make TConnection a private inner class of
1337 * [THRIFT-1304] - TNonblockingServer: pass in the connection context to
1338 * [THRIFT-1302] - thrift: raise an exception if send() times out in
1339 * [THRIFT-1301] - thrift: consolidate common code in TNonblockingServer
1340 * [THRIFT-1377] - abort PHP deserialization on unknown field type
1341 * [THRIFT-1379] - fix uninitialized enum values in thrift C++ objects
1342 * [THRIFT-1376] - Make port specification option in thrift remote
1343 * [THRIFT-1375] - fixed a hex char conversion bug in TJSONProtocol
1344 * [THRIFT-1373] - Fix user-defined exception generation in thrift (python)
1345 * [THRIFT-1361] - Optional replacement of pthread by boost::thread
1346 * [THRIFT-1320] - Consistency of configure generated config.h
1347 * [THRIFT-1317] - Remove copy constructibility from
1348 * [THRIFT-1316] - thrift: update server classes to accept
1349 * [THRIFT-1315] - thrift: generate server interface factory classes
1350 * [THRIFT-1314] - thrift: add TProcessorFactory
1351 * [THRIFT-1335] - Add accept timeout to TServerSocket
1352 * [THRIFT-1334] - Add more info to IllegalStateException
1353 * [THRIFT-1333] - Make RWGuard not copyable
1354 * [THRIFT-1332] - TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
1355 * [THRIFT-1251] - Generated java code should indicate which fields are required and which are optional
1356 * [THRIFT-1387] - Build MSVC libraries with Boost Threads instead of Pthreads
1357 * [THRIFT-1339] - Extend Tuple Protocol to TUnions
1358 * [THRIFT-1031] - Patch to compile Thrift for vc++ 9.0 and 10.0
1359 * [THRIFT-1130] - Add the ability to specify symbolic default value for optional boolean
1360 * [THRIFT-1123] - Patch to compile Thrift server and client for vc++ 9.0 and 10.0
1361 * [THRIFT-386] - Make it possible to build the Python library without the extension
1362
1363## New Feature
1364 * [THRIFT-1401] - JSON-protocol for Delphi XE Libraries
1365 * [THRIFT-1167] - Java nonblocking server with more than one thread for select and handling IO
1366 * [THRIFT-1366] - Delphi generator, lirbrary and unit test.
1367 * [THRIFT-1354] - Add rake task to build just the gem file
1368 * [THRIFT-769] - Pluggable Serializers
1369
1370## Sub-task
1371 * [THRIFT-1415] - delphi: add version Info to the library
1372 * [THRIFT-1391] - Improved Delphi XE test cases
Jake Farrell9c762582011-08-13 21:29:36 +00001373
1374
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00001375
jfarrell507ba1b2014-07-10 12:44:51 -04001376Thrift 0.7
1377--------------------------------------------------------------------------------
1378## Bug
1379 * [THRIFT-1140] - Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
1380 * [THRIFT-1154] - HttpClient does not specify the connection close parameter
1381 * [THRIFT-1153] - HttpClient does not specify the connection close parameter
1382 * [THRIFT-1149] - Nonblocking server fails when client connection is reset
1383 * [THRIFT-1146] - Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor
1384 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
1385 * [THRIFT-1132] - Deserialization error in TApplicationException C#
1386 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
1387 * [THRIFT-1208] - python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec for CONTAINER_WRITE, CONTAINER_READ
1388 * [THRIFT-1200] - JS compiler generates code that clobbers existing namespaces
1389 * [THRIFT-1183] - Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
1390 * [THRIFT-1182] - Native deserializer segfaults on incorrect list element type
1391 * [THRIFT-1181] - AS3 compiler generates incorrect code for setting default values in constructor
1392 * [THRIFT-1234] - thrift --help is missing doc on py:utf8strings
1393 * [THRIFT-1180] - AS3 compiler generates uncompilable code for binary types.
1394 * [THRIFT-1194] - Java lib does not install artifacts to local dir correctly
1395 * [THRIFT-1193] - Potential infinite loop in nonblocking_server
1396 * [THRIFT-1192] - Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
1397 * [THRIFT-1190] - readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage and general server malfunction
1398 * [THRIFT-1187] - nonblocking_server shutdown race under Ruby 1.9
1399 * [THRIFT-1178] - Java: TBase signature should be T extends TBase<?,?>
1400 * [THRIFT-1164] - Segmentation fault on NULL pointer in t_js_generator::generate_const
1401 * [THRIFT-1171] - Perl write/readDouble assumes little-endian platform
1402 * [THRIFT-1222] - Unhandled exception for TEvhttpServer request
1403 * [THRIFT-1220] - TProcessor::process never returns false
1404 * [THRIFT-1285] - Stable 0.7.0 Windows compiler exe available on the webside is not the good one
1405 * [THRIFT-1218] - c_glib uses wrong name in pkg-config
1406 * [THRIFT-1215] - Undefined property Thirft in lib/js/thrift.js
1407 * [THRIFT-1211] - When using THttpClient, non 200 responses leave the connection open
1408 * [THRIFT-1228] - The php accelerator module calls flush incorrectly
1409 * [THRIFT-1308] - libfb303-0.7.0.jar missing in maven repository
1410 * [THRIFT-1255] - Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
1411 * [THRIFT-1253] - Code generated for maps is not compiling
1412 * [THRIFT-1252] - Segfault in Ruby deserializer
1413 * [THRIFT-1094] - bug in TCompactProto python readMessageEnd method and updated test cases
1414 * [THRIFT-1093] - several bugs in python TCompactProtocol
1415 * [THRIFT-1092] - generated validate() method has wrong indentation
1416 * [THRIFT-1011] - Error generating package imports when using classes from other packages
1417 * [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
1418 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
1419 * [THRIFT-1067] - Tons of bugs in php implementation
1420 * [THRIFT-1065] - Unexpected exceptions not proper handled on JS
1421 * [THRIFT-1076] - Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception
1422 * [THRIFT-1057] - casts in TBinaryProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
1423 * [THRIFT-1055] - csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
1424 * [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
1425 * [THRIFT-1117] - JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment
1426 * [THRIFT-1111] - The HTML generator does not distinguish between string and binary types
1427 * [THRIFT-1032] - "make dist" fails due to c_glib problem
1428 * [THRIFT-1036] - Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
1429 * [THRIFT-1041] - TDeserializer holds onto a reference of the array it reads after it is done deserializing
1430 * [THRIFT-1106] - C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions but no virtual destructor. Causes warnings on -Wall
1431 * [THRIFT-1105] - OCaml generator does not prefix methods of included structs with their type
1432 * [THRIFT-1104] - INSTALLDIRS should be included in configure script
1433 * [THRIFT-1102] - typo in configure.ac: "==" operator in 'test' (instead of"'=")
1434 * [THRIFT-1101] - bytebuffer length calculation in TBinaryProtocol writeBinary
1435 * [THRIFT-1098] - Undefined properties in TBinaryProtocolFactory
1436 * [THRIFT-1081] - PHP tests broken and somewhat incomplete
1437 * [THRIFT-1080] - erlang test's 'make' fails on Mac OSX
1438 * [THRIFT-1078] - ThriftTest.thrift generates invalid PHP library
1439 * [THRIFT-1120] - proto.WriteListEnd being called in the wrong place
1440 * [THRIFT-1119] - TJSONProtocol fails to UTF8 decode strings
1441 * [THRIFT-867] - PHP accelerator module's output transport is incompatible with TFramedTransport
1442 * [THRIFT-826] - PHP TSocket Write Timeout
1443 * [THRIFT-835] - Bad AS3 syntax in constructors that set default values
1444 * [THRIFT-788] - thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
1445 * [THRIFT-125] - OCaml libraries don't compile with 32-bit ocaml
1446 * [THRIFT-342] - PHP: can't have sets of complex types
1447 * [THRIFT-731] - configure doesn't check for ant >= 1.7
1448 * [THRIFT-690] - Update TApplicationException codes
1449 * [THRIFT-638] - BufferedTransport + C extensions block until recv timeout is reached on last fread call
1450
1451## Dependency upgrade
1452 * [THRIFT-1177] - Update thrift to reflect changes in Go's networking libraries
1453
1454## Improvement
1455 * [THRIFT-1155] - Remove log4j dependency from java client
1456 * [THRIFT-1151] - Produce more informative runtime error in case of schema and data mismatch during serialization
1457 * [THRIFT-1207] - Support DESTDIR on "make install" of ruby libs
1458 * [THRIFT-1199] - Union structs should have generated methods to test whether a specific field is currently set
1459 * [THRIFT-1233] - Remove unused include in generated C++ code
1460 * [THRIFT-1189] - Ruby deserializer speed improvements
1461 * [THRIFT-1170] - Thrift Generated Code and Java 5
1462 * [THRIFT-1174] - Publish as3 client implementation via Maven for use by flex-mojos users
1463 * [THRIFT-1225] - TCompactProtocol for PHP
1464 * [THRIFT-1221] - Remove SimpleCallback.h
1465 * [THRIFT-1217] - Use evutil_socketpair instead of pipe (Windows port)
1466 * [THRIFT-1216] - build Java Library behind a proxy
1467 * [THRIFT-1231] - Remove bogus include
1468 * [THRIFT-1213] - Membuffer should provide a way to get back the buffer
1469 * [THRIFT-1237] - Java fb303 missing some methods
1470 * [THRIFT-1063] - Fix Erlang Tutorial Files
1471 * [THRIFT-1053] - Make remote client's IP address available for all socket related transports
1472 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
1473 * [THRIFT-1107] - improvement for compiler-generated python for 'None' object comparisons
1474 * [THRIFT-1069] - Add command line option to prevent thrift from inserting gen-* directories
1475 * [THRIFT-1049] - Allow for TServerSocket python library to bind to a specific host
1476 * [THRIFT-1126] - Extending struct_info for erlang bindings
1477 * [THRIFT-1100] - python TSSLSocket improvements, including certificate validation
1478 * [THRIFT-994] - Don't try to invoke phpize if we don't have it
1479 * [THRIFT-993] - Some improvements in C++ stubs for oneway operations
1480 * [THRIFT-997] - Using valueOf for base types in getFieldValue
1481 * [THRIFT-418] - Don't do runtime sorting of struct fields
1482 * [THRIFT-151] - TSSLServerSocket and TSSLSocket implementation
1483 * [THRIFT-27] - Generated erlang types don't contain default values for records
1484 * [THRIFT-113] - to-string methods should omit optional null fields from output
1485 * [THRIFT-363] - Maven Deploy
1486 * [THRIFT-447] - Make an abstract base Client class so we can generate less code
1487 * [THRIFT-627] - should c++ have setters for optional fields?
1488
1489## New Feature
1490 * [THRIFT-1236] - Erlang Reconnecting Thrift Client
1491 * [THRIFT-1021] - Framed transport support for OCaml
1492 * [THRIFT-1068] - Python SSL Socket Support
1493 * [THRIFT-1103] - TZlibTransport for python, a zlib compressed transport
1494 * [THRIFT-1083] - Preforking python process pool server
1495 * [THRIFT-999] - Add TForkingServer
1496
1497## Sub-task
1498 * [THRIFT-1152] - Attributes from private to protected
1499 * [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
1500
1501## Task
1502 * [THRIFT-892] - Refactor erlang build system with rebar
1503
1504## Wish
1505 * [THRIFT-625] - Add support for 'Go'
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00001506
1507
Bryan Duxburyf0755e92010-09-28 15:06:38 +00001508
jfarrell507ba1b2014-07-10 12:44:51 -04001509Thrift 0.6.1
1510--------------------------------------------------------------------------------
1511## Bug
1512 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
1513 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
1514 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
1515
1516## Improvement
1517 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
1518 * [THRIFT-363] - Maven Deploy
1519
1520## Question
1521 * [THRIFT-1206] - did the THRIFT 0.6.1 merge THRIFT-563 ?
1522
1523## Sub-task
1524 * [THRIFT-1163] - How can i use multi service in one program?
1525
1526## Task
1527 * [THRIFT-1112] - Apply THRIFT-363 to 0.6 branch
1528 * [THRIFT-1113] - Apply THRIFT-1074 to 0.6 branch
1529
1530
1531
1532Thrift 0.6
1533--------------------------------------------------------------------------------
1534## Bug
1535 * [THRIFT-1020] - OCaml compiler generates invalid OCaml
1536 * [THRIFT-1015] - TUnion does not handle ByteBuffer in toString
1537 * [THRIFT-1013] - generated java code may have name clashes with thrift library
1538 * [THRIFT-1009] - TUnion does not correctly deep copy a ByteBuffer
1539 * [THRIFT-1032] - "make dist" fails due to c_glib problem
1540 * [THRIFT-868] - Referencing constant values doesn't work with with typedef types
1541 * [THRIFT-971] - java module can't be compiled without ivy and network connection
1542 * [THRIFT-970] - Under heavy load, THttpClient may fail with "too many open files"
1543 * [THRIFT-969] - Java Tutorial broken, move CalculatorHandler to a separate file
1544 * [THRIFT-807] - JavaScript: Initialization of Base Types with 0 instead of null
1545 * [THRIFT-955] - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
1546 * [THRIFT-992] - Naming convention in C# constructor is not consistent with other fields causes compile errors
1547 * [THRIFT-1008] - byte[] accessors throw NPE on unset field
1548 * [THRIFT-1006] - Impossible to correctly qualify an enum constant in an external thrift file
1549 * [THRIFT-950] - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
1550 * [THRIFT-975] - lib/c_glib/README is missing => breaks make dist
1551 * [THRIFT-944] - Support all version-4s of base
1552 * [THRIFT-939] - optional binary fields throw NPE on default byte[] getters
1553 * [THRIFT-935] - PHP Extension aborts the build if php-config is not installed
1554 * [THRIFT-933] - Haskell's Thrift.cabal has warnings
1555 * [THRIFT-932] - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
1556 * [THRIFT-904] - C# TSocket should disable nagle and linger
1557 * [THRIFT-941] - Make PHP C Extension use the defined Protocol writeMessageBegin function
1558 * [THRIFT-940] - 'make check' fails if boost is not in the std include and link paths
1559 * [THRIFT-924] - Fix generated php structure constants
1560 * [THRIFT-979] - ruby bindings used to work on jruby
1561 * [THRIFT-977] - Hex Conversion Bug in C++ TJSONProtocol
1562 * [THRIFT-347] - PHP TSocket Timeout Issues
1563 * [THRIFT-517] - TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes
1564
1565## Improvement
1566 * [THRIFT-1024] - Add Python Twisted example to the Tutorial
1567 * [THRIFT-958] - Change accessmodifer on trans_ field in the FrameBuffer class to public.
1568 * [THRIFT-957] - THsHaServer: Change access modifier of the invoker field.
1569 * [THRIFT-1002] - CodeStyle: t_c_glib_generator.cc
1570 * [THRIFT-1005] - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
1571 * [THRIFT-951] - Add a new isServing() method to TServer
1572 * [THRIFT-943] - Silly readme typo fix.
1573 * [THRIFT-961] - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
1574 * [THRIFT-960] - add TestServer, TestNonblockingServer and TestClient again
1575 * [THRIFT-949] - Modify the TEnum interface so it defines a method similar to findByValue
1576 * [THRIFT-946] - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
1577 * [THRIFT-903] - custom ThreadFactory in THsHaServer
1578 * [THRIFT-913] - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
1579 * [THRIFT-926] - Miscellaneous C++ improvements
1580 * [THRIFT-929] - Improvements to the C++ test suite
1581 * [THRIFT-893] - add JavaScript to the tutorial examples
1582 * [THRIFT-1003] - Polishing c_glib code
1583 * [THRIFT-71] - Debian packaging for thrift
1584
1585## New Feature
1586 * [THRIFT-1033] - Node.js language target
1587 * [THRIFT-947] - Provide a helper method to determine the TProtocol used to serialize some data.
1588 * [THRIFT-928] - Make more statistics available in C++ servers
1589 * [THRIFT-922] - Templatized [de]serialization code for C++
1590 * [THRIFT-923] - Event-driven client and server support for C++
1591 * [THRIFT-925] - Provide name<->value map for enums in C++
1592 * [THRIFT-927] - Add option to modify the PHP include path
1593 * [THRIFT-377] - TFileTransport port in Java
1594 * [THRIFT-106] - TSSLServerSocket
1595 * [THRIFT-582] - C implementation of Thrift
1596 * [THRIFT-745] - Make it easier to instantiate servers
1597
1598## Sub-task
1599 * [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
1600
1601## Task
1602 * [THRIFT-862] - Async client issues / improvements
1603
1604## Test
1605 * [THRIFT-581] - Add a testsuite for txThrift (Twisted)
1606
1607
1608
1609Thrift 0.5.0 - Incubating
1610--------------------------------------------------------------------------------
Bryan Duxburyf0755e92010-09-28 15:06:38 +00001611THRIFT-505 Build Make configure give a summary of the enabled components (David Reiss)
1612THRIFT-506 Build Allow Thrift to be built without the C++ library (David Reiss)
1613THRIFT-844 Build Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg)
1614THRIFT-850 Build Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum)
1615THRIFT-854 Build Provide configure option and make rules to build/install php extension (Anthony Molinaro)
1616THRIFT-858 Build Have bootstrap.sh check for a suitable autoconf version before running (David Reiss)
1617THRIFT-871 Build Thrift compiler for WIndows (binary distribution) (David Reiss)
1618THRIFT-323 C# TJSONProtocol (Roger Meier)
1619THRIFT-634 C# C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar)
1620THRIFT-881 C# add csharp to the tutorial (Roger Meier)
1621THRIFT-856 C++ Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke)
1622THRIFT-865 C++ C++ compiler build depends on libfl even when flex/lex not detected (David Reiss)
1623THRIFT-900 C++ Unix domain socket (Roger Meier)
1624THRIFT-920 C++ C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier)
1625THRIFT-567 C++ Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert)
1626THRIFT-756 C++ Exposing TSocket(int) constructor to public (Rajat Goel)
1627THRIFT-798 C++ TNonblockingServer leaks resources when destroyed (David Reiss)
1628THRIFT-812 C++, Python Demo of Thrift over ZeroMQ (David Reiss)
1629THRIFT-629 Cocoa Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar)
1630THRIFT-838 Cocoa Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard)
1631THRIFT-805 Cocoa Don't generate process_XXXX methods for oneway methods (Brad Taylor)
1632THRIFT-507 Compiler Remove the compiler's dependency on Boost (David Reiss)
1633THRIFT-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)
1634THRIFT-852 Compiler (General) Missing newline causes many compiler warnings (Anthony Molinaro)
1635THRIFT-877 Compiler (General) smalltalk namespace doesn't work (Bruce Lowekamp)
1636THRIFT-897 Compiler (General) Don't allow unqualified constant access to enum values (Bryan Duxbury)
1637THRIFT-9 Compiler (General) Add a default namespace declaration for all languages (David Reiss)
1638THRIFT-599 Erlang Don't use unnecessary processes in the Erlang transports and clients (David Reiss)
1639THRIFT-646 Erlang Erlang library is missing install target (David Reiss)
1640THRIFT-698 Erlang Generated module list should contain atoms, not strings (Anthony Molinaro)
1641THRIFT-866 Erlang term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro)
1642THRIFT-886 Erlang Dialyzer warning (Anthony Molinaro)
1643THRIFT-785 Erlang Framed transport server problems (Anthony Molinaro)
1644THRIFT-884 HTML HTML Generator: add Key attribute to the Data Types Tables (Roger Meier)
1645THRIFT-652 Haskell Generated field name for strut is not capitalized correctly (Christian Lavoie)
1646THRIFT-743 Haskell compile error with GHC 6.12.1 (Christian Lavoie)
1647THRIFT-901 Haskell Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie)
1648THRIFT-905 Haskell Make haskell thrift bindings use automake to compile and install (Christian Lavoie)
1649THRIFT-906 Haskell Improve type mappings (Christian Lavoie)
1650THRIFT-914 Haskell Make haskell bindings 'easily' compilable (Christian Lavoie)
1651THRIFT-918 Haskell Make haskell tests run again (Christian Lavoie)
1652THRIFT-919 Haskell Update Haskell bindings README (Christian Lavoie)
1653THRIFT-787 Haskell Enums are not read correctly (Christian Lavoie)
1654THRIFT-250 Java ExecutorService as a constructor parameter for TServer (Ed Ceaser)
1655THRIFT-693 Java Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury)
1656THRIFT-843 Java TNonblockingSocket connects without a timeout (Bryan Duxbury)
1657THRIFT-845 Java async client does not respect timeout (Ning Liang)
1658THRIFT-870 Java Java constants don't get Javadoc comments (Bryan Duxbury)
1659THRIFT-873 Java Java tests fail due to Too many open files (Todd Lipcon)
1660THRIFT-876 Java Add SASL support (Aaron T. Myers)
1661THRIFT-879 Java Remove @Override from TUnion.clear (Dave Engberg)
1662THRIFT-882 Java deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury)
1663THRIFT-888 Java async client should also have nonblocking connect (Eric Jensen)
1664THRIFT-890 Java Java tutorial doesn't work (Todd Lipcon)
1665THRIFT-894 Java Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury)
1666THRIFT-896 Java TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen)
1667THRIFT-907 Java libfb303 doesn't compile in 0.4.0 (Todd Lipcon)
1668THRIFT-912 Java Improvements and bug fixes to SASL implementation (Todd Lipcon)
1669THRIFT-917 Java THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser)
1670THRIFT-931 Java Use log4j for Java tests (Todd Lipcon)
1671THRIFT-880 JavaME JavaME code generator and runtime library (Dave Engberg)
1672THRIFT-846 JavaScript JavaScript Test Framwork: extended Testcases (Roger Meier)
1673THRIFT-885 JavaScript Url encoded strings never get decoded? How do we fix this? (T Jake Luciani)
1674THRIFT-911 JavaScript (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani)
1675THRIFT-860 OCaml copy method and reset method (Lev Walkin)
1676THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
1677THRIFT-851 PHP php extension fails to compile on centos 5.x (Todd Lipcon)
1678THRIFT-840 Perl Perl protocol handler could be more robust against unrecognised types (Conrad Hughes)
1679THRIFT-758 Perl incorrect deference in exception handling (Yann Kerherve)
1680THRIFT-257 Python Support validation of required fields (Esteve Fernandez)
1681THRIFT-335 Python Compact Protocol for Python (David Reiss)
1682THRIFT-596 Python Make Python's TBufferedTransport use a configurable input buffer (David Reiss)
1683THRIFT-597 Python Python THttpServer performance improvements (David Reiss)
1684THRIFT-598 Python Allow Python's threading servers to use daemon threads (David Reiss)
1685THRIFT-666 Python Allow the handler to override HTTP responses in THttpServer (David Reiss)
1686THRIFT-673 Python Generated Python code has whitespace issues (Ian Eure)
1687THRIFT-721 Python THttpClient ignores url parameters (Thomas Kho)
1688THRIFT-824 Python TApplicationException.__str__() refers to class constants as globals (Peter Schuller)
1689THRIFT-855 Python Include optimized compiled python objects in install (Anthony Molinaro)
1690THRIFT-859 Python Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp)
1691THRIFT-869 Python TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight)
1692THRIFT-875 Python Include python setup.cfg in dist (Anthony Molinaro)
1693THRIFT-610 Ruby binary_protocol.rb segfaults [line 86] (Unassigned)
1694THRIFT-899 Ruby Ruby read timeouts can sometimes be 2x what they should be (Ryan King)
1695THRIFT-909 Ruby allow block argument to struct constructor (Michael Stockton)
1696THRIFT-456 Test Suite Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)
1697
1698
jfarrell507ba1b2014-07-10 12:44:51 -04001699Thrift 0.4.0 - Incubating
1700--------------------------------------------------------------------------------
Bryan Duxburyd7042702010-08-13 04:28:13 +00001701THRIFT-650 Build Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro)
1702THRIFT-770 Build Get 'make dist' to work without first compiling source code (Anthony Molinaro)
1703THRIFT-160 C# Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene)
1704THRIFT-834 C# THttpClient resends contents of message after transport errors (Anatoly Fayngelerin)
1705THRIFT-247 C++ THttpServer Transport (Unassigned)
1706THRIFT-676 C++ Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned)
1707THRIFT-570 Compiler Thrift compiler does not error when duplicate method names are present (Bruce Simpson)
1708THRIFT-808 Compiler Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury)
1709THRIFT-646 Erlang Erlang library is missing install target (Anthony Molinaro)
1710THRIFT-544 General multiple enums with the same key generate invalid code (Ben Taitelbaum)
1711THRIFT-434 General ruby compiler should warn when a reserved word is used (Michael Stockton)
1712THRIFT-799 General Files missing proper Apache license header (Bryan Duxbury)
1713THRIFT-832 HTML HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury)
1714THRIFT-226 Java Collections with binary keys or values break equals() (Bryan Duxbury)
1715THRIFT-484 Java Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury)
1716THRIFT-714 Java maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury)
1717THRIFT-751 Java Add clear() method to TBase (Bryan Duxbury)
1718THRIFT-765 Java Improved string encoding and decoding performance (Bryan Duxbury)
1719THRIFT-768 Java Async client for Java (Bryan Duxbury)
1720THRIFT-774 Java TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski)
1721THRIFT-783 Java .equals java method is broken on structs containing binary-type fields (Unassigned)
1722THRIFT-804 Java CompareTo is broken for unions set to map, set, or list (Bryan Duxbury)
1723THRIFT-814 Java Include a TServlet in the standard Thrift distribution (Mathias Herberts)
1724THRIFT-818 Java Async client doesn't send method args (Bryan Duxbury)
1725THRIFT-830 Java Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury)
1726THRIFT-831 Java FramedTransport implementation that reuses its buffers (Bryan Duxbury)
1727THRIFT-833 Java build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury)
1728THRIFT-836 Java Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury)
1729THRIFT-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)
1730THRIFT-815 JavaScript Deserialization of lists is critically broken. (T Jake Luciani)
1731THRIFT-827 OCaml OCaml generator to take default values into account (Lev Walkin)
1732THRIFT-647 PHP PHP library is missing install target (Anthony Molinaro)
1733THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
1734THRIFT-718 PHP Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford)
1735THRIFT-778 PHP PHP socket listening server (Nick Jones)
1736THRIFT-780 PHP PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss)
1737THRIFT-837 PHP PHP accelerator bug for writes > 8k (Thomas Kho)
1738THRIFT-782 Perl Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes)
1739THRIFT-395 Python Python library + compiler does not support unicode strings (Unassigned)
1740THRIFT-133 Ruby 'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury)
1741THRIFT-664 Ruby Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati)
1742THRIFT-699 Ruby Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury)
1743THRIFT-767 Ruby ruby compiler does not keep comments for enum values (Bryan Duxbury)
1744THRIFT-811 Ruby http_client_transport.rb: allow custom http headers (Tony Kamenick)
1745THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)
1746
1747
jfarrell507ba1b2014-07-10 12:44:51 -04001748Thrift 0.1.0 - Incubating (not released)
1749--------------------------------------------------------------------------------
Kevin Clark38919c52009-04-07 19:12:01 +00001750Compatibility Breaking Changes:
David Reiss7d64c0a2009-04-08 20:46:13 +00001751 C++:
David Reissc42485a2009-04-07 23:44:01 +00001752 * It's quite possible that regenerating code and rebuilding will be
1753 required. Make sure your headers match your libs!
1754
David Reiss7d64c0a2009-04-08 20:46:13 +00001755 Java:
David Reissc42485a2009-04-07 23:44:01 +00001756
David Reiss7d64c0a2009-04-08 20:46:13 +00001757 Python:
David Reissc42485a2009-04-07 23:44:01 +00001758
David Reiss7d64c0a2009-04-08 20:46:13 +00001759 Ruby:
Kevin Clark38919c52009-04-07 19:12:01 +00001760 * Generated files now have underscored names [THRIFT-421]
1761 * The library has been rearranged to be more Ruby-like [THRIFT-276]
1762
David Reiss7d64c0a2009-04-08 20:46:13 +00001763 Erlang:
David Reissc42485a2009-04-07 23:44:01 +00001764 * Generated code will have to be regenerated, and the new code will
1765 have to be deployed atomically with the new library code [THRIFT-136]
jfarrell507ba1b2014-07-10 12:44:51 -04001766
Kevin Clark38919c52009-04-07 19:12:01 +00001767New Features and Bug Fixes:
David Reiss7d64c0a2009-04-08 20:46:13 +00001768 C++:
David Reissc42485a2009-04-07 23:44:01 +00001769 * Support for TCompactProtocol [THRIFT-333]
Kevin Clark38919c52009-04-07 19:12:01 +00001770
David Reiss7d64c0a2009-04-08 20:46:13 +00001771 Java:
Kevin Clark38919c52009-04-07 19:12:01 +00001772 * Support for TCompactProtocol [THRIFT-110]
1773
David Reiss7d64c0a2009-04-08 20:46:13 +00001774 Python:
David Reissc42485a2009-04-07 23:44:01 +00001775 * Support for Twisted [THRIFT-148]
1776
David Reiss7d64c0a2009-04-08 20:46:13 +00001777 Ruby:
David Reissc42485a2009-04-07 23:44:01 +00001778 * Support for TCompactProtocol [THRIFT-332]
1779