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