blob: 7b674d6f65862bdccbaf436e5c93dee22f97797f [file] [log] [blame]
jfarrell507ba1b2014-07-10 12:44:51 -04001Apache Thrift Changelog
Kevin Clark38919c52009-04-07 19:12:01 +00002
James E. King, IIId6de1992017-04-06 09:22:22 -04003Thrift 0.10.0
4--------------------------------------------------------------------------------
5## Bug
6 * [THRIFT-1840] - Thrift Generated Code Causes Global Variable Leaks
7 * [THRIFT-1828] - moc_TQTcpServer.cpp was removed from source tree but is in thrift-0.9.0.tar.gz
8 * [THRIFT-1790] - cocoa: Duplicate interface definition error
9 * [THRIFT-1776] - TPipeServer should implement "listen", so that TServerEventHandler preServe will work right
10 * [THRIFT-1351] - Compiler does not care about binary strings
11 * [THRIFT-1229] - Python fastbinary.c can not handle unicode as generated python code
12 * [THRIFT-749] - C++ TBufferedTransports do not flush their buffers on delete
13 * [THRIFT-747] - C++ TSocket->close calls shutdown breaking forked parent process
14 * [THRIFT-732] - server exits abnormally when client calls send_xxx function without calling recv_xxx function
15 * [THRIFT-3942] - TSSLSocket does not honor send and receive timeouts
16 * [THRIFT-3941] - WinXP version of thrift_poll() relies on undefined behavior by passing a destructed variable to select()
17 * [THRIFT-3940] - Visual Studio project file for compiler is broken
18 * [THRIFT-3943] - Coverity Scan identified some high severity defects
19 * [THRIFT-3929] - PHP "nsglobal" Option Results in Syntax Error in Generated Code (Trailing Backslash)
20 * [THRIFT-3936] - Cannot compile 0.10.0 development tip with VS2013 and earlier (snprintf, uint32_t)
21 * [THRIFT-3935] - Incorrect skipping of map and set
22 * [THRIFT-3920] - Ruby: Ensuring that HTTP failures will clear the http transport outbuf var
23 * [THRIFT-3919] - C# TTLSServerSocket does not use clientTimeout
24 * [THRIFT-3917] - Check backports.ssl_match_hostname module version
25 * [THRIFT-3909] - Fix c_glib static lib CMake build
26 * [THRIFT-3904] - Typo in node tutorial leads to wrong transport being used
27 * [THRIFT-3848] - As an implementer of a perl socket server, I do not want to have to remember to ignore SIGCHLD for it to work properly
28 * [THRIFT-3844] - thrift_protocol cannot compile in 7.0.7
29 * [THRIFT-3843] - integer issues with Haxe PHP targets cause ZigZag encoding to fail
30 * [THRIFT-3842] - Dart generates incorrect code for a const struct
31 * [THRIFT-3841] - dart compact protocol incorrectly serializes/deserialized doubles
32 * [THRIFT-3708] - NameError: global name 'TProtocol' is not defined
33 * [THRIFT-3704] - "TConnectedClient died: Could not refill buffer" message shown when using HTTP Server
34 * [THRIFT-3678] - Fix javadoc errors on JDK 8
35 * [THRIFT-3014] - AppVeyor support
36 * [THRIFT-2994] - Node.js TJSONProtocol cannot be used for object serialization.
37 * [THRIFT-2974] - writeToParcel throws NPE for optional enum fields
38 * [THRIFT-2948] - Python TJSONProtocol doesn't handle structs with binary fields containing invalid unicode.
39 * [THRIFT-2845] - ChildService.Plo: No such file or directory
40 * [THRIFT-3276] - Binary data does not decode correctly using the TJSONProtocol when the base64 encoded data is padded.
41 * [THRIFT-3253] - Using latest version of D gives deprecation notices
42 * [THRIFT-2883] - TTwisted.py, during ConnectionLost processing: exceptions.RuntimeError: dictionary changed size during iteration
43 * [THRIFT-2019] - Writing on a disconnected socket on Mac causes SIG PIPE
44 * [THRIFT-2020] - Thrift library has some empty files that haven't really been deleted
45 * [THRIFT-2049] - Go compiler doesn't build on native Windows
46 * [THRIFT-2024] - TServer.cpp warns on 64-bit platforms about truncating an rlim_t into an int
47 * [THRIFT-2023] - gettimeofday implementation on Windows errors when no time zone is passed in.
48 * [THRIFT-2022] - CoB and dense code generation still uses TR1 bind, even though that doesn't work with clang
49 * [THRIFT-2027] - Minor 64-bit and NOMINMAX issues in C++ library
50 * [THRIFT-2156] - TServerSocket::listen() is throwing exceptions with misleading information
51 * [THRIFT-2154] - Missing <operator body
52 * [THRIFT-2148] - TNonblockingMultiFetchClient imports log4j
53 * [THRIFT-2103] - [python] Support for SSL certificates with Subject Alternative Names
54 * [THRIFT-1931] - Sending a frame size of zero to a TNonblockingServer causes an assertion failure
55 * [THRIFT-1751] - definition of increase_max_fds doesn't compile when HAVE_SYS_RESOURCE_H is not defined
56 * [THRIFT-1522] - TServerSocket potential memory leak with addrinfo *res0
57 * [THRIFT-1547] - Problems building against static libevent
58 * [THRIFT-1545] - Generated javascript code uses "for in" for looping over arrays
59 * [THRIFT-1487] - Namespace problem, compile fails on generated code
60 * [THRIFT-1472] - Configuration conflicts with boost platform include header
61 * [THRIFT-6] - Thrift libraries and compiler lack version number
62 * [THRIFT-1680] - make install requires GNU make
63 * [THRIFT-3869] - Dart Tutorial build fails with Error 65 at "pub get"
64 * [THRIFT-3861] - Travis CI builds are timing out - C++TServerIntegrationTest appears to be hanging
65 * [THRIFT-3855] - In the go simple server, if Stop() is called multiple times it hangs
66 * [THRIFT-3885] - PHP: Error when readI64 in TCompactProtocol
67 * [THRIFT-3883] - Go TestAllConnection can fail with port 9090 collision
68 * [THRIFT-3884] - Fix Erlang compact protocol double endianess and boolean list
69 * [THRIFT-3880] - Erlang Compact protocol - boolean values inverted
70 * [THRIFT-3879] - Undefined evaluation order causes incorrect processing in the C++ library JSON protocol
71 * [THRIFT-3851] - Golang thrift continually adds the x/thrift content type
72 * [THRIFT-3850] - All apache builds are failing when initiated from a github pull request
73 * [THRIFT-3837] - Thift 0.9.3 can't be build with QuickCheck 2.8.2 and unordered-containers 0.2.6
74 * [THRIFT-3831] - build of test/cpp/src/TestClient.cpp fails with newer gcc on platforms with unsigned char due to narrowing conversions
75 * [THRIFT-3827] - php CompactProtocol readI64 function has bug, when value has 32bit ~64bit, Example:value=1461563457000
76 * [THRIFT-3825] - Javascript test dependency is no longer available
77 * [THRIFT-3814] - Fix contention in TNonblockingServerTest
78 * [THRIFT-3793] - Appveyor builds reference an ant version that is no longer there
79 * [THRIFT-3786] - Node.js TLS emits 'connect' before connection is ready
80 * [THRIFT-3780] - Fix dart int64 usage when compiled to js
81 * [THRIFT-3789] - Node.js lacks ability to destroy connection
82 * [THRIFT-3796] - There's no --dbg for dh_strip, maybe someone has mistaken this for --dbg-package.
83 * [THRIFT-3795] - Generated hashValue method in Swift will overflow
84 * [THRIFT-3790] - Fix Delphi named pipe client to use timeout even when pipe doesn't yet exist
85 * [THRIFT-3787] - Node.js Connection object doesn't handle errors correctly
86 * [THRIFT-3791] - Delphi pipe client may fail even in a non-error condition
87 * [THRIFT-3771] - TBufferedTransport gets in invalid state on read/write errors
88 * [THRIFT-3764] - PHP "make install" does not install TMultiplexedProtocol.php nor TSimpleJSONProtocol.php
89 * [THRIFT-3768] - TThreadedServer may crash if it is destroyed immediately after it returns from serve(); TThreadedServer disconnects clients
90 * [THRIFT-3765] - memory leak in python compact protocol extension
91 * [THRIFT-3758] - TApplicationException::getType and TProtocolException::getType should be const
92 * [THRIFT-3763] - Fix serialization of i64 larger than 2^53 for browserify
93 * [THRIFT-3759] - required fields that are nil are silently ignored on write
94 * [THRIFT-3753] - TServerFramework::stop may fail to interrupt connected clients
95 * [THRIFT-3755] - TDebugProtocol::writeString hits assert in isprint on Windows with debug CRT
96 * [THRIFT-3751] - Compiler allows field ids that are too large for generated code
97 * [THRIFT-3748] - Node.js Deserialization of lists of lists is broken
98 * [THRIFT-3760] - Fix install paths etc of debian packages for py and perl
99 * [THRIFT-3757] - Fix various build warnings on Windows with VS2015 compiler
100 * [THRIFT-3750] - NSCopying copyWithZone: implementation does not check isSet
101 * [THRIFT-3747] - Duplicate node.js build on Travis-CI
102 * [THRIFT-3744] - The precision should be 17 (16 bits need after dot) after dot for double type.
103 * [THRIFT-3741] - haxe test is broken
104 * [THRIFT-3739] - Deprecation warning in codegen/base.d
105 * [THRIFT-3735] - JSON protocol left in incorrect state when an exception is thrown during read or write operations
106 * [THRIFT-3734] - To compare two string as lowercase.
107 * [THRIFT-3743] - Java JSON protocol left in incorrect state when an exception is thrown during read or write operations
108 * [THRIFT-3731] - Perl multiplex test is flaky
109 * [THRIFT-3729] - Restrict rake version
110 * [THRIFT-3727] - Incorrect require paths in Node.js tutorial
111 * [THRIFT-3723] - Fix Lua include path
112 * [THRIFT-3722] - Fix cert path in C++ cross tests for non-Linux platform
113 * [THRIFT-3726] - Fix incorrect conditional in TMultiplexedProcessor.py
114 * [THRIFT-3725] - Skip a flaky cross test entry (d-dart compact framed-ip)
115 * [THRIFT-3724] - Fix incorrect timeval conversion in libevent.d
116 * [THRIFT-3721] - CLONE - why not add unicode strings support to python directly?
117 * [THRIFT-3720] - TTcpSocketStreamImpl.Read() returns 0 if not all requested bytes could be read
118 * [THRIFT-3719] - Dart generator should use lowerCamelCase for service names
119 * [THRIFT-3902] - TSocket.open throws NullPointerException
120 * [THRIFT-3901] - TFramedTransport.open throws NullPointerException
121 * [THRIFT-3893] - Command injection in format_go_output
122 * [THRIFT-3807] - Swift compiler does not escape reserved words
123 * [THRIFT-3798] - THttpClient does not use proxy from http_proxy, https_proxy environment variables
124 * [THRIFT-3809] - wrong/unused BINARY type code
125 * [THRIFT-3806] - Swift generator does not handle self-referring structs
126 * [THRIFT-3805] - Golang server susceptible to memory spike from malformed message
127 * [THRIFT-3797] - Generated Delphi processor shouldn't error out on timed out exceptions
128 * [THRIFT-3813] - Appveyor builds reference an openssl version that is no longer there
129 * [THRIFT-3658] - Missing file in THRIFT-3599
130 * [THRIFT-3649] - Python TSaslClientTransport initializes TTransportException incorrectly
131 * [THRIFT-3650] - incorrect union serialization
132 * [THRIFT-3713] - lib/d/test/thrift_test_runner.sh is flaky on Jenkins
133 * [THRIFT-3668] - range check error in compact protocol
134 * [THRIFT-3663] - CMake cpp test fails to build on system without zlib
135 * [THRIFT-3712] - TTornadoServer cannot handle IPv6 address
136 * [THRIFT-3710] - Dart generator does not camel case Constants class names
137 * [THRIFT-3697] - Dart generator does not name imports
138 * [THRIFT-3690] - Work around docker image build failures on Travis-CI
139 * [THRIFT-3689] - thrift_reconnecting_client start failed when server is not available
140 * [THRIFT-3695] - Fix D test scripts
141 * [THRIFT-3675] - Union is not serialized correctly by Thrift C Glib
142 * [THRIFT-3673] - API fails with std::exception after a timeout occured in earlier any API call
143 * [THRIFT-3709] - Comment syntax can produce broken code
144 * [THRIFT-3705] - Go map has incorrect types when used with forward-defined types
145 * [THRIFT-3702] - Fix cross tests for Dart compact protocol (3 failing)
146 * [THRIFT-3683] - BadYieldError in thrift py:tornado server
147 * [THRIFT-3682] - Do not reuse refused sockets in test scripts
148 * [THRIFT-3681] - Fix Dart tutorial build
149 * [THRIFT-3680] - Java async processor fails to notify errors to clients
150 * [THRIFT-3714] - Thrift.TProtocolException is not defined in js/src/thrift.js
151 * [THRIFT-3688] - Fix socket bind failure detection of cross test
152 * [THRIFT-3641] - Ruby client should try to connect to every result of getaddrinfo
153 * [THRIFT-3635] - D transport_test is flaky on Jenkins and Travis
154 * [THRIFT-3618] - Python TSSLSocket deprecation message should print caller's location
155 * [THRIFT-3145] - JSON protocol does not handle bool and empty containers correctly
156 * [THRIFT-3158] - TBase<T,F>#deepCopy should return T
157 * [THRIFT-3157] - TBase signature should be TBase<T extends TBase<T,F>, F extends TFieldIdEnum>
158 * [THRIFT-3156] - Node TLS: server executes processing logic two full times
159 * [THRIFT-3154] - tutorial/py.tornado throw EOF exception
160 * [THRIFT-3063] - C++ build -Wunused-parameter warnings on processor_test, TransportTest
161 * [THRIFT-3056] - Add string/collection length limits for Python protocol readers
162 * [THRIFT-3237] - Fix TNamedPipeServer::createNamedPipe memory leak
163 * [THRIFT-3233] - Fix C++ ThreadManager::Impl::removeWorker worker join
164 * [THRIFT-3232] - Cannot deserialize json messages created with fieldNamesAsString
165 * [THRIFT-3206] - Fix Visual Studio build failure due 'pthread_self': identifier not found
166 * [THRIFT-3200] - JS and nodejs do not encode JSON protocol binary fields as base64
167 * [THRIFT-3199] - Exception field has basic metadata
168 * [THRIFT-3182] - TFramedTransport is in an invalid state after frame size exception
169 * [THRIFT-2536] - new TSocket, uninitialised value reported by valgrind
170 * [THRIFT-2527] - Apache Thrift IDL Compiler code generated for Node.js should be jshint clean
171 * [THRIFT-2519] - "processor" class is not being generated
172 * [THRIFT-2431] - TFileTransportTest fails with "check delta < XXX failed"
173 * [THRIFT-2708] - Erlang library does not support "oneway" message type
174 * [THRIFT-3377] - Deep copy is actually shallow when using typedef members
175 * [THRIFT-3376] - C# and Python JSON protocol double values lose precision
176 * [THRIFT-3373] - Various fixes for cross test servers and clients
177 * [THRIFT-3370] - errno extern variable redefined. Not compiling for Android
178 * [THRIFT-3379] - Potential out of range panic in Go JSON protocols
179 * [THRIFT-3371] - Abstract namespace Unix domain sockets broken in C++
180 * [THRIFT-3380] - nodejs: 0.9.2 -> 0.9.3 upgrade breaks Protocol and Transport requires
181 * [THRIFT-3367] - Fix bad links to coding_standards.md #634
182 * [THRIFT-3401] - Nested collections emit Objective-C code that cannot compile
183 * [THRIFT-3403] - JSON String reader doesn't recognize UTF-16 surrogate pairs
184 * [THRIFT-3362] - make check fails for C++ at the SecurityTest
185 * [THRIFT-3395] - Cocoa compiler produces corrupt code when boxing enums inside map.
186 * [THRIFT-3394] - compiler generates uncompilable code
187 * [THRIFT-3388] - hash doesn't work on set/list
188 * [THRIFT-3391] - Wrong bool formatting in test server
189 * [THRIFT-3390] - TTornado server doesn't handle closed connections properly
190 * [THRIFT-3382] - TBase class for C++ Library
191 * [THRIFT-3392] - Java TZlibTransport does not close its wrapper streams upon close()
192 * [THRIFT-3383] - i64 related warnings
193 * [THRIFT-3386] - misc. warnings with make check
194 * [THRIFT-3385] - warning: format ‘%lu’ expects ‘long unsigned int’, but has type ‘std::basic_string<char>::size_type {aka unsigned int}
195 * [THRIFT-3355] - npm WARN package.json thrift@1.0.0-dev No license field.
196 * [THRIFT-3360] - Improve cross test servers and clients further
197 * [THRIFT-3359] - Binary field incompatibilities
198 * [THRIFT-3354] - Fix word-extraction substr bug in initialism code
199 * [THRIFT-3350] - Python JSON protocol does not encode binary as Base64
200 * [THRIFT-3577] - assertion failed at line 512 of testcontainertest.c
201 * [THRIFT-3576] - Boost test --log_format arg does not accept lowercase
202 * [THRIFT-3575] - Go compiler tries to use unexported library methods when using read_write_private
203 * [THRIFT-3574] - Cocoa generator makes uncompilable imports
204 * [THRIFT-3570] - Remove duplicate instances that are added by upstream
205 * [THRIFT-3571] - Make feature test result browsable
206 * [THRIFT-3569] - c_glib protocols do not check number of bytes read by transport
207 * [THRIFT-3568] - THeader server crashes on readSlow
208 * [THRIFT-3567] - GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
209 * [THRIFT-3566] - C++/Qt: TQTcpServerTest::test_communicate() is never executed
210 * [THRIFT-3564] - C++/Qt: potential core dump in TQTcpServer in case an exception occurs in TAsyncProcessor::process()
211 * [THRIFT-3558] - typos in c_glib tests
212 * [THRIFT-3559] - Fix awkward extra semi-colons with Cocoa container literals
213 * [THRIFT-3555] - 'configure' script does not honor --with-openssl=<path> for libcrypto for BN_init
214 * [THRIFT-3554] - Constant decls may lead to "Error: internal error: prepare_member_name_mapping() already active for different struct"
215 * [THRIFT-3552] - glib_c Memory Leak
216 * [THRIFT-3551] - Thrift perl library missing package declaration
217 * [THRIFT-3549] - Exceptions are not properly stringified in Perl library
218 * [THRIFT-3546] - NodeJS code should not be namespaced (and is currently not strict-mode compliant)
219 * [THRIFT-3545] - Container type literals do not compile
220 * [THRIFT-3538] - Remove UnboundMethodType in TProtocolDecorator
221 * [THRIFT-3536] - Error 'char' does not contain a definition for 'IsLowSurrogate' for WP7 target
222 * [THRIFT-3534] - Link error when building with Qt5
223 * [THRIFT-3533] - Can not send nil pointer as service method argument
224 * [THRIFT-3507] - THttpClient does not use proxy from http_proxy, https_proxy environment variables
225 * [THRIFT-3502] - C++ TServerSocket passes small buffer to getsockname
226 * [THRIFT-3501] - Forward slash in comment causes compiler error
227 * [THRIFT-3498] - C++ library assumes optional function pthread_attr_setschedpolicy is available
228 * [THRIFT-3497] - Build fails with "invalid use of incomplete type"
229 * [THRIFT-3496] - C++: Cob style client fails when sending a consecutive request
230 * [THRIFT-3493] - libthrift does not compile on windows using visual studio
231 * [THRIFT-3488] - warning: unused variable 'program'
232 * [THRIFT-3489] - warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
233 * [THRIFT-3487] - Full support for newer Delphi versions
234 * [THRIFT-3528] - Fix warnings in thrift.ll
235 * [THRIFT-3527] - -gen py:dynamic,utf8strings ignores utf8strings option
236 * [THRIFT-3526] - Code generated by py:utf8strings does not work for Python3
237 * [THRIFT-3524] - dcc32 warning "W1000 Symbol 'IsLowSurrogate' is deprecated: 'Use TCharHelper'" in Thrift.Protocol.JSON.pas
238 * [THRIFT-3525] - py:dynamic fails to handle binary list/set/map element
239 * [THRIFT-3521] - TSimpleJSONProtocolTest is not deterministic (fails when run on JDK 8)
240 * [THRIFT-3520] - Dart TSocket onError stream should be typed as Object
241 * [THRIFT-3519] - fastbinary does not work with -gen py:utf8strings
242 * [THRIFT-3518] - TConcurrentClientSyncInfo files were missing for Visual Studio
243 * [THRIFT-3512] - c_glib: Build fails due to missing features.h
244 * [THRIFT-3483] - Incorrect empty binary handling introduced by THRIFT-3359
245 * [THRIFT-3479] - Oneway calls should not return exceptions to clients
246 * [THRIFT-3478] - Restore dropped method to THsHaServer.java
247 * [THRIFT-3477] - Parser fails on enum item that starts with 'E' letter and continues with number
248 * [THRIFT-3476] - Missing include in ./src/thrift/protocol/TJSONProtocol.cpp
249 * [THRIFT-3474] - Docker: thrift-compiler
250 * [THRIFT-3473] - When "optional' is used with a struct member, C++ server seems to not return it correctly
251 * [THRIFT-3468] - Dart TSocketTransport onError handler is too restrictive
252 * [THRIFT-3451] - thrift_protocol PHP extension missing config.m4 file
253 * [THRIFT-3456] - rounding issue in static assert
254 * [THRIFT-3455] - struct write method's return value is incorrect
255 * [THRIFT-3454] - Python Tornado tutorial is broken
256 * [THRIFT-3463] - Java can't be disabled in CMake build
257 * [THRIFT-3450] - NPE when using SSL
258 * [THRIFT-3449] - TBaseAsyncProcessor fb.responseReady() never called for oneway functions
259 * [THRIFT-3471] - Dart generator does not handle uppercase argument names
260 * [THRIFT-3470] - Sporadic timeouts with pipes
261 * [THRIFT-3465] - Go Code With Complex Const Initializer Compilation Depends On Struct Order
262 * [THRIFT-3464] - Fix several defects in c_glib code generator
263 * [THRIFT-3462] - Cocoa generates Incorrect #import header names
264 * [THRIFT-3453] - remove rat_exclude
265 * [THRIFT-3418] - Use of ciphers in ssl.wrap_socket() breaks python 2.6 compatibility
266 * [THRIFT-3417] - "namespace xsd" is not really working
267 * [THRIFT-3413] - Thrift code generation bug in Go when extending service
268 * [THRIFT-3420] - C++: TSSLSockets are not interruptable
269 * [THRIFT-3415] - include unistd.h conditionally
270 * [THRIFT-3414] - #include <pwd.h> in THeaderTransport.h breaks windows build
271 * [THRIFT-3411] - Go generates remotes with wrong package qualifiers when including
272 * [THRIFT-3430] - Go THttpClient does not read HTTP response body to completion when closing
273 * [THRIFT-3423] - First call to thrift_transport:read_exact fails to dispatch correct function
274 * [THRIFT-3422] - Go TServerSocket doesn't close on Interrupt
275 * [THRIFT-3421] - rebar as dependency instead of bundling (was: rebar fails if PWD contains Unicode)
276 * [THRIFT-3428] - Go test fails when running make check
277 * [THRIFT-3445] - Throwable messages are hidden from JVM stack trace output
278 * [THRIFT-3443] - Thrift include can generate uncompilable code
279 * [THRIFT-3444] - Large 64 bit Integer does not preserve value through Node.js JSONProtocol
280 * [THRIFT-3436] - misc. cross test issues with UTF-8 path names
281 * [THRIFT-3435] - Put generated Java code for fullcamel tests in a separate package/namespace
282 * [THRIFT-3433] - Doubles aren't interpreted correctly
283 * [THRIFT-3437] - Mingw-w64 build fail
284 * [THRIFT-3434] - Dart generator produces empty name in pubspec.yaml for includes without namespaces
285 * [THRIFT-3408] - JSON generator emits incorrect types
286 * [THRIFT-3406] - Cocoa client should not schedule streams on main runloop
287 * [THRIFT-3404] - JSON String reader doesn't recognize UTF-16 surrogate pair
288 * [THRIFT-3636] - Double precision is not fully preserved in C++ TJSONProtocol
289 * [THRIFT-3632] - c_glib testserialization fails with glib assertion
290 * [THRIFT-3619] - Using Thrift 0.9.3 with googletest on Linux gcc 4.9 / C++11
291 * [THRIFT-3617] - CMake does not build gv/xml generators
292 * [THRIFT-3615] - Fix Python SSL client resource leak on connection failure
293 * [THRIFT-3616] - lib/py/test/test_sslsocket.py is flaky
294 * [THRIFT-3643] - Perl SSL server crushes if a client disconnect without handshake
295 * [THRIFT-3639] - C# Thrift library forces TLS 1.0, thwarting TLS 1.2 usage
296 * [THRIFT-3633] - Travis "C C++ - GCC" build was using clang
297 * [THRIFT-3634] - Fix Python TSocket resource leak on connection failure
298 * [THRIFT-3630] - Debian/Ubuntu install docs need an update
299 * [THRIFT-3629] - Parser sets exitcode on errors, but generator does not
300 * [THRIFT-3608] - lib/cpp/test/SecurityTest is flaky in jenkins Thrift-precommit build.
301 * [THRIFT-3601] - Better conformance to PEP8 for generated code
302 * [THRIFT-3599] - Validate client IP address against cert's SubjectAltName
303 * [THRIFT-3598] - TBufferedTransport doesn't instantiate client connection
304 * [THRIFT-3597] - `make check` hangs in go tests
305 * [THRIFT-3589] - Dart generator uses wrong name in constructor for uppercase arguments with defaults
306 * [THRIFT-3588] - Using TypeScript with --noImplicitAny fails
307 * [THRIFT-3584] - boolean false value cannot be transferred
308 * [THRIFT-3578] - Make THeaderTransport detect TCompact framed and unframed
309 * [THRIFT-3323] - Python library does not handle escaped forward slash ("/") in JSON
310 * [THRIFT-3322] - CMake generated "make check" failes on python_test
311 * [THRIFT-3321] - Thrift can't be added as a subdirectory of another CMake-based project
312 * [THRIFT-3314] - Dots in file names of includes causes dots in javascript variable names
313 * [THRIFT-3307] - Segfault in Ruby serializer
314 * [THRIFT-3309] - Missing TConstant.php in /lib/php/Makefile.am
315 * [THRIFT-3810] - unresolved external symbol public: virtual void __cdecl apache::thrift::server::TServerFramework::serve(void)
316 * [THRIFT-3736] - C++ library build fails if OpenSSL does not surrpot SSLv3
317 * [THRIFT-3878] - Compile error in TSSLSocket.cpp with new OpenSSL [CRYPTO_num_locks]
318 * [THRIFT-3949] - missing make dist entry for compiler/cpp/test
319 * [THRIFT-449] - The wire format of the JSON Protocol may not always be valid JSON if it contains non-UTF8 encoded strings
320 * [THRIFT-162] - Thrift structures are unhashable, preventing them from being used as set elements
321 * [THRIFT-3961] - TConnectedClient does not terminate the connection to the client if an exception while processing the received message occures.
322 * [THRIFT-3881] - Travis CI builds are failing due to docker failures (three retries, and gives up)
323 * [THRIFT-3937] - Cannot compile 0.10.0 development tip with gcc-4.6.x
324 * [THRIFT-3964] - Unsupported mechanism type ????? due to dependency on default OS-dependent charset
325 * [THRIFT-3038] - Use of volatile in cpp library
326 * [THRIFT-3301] - Java generated code uses imports that can lead to class name collisions with IDL defined types
327 * [THRIFT-3348] - PHP TCompactProtocol bool&int64 readvalue bug
328 * [THRIFT-3955] - TThreadedServer Memory Leak
329 * [THRIFT-3829] - Thrift does not install Python Libraries if Twisted is not installed
330 * [THRIFT-3932] - C++ ThreadManager has a rare termination race
331 * [THRIFT-3828] - cmake fails when Boost_INCLUDE_DIRS (and other variables passed to include_directories()) is empty
332 * [THRIFT-3958] - CMake WITH_MT option for windows static runtime linking does not support the cmake build type RelWithDebInfo
333 * [THRIFT-3957] - TConnectedClient does not disconnect from clients when their timeout is reached.
334 * [THRIFT-3953] - TSSLSocket::close should handle exceptions from waitForEvent because it is called by the destructor.
335 * [THRIFT-3977] - PHP extension creates undefined values when deserializing sets
336 * [THRIFT-3947] - sockaddr type isn't always large enough for the return of getsockname
337 * [THRIFT-2755] - ThreadSanitizer reports data race in ThreadManager::Impl::addWorker
338 * [THRIFT-3948] - errno is not the correct method of getting the error in windows
339 * [THRIFT-4008] - broken ci due to upstream dependency versioning break
340 * [THRIFT-3999] - Fix Debian & Ubuntu package dependencies
341 * [THRIFT-3886] - PHP cross test client returns 0 even when failing
342 * [THRIFT-3997] - building thrift libs does not support new openssl
343
344## Documentation
345 * [THRIFT-3867] - Specify BinaryProtocol and CompactProtocol
346
347## Epic
348 * [THRIFT-3049] - As an iOS developer, I want a generator and library that produces Swift code
349 * [THRIFT-2336] - UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
350
351## Improvement
352 * [THRIFT-1867] - Python client/server should support client-side certificates.
353 * [THRIFT-1313] - c_glib compact support
354 * [THRIFT-1385] - make install doesn't install java library in the setted folder
355 * [THRIFT-1437] - Update RPM spec
356 * [THRIFT-847] - Test Framework harmonization across all languages
357 * [THRIFT-819] - add Enumeration for protocol, transport and server types
358 * [THRIFT-3927] - Emit an error instead of throw an error in the async callback
359 * [THRIFT-3931] - TSimpleServer: If process request encounter UNKNOWN_METHOD, don't close transport.
360 * [THRIFT-3934] - Automatically resolve OpenSSL binary version on Windows CI
361 * [THRIFT-3918] - Run subset of make cross
362 * [THRIFT-3908] - Remove redundant dependencies from Dockerfile
363 * [THRIFT-3907] - Skip Docker image build on CI when unchanged
364 * [THRIFT-3868] - Java struct equals should do identity check before field comparison
365 * [THRIFT-3849] - Port Go serializer and deserializer to dart
366 * [THRIFT-2989] - Complete CMake build for Apache Thrift
367 * [THRIFT-2980] - ThriftMemoryBuffer doesn't have a constructor option to take an existing buffer
368 * [THRIFT-2856] - refactor erlang basic transports and unify interfaces
369 * [THRIFT-2877] - Optimize generated hashCode
370 * [THRIFT-2869] - JSON: run schema validation from tests
371 * [THRIFT-3112] - [Java] AsyncMethodCallback should be typed in generated AsyncIface
372 * [THRIFT-3263] - PHP jsonSerialize() should cast scalar types
373 * [THRIFT-2905] - Cocoa compiler should have option to produce "modern" Objective-C
374 * [THRIFT-2821] - Enable the use of custom HTTP-Header in the Transport
375 * [THRIFT-2093] - added the ability to set compression level in C++ zlib transport
376 * [THRIFT-2089] - Compiler ignores duplicate typenames
377 * [THRIFT-2056] - Moved all #include config.h statements to #include <thrift/config.h>
378 * [THRIFT-2031] - Make SO_KEEPALIVE configurable for C++ lib
379 * [THRIFT-2021] - Improve large binary protocol string performance
380 * [THRIFT-2028] - Cleanup threading headers / libraries
381 * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
382 * [THRIFT-2312] - travis.yml: build everything
383 * [THRIFT-1915] - Multiplexing Services
384 * [THRIFT-1736] - Visual Studio top level project files within msvc
385 * [THRIFT-1735] - integrate tutorial into regular build
386 * [THRIFT-1533] - Make TTransport should be Closeable
387 * [THRIFT-35] - Move language tests into their appropriate library directory
388 * [THRIFT-1079] - Support i64 in AS3
389 * [THRIFT-1108] - SSL support for the Ruby library
390 * [THRIFT-3856] - update debian package deependencies
391 * [THRIFT-3833] - haxe http server implementation (by embeding into php web server)
392 * [THRIFT-3839] - Performance issue with big message deserialization using php extension
393 * [THRIFT-3820] - Erlang: Detect OTP >= 18 to use new time correction
394 * [THRIFT-3816] - Reduce docker build duration on Travis-CI
395 * [THRIFT-3815] - Put appveyor dependency versions to one place
396 * [THRIFT-3788] - Compatibility improvements and Win64 support
397 * [THRIFT-3792] - Timeouts for anonymous pipes should be configurable
398 * [THRIFT-3794] - Split Delphi application, protocol and transport exception subtypes into separate exceptions
399 * [THRIFT-3774] - The generated code should have exception_names meta info
400 * [THRIFT-3762] - Fix build warnings for deprecated Thrift "byte" fields
401 * [THRIFT-3756] - Improve requiredness documentation
402 * [THRIFT-3761] - Add debian package for Python3
403 * [THRIFT-3742] - haxe php cli support
404 * [THRIFT-3733] - Socket timeout improvements
405 * [THRIFT-3728] - http transport for thrift-lua
406 * [THRIFT-3905] - Dart compiler does not initialize bool, int, and double properties
407 * [THRIFT-3911] - Loosen Ruby dev dependency version requirements
408 * [THRIFT-3906] - Run C# tests with make check
409 * [THRIFT-3900] - Add Python SSL flags
410 * [THRIFT-3897] - Provide meaningful exception type based on WebExceptionStatus in case of timeout
411 * [THRIFT-3808] - Missing `DOUBLE` in thrift type enumeration
412 * [THRIFT-3803] - Remove "file" attribute from XML generator
413 * [THRIFT-3660] - Add V4 mapped address to test client cert's altname
414 * [THRIFT-3661] - Use https to download meck in erlang test build
415 * [THRIFT-3659] - Check configure result of CMake on CI
416 * [THRIFT-3667] - Add TLS SNI support to clients
417 * [THRIFT-3651] - Make backports.match_hostname and ipaddress optional
418 * [THRIFT-3666] - Build D tutorial as part of Autotools build
419 * [THRIFT-3665] - Add D libevent and OpenSSL to docker images
420 * [THRIFT-3664] - Remove md5.c
421 * [THRIFT-3662] - Add Haskell to debian docker image
422 * [THRIFT-3711] - Add D to cross language test
423 * [THRIFT-3691] - Run flake8 Python style check on Travis-CI
424 * [THRIFT-3692] - (Re)enable Appveyor C++ and Python build
425 * [THRIFT-3677] - Improve CMake Java build
426 * [THRIFT-3679] - Add stdout log to testBinary in Java test server
427 * [THRIFT-3718] - Reduce size of docker image for build environment
428 * [THRIFT-3698] - [Travis-CI] Introduce retry to apt commands
429 * [THRIFT-3127] - switch -recurse to --recurse and reserve -r
430 * [THRIFT-3087] - Pass on errors like "connection closed"
431 * [THRIFT-3240] - Thrift Python client should support subjectAltName and wildcard certs in TSSLSocket
432 * [THRIFT-3213] - make cross should indicate when it skips a known failing test
433 * [THRIFT-3208] - Fix Visual Studio solution build failure due to missing source
434 * [THRIFT-3186] - Add TServerHTTP to Go library
435 * [THRIFT-2342] - Add __FILE__ and __LINE__ to Thrift C++ excpetions
436 * [THRIFT-3372] - Add dart generator to Visual Studio project
437 * [THRIFT-3366] - ThriftTest to implement standard return values
438 * [THRIFT-3402] - Provide a perl Unix Socket implementation
439 * [THRIFT-3361] - Improve C# library
440 * [THRIFT-3393] - Introduce i8 to provide consistent set of Thrift IDL integer types
441 * [THRIFT-3339] - Support for database/sql
442 * [THRIFT-3565] - C++: T[Async]Processor::getEventHandler() should be declared as const member functions
443 * [THRIFT-3563] - C++/Qt: removed usage of macro QT_PREPEND_NAMESPACE as it isn't consequently used for all references to Qt types.
444 * [THRIFT-3562] - Removed unused TAsyncProcessor::getAsyncServer()
445 * [THRIFT-3561] - C++/Qt: make use of Q_DISABLE_COPY() to get rid of copy ctor and assignment operator
446 * [THRIFT-3556] - c_glib file descriptor transport
447 * [THRIFT-3544] - Make cross test fail when server process died unexpectedly
448 * [THRIFT-3540] - Make python tutorial more in line with PEP8
449 * [THRIFT-3535] - Dart generator argument to produce a file structure usable in parent library
450 * [THRIFT-3505] - Enhance Python TSSLSocket
451 * [THRIFT-3506] - Eliminate old style classes from library code
452 * [THRIFT-3503] - Enable py:utf8string by default
453 * [THRIFT-3499] - Add package_prefix to python generator
454 * [THRIFT-3495] - Minor enhancements and fixes for cross test
455 * [THRIFT-3486] - Java generated `getFieldValue` is incompatible with `setFieldValue` for binary values.
456 * [THRIFT-3484] - Consolidate temporary buffers in Java's TCompactProtocol
457 * [THRIFT-3516] - Add feature test for THeader TBinaryProtocol interop
458 * [THRIFT-3515] - Python 2.6 compatibility and test on CI
459 * [THRIFT-3514] - PHP 7 compatible version of binary protocol
460 * [THRIFT-3469] - Docker: Debian support
461 * [THRIFT-3416] - Retire old "xxx_namespace" declarations from the IDL
462 * [THRIFT-3426] - Align autogen comment in XSD
463 * [THRIFT-3424] - Add CMake android build option
464 * [THRIFT-3439] - Run make cross using Python3 when available
465 * [THRIFT-3440] - Python make check takes too much time
466 * [THRIFT-3441] - Stabilize Travis-CI builds
467 * [THRIFT-3431] - Avoid "schemes" HashMap lookups during struct reads/writes
468 * [THRIFT-3432] - Add a TByteBuffer transport to the Java library
469 * [THRIFT-3438] - Enable py:new_style by default
470 * [THRIFT-3405] - Go THttpClient misuses http.Client objects
471 * [THRIFT-3614] - Improve logging of test_sslsocket.py
472 * [THRIFT-3647] - Fix php extension build warnings
473 * [THRIFT-3642] - Speed up cross test runner
474 * [THRIFT-3637] - Implement compact protocol for dart
475 * [THRIFT-3613] - Port Python C extension to Python 3
476 * [THRIFT-3612] - Add Python C extension for compact protocol
477 * [THRIFT-3611] - Add --regex filter to cross test runner
478 * [THRIFT-3631] - JSON protocol implementation for Lua
479 * [THRIFT-3609] - Remove or replace TestPortFixture.h
480 * [THRIFT-3605] - Have the compiler complain about invalid arguments and options
481 * [THRIFT-3596] - Better conformance to PEP8
482 * [THRIFT-3585] - Compact protocol implementation for Lua
483 * [THRIFT-3582] - Erlang libraries should have service metadata
484 * [THRIFT-3579] - Introduce retry to make cross
485 * [THRIFT-3306] - Java: TBinaryProtocol: Use 1 temp buffer instead of allocating 8
486 * [THRIFT-3910] - Do not invoke pip as part of build process
487 * [THRIFT-1857] - Python 3.X Support
488 * [THRIFT-1944] - Binding to zero port
489 * [THRIFT-3954] - Enable the usage of structs called "Object" in Java
490 * [THRIFT-3981] - Enable analyzer strong mode in Dart library
491 * [THRIFT-3998] - Document ability to add custom tags to thrift structs
492 * [THRIFT-4006] - Add a removeEventListener method on TSocket
493
494## New Feature
495 * [THRIFT-640] - Support deprecation
496 * [THRIFT-948] - SSL socket support for PHP
497 * [THRIFT-764] - add Support for Vala language
498 * [THRIFT-3046] - Allow PSR4 class loading for generated classes (PHP)
499 * [THRIFT-2113] - Erlang SSL Socket Support
500 * [THRIFT-1482] - Unix domain socket support under PHP
501 * [THRIFT-519] - Support collections of types without having to explicitly define it
502 * [THRIFT-468] - Rack Middleware Application for Rails
503 * [THRIFT-1708] - Add event handlers for processor events
504 * [THRIFT-3834] - Erlang namespacing and exception metadata
505 * [THRIFT-2510] - Implement TNonblockingServer's ability to listen on unix domain sockets
506 * [THRIFT-3397] - Implement TProcessorFactory in C# to enable per-client processors
507 * [THRIFT-3523] - XML Generator
508 * [THRIFT-3510] - Add HttpTaskAsyncHandler implementation
509 * [THRIFT-3318] - PHP: SimpleJSONProtocol Implementation
510 * [THRIFT-3299] - Dart language bindings in Thrift
511 * [THRIFT-2835] - Add possibility to distribute generators separately from thrift core, and load them dynamically
512 * [THRIFT-184] - Add OSGi Manifest headers to the libthrift java library to be able to use Thrift in the OSGi runtime
513 * [THRIFT-141] - If a required field is not present on serialization, throw an exception
514 * [THRIFT-1891] - Add Windows ALPC transport which is right counterpart of Unix domain sockets
515
516## Question
517 * [THRIFT-1808] - The Thrift struct should be considered self-contained?
518 * [THRIFT-2895] - Tutorial cpp
519 * [THRIFT-3860] - Elephant-bird application Test fails for Thrift
520 * [THRIFT-3811] - HTTPS Support for C++ applications
521 * [THRIFT-3509] - "make check" error
522
523## Story
524 * [THRIFT-3452] - .travis.yml: Migrating from legacy to container-based infrastructure
525
526## Sub-task
527 * [THRIFT-1811] - ruby tutorial as part of the regular build
528 * [THRIFT-2779] - PHP TJSONProtocol encode unicode into UCS-4LE which can't be parsed by other language bindings
529 * [THRIFT-2110] - Erlang: Support for Multiplexing Services on any Transport, Protocol and Server
530 * [THRIFT-3852] - A Travis-CI job fails with "write error"
531 * [THRIFT-3740] - Fix haxelib.json classpath
532 * [THRIFT-3653] - incorrect union serialization
533 * [THRIFT-3652] - incorrect serialization of optionals
534 * [THRIFT-3655] - incorrect union serialization
535 * [THRIFT-3654] - incorrect serialization of optionals
536 * [THRIFT-3656] - incorrect serialization of optionals
537 * [THRIFT-3699] - Fix integer limit symbol includes in Python C extension
538 * [THRIFT-3693] - Fix include issue in C++ TSSLSocketInterruptTest on Windows
539 * [THRIFT-3694] - [Windows] Disable tests of a few servers that are not supported
540 * [THRIFT-3696] - Install pip to CentOS Docker images to fix Python builds
541 * [THRIFT-3638] - Fix haxelib.json
542 * [THRIFT-3251] - Add http transport for server to Go lib
543 * [THRIFT-2424] - Recursive Types
544 * [THRIFT-2423] - THeader
545 * [THRIFT-2413] - Python: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
546 * [THRIFT-2409] - Java: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
547 * [THRIFT-2412] - D: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
548 * [THRIFT-2411] - C++: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
549 * [THRIFT-2410] - JavaMe: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
550 * [THRIFT-2668] - TestSuite: detailed result on passed tests by feature
551 * [THRIFT-2659] - python Test Server fails when throwing TException
552 * [THRIFT-3398] - Add CMake build for Haskell library and tests
553 * [THRIFT-3396] - DART: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
554 * [THRIFT-3364] - Fix ruby binary field encoding in TJSONProtocol
555 * [THRIFT-3381] - Fix for misc. codegen issues with THRIFT-2905
556 * [THRIFT-3573] - No rule to make target `../../../test/c_glib/src/.deps/testthrifttest-thrift_test_handler.Po'.
557 * [THRIFT-3572] - "Unable to determine the behavior of a signed right shift"
558 * [THRIFT-3542] - Add length limit support to Java test server
559 * [THRIFT-3537] - Remove the (now obsolete) csharp:asyncctp flag
560 * [THRIFT-3532] - Add configurable string and container read size limit to Python protocols
561 * [THRIFT-3531] - Create cross lang feature test for string and container read length limit
562 * [THRIFT-3482] - Haskell JSON protocol does not encode binary field as Base64
563 * [THRIFT-3425] - Minor fixes + simplification for CentOS Dockerfile
564 * [THRIFT-3442] - Run CMake tests on Appveyor
565 * [THRIFT-3409] - NodeJS binary field issues
566 * [THRIFT-3621] - Fix lib/cpp/test/SecurityTest.cpp to use ephemeral ports
567 * [THRIFT-3628] - Fix lib/cpp/test/TServerIntegrationTest.cpp to use ephemeral ports
568 * [THRIFT-3625] - Kill unused #include "TestPortFixture.h" in lib/cpp/test/TServerTransportTest.cpp.
569 * [THRIFT-3646] - Fix Python extension build warnings
570 * [THRIFT-3626] - Fix lib/cpp/test/TSocketInterruptTest.cpp to use ephemeral ports.
571 * [THRIFT-3624] - Fix lib/cpp/test/TServerSocketTest.cpp to use ephemeral ports
572 * [THRIFT-3623] - Fix Fix cpp/lib/test/TSSLSocketInterruptTest.cpp to use ephemeral ports
573 * [THRIFT-3592] - Add basic test client
574 * [THRIFT-3980] - add TExtendedBinaryProtocol.java
575
576## Task
577 * [THRIFT-1801] - Sync up TApplicationException codes across languages and thrift implementations
578 * [THRIFT-1259] - Automate versioning
579
580## Test
581 * [THRIFT-3400] - Add Erlang to cross test
582 * [THRIFT-3504] - Fix FastbinaryTest.py
583
584## Wish
585 * [THRIFT-3923] - Maybe remove Aereo from the "Powered by" list
586 * [THRIFT-2149] - Add an option to disable the generation of default operators
587
588
589
jfarrell22508c32015-10-11 22:28:54 -0400590Thrift 0.9.3
591--------------------------------------------------------------------------------
592## Bug
593 * [THRIFT-2441] - Cannot shutdown TThreadedServer when clients are still connected
594 * [THRIFT-2465] - TBinaryProtocolT breaks if copied/moved
595 * [THRIFT-2474] - thrift.h causes a compile failure
596 * [THRIFT-2540] - Running configure from outside the source directory fails
597 * [THRIFT-2598] - Add check for minimum Go version to configure.ac
598 * [THRIFT-2647] - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
599 * [THRIFT-2773] - Generated Java code for 'oneway' methods is incorrect.
600 * [THRIFT-2789] - TNonblockingServer leaks socket FD's under load
601 * [THRIFT-2682] - TThreadedServer leaks per-thread memory
602 * [THRIFT-2674] - JavaScript: declare Accept: and Content-Type: in request
603 * [THRIFT-3078] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
604 * [THRIFT-3077] - C++ TFileTransport ignores return code from ftruncate
605 * [THRIFT-3067] - C++ cppcheck performance related warnings
606 * [THRIFT-3066] - C++ TDenseProtocol assert modifies instead of checks
607 * [THRIFT-3071] - bootstrap.sh on Ubuntu 12.04 (Precise) automake error
608 * [THRIFT-3069] - C++ TServerSocket leaks socket on fcntl get or set flags error
609 * [THRIFT-3079] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
610 * [THRIFT-3080] - C++ TNonblockingServer connection leak while accept huge number connections.
611 * [THRIFT-3086] - C++ Valgrind Error Cleanup
612 * [THRIFT-3085] - thrift_reconnecting_client never try to reconnect
613 * [THRIFT-3123] - Missing include in compiler/cpp/src/main.h breaks build in some environments
614 * [THRIFT-3125] - Fix the list of exported headers in automake input
615 * [THRIFT-3126] - PHP JSON serializer converts empty or int-indexed maps to lists
616 * [THRIFT-3132] - Properly format date in Java @Generated annotations
617 * [THRIFT-3137] - Travis build hangs after failure
618 * [THRIFT-3138] - "make check" parallel execution is underministic
619 * [THRIFT-3139] - JS library test is flaky
620 * [THRIFT-3140] - ConcurrentModificationException is thrown by JavaScript test server
621 * [THRIFT-3124] - Some signed/unsigned warnings while building compiler
622 * [THRIFT-3128] - Go generated code produces name collisions between services
623 * [THRIFT-3146] - Graphviz generates function name collisions between services
624 * [THRIFT-3147] - Segfault while receiving data
625 * [THRIFT-3148] - Markdown links to coding_standards are dead
626 * [THRIFT-3090] - cmake build is broken on MacOSX
627 * [THRIFT-3097] - cmake targets unconditionally depend on optional libraries
628 * [THRIFT-3094] - master as of 2015-APR-13 fails -DBOOST_THREADS cmake build
629 * [THRIFT-3099] - cmake build is broken on FreeBSD
630 * [THRIFT-3089] - Assigning default ENUM values results in non-compilable java code if java namespace is not defined
631 * [THRIFT-3093] - mingw compile fixes for c++ library 0.9.2
632 * [THRIFT-3098] - Thrift does not pretty print binary typedefs the way it does binary fields
633 * [THRIFT-3091] - c_glib service method should return result from handler method
634 * [THRIFT-3088] - TThreadPoolServer with Sasl auth may leak CLOSE_WAIT socket
635 * [THRIFT-3109] - Cross test log file cannot be browsed when served in HTTP server
636 * [THRIFT-3113] - m4 C++11 macro issue
637 * [THRIFT-3105] - C++ libthriftnb library on Windows build failure
638 * [THRIFT-3115] - Uncompileable code due to name collision with predefined used types
639 * [THRIFT-3117] - Java TSSLTransportFactory can't load certificates within JAR archive
640 * [THRIFT-3102] - could not make check for Go Library
641 * [THRIFT-3120] - Minor spelling errors and an outdated URL
642 * [THRIFT-3121] - Librt does not exist on OS X
643 * [THRIFT-3152] - Compiler error on Mac OSX (missing #include <cstdlib>)
644 * [THRIFT-3162] - make fails for dmd 2.067
645 * [THRIFT-3164] - Thrift C++ library SSL socket by default allows for unsecure SSLv3 negotiation
646 * [THRIFT-3168] - Fix Maven POM
647 * [THRIFT-3170] - Initialism code in the Go compiler causes chaos
648 * [THRIFT-3169] - Do not export thrift.TestStruct and thrift.TestEnum in thrift Go library
649 * [THRIFT-3191] - Perl compiler does not add support for unexpected exception handling
650 * [THRIFT-3178] - glib C does not compile
651 * [THRIFT-3189] - Perl ServerSocket should allow a specific interface to be listened to
652 * [THRIFT-3252] - Missing TConcurrentClientSyncInfo.h in cpp Makefile, so doesn't install
653 * [THRIFT-3255] - Thrift generator doesn't exclude 'package' keyword for thrift property names breaking java builds
654 * [THRIFT-3260] - multiple warnings in c_glib tutorial
655 * [THRIFT-3256] - Some D test timings are too aggressive for slow machines
656 * [THRIFT-3257] - warning: extra tokens at end of #endif directive
657 * [THRIFT-3184] - Thrift Go leaves file descriptors open
658 * [THRIFT-3203] - DOAP - please fix "Ocaml" => "OCaml"
659 * [THRIFT-3210] - (uncompileable) code generated for server events while are events not enabled
660 * [THRIFT-3215] - TJSONProtocol '(c++) uses "throw new" to throw exceptions instead of "throw"
661 * [THRIFT-3202] - Allow HSHAServer to configure min and max worker threads separately.
662 * [THRIFT-3205] - TCompactProtocol return a wrong error when the io.EOF happens
663 * [THRIFT-3209] - LGPL mentioned in license file
664 * [THRIFT-3197] - keepAliveTime is hard coded as 60 sec in TThreadPoolServer
665 * [THRIFT-3196] - Misspelling in lua TBinaryProtocol (stirctWrite => strictWrite)
666 * [THRIFT-3198] - Allow construction of TTransportFactory with a specified maxLength
667 * [THRIFT-3192] - Go import paths changed in 1.4, and expired June 1
668 * [THRIFT-3271] - Could not find or load main class configtest_ax_javac_and_java on some non-english systems
669 * [THRIFT-3273] - c_glib: Generated code tries to convert between function and void pointers
670 * [THRIFT-3264] - Fix Erlang 16 namespaced types
671 * [THRIFT-3270] - reusing TNonblockingServer::TConnection cause dirty TSocket
672 * [THRIFT-3267] - c_glib: "Critical" failure during unit tests
673 * [THRIFT-3277] - THttpClient leaks connections if it's used for multiple requests
674 * [THRIFT-3278] - NodeJS: Fix exception stack traces and names
675 * [THRIFT-3279] - Fix a bug in retry_max_delay (NodeJS)
676 * [THRIFT-3280] - Initialize retry variables on construction
677 * [THRIFT-3283] - c_glib: Tutorial server always exits with warning
678 * [THRIFT-3284] - c_glib: Empty service produces unused-variable warning
679 * [THRIFT-1925] - c_glib generated code does not compile
680 * [THRIFT-1849] - after transport->open() opens isOpen returns true and next open() goes thru when it shall not
681 * [THRIFT-1866] - java compiler generates non-compiling code with const's defined in a thrift when name includes non-identifier chars
682 * [THRIFT-1938] - FunctionRunner.h -- uses wrong path for Thread.h when installed
683 * [THRIFT-1844] - Password string not cleared
684 * [THRIFT-2004] - Thrift::Union violates :== method contract and crashes
685 * [THRIFT-2073] - Thrift C++ THttpClient error: cannot refill buffer
686 * [THRIFT-2127] - Autoconf scripting does not properly account for cross-compile
687 * [THRIFT-2180] - Integer types issues in Cocoa lib on ARM64
688 * [THRIFT-2189] - Go needs "isset" to fully support "union" type (and optionals)
689 * [THRIFT-2192] - autotools on Redhat based systems
690 * [THRIFT-2546] - cross language tests fails at 'TestMultiException' when using nodejs server
691 * [THRIFT-2547] - nodejs servers and clients fails to connect with cpp using compact protocol
692 * [THRIFT-2548] - Nodejs servers and clients does not work properly with -ssl
693 * [THRIFT-1471] - toString() does not print ByteBuffer values when nested in a List
694 * [THRIFT-1201] - getaddrinfo resource leak
695 * [THRIFT-615] - TThreadPoolServer doesn't call task_done after pulling tasks from it's clients queue
696 * [THRIFT-162] - Thrift structures are unhashable, preventing them from being used as set elements
697 * [THRIFT-810] - Crashed client on TSocket::close under loads
698 * [THRIFT-557] - charset problem with file Autogenerated by Thrift
699 * [THRIFT-233] - IDL doesn't support negative hex literals
700 * [THRIFT-1649] - contrib/zeromq does not build in 0.8.0
701 * [THRIFT-1642] - Miscalculation lead to throw unexpected "TTransportException::TIMED_OUT"(or called "EAGAIN (timed out)") exception
702 * [THRIFT-1587] - TSocket::setRecvTimeout error
703 * [THRIFT-1248] - pointer subtraction in TMemoryBuffer relies on undefined behavior
704 * [THRIFT-1774] - Sasl Transport client would hang when trying to connect non-sasl transport server
705 * [THRIFT-1754] - RangeError in buffer handling
706 * [THRIFT-1618] - static structMap in FieldMetaData is not thread safe and can lead to deadlocks
707 * [THRIFT-2335] - thrift incompatibility with py:tornado as server, java as client
708 * [THRIFT-2803] - TCP_DEFER_ACCEPT not supported with domain sockets
709 * [THRIFT-2799] - Build Problem(s): ld: library not found for -l:libboost_unit_test_framework.a
710 * [THRIFT-2801] - C++ test suite compilation warnings
711 * [THRIFT-2802] - C++ tutorial compilation warnings
712 * [THRIFT-2795] - thrift_binary_protocol.c: 'dereferencing type-punned pointer will break strict-aliasing rules'
713 * [THRIFT-2817] - TSimpleJSONProtocol reads beyond end of message
714 * [THRIFT-2826] - html:standalone sometimes ignored
715 * [THRIFT-2829] - Support haxelib installation via github
716 * [THRIFT-2828] - slightly wrong help screen indent
717 * [THRIFT-2831] - Removes dead code in web_server.js introduced in THRIFT-2819
718 * [THRIFT-2823] - All JS-tests are failing when run with grunt test
719 * [THRIFT-2827] - Thrift 0.9.2 fails to compile on Yosemite due to tr1/functional include in ProcessorTest.cpp
720 * [THRIFT-2843] - Automake configure.ac has possible typo related to Java
721 * [THRIFT-2813] - multiple haxe library fixes/improvements
722 * [THRIFT-2825] - Supplying unicode to python Thrift client can cause next request arguments to get overwritten
723 * [THRIFT-2840] - Cabal file points to LICENSE file outside the path of the Haskell project.
724 * [THRIFT-2818] - Trailing commas in array
725 * [THRIFT-2830] - Clean up ant warnings in tutorial dir
726 * [THRIFT-2842] - Erlang thrift client has infinite timeout
727 * [THRIFT-2810] - Do not leave the underlying ServerSocket open if construction of TServerSocket fails
728 * [THRIFT-2812] - Go server adding redundant buffering layer
729 * [THRIFT-2839] - TFramedTransport read bug
730 * [THRIFT-2844] - Nodejs support broken when running under Browserify
731 * [THRIFT-2814] - args/result classes not found when no namespace is set
732 * [THRIFT-2847] - function IfValue() is a duplicate of System.StrUtils.IfThen
733 * [THRIFT-2848] - certain Delphi tests do not build if TypeRegistry is used
734 * [THRIFT-2854] - Go Struct writer and reader looses important error information
735 * [THRIFT-2858] - Enable header field case insensitive match in THttpServer
736 * [THRIFT-2857] - C# generator creates uncompilable code for struct constants
737 * [THRIFT-2860] - Delphi server closes connection on unexpected exceptions
738 * [THRIFT-2868] - Enhance error handling in the Go client
739 * [THRIFT-2879] - TMemoryBuffer: using lua string in wrong way
740 * [THRIFT-2851] - Remove strange public Peek() from Go transports
741 * [THRIFT-2852] - Better Open/IsOpen/Close behavior for StreamTransport.
742 * [THRIFT-2871] - Missing semicolon in thrift.js
743 * [THRIFT-2872] - ThreadManager deadlock for task expiration
744 * [THRIFT-2881] - Handle errors from Accept() correctly
745 * [THRIFT-2849] - Spell errors reported by codespell tool
746 * [THRIFT-2870] - C++ TJSONProtocol using locale dependent formatting
747 * [THRIFT-2882] - Lua Generator: using string.len funtion to get struct(map,list,set) size
748 * [THRIFT-2864] - JSON generator missing from Visual Studio build project
749 * [THRIFT-2878] - Go validation support of required fields
750 * [THRIFT-2873] - TPipe and TPipeServer don't compile on Windows with UNICODE enabled
751 * [THRIFT-2888] - import of <limits> is missing in JSON generator
752 * [THRIFT-2900] - Python THttpClient does not reset socket timeout on exception
753 * [THRIFT-2907] - 'ntohll' macro redefined
754 * [THRIFT-2884] - Map does not serialize correctly for JSON protocol in Go library
755 * [THRIFT-2887] - --with-openssl configure flag is ignored
756 * [THRIFT-2894] - PHP json serializer skips maps with int/bool keys
757 * [THRIFT-2904] - json_protocol_test.go fails
758 * [THRIFT-2906] - library not found for -l:libboost_unit_test_framework.a
759 * [THRIFT-2890] - binary data may lose bytes with JSON transport under specific circumstances
760 * [THRIFT-2891] - binary data may cause a failure with JSON transport under specific circumstances
761 * [THRIFT-2901] - Fix for generated TypeScript functions + indentation of JavaScript maps
762 * [THRIFT-2916] - make check fails for D language
763 * [THRIFT-2918] - Race condition in Python TProcessPoolServer test
764 * [THRIFT-2920] - Erlang Thrift test uses wrong IDL file
765 * [THRIFT-2922] - $TRIAL is used with Python tests but not tested accordingly
766 * [THRIFT-2912] - Autotool build for C++ Qt library is invalid
767 * [THRIFT-2914] - explicit dependency to Lua5.2 fails on some systems
768 * [THRIFT-2910] - libevent is not really optional
769 * [THRIFT-2911] - fix c++ version zeromq transport, the old version cannot work
770 * [THRIFT-2915] - Lua generator missing from Visual Studio build project
771 * [THRIFT-2917] - "make clean" breaks test/c_glib
772 * [THRIFT-2919] - Haxe test server timeout too large
773 * [THRIFT-2923] - JavaScript client assumes a message being written
774 * [THRIFT-2924] - TNonblockingServer crashes when user-provided event_base is used
775 * [THRIFT-2925] - CMake build does not work with OpenSSL nor anything installed in non-system location
776 * [THRIFT-2931] - Access to undeclared static property: Thrift\Protocol\TProtocol::$TBINARYPROTOCOLACCELERATED
777 * [THRIFT-2893] - CMake build fails with boost thread or std thread
778 * [THRIFT-2902] - Generated c_glib code does not compile with clang
779 * [THRIFT-2903] - Qt4 library built with CMake does not work
780 * [THRIFT-2942] - CSharp generate invalid code for property named read or write
781 * [THRIFT-2932] - Node.js Thrift connection libraries throw Exceptions into event emitter
782 * [THRIFT-2933] - v0.9.2: doubles encoded in node with compact protocol cannot be decoded by python
783 * [THRIFT-2934] - createServer signature mismatch
784 * [THRIFT-2981] - IDL with no namespace produces unparsable PHP
785 * [THRIFT-2999] - Addition of .gitattributes text auto in THRIFT-2724 causes modified files on checkout
786 * [THRIFT-2949] - typo in compiler/cpp/README.md
787 * [THRIFT-2957] - warning: source file %s is in a subdirectory, but option 'subdir-objects' is disabled
788 * [THRIFT-2953] - TNamedPipeServerTransport is not Stop()able
789 * [THRIFT-2962] - Docker Thrift env for development and testing
790 * [THRIFT-2971] - C++ test and tutorial parallel build is unstable
791 * [THRIFT-2972] - Missing backslash in lib/cpp/test/Makefile.am
792 * [THRIFT-2951] - Fix Erlang name conflict test
793 * [THRIFT-2955] - Using list of typedefs does not compile on Go
794 * [THRIFT-2960] - namespace regression for Ruby
795 * [THRIFT-2959] - nodejs: fix binary unit tests
796 * [THRIFT-2966] - nodejs: Fix bad references to TProtocolException and TProtocolExceptionType
797 * [THRIFT-2970] - grunt-jsdoc fails due to dependency issues
798 * [THRIFT-3001] - C# Equals fails for binary fields (byte[])
799 * [THRIFT-3003] - Missing LICENSE file prevents package from being installed
800 * [THRIFT-3008] - Node.js server does not fully support exception
801 * [THRIFT-3007] - Travis build is broken because of directory conflict
802 * [THRIFT-3009] - TSSLSocket does not use the correct hostname (breaks certificate checks)
803 * [THRIFT-3011] - C# test server testException() not implemented according to specs
804 * [THRIFT-3012] - Timing problems in NamedPipe implementation due to unnecessary open/close
805 * [THRIFT-3019] - Golang generator missing docstring for structs
806 * [THRIFT-3021] - Service remote tool does not import stub package with package prefix
807 * [THRIFT-3026] - TMultiplexedProcessor does not have a constructor
808 * [THRIFT-3028] - Regression caused by THRIFT-2180
809 * [THRIFT-3017] - order of map key/value types incorrect for one CTOR
810 * [THRIFT-3020] - Cannot compile thrift as C++03
811 * [THRIFT-3024] - User-Agent "BattleNet" used in some Thrift library files
812 * [THRIFT-3047] - Uneven calls to indent_up and indent_down in Cocoa generator
813 * [THRIFT-3048] - NodeJS decoding of I64 is inconsistent across protocols
814 * [THRIFT-3043] - go compiler generator uses non C++98 code
815 * [THRIFT-3044] - Docker README.md paths to Dockerfiles are incorrect
816 * [THRIFT-3040] - bower.json wrong "main" path
817 * [THRIFT-3051] - Go Thrift generator creates bad go code
818 * [THRIFT-3057] - Java compiler build is broken
819 * [THRIFT-3061] - C++ TSSLSocket shutdown delay/vulnerability
820 * [THRIFT-3062] - C++ TServerSocket invalid port number (over 999999) causes stack corruption
821 * [THRIFT-3065] - Update libthrift dependencies (slf4j, httpcore, httpclient)
822 * [THRIFT-3244] - TypeScript: fix namespace of included types
823 * [THRIFT-3246] - Reduce the number of trivial warnings in Windows C++ CMake builds
824 * [THRIFT-3224] - Fix TNamedPipeServer unpredictable behavior on accept
825 * [THRIFT-3230] - Python compiler generates wrong code if there is function throwing a typedef of exception with another namespace
826 * [THRIFT-3236] - MaxSkipDepth never checked
827 * [THRIFT-3239] - Limit recursion depth
828 * [THRIFT-3241] - fatal error: runtime: cannot map pages in arena address space
829 * [THRIFT-3242] - OSGi Import-Package directive is missing the Apache HTTP packages
830 * [THRIFT-3234] - Limit recursion depth
831 * [THRIFT-3222] - TypeScript: Generated Enums are quoted
832 * [THRIFT-3229] - unexpected Timeout exception when desired bytes are only partially available
833 * [THRIFT-3231] - CPP: Limit recursion depth to 64
834 * [THRIFT-3235] - Limit recursion depth
835 * [THRIFT-3175] - fastbinary.c python deserialize can cause huge allocations from garbage
836 * [THRIFT-3176] - Union incorrectly implements ==
837 * [THRIFT-3177] - Fails to run rake test
838 * [THRIFT-3180] - lua plugin: framed transport do not work
839 * [THRIFT-3179] - lua plugin cant connect to remote server because function l_socket_create_and_connect always bind socket to localhost
840 * [THRIFT-3248] - TypeScript: additional comma in method signature without parameters
841 * [THRIFT-3302] - Go JSON protocol should encode Thrift byte type as signed integer string
842 * [THRIFT-3297] - c_glib: an abstract base class is not generated
843 * [THRIFT-3294] - TZlibTransport for Java does not write data correctly
844 * [THRIFT-3296] - Go cross test does not conform to spec
845 * [THRIFT-3295] - C# library does not build on Mono 4.0.2.5 or later
846 * [THRIFT-3293] - JavaScript: null values turn into empty structs in constructor
847 * [THRIFT-3310] - lib/erl/README.md has incorrect formatting
848 * [THRIFT-3319] - CSharp tutorial will not build using the *.sln
849 * [THRIFT-3335] - Ruby server does not handle processor exception
850 * [THRIFT-3338] - Stray underscore in generated go when service name starts with "New"
851 * [THRIFT-3324] - Update Go Docs for pulling all packages
852 * [THRIFT-3345] - Clients blocked indefinitely when a java.lang.Error is thrown
853 * [THRIFT-3332] - make dist fails on clean build
854 * [THRIFT-3326] - Tests do not compile under *BSD
855 * [THRIFT-3334] - Markdown notation of protocol spec is malformed
856 * [THRIFT-3331] - warning: ‘etype’ may be used uninitialized in this function
857 * [THRIFT-3349] - Python server does not handle processor exception
858 * [THRIFT-3343] - Fix haskell README
859 * [THRIFT-3340] - Python: enable json tests again
860 * [THRIFT-3311] - Top level README.md has incorrect formmating
861 * [THRIFT-2936] - Minor memory leak in SSL
862 * [THRIFT-3290] - Using from in variable names causes the generated Python code to have errors
863 * [THRIFT-3225] - Fix TPipeServer unpredictable behavior on interrupt()
864 * [THRIFT-3354] - Fix word-extraction substr bug in initialism code
865 * [THRIFT-2006] - TBinaryProtocol message header call name length is not validated and can be used to core the server
866 * [THRIFT-3329] - C++ library unit tests don't compile against the new boost-1.59 unit test framework
867 * [THRIFT-2630] - windows7 64bit pc. ipv4 and ipv6 pc.can't use
868 * [THRIFT-3336] - Thrift generated streaming operators added in 0.9.2 cannot be overridden
869 * [THRIFT-2681] - Core of unwind_cleanup
870 * [THRIFT-3317] - cpp namespace org.apache issue appears in 0.9
871
872## Documentation
873 * [THRIFT-3286] - Apache Ant is a necessary dependency
874
875## Improvement
876 * [THRIFT-227] - Byte[] in collections aren't pretty printed like regular binary fields
877 * [THRIFT-2744] - Vagrantfile for Centos 6.5
878 * [THRIFT-2644] - Haxe support
879 * [THRIFT-2756] - register Media Type @ IANA
880 * [THRIFT-3076] - Compatibility with Haxe 3.2.0
881 * [THRIFT-3081] - C++ Consolidate client processing loops in TServers
882 * [THRIFT-3083] - C++ Consolidate server processing loops in TSimpleServer, TThreadedServer, TThreadPoolServer
883 * [THRIFT-3084] - C++ add concurrent client limit to threaded servers
884 * [THRIFT-3074] - Add compiler/cpp/lex.yythriftl.cc to gitignore.
885 * [THRIFT-3134] - Remove use of deprecated "phantom.args"
886 * [THRIFT-3133] - Allow "make cross" and "make precross" to run without building all languages
887 * [THRIFT-3142] - Make JavaScript use downloaded libraries
888 * [THRIFT-3141] - Improve logging of JavaScript test
889 * [THRIFT-3144] - Proposal: make String representation of enums in generated go code less verbose
890 * [THRIFT-3130] - Remove the last vestiges of THRIFT_OVERLOAD_IF from THRIFT-1316
891 * [THRIFT-3131] - Consolidate suggested import path for go thrift library to git.apache.org in docs and code
892 * [THRIFT-3092] - Generated Haskell types should derive Generic
893 * [THRIFT-3110] - Print error log after cross test failures on Travis
894 * [THRIFT-3114] - Using local temp variables to not pollute the global table
895 * [THRIFT-3106] - CMake summary should give more information why a library is set to off
896 * [THRIFT-3119] - Java's TThreadedSelectorServer has indistinguishable log messages in run()
897 * [THRIFT-3122] - Javascript struct constructor should properly initialize struct and container members from plain js arguments
898 * [THRIFT-3151] - Fix links to git-wip* - should be git.apache.org
899 * [THRIFT-3167] - Windows build from source instructions need to be revised
900 * [THRIFT-3155] - move contrib/mingw32-toolchain.cmake to build/cmake/
901 * [THRIFT-3160] - Make generated go enums implement TextMarshaller and TextUnmarshaller interfaces
902 * [THRIFT-3150] - Add an option to thrift go generator to make Read and Write methods private
903 * [THRIFT-3149] - Make ReadFieldN methods in generated Go code private
904 * [THRIFT-3172] - Add tutorial to Thrift web site
905 * [THRIFT-3214] - Add Erlang option for using maps instead of dicts
906 * [THRIFT-3201] - Capture github test artifacts for failed builds
907 * [THRIFT-3266] - c_glib: Multiple compiler warnings building unit tests
908 * [THRIFT-3285] - c_glib: Build library with all warnings enabled, no warnings generated
909 * [THRIFT-1954] - Allow for a separate connection timeout value
910 * [THRIFT-2098] - Add support for Qt5+
911 * [THRIFT-2199] - Remove Dense protocol (was: move to Contrib)
912 * [THRIFT-406] - C++ Test suite cleanup
913 * [THRIFT-902] - socket and connect timeout in TSocket should be distinguished
914 * [THRIFT-388] - Use a separate wire format for async calls
915 * [THRIFT-727] - support native C++ language specific exception message
916 * [THRIFT-1784] - pep-3110 compliance for exception handling
917 * [THRIFT-1025] - C++ ServerSocket should inherit from Socket with the necessary Ctor to listen on connections from a specific host
918 * [THRIFT-2269] - Can deploy libthrift-source.jar to maven center repository
919 * [THRIFT-2804] - Pull an interface out of TBaseAsyncProcessor
920 * [THRIFT-2806] - more whitespace fixups
921 * [THRIFT-2811] - Make remote socket address accessible
922 * [THRIFT-2809] - .gitignore update for compiler's visual project
923 * [THRIFT-2846] - Expose ciphers parameter from ssl.wrap_socket()
924 * [THRIFT-2859] - JSON generator: output complete descriptors
925 * [THRIFT-2861] - add buffered transport
926 * [THRIFT-2865] - Test case for Go: SeqId out of sequence
927 * [THRIFT-2866] - Go generator source code is hard to read and maintain
928 * [THRIFT-2880] - Read the network address from the listener if available.
929 * [THRIFT-2875] - Typo in TDenseProtocol.h comment
930 * [THRIFT-2874] - TBinaryProtocol member variable "string_buf_" is never used.
931 * [THRIFT-2855] - Move contributing.md to the root of the repository
932 * [THRIFT-2862] - Enable RTTI and/or build macros for generated code
933 * [THRIFT-2876] - Add test for THRIFT-2526 Assignment operators and copy constructors in c++ don't copy the __isset struct
934 * [THRIFT-2897] - Generate -isEqual: and -hash methods
935 * [THRIFT-2909] - Improve travis build
936 * [THRIFT-2921] - Make Erlang impl ready for OTP 18 release (dict/0 and set/0 are deprecated)
937 * [THRIFT-2928] - Rename the erlang test_server module
938 * [THRIFT-2940] - Allow installing Thrift from git as NPM module by providing package.json in top level directory
939 * [THRIFT-2937] - Allow setting a maximum frame size in TFramedTransport
940 * [THRIFT-2976] - nodejs: xhr and websocket support for browserify
941 * [THRIFT-2996] - Test for Haxe 3.1.3 or better
942 * [THRIFT-2969] - nodejs: DRY up library tests
943 * [THRIFT-2973] - Update Haxe lib readme regarding Haxe 3.1.3
944 * [THRIFT-2952] - Improve handling of Server.Stop()
945 * [THRIFT-2964] - nodejs: move protocols and transports into separate files
946 * [THRIFT-2963] - nodejs - add test coverage
947 * [THRIFT-3006] - Attach 'omitempty' json tag for optional fields in Go
948 * [THRIFT-3027] - Go compiler does not ensure common initialisms have consistent case
949 * [THRIFT-3030] - TThreadedServer: Property for number of clientThreads
950 * [THRIFT-3023] - Go compiler is a little overly conservative with names of attributes
951 * [THRIFT-3018] - Compact protocol for Delphi
952 * [THRIFT-3025] - Change pure Int constants into @enums (where possible)
953 * [THRIFT-3031] - migrate "shouldStop" flag to TServer
954 * [THRIFT-3022] - Compact protocol for Haxe
955 * [THRIFT-3041] - Generate asynchronous clients for Cocoa
956 * [THRIFT-3053] - Perl SSL Socket Support (Encryption)
957 * [THRIFT-3247] - Generate a C++ thread-safe client
958 * [THRIFT-3217] - Provide a little endian variant of the binary protocol in C++
959 * [THRIFT-3223] - TypeScript: Add initial support for Enum Maps
960 * [THRIFT-3220] - Option to suppress @Generated Annotation entirely
961 * [THRIFT-3300] - Reimplement TZlibTransport in Java using streams
962 * [THRIFT-3288] - c_glib: Build unit tests with all warnings enabled, no warnings generated
963 * [THRIFT-3347] - Improve cross test servers and clients
964 * [THRIFT-3342] - Improve ruby cross test client and server compatibility
965 * [THRIFT-2296] - Add C++ Base class for service
966 * [THRIFT-3337] - Add testBool method to cross tests
967 * [THRIFT-3303] - Disable concurrent cabal jobs on Travis to avoid GHC crash
968 * [THRIFT-2623] - Docker container for Thrift
969 * [THRIFT-3298] - thrift endian converters may conflict with other libraries
970 * [THRIFT-1559] - Provide memory pool for TBinaryProtocol to eliminate memory fragmentation
971 * [THRIFT-424] - Steal ProtocolBuffers' VarInt implementation for C++
972
973## New Feature
974 * [THRIFT-3070] - Add ability to set the LocalCertificateSelectionCallback
975 * [THRIFT-1909] - Java: Add compiler flag to use the "option pattern" for optional fields
976 * [THRIFT-2099] - Stop TThreadPoolServer with alive connections.
977 * [THRIFT-123] - implement TZlibTransport in Java
978 * [THRIFT-2368] - New option: reuse-objects for Java generator
979 * [THRIFT-2836] - Optionally generate C++11 MoveConstructible types
980 * [THRIFT-2824] - Flag to disable html escaping doctext
981 * [THRIFT-2819] - Add WebsSocket client to node.js
982 * [THRIFT-3050] - Client certificate authentication for non-http TLS in C#
983 * [THRIFT-3292] - Implement TZlibTransport in Go
984
985## Question
986 * [THRIFT-2583] - Thrift on xPC target (SpeedGoat)
987 * [THRIFT-2592] - thrift server using c_glib
988 * [THRIFT-2832] - c_glib: Handle string lists correctly
989 * [THRIFT-3136] - thrift installation problem on mac
990 * [THRIFT-3346] - c_glib: Tutorials example crashes saying Calculator.ping implementation returned FALSE but did not set an error
991
992## Sub-task
993 * [THRIFT-2578] - Moving 'make cross' from test.sh to test.py
994 * [THRIFT-2734] - Go coding standards
995 * [THRIFT-2748] - Add Vagrantfile for Centos 6.5
996 * [THRIFT-2753] - Misc. Haxe improvements
997 * [THRIFT-2640] - Compact Protocol in Cocoa
998 * [THRIFT-3262] - warning: overflow in implicit constant conversion in DenseProtoTest.cpp
999 * [THRIFT-3194] - Can't build with go enabled. gomock SCC path incorrect.
1000 * [THRIFT-3275] - c_glib tutorial warnings in generated code
1001 * [THRIFT-1125] - Multiplexing support for the Ruby Library
1002 * [THRIFT-2807] - PHP Code Style
1003 * [THRIFT-2841] - Add comprehensive integration tests for the whole Go stack
1004 * [THRIFT-2815] - Haxe: Support for Multiplexing Services on any Transport, Protocol and Server
1005 * [THRIFT-2886] - Integrate binary type in standard Thrift cross test
1006 * [THRIFT-2946] - Enhance usability of cross test framework
1007 * [THRIFT-2967] - Add .editorconfig to root
1008 * [THRIFT-3033] - Perl: Support for Multiplexing Services on any Transport, Protocol and Server
1009 * [THRIFT-3174] - Initialism code in the Go compiler doesn't check first word
1010 * [THRIFT-3193] - Option to supress date value in @Generated annotation
1011 * [THRIFT-3305] - Missing dist files for 0.9.3 release candidate
1012 * [THRIFT-3341] - Add testBool methods
1013 * [THRIFT-3308] - Fix broken test cases for 0.9.3 release candidate
1014
1015## Task
1016 * [THRIFT-2834] - Remove semi-colons from python code generator
1017 * [THRIFT-2853] - Adjust comments not applying anymore after THRIFT-2852
1018
1019## Test
1020 * [THRIFT-3211] - Add make cross support for php TCompactProtocol
1021
1022## Wish
1023 * [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
1024
1025
1026
jfarrell507ba1b2014-07-10 12:44:51 -04001027Thrift 0.9.2
1028--------------------------------------------------------------------------------
1029## Bug
jfarrelle81367b2014-11-05 07:06:58 -05001030 * [THRIFT-2793] - Go compiler produces uncompilable code
jfarrell507ba1b2014-07-10 12:44:51 -04001031 * [THRIFT-1481] - Unix domain sockets in C++ do not support the abstract namespace
1032 * [THRIFT-1455] - TBinaryProtocolT<Transport_>::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
1033 * [THRIFT-1579] - PHP Extention - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
1034 * [THRIFT-1584] - Error: could not SetMinThreads in ThreadPool on single-core machines
1035 * [THRIFT-1614] - Thrift build from svn repo sources fails with automake-1.12
1036 * [THRIFT-1047] - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
1037 * [THRIFT-1639] - Java/Python: Serialization/Deserialization of double type using CompactProtocol
1038 * [THRIFT-1647] - NodeJS BufferedTransport does not work beyond the hello-world example
1039 * [THRIFT-2130] - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
1040 * [THRIFT-2140] - Error compiling cpp tutorials
1041 * [THRIFT-2139] - MSVC 2012 Error - Cannot compile due to BoostThreadFactory
1042 * [THRIFT-2138] - pkgconfig file created with wrong include path
1043 * [THRIFT-2160] - Warning in thrift.h when compiling with -Wunused and NDEBUG
1044 * [THRIFT-2158] - Compact, JSON, and SimpleJSON protocols are not working correctly
1045 * [THRIFT-2167] - nodejs lib throws error if options argument isn't passed
1046 * [THRIFT-2288] - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
1047 * [THRIFT-2147] - Thrift IDL grammar allows for dotted identifier names
1048 * [THRIFT-2145] - Rack and Thin are not just development dependencies
1049 * [THRIFT-2267] - Should be able to choose socket family in Python TSocket
1050 * [THRIFT-2276] - java path in spec file needs updating
1051 * [THRIFT-2281] - Generated send/recv code ignores errors returned by the underlying protocol
1052 * [THRIFT-2280] - TJSONProtocol.Flush() does not really flush the transport
1053 * [THRIFT-2274] - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
1054 * [THRIFT-2265] - php library doesn't build
1055 * [THRIFT-2232] - IsSet* broken in Go
1056 * [THRIFT-2246] - Unset enum value is printed by ToString()
1057 * [THRIFT-2240] - thrift.vim (contrib) does not correctly handle 'union'
1058 * [THRIFT-2243] - TNonblockingServer in thrift crashes when TFramedTransport opens
1059 * [THRIFT-2230] - Cannot Build on RHEL/Centos/Amazon Linux 6.x
1060 * [THRIFT-2247] - Go generator doesn't deal well with map keys of type binary
1061 * [THRIFT-2253] - Python Tornado TTornadoServer base class change
1062 * [THRIFT-2261] - java: error: unmappable character for encoding ASCII
1063 * [THRIFT-2259] - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
1064 * [THRIFT-2225] - SSLContext destroy before cleanupOpenSSL
1065 * [THRIFT-2224] - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
1066 * [THRIFT-2229] - thrift failed to build on OSX 10.9 GM
1067 * [THRIFT-2227] - Thrift compiler generates spurious warnings with Xlint
1068 * [THRIFT-2219] - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
1069 * [THRIFT-2226] - TServerSocket - keepAlive wrong initialization order
1070 * [THRIFT-2285] - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
1071 * [THRIFT-2216] - Extraneous semicolon in TProtocolUtil.h makes clang mad
1072 * [THRIFT-2215] - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
1073 * [THRIFT-2211] - Exception constructor does not contain namespace prefix.
1074 * [THRIFT-2210] - lib/java TSimpleJSONProtocol can emit invalid JSON
1075 * [THRIFT-2209] - Ruby generator -- please namespace classes
1076 * [THRIFT-2202] - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
1077 * [THRIFT-2201] - Ternary operator returns different types (build error for some compilers)
1078 * [THRIFT-2200] - nested structs cause generate_fingerprint() to slow down at excessive CPU load
1079 * [THRIFT-2197] - fix jar output directory in rpm spec file
1080 * [THRIFT-2196] - Fix invalid dependency in Makefile.am
1081 * [THRIFT-2194] - Node: Not actually prepending residual data in TFramedTransport.receiver
1082 * [THRIFT-2193] - Java code generator emits spurious semicolon when deep copying binary data
1083 * [THRIFT-2191] - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
1084 * [THRIFT-2214] - System header sys/param.h is included inside the Thrift namespace
1085 * [THRIFT-2178] - Thrift generator returns error exit code on --version
1086 * [THRIFT-2171] - NodeJS implementation has extremely low test coverage
1087 * [THRIFT-2183] - gem install fails on zsh
1088 * [THRIFT-2182] - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
1089 * [THRIFT-2181] - oneway calls don't work in NodeJS
1090 * [THRIFT-2169] - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
1091 * [THRIFT-2168] - Node.js appears broken (at least, examples don't work as intended)
1092 * [THRIFT-2293] - TSSLTransportFactory.createSSLContext() leaves files open
1093 * [THRIFT-2279] - TSerializer only returns the first 1024 bytes serialized
1094 * [THRIFT-2278] - Buffered transport doesn't support writes > buffer size
1095 * [THRIFT-2275] - Fix memory leak in golang compact_protocol.
1096 * [THRIFT-2282] - Incorect code generated for some typedefs
1097 * [THRIFT-2009] - Go redeclaration error
1098 * [THRIFT-1964] - 'Isset' causes problems with C#/.NET serializers
1099 * [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
1100 * [THRIFT-2108] - Fix TAsyncClientManager timeout race
1101 * [THRIFT-2068] - Multiple calls from same connection are not processed in node
1102 * [THRIFT-1750] - Make compiler build cleanly under visual studio 10
1103 * [THRIFT-1755] - Comment parsing bug
1104 * [THRIFT-1771] - "make check" fails on x64 for libboost_unit_test_framework.a
1105 * [THRIFT-1841] - NodeJS Thrift incorrectly parses non-UTF8-string types
1106 * [THRIFT-1908] - Using php thrift_protocol accelerated transfer causes core dump
1107 * [THRIFT-1892] - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
1108 * [THRIFT-2303] - TBufferredTransport not properly closing underlying transport
1109 * [THRIFT-2313] - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
1110 * [THRIFT-2311] - Go: invalid code generated when exception name is a go keyword
1111 * [THRIFT-2308] - node: TJSONProtocol parse error when reading from buffered message
1112 * [THRIFT-2316] - ccp: TFileTransportTest
1113 * [THRIFT-2352] - msvc failed to compile thrift tests
1114 * [THRIFT-2337] - Golang does not report TIMED_OUT exceptions
1115 * [THRIFT-2340] - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
1116 * [THRIFT-2354] - Connection errors can lead to case_clause exceptions
1117 * [THRIFT-2339] - Uncaught exception in thrift c# driver
1118 * [THRIFT-2356] - c++ thrift client not working with ssl (SSL_connect hangs)
1119 * [THRIFT-2331] - Missing call to ReadStructBegin() in TApplicationException.Read()
1120 * [THRIFT-2323] - Uncompileable Delphi code generated for typedef'd structs
1121 * [THRIFT-2322] - Correctly show the number of times ExecutorService (java) has rejected the client.
1122 * [THRIFT-2389] - namespaces handled wrongly in acrionscript 3.0 implementation
1123 * [THRIFT-2388] - GoLang - Fix data races in simple_server and server_socket
1124 * [THRIFT-2386] - Thrift refuses to link yylex
1125 * [THRIFT-2375] - Excessive <br>'s in generated HTML
1126 * [THRIFT-2373] - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
1127 * [THRIFT-2372] - thrift/json_protocol.go:160: function ends without a return statement
1128 * [THRIFT-2371] - ruby bundler version fails on ~1.3.1, remove and take latest avail
1129 * [THRIFT-2370] - Compiler SEGFAULTs generating HTML documentation for complex strucre
1130 * [THRIFT-2384] - Binary map keys produce uncompilable code in go
1131 * [THRIFT-2380] - unreachable code (CID 1174546, CID 1174679)
1132 * [THRIFT-2378] - service method arguments of binary type lead to uncompileable Go code
1133 * [THRIFT-2363] - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
1134 * [THRIFT-2359] - TBufferedTransport doesn't clear it's buffer on a failed flush call
1135 * [THRIFT-2428] - Python 3 setup.py support
1136 * [THRIFT-2367] - Build failure: stdlib and boost both define uint64_t
1137 * [THRIFT-2365] - C# decodes too many binary bytes from JSON
1138 * [THRIFT-2402] - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
1139 * [THRIFT-2396] - Build Error on MacOSX
1140 * [THRIFT-2395] - thrift Ruby gem requires development dependency 'thin' regardless of environment
1141 * [THRIFT-2414] - c_glib fix several bug.
1142 * [THRIFT-2420] - Go argument parser for methods without arguments does not skip fields
1143 * [THRIFT-2439] - Bug in TProtocolDecorator Class causes parsing errors
1144 * [THRIFT-2419] - golang - Fix fmt.Errorf in generated code
1145 * [THRIFT-2418] - Go handler function panics on internal error
1146 * [THRIFT-2405] - Node.js Multiplexer tests fail (silently)
1147 * [THRIFT-2581] - TFDTransport destructor should not throw
1148 * [THRIFT-2575] - Thrift includes siginfo_t within apache::thrift::protocol namespace
1149 * [THRIFT-2577] - TFileTransport missuse of closesocket on windows platform
1150 * [THRIFT-2576] - Implement Thrift.Protocol.prototype.skip method in JavaScript library
1151 * [THRIFT-2588] - Thrift compiler is not buildable in Visual Studio 2010
1152 * [THRIFT-2594] - JS Compiler: Single quotes are not being escaped in constants.
1153 * [THRIFT-2591] - TFramedTransport does not handle payloads split across packets correctly
1154 * [THRIFT-2599] - Uncompileable Delphi code due to naming conflicts with IDL
1155 * [THRIFT-2590] - C++ Visual Studio solution doesn't include Multiplexing support
1156 * [THRIFT-2595] - Node.js: Fix global leaks and copy-paste errors
1157 * [THRIFT-2565] - autoconf fails to find mingw-g++ cross compiler on travis CI
1158 * [THRIFT-2555] - excessive "unused field" comments
1159 * [THRIFT-2554] - double initialization in generated Read() method
1160 * [THRIFT-2551] - OutOfMemoryError "unable to create new native thread" kills serve thread
1161 * [THRIFT-2543] - Generated enum type in haskell should be qualified
1162 * [THRIFT-2560] - Thrift compiler generator tries to concat ints with strings using +
1163 * [THRIFT-2559] - Centos 6.5 unable to "make" with Thrift 0.9.1
1164 * [THRIFT-2526] - Assignment operators and copy constructors in c++ don't copy the __isset struct
1165 * [THRIFT-2454] - c_glib: There is no gethostbyname_r() in some OS.
1166 * [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
1167 * [THRIFT-2450] - include HowToContribute in the src repo
1168 * [THRIFT-2448] - thrift/test/test.sh has incorrect Node.js test path
1169 * [THRIFT-2460] - unopened socket fd must be less than zero.
1170 * [THRIFT-2459] - --version should not exit 1
1171 * [THRIFT-2468] - Timestamp handling
1172 * [THRIFT-2467] - Unable to build contrib/fb303 on OSX 10.9.2
1173 * [THRIFT-2466] - Improper error handling for SSL/TLS connections that don't complete a handshake
1174 * [THRIFT-2463] - test/py/RunClientServer.py fails sometimes
1175 * [THRIFT-2458] - Generated golang server code for "oneway" methods is incorrect
1176 * [THRIFT-2456] - THttpClient fails when using async support outside Silverlight
1177 * [THRIFT-2524] - Visual Studio project is missing TThreadedServer files
1178 * [THRIFT-2523] - Visual Studio project is missing OverlappedSubmissionThread files
1179 * [THRIFT-2520] - cpp:cob_style generates incorrect .tcc file
1180 * [THRIFT-2508] - Uncompileable C# code due to language keywords in IDL
1181 * [THRIFT-2506] - Update TProtocolException error codes to be used consistently throughout the library
1182 * [THRIFT-2505] - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
1183 * [THRIFT-2515] - TLS Method error during make
1184 * [THRIFT-2503] - C++: Fix name collision when a struct has a member named "val"
1185 * [THRIFT-2477] - thrift --help text with misplaced comma
1186 * [THRIFT-2492] - test/cpp does not compile on mac
1187 * [THRIFT-2500] - sending random data crashes thrift(golang) service
1188 * [THRIFT-2475] - c_glib: buffered_transport_write function return always TRUE.
1189 * [THRIFT-2495] - JavaScript/Node string constants lack proper escaping
1190 * [THRIFT-2491] - unable to import generated ThriftTest service
1191 * [THRIFT-2490] - c_glib: if fail to read a exception from server, client may be occurred double free
1192 * [THRIFT-2470] - THttpHandler swallows exceptions from processor
1193 * [THRIFT-2533] - Boost version in requirements should be updated
1194 * [THRIFT-2532] - Java version in installation requirements should be updated
1195 * [THRIFT-2529] - TBufferedTransport split Tcp data bug in nodeJs
1196 * [THRIFT-2537] - Path for "go get" does not work (pull request 115)
1197 * [THRIFT-2443] - Node fails cross lang tests
1198 * [THRIFT-2437] - Author fields in Python setup.py must be strings not lists.
1199 * [THRIFT-2435] - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
1200 * [THRIFT-2434] - Missing namespace import for php TMultiplexedProcessor implementation
1201 * [THRIFT-2432] - Flaky parallel build
1202 * [THRIFT-2430] - Crash during TThreadPoolServer shutdown
1203 * [THRIFT-667] - Period should not be allowed in identifier names
1204 * [THRIFT-1212] - Members capital case conflict
1205 * [THRIFT-2584] - Error handler not listened on javascript client
1206 * [THRIFT-2294] - Incorrect Makefile generation
1207 * [THRIFT-2601] - Fix vagrant to work again for builds again
1208 * [THRIFT-2092] - TNonblocking server should release handler as soon as connection closes
1209 * [THRIFT-2557] - CS0542 member names cannot be the same as their enclosing type
1210 * [THRIFT-2605] - TSocket warning on gcc 4.8.3
1211 * [THRIFT-2607] - ThreadManager.cpp warning on clang++ 3.4
1212 * [THRIFT-1998] - TCompactProtocol.tcc - one more warning on Visual 2010
1213 * [THRIFT-2610] - MSVC warning in TSocket.cpp
1214 * [THRIFT-2614] - TNonblockingServer.cpp warnings on MSVC
1215 * [THRIFT-2608] - TNonblockingServer.cpp warnings on clang 3.4
1216 * [THRIFT-2606] - ThreadManager.h warning in clang++ 3.4
1217 * [THRIFT-2609] - TFileTransport.h unused field warning (clang 3.4)
1218 * [THRIFT-2416] - Cannot use TCompactProtocol with MSVC
1219 * [THRIFT-1803] - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
1220 * [THRIFT-2385] - Problem with gethostbyname2 during make check
1221 * [THRIFT-2262] - thrift server 'MutateRow' operation gives no indication of success / failure
1222 * [THRIFT-2048] - Prefer boolean context to nullptr_t conversion
1223 * [THRIFT-2528] - Thrift Erlang Library: Multiple thrift applications in one bundle
1224 * [THRIFT-1999] - warning on gcc 4.7 while compiling BoostMutex.cpp
1225 * [THRIFT-2104] - Structs lose binary data when transferred from server to client in Java
1226 * [THRIFT-2184] - undefined method rspec_verify for Thrift::MemoryBufferTransport
1227 * [THRIFT-2351] - PHP TCompactProtocol has fails to decode messages
1228 * [THRIFT-2016] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
1229 * [THRIFT-2273] - Please delete old releases from mirroring system
1230 * [THRIFT-2270] - Faulty library version numbering at build or documentation
1231 * [THRIFT-2203] - Tests keeping failing on Jenkins and Travis CI
1232 * [THRIFT-2399] - thrift.el: recognize "//"-style comments in emacs thrift-mode
1233 * [THRIFT-2582] - "FileTransport error" exception is raised when trying to use Java's TFileTransport
1234 * [THRIFT-1682] - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
1235 * [THRIFT-2357] - recurse option has no effect when generating php
1236 * [THRIFT-2248] - Go generator doesn't deal well with map keys of type binary
1237 * [THRIFT-2426] - clarify IP rights and contributions from fbthrift
1238 * [THRIFT-2041] - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
1239 * [THRIFT-2400] - thrift.el: recognize "//"-style comments in emacs thrift-mode
1240 * [THRIFT-1717] - Fix deb build in jenkins
1241 * [THRIFT-2266] - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
1242 * [THRIFT-1300] - Test failures with parallel builds (make -j)
1243 * [THRIFT-2487] - Tutorial requires two IDL files but only one is linked from the Thrift web site
1244 * [THRIFT-2329] - missing release tags within git
1245 * [THRIFT-2306] - concurent client calls with nodejs
1246 * [THRIFT-2222] - ruby gem cannot be compiled on OS X mavericks
1247 * [THRIFT-2381] - code which generated by thrift2/hbase.thrift compile error
1248 * [THRIFT-2390] - no close event when connection lost
1249 * [THRIFT-2146] - Unable to pass multiple "--gen" options to the thrift compiler
1250 * [THRIFT-2438] - Unexpected readFieldEnd call causes JSON Parsing errors
1251 * [THRIFT-2498] - Error message "Invalid method name" while trying to call HBase Thrift API
1252 * [THRIFT-841] - Build cruft
1253 * [THRIFT-2570] - Wrong URL given in http://thrift.apache.org/developers
1254 * [THRIFT-2604] - Fix debian packaging
1255 * [THRIFT-2618] - Unignore /aclocal files required for build
1256 * [THRIFT-2562] - ./configure create MakeFile in lib/d with errors
1257 * [THRIFT-2593] - Unable to build thrift on ubuntu-12.04 (Precise)
1258 * [THRIFT-2461] - Can't install thrift-0.8.0 on OS X 10.9.2
1259 * [THRIFT-2602] - Fix missing dist files
1260 * [THRIFT-2620] - Fix python packaging
1261 * [THRIFT-2545] - Test CPP fails to build (possibly typo)
jfarrell0d866d72012-12-10 15:46:04 -05001262
jfarrell507ba1b2014-07-10 12:44:51 -04001263## Documentation
1264 * [THRIFT-2155] - Adding one liner guide to rename the version.h.in and rename thrifty.cc.h
1265 * [THRIFT-1991] - Add exceptions to examples
1266 * [THRIFT-2334] - add a tutorial for node JS
1267 * [THRIFT-2392] - Actionscript tutorial
1268 * [THRIFT-2383] - contrib: sample for connecting Thrift with Rebus
1269 * [THRIFT-2382] - contrib: sample for connecting Thrift with STOMP
jfarrell72498202013-08-24 09:18:30 -04001270
jfarrell507ba1b2014-07-10 12:44:51 -04001271## Improvement
1272 * [THRIFT-1457] - Capacity of TframedTransport write buffer is never reset
1273 * [THRIFT-1135] - Node.js tutorial
1274 * [THRIFT-1371] - Socket timeouts (SO_RCVTIMEO and SO_SNDTIMEO) not supported on Solaris
1275 * [THRIFT-2142] - Minor tweaks to thrift.el for better emacs package compatibility
1276 * [THRIFT-2268] - Modify TSaslTransport to ignore TCP health checks from loadbalancers
1277 * [THRIFT-2264] - GitHub page incorrectly states that Thrift is still incubating
1278 * [THRIFT-2263] - Always generate good hashCode for Java
1279 * [THRIFT-2233] - Java compiler should defensively copy its binary inputs
1280 * [THRIFT-2239] - Address FindBugs errors
1281 * [THRIFT-2249] - Add SMP Build option to thrift.spec (and three config defines)
1282 * [THRIFT-2254] - Exceptions generated by Go compiler should implement error interface
1283 * [THRIFT-2260] - Thrift imposes unneeded dependency on commons-lang3
1284 * [THRIFT-2258] - Add TLS v1.1/1.2 support to TSSLSocket.cpp
1285 * [THRIFT-2205] - Node.js Test Server to support test.js JavaScript Browser test and sundry fixes
1286 * [THRIFT-2204] - SSL client for the cocoa client
1287 * [THRIFT-2172] - Java compiler allocates optionals array for every struct with an optional field
1288 * [THRIFT-2185] - use cabal instead of runhaskell in haskell library
1289 * [THRIFT-1926] - PHP Constant Generation Refactoring
1290 * [THRIFT-2029] - Port C++ tests to Windows
1291 * [THRIFT-2054] - TSimpleFileTransport - Java Lib has no straight forward TTransport based file transport
1292 * [THRIFT-2040] - "uninitialized variable" warnings on MSVC/windows
1293 * [THRIFT-2034] - Give developers' C++ code direct access to socket FDs on server side
1294 * [THRIFT-2095] - Use print function for Python 3 compatiblity
1295 * [THRIFT-1868] - Make the TPC backlog configurable in the Java servers
1296 * [THRIFT-1813] - Add @Generated annotation to generated classes
1297 * [THRIFT-1815] - Code generators line buffer output
1298 * [THRIFT-2305] - TFramedTransport empty constructor should probably be private
1299 * [THRIFT-2304] - Move client assignments from construtor in method
1300 * [THRIFT-2309] - Ruby (gem) & PHP RPM subpackages
1301 * [THRIFT-2318] - perl: dependency Class::Accessor not checked
1302 * [THRIFT-2317] - exclude tutorial from build
1303 * [THRIFT-2320] - Program level doctext does not get attached by parser
1304 * [THRIFT-2349] - Golang - improve tutorial
1305 * [THRIFT-2348] - PHP Generator: add array typehint to functions
1306 * [THRIFT-2344] - configure.ac: compiler-only option
1307 * [THRIFT-2343] - Golang - Return a single error for all exceptions instead of multiple return values
1308 * [THRIFT-2341] - Enable generation of Delphi XMLDoc comments (a.k.a. "Help Insight")
1309 * [THRIFT-2355] - Add SSL and Web Socket Support to Node and JavaScript
1310 * [THRIFT-2350] - Add async calls to normal JavaScript
1311 * [THRIFT-2330] - Generate PHPDoc comments
1312 * [THRIFT-2332] - RPMBUILD: run bootstrap (if needed)
1313 * [THRIFT-2391] - simple socket transport for actionscript 3.0
1314 * [THRIFT-2376] - nodejs: allow Promise style calls for client and server
1315 * [THRIFT-2369] - Add ssl support for nodejs implementation
1316 * [THRIFT-2401] - Haskell tutorial compiles
1317 * [THRIFT-2417] - C# Union classes are not partial
1318 * [THRIFT-2415] - Named pipes server performance & message mode
1319 * [THRIFT-2404] - emit warning on (typically inefficient) list<byte>
1320 * [THRIFT-2398] - Improve Node Server Library
1321 * [THRIFT-2397] - Add CORS and CSP support for JavaScript and Node.js libraries
1322 * [THRIFT-2407] - use markdown (rename README => README.md)
1323 * [THRIFT-2300] - D configure info output should follow same format as other languages
1324 * [THRIFT-2579] - Windows CE support
1325 * [THRIFT-2574] - Compiler option to generate namespace directories for Ruby
1326 * [THRIFT-2571] - Simplify cross compilation using CMake
1327 * [THRIFT-2569] - Introduce file to specify third party library locations on Windows
1328 * [THRIFT-2568] - Implement own certificate handler
1329 * [THRIFT-2552] - eliminate warning from configure.ac
1330 * [THRIFT-2549] - Generate json tag for struct members. use go.tag annotation to override the default generated tag.
1331 * [THRIFT-2544] - Add support for socket transport for c# library when using Windows Phone projects
1332 * [THRIFT-2453] - haskell tutorial: fix up division by 0 example
1333 * [THRIFT-2449] - Enhance typedef structure to distinguish between forwards and real typedefs
1334 * [THRIFT-2446] - There is no way to handle server stream errors
1335 * [THRIFT-2455] - Allow client certificates to be used with THttpClient
1336 * [THRIFT-2511] - Node.js needs the compact protocol
1337 * [THRIFT-2493] - Node.js lib needs HTTP client
1338 * [THRIFT-2502] - Optimize go implementations of binary and compact protocols for speed
1339 * [THRIFT-2494] - Add enum toString helper function in c_glib
1340 * [THRIFT-2471] - Make cpp.ref annotation language agnostic
1341 * [THRIFT-2497] - server and client for test/go, also several fixes and improvements
1342 * [THRIFT-2535] - TJSONProtocol when serialized yields TField ids rather than names
1343 * [THRIFT-2220] - Add a new struct structv?
1344 * [THRIFT-1352] - Thrift server
1345 * [THRIFT-989] - Push boost m4 macros upstream
1346 * [THRIFT-1349] - Remove unnecessary print outs
1347 * [THRIFT-2496] - server and client for test/go, also several fixes and improvements
1348 * [THRIFT-1114] - Maven publish shouldn't require passwords hardcoded in settings.xml
1349 * [THRIFT-2043] - visual 2010 warnings - unreachable code
1350 * [THRIFT-1683] - Implement alternatives to Javascript Client side Transport protocol, just as NPAPI and WebSocket.
1351 * [THRIFT-1746] - provide a SPDX file
1352 * [THRIFT-1772] - Serialization does not check types of embedded structures.
1353 * [THRIFT-2387] - nodejs: external imports should be centralized in index.js
1354 * [THRIFT-2037] - More general macro THRIFT_UNUSED_VARIABLE
1355
1356## New Feature
1357 * [THRIFT-1012] - Transport for DataInput DataOutput interface
1358 * [THRIFT-2256] - Using c++11/c++0x std library replace boost library
1359 * [THRIFT-2250] - JSON and MemoryBuffer for JavaME
1360 * [THRIFT-2114] - Python Service Remote SSL Option
1361 * [THRIFT-1719] - SASL client support for Python
1362 * [THRIFT-1894] - Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
1363 * [THRIFT-1893] - HTTP/JSON server/client for node js
1364 * [THRIFT-2347] - C# TLS Transport based on THRIFT-181
1365 * [THRIFT-2377] - Allow addition of custom HTTP Headers to an HTTP Transport
1366 * [THRIFT-2408] - Named Pipe Transport Option for C#
1367 * [THRIFT-2572] - Add string/collection length limit checks (from C++) to java protocol readers
1368 * [THRIFT-2469] - "java:fullcamel" option to automatically camel-case underscored attribute names
1369 * [THRIFT-795] - Importing service functions (simulation multiple inheritance)
1370 * [THRIFT-2164] - Add a Get/Post Http Server to Node along with examples
1371 * [THRIFT-2255] - add Parent Class for generated Struct class
1372
1373## Question
1374 * [THRIFT-2539] - Tsocket.cpp addrinfo ai_flags = AI_ADDRCONFIG
1375 * [THRIFT-2440] - how to connect as3 to java by thrift ,
1376 * [THRIFT-2379] - Memmory leaking while using multithreading in C++ server.
1377 * [THRIFT-2277] - Thrift: installing fb303 error
1378 * [THRIFT-2567] - Csharp slow ?
1379 * [THRIFT-2573] - thrift 0.9.2 release
1380
1381## Sub-task
1382 * [THRIFT-981] - cocoa: add version Info to the library
1383 * [THRIFT-2132] - Go: Support for Multiplexing Services on any Transport, Protocol and Server
1384 * [THRIFT-2299] - TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
1385 * [THRIFT-2298] - TJsonProtocol implementation for C# does not allow for both possible slash (solidus) encodings
1386 * [THRIFT-2297] - TJsonProtocol implementation for Delphi does not allow for both possible slash (solidus) encodings
1387 * [THRIFT-2271] - JavaScript: Support for Multiplexing Services
1388 * [THRIFT-2251] - go test for compact protocol is not running
1389 * [THRIFT-2195] - Delphi: Add event handlers for server and processing events
1390 * [THRIFT-2176] - TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
1391 * [THRIFT-2175] - Wrong field type set for binary
1392 * [THRIFT-2174] - Deserializing JSON fails in specific cases
1393 * [THRIFT-2053] - NodeJS: Support for Multiplexing Services
1394 * [THRIFT-1914] - Python: Support for Multiplexing Services on any Transport, Protocol and Server
1395 * [THRIFT-1810] - add ruby to test/test.sh
1396 * [THRIFT-2310] - PHP: Client-side support for Multiplexing Services
1397 * [THRIFT-2346] - C#: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
1398 * [THRIFT-2345] - Delphi: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
1399 * [THRIFT-2338] - First doctext wrongly interpreted as program doctext in some cases
1400 * [THRIFT-2325] - SSL test certificates
1401 * [THRIFT-2358] - C++: add compact protocol to cross language test suite
1402 * [THRIFT-2425] - PHP: Server-side support for Multiplexing Services
1403 * [THRIFT-2421] - Tree/Recursive struct support in thrift
1404 * [THRIFT-2290] - Update Go tutorial to align with THRIFT-2232
1405 * [THRIFT-2558] - CSharp compiler generator tries to concat ints with strings using +
1406 * [THRIFT-2507] - Additional LUA TProtocolException error code needed?
1407 * [THRIFT-2499] - Compiler: allow annotations without "= value"
1408 * [THRIFT-2534] - Cross language test results should recorded to a status.md or status.html file automatically
1409 * [THRIFT-66] - Java: Allow multiplexing multiple services over a single TCP connection
1410 * [THRIFT-1681] - Add Lua Support
1411 * [THRIFT-1727] - Ruby-1.9: data loss: "binary" fields are re-encoded
1412 * [THRIFT-1726] - Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
1413 * [THRIFT-988] - perl: add version Info to the library via configure
1414 * [THRIFT-334] - Compact Protocol for PHP
1415 * [THRIFT-2444] - pull request 88: thrift: clean up enum value assignment
1416
1417## Task
1418 * [THRIFT-2223] - Spam links on wiki
1419 * [THRIFT-2566] - Please create a DOAP file for your TLP
1420 * [THRIFT-2237] - Update archive to contain all versions
1421 * [THRIFT-962] - Tutorial page on our website is really unhelpful
1422
1423## Test
1424 * [THRIFT-2327] - nodejs: nodejs test suite should be bundled with the library
1425 * [THRIFT-2445] - THRIFT-2384 (code generation for go maps with binary keys) should be tested
1426 * [THRIFT-2501] - C# The test parameters from the TestServer and TestClient are different from the http://thrift.apache.org/test/
1427
1428## Wish
1429 * [THRIFT-2190] - Add the JavaScript thrift.js lib to the Bower registry
1430 * [THRIFT-2076] - boost::optional instead of __isset
jfarrell72498202013-08-24 09:18:30 -04001431
1432
Jake Farrell6fcecd42012-10-11 20:34:25 +00001433
jfarrell507ba1b2014-07-10 12:44:51 -04001434Thrift 0.9.1
1435--------------------------------------------------------------------------------
1436## Bug
1437 * [THRIFT-1440] - debian packaging: minor-ish policy problems
1438 * [THRIFT-1402] - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
1439 * [THRIFT-1551] - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
1440 * [THRIFT-1264] - TSocketClient is queried by run loop after deallocation in Cocoa
1441 * [THRIFT-1600] - Thrift Go Compiler and Library out of date with Go 1 Release.
1442 * [THRIFT-1603] - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
1443 * [THRIFT-1062] - Problems with python tutorials
1444 * [THRIFT-864] - default value fails if identifier is a struct
1445 * [THRIFT-930] - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
1446 * [THRIFT-820] - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
1447 * [THRIFT-1640] - None of the tutorials linked on the website contain content
1448 * [THRIFT-1637] - NPM registry does not include version 0.8
1449 * [THRIFT-1648] - NodeJS clients always receive 0 for 'double' values.
1450 * [THRIFT-1660] - Python Thrift library can be installed with pip but not easy_install
1451 * [THRIFT-1657] - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
1452 * [THRIFT-2118] - Certificate error handling still incorrect
1453 * [THRIFT-2137] - Ruby test lib fails jenkins build #864
1454 * [THRIFT-2136] - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
1455 * [THRIFT-2135] - GO lib leaves behind test files that are auto generated
1456 * [THRIFT-2134] - mingw-cross-compile script failing with strip errors
1457 * [THRIFT-2133] - java TestTBinaryProtocol.java test failing
1458 * [THRIFT-2126] - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
1459 * [THRIFT-2125] - debian missing from DIST
1460 * [THRIFT-2124] - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
1461 * [THRIFT-2123] - GO lib missing files in DIST build
1462 * [THRIFT-2121] - Compilation bug for Node.js
1463 * [THRIFT-2129] - php ext missing from dist
1464 * [THRIFT-2128] - lib GO tests fail with funct ends without a return statement
1465 * [THRIFT-2286] - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
1466 * [THRIFT-1973] - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
1467 * [THRIFT-1992] - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
1468 * [THRIFT-1930] - C# generates unsigned byte for Thrift "byte" type
1469 * [THRIFT-1929] - Update website to use Mirrors for downloads
1470 * [THRIFT-1928] - Race may still exist in TFileTransport::flush()
1471 * [THRIFT-1934] - Tabs in Example section on main page are not working
1472 * [THRIFT-1933] - Delphi generator crashes when a typedef references another typedef from an included file
1473 * [THRIFT-1942] - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
1474 * [THRIFT-1959] - C#: Add Union TMemoryBuffer support
1475 * [THRIFT-1958] - C#: Use static Object.Equals instead of .Equals() calls in equals
1476 * [THRIFT-1957] - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
1477 * [THRIFT-1955] - Union Type writer generated in C# does not WriteStructBegin
1478 * [THRIFT-1952] - Travis CI
1479 * [THRIFT-1949] - WP7 build broken
1480 * [THRIFT-1943] - docstrings for enum values are ignored
1481 * [THRIFT-2070] - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
1482 * [THRIFT-2017] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
1483 * [THRIFT-2032] - C# client leaks sockets/handles
1484 * [THRIFT-1996] - JavaME Constants generation is broken / inconsistent with regular Java generation
1485 * [THRIFT-2002] - Haskell: Test use Data.Maybe instead of Maybe
1486 * [THRIFT-2051] - Vagrant fails to build erlang
1487 * [THRIFT-2050] - Vagrant C# lib compile fails with TException missing
1488 * [THRIFT-1978] - Ruby: Thrift should allow for the SSL verify mode to be set
1489 * [THRIFT-1984] - namespace collision in python bindings
1490 * [THRIFT-1988] - When trying to build a debian package it fails as the file NEWS doesn't exist
1491 * [THRIFT-1975] - TBinaryProtocol CheckLength can't be used for a client
1492 * [THRIFT-1995] - '.' allowed at end of identifier generates non-compilable code
1493 * [THRIFT-2112] - Error in Go generator when using typedefs in map keys
1494 * [THRIFT-2088] - Typos in Thrift compiler help text
1495 * [THRIFT-2080] - C# multiplex processor does not catch IOException
1496 * [THRIFT-2082] - Executing "gmake clean" is broken
1497 * [THRIFT-2102] - constants are not referencing to correct type when included from another thrift file
1498 * [THRIFT-2100] - typedefs are not correctly referenced when including from other thrift files
1499 * [THRIFT-2066] - 'make install' does not install two headers required for C++ bindings
1500 * [THRIFT-2065] - Not valid constants filename in Java
1501 * [THRIFT-2047] - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
1502 * [THRIFT-2036] - Thrift gem warns about class variable access from top level
1503 * [THRIFT-2057] - Vagrant fails on php tests
1504 * [THRIFT-2105] - Generated code for default values of collections ignores t_field::T_REQUIRED
1505 * [THRIFT-2091] - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
1506 * [THRIFT-2090] - Go generator, fix including of other thrift files
1507 * [THRIFT-2106] - Fix support for namespaces in GO generator
1508 * [THRIFT-1783] - C# doesn't handle required fields correctly
1509 * [THRIFT-1782] - async only defined in silverlight
1510 * [THRIFT-1779] - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
1511 * [THRIFT-1692] - SO_REUSEADDR allows for socket hijacking on Windows
1512 * [THRIFT-1720] - JRuby times out on successful connection
1513 * [THRIFT-1713] - Named and Anonymous Pipe transport (Delphi)
1514 * [THRIFT-1699] - Native Union#read has extra read_field_end call
1515 * [THRIFT-1749] - Python TSSLSocket error handling obscures actual error
1516 * [THRIFT-1748] - Guard and RWGuard macros defined in global namespace
1517 * [THRIFT-1734] - Front webpage is still advertising v0.8 as current release
1518 * [THRIFT-1729] - C glib refactor left empty folders in svn
1519 * [THRIFT-1767] - unions can't have required fields (Delphi)
1520 * [THRIFT-1765] - Incorrect error message printed for null or negative keys
1521 * [THRIFT-1778] - Configure requires manual intervention due to tar failure
1522 * [THRIFT-1777] - TPipeServer is UNSTOPPABLE
1523 * [THRIFT-1753] - Multiple C++ Windows, OSX, and iOS portability issues
1524 * [THRIFT-1756] - 'make -j 8' fails with "unterminated #ifdef" error
1525 * [THRIFT-1773] - Python library should run on python 2.4
1526 * [THRIFT-1769] - unions can't have required fields (C++)
1527 * [THRIFT-1768] - unions can't have required fields (Compiler)
1528 * [THRIFT-1666] - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
1529 * [THRIFT-1919] - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
1530 * [THRIFT-1864] - implement event handler for non-blocking server
1531 * [THRIFT-1859] - Generated error c++ code with -out and include_prefix param
1532 * [THRIFT-1869] - TThreadPoolServer (java) dies when threadpool is consumed
1533 * [THRIFT-1842] - Memory leak with Pipes
1534 * [THRIFT-1838] - Can't build compiler on OS X because of missing thrifty.h
1535 * [THRIFT-1846] - Restore socket.h header to support builds with Android NDK
1536 * [THRIFT-1850] - make check hangs on TSocket tests in TransportTest.cpp
1537 * [THRIFT-1873] - Binary protocol factory ignores struct read/write flags
1538 * [THRIFT-1872] - issues with TBufferedTransport buffer
1539 * [THRIFT-1904] - Incorrect code is generated for typedefs which use included types
1540 * [THRIFT-1903] - PHP namespaces cause binary protocols to not be used
1541 * [THRIFT-1895] - Delphi: reserved variable name "result" not detected properly
1542 * [THRIFT-1881] - TNonblockingServer does not release open connections or threads on shutdown
1543 * [THRIFT-1888] - Java Thrift client can't connect to Python Thrift server on same host
1544 * [THRIFT-1831] - Bug in list deserializer
1545 * [THRIFT-1824] - many compile warning, becase Thread.h includes config.h
1546 * [THRIFT-1823] - Missing parenthesis breaks "IS_..." macro in generated code
1547 * [THRIFT-1806] - Python generation always truncates __init__.py files
1548 * [THRIFT-1795] - Race condition in TThreadedServerPool java implementation
1549 * [THRIFT-1794] - C# asyncctp broken
1550 * [THRIFT-1804] - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
1551 * [THRIFT-1800] - Documentation text not always escaped correctly when rendered to HTML
1552 * [THRIFT-1788] - C#: Constants static constructor does not compile
1553 * [THRIFT-1816] - Need "require" included thrift files in "xxx_types.js"
1554 * [THRIFT-1907] - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
1555 * [THRIFT-1913] - skipping unknown fields in java unions
1556 * [THRIFT-2553] - C++ linker error - transport/TSocket
1557 * [THRIFT-274] - Towards a working release/versioning process
1558
1559## Documentation
1560 * [THRIFT-1971] - [Graphviz] Adds tutorial/general description documentation
1561 * [THRIFT-2001] - http://thrift.apache.org/ Example "C++ Server" tab is broken
1562
1563## Improvement
1564 * [THRIFT-1574] - Apache project branding requirements: DOAP file [PATCH]
1565 * [THRIFT-1347] - Unify the exceptions returned in generated Go code
1566 * [THRIFT-1353] - Switch to performance branch, get rid of BinaryParser
1567 * [THRIFT-1629] - Ruby 1.9 Compatibility during Thrift configure, make, install
1568 * [THRIFT-991] - Refactor Haskell code and generator
1569 * [THRIFT-990] - Sanify gettimeofday usage codebase-wide
1570 * [THRIFT-791] - Let C++ TSimpleServer be driven by an external main loop
1571 * [THRIFT-2117] - Cocoa TBinaryProtocol strictWrite should be set to true by default
1572 * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
1573 * [THRIFT-1972] - Add support for async processors
1574 * [THRIFT-1970] - [Graphviz] Adds option to render exceptions relationships
1575 * [THRIFT-1966] - Support different files for SSL certificates and keys
1576 * [THRIFT-1965] - Adds Graphviz (graph description language) generator
1577 * [THRIFT-1956] - Switch to Apache Commons Lang 3
1578 * [THRIFT-1962] - Multiplex processor should send any TApplicationException back to client
1579 * [THRIFT-1960] - main() declares 22 unused gen bools
1580 * [THRIFT-1951] - libthrift.jar has source files in it
1581 * [THRIFT-1997] - Add accept backlog configuration method to TServerSocket
1582 * [THRIFT-2003] - Deprecate senum
1583 * [THRIFT-2052] - Vagrant machine image defaults to only 384MB of RAM
1584 * [THRIFT-1980] - Modernize Go tooling, fix go client libary.
1585 * [THRIFT-1977] - C# compiler should generate constant files prefixed with thrift file name
1586 * [THRIFT-1985] - add a Vagrantfile to build and test Apache Thrift fully reproducable
1587 * [THRIFT-1994] - Deprecate slist
1588 * [THRIFT-1993] - Factory to create instances from known (generated) interface types with Delphi
1589 * [THRIFT-2081] - Specified timeout should be used in TSocket.Open()
1590 * [THRIFT-2084] - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
1591 * [THRIFT-2083] - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
1592 * [THRIFT-2109] - Secure connections should be supported in Go
1593 * [THRIFT-2107] - minor Go generator fixes
1594 * [THRIFT-1695] - allow warning-free compilation in VS 2012 and GNU 4.6
1595 * [THRIFT-1735] - integrate tutorial into regular build
1596 * [THRIFT-1716] - max allowed connections should be PIPE_UNLIMITED_INSTANCES
1597 * [THRIFT-1715] - Allow excluding python parts when building contrib/fb303
1598 * [THRIFT-1733] - Fix RPM build issues on RHEL6/OL6 systems
1599 * [THRIFT-1728] - Upgradation of httpcomponents
1600 * [THRIFT-1876] - Use enum names instead of casted integers in assignments
1601 * [THRIFT-1874] - timeout for the server-side end of a named pipe
1602 * [THRIFT-1897] - Support validation of required fields
1603 * [THRIFT-1896] - Add TBase protocol for Cocoa
1604 * [THRIFT-1880] - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
1605 * [THRIFT-1878] - Add the possibility to send custom headers
1606 * [THRIFT-1882] - Use single include
1607 * [THRIFT-1793] - C#: Use static read instead of instance read
1608 * [THRIFT-1799] - Option to generate HTML in "standalone mode"
1609 * [THRIFT-1815] - Code generators line buffer output
1610 * [THRIFT-1890] - C++: Make named pipes server work asynchronously
1611 * [THRIFT-474] - Generating Ruby on Rails friendly code
1612
1613## New Feature
1614 * [THRIFT-801] - Provide an interactive shell (irb) when generating ruby bindings
1615 * [THRIFT-2292] - Android Library Project
1616 * [THRIFT-2012] - Modernizing Go
1617 * [THRIFT-1969] - C#: Tests not properly linked from the solution
1618 * [THRIFT-1785] - C#: Add TMemoryBuffer serializer/deserializer
1619 * [THRIFT-1780] - Add option to generate nullable values
1620 * [THRIFT-1786] - C# Union Typing
1621 * [THRIFT-591] - Make the C++ runtime library be compatible with Windows and Visual Studio
1622 * [THRIFT-514] - Add option to configure compiler output directory
1623
1624## Question
1625 * [THRIFT-1764] - how to get the context of client when on a rpc call in server side?
1626 * [THRIFT-1791] - thrift's namespace directive when generating haskell code
1627
1628## Sub-task
1629 * [THRIFT-1594] - Java test clients should have a return codes that reflect whether it succeeds or not.
1630 * [THRIFT-1595] - Java test server should follow the documented behavior as of THRIFT-1590
1631 * [THRIFT-986] - st: add version Info to the library
1632 * [THRIFT-985] - php: add version Info to the library
1633 * [THRIFT-984] - ocaml: add version Info to the library
1634 * [THRIFT-1924] - Delphi: Inconsistency in serialization of optional fields
1635 * [THRIFT-1922] - C#: Inconsistency in serialization of optional fields
1636 * [THRIFT-1961] - C# tests should be in lib/csharp/test/...
1637 * [THRIFT-1822] - PHP unit test does not work
1638 * [THRIFT-1902] - C++: Support for Multiplexing Services on any Transport, Protocol and Server
1639 * [THRIFT-1901] - C#: Support for Multiplexing Services on any Transport, Protocol and Server
1640 * [THRIFT-1899] - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
1641 * [THRIFT-563] - Support for Multiplexing Services on any Transport, Protocol and Server
Jake Farrell6fcecd42012-10-11 20:34:25 +00001642
1643
Jake Farrell6fcecd42012-10-11 20:34:25 +00001644
jfarrell507ba1b2014-07-10 12:44:51 -04001645Thrift 0.9
1646--------------------------------------------------------------------------------
1647## Bug
1648 * [THRIFT-1438] - lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
1649 * [THRIFT-1446] - Compile error with Delphi 2009 in constant initializer
1650 * [THRIFT-1450] - Problems building thrift 0.8.0 for Python and Ruby
1651 * [THRIFT-1449] - Ruby client does not work on solaris (?)
1652 * [THRIFT-1447] - NullpointerException in ProcessFunction.class :in "oneway" method
1653 * [THRIFT-1433] - TServerSocket fix for MSVC
1654 * [THRIFT-1429] - The nonblocking servers is supposed to use TransportFactory to read the data
1655 * [THRIFT-1427] - PHP library uses non-multibyte safe functions with mbstring function overloading
1656 * [THRIFT-1421] - Debian Packages can not be built
1657 * [THRIFT-1394] - Treatment of optional fields is not consistent between C++ and Java
1658 * [THRIFT-1511] - Server with oneway support ( JAVA )
1659 * [THRIFT-1496] - PHP compiler not namespacing enums
1660 * [THRIFT-1495] - PHP TestClient fatals on missing class
1661 * [THRIFT-1508] - TServerSocket does not allow for the user to specify the IP address to bind to
1662 * [THRIFT-1504] - Cocoa Generator should use local file imports for base Thrift headers
1663 * [THRIFT-1512] - Thrift socket support for Windows XP
1664 * [THRIFT-1502] - TSimpleServer::serve(): Do not print out error message if server was stopped.
1665 * [THRIFT-1501] - PHP old namespaces not generated for enums
1666 * [THRIFT-1483] - java compiler does not generate type parameters for services in extended clauses
1667 * [THRIFT-1479] - Compiled PHP process functions missing writeMessageEnd()
1668 * [THRIFT-1492] - enabling c_glib render thrift unusable (even for C++ code)
1669 * [THRIFT-1491] - Uninitialize processorFactory_ member in TServer.h
1670 * [THRIFT-1475] - Incomplete records generation for Erlang
1671 * [THRIFT-1486] - Javascript manual testserver not returning content types
1672 * [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]
1673 * [THRIFT-1490] - Windows-specific header files - fixes & tweaks
1674 * [THRIFT-1526] - Union TupleSchemeFactory returns StandardSchemes
1675 * [THRIFT-1527] - Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
1676 * [THRIFT-1524] - TNonBlockingServer does not compile in Visual Studio 2010
1677 * [THRIFT-1529] - TupleProtocol can unintentionally include an extra byte in bit vectors when number of optional fields is an integral of 8
1678 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
1679 * [THRIFT-1456] - System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
1680 * [THRIFT-1468] - Memory leak in TSaslServerTransport
1681 * [THRIFT-1461] - Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
1682 * [THRIFT-1460] - why not add unicode strings support to python directly?
1683 * [THRIFT-1464] - AbstractNonblockingServer.FrameBuffer TNonblockingTransport accessor changed from public to private
1684 * [THRIFT-1467] - Possible AV with empty strings when using JSON protocol
1685 * [THRIFT-1523] - clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
1686 * [THRIFT-1537] - TFramedTransport issues
1687 * [THRIFT-1519] - Thirft Build Failure referencing rb_intern2 symbol
1688 * [THRIFT-1518] - Generated C++ code only sends the first optional field in the write() function for a struct.
1689 * [THRIFT-1515] - NameError: global name 'TApplicationException' is not defined
1690 * [THRIFT-1554] - Inherited service methods are not resolved in derived service implementations
1691 * [THRIFT-1553] - thrift nodejs service side can't read map structure, key as enum, value as Object
1692 * [THRIFT-1575] - Typo in server/TThreadPoolServer.h
1693 * [THRIFT-1327] - Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
1694 * [THRIFT-1326] - on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
1695 * [THRIFT-1159] - THttpClient->Flush() issue (connection thru proxy)
1696 * [THRIFT-1277] - Node.js serializes false booleans as null
1697 * [THRIFT-1224] - Cannot insert UTF-8 text
1698 * [THRIFT-1267] - Node.js can't throw exceptions.
1699 * [THRIFT-1338] - Do not use an unpatched autoconf 2.65 to generate release tarball
1700 * [THRIFT-1128] - MAC OS X: thrift.h incompatibility with Thrift.h
1701 * [THRIFT-1631] - Fix C++ server constructor typos
1702 * [THRIFT-1602] - PHP C Extension is not Compatible with PHP 5.4
1703 * [THRIFT-1610] - IWebProxy not available on WP7 platform
1704 * [THRIFT-1606] - Race condition in BoostThreadFactory.cpp
1705 * [THRIFT-1604] - Python exception handeling for changes from PEP 3110
1706 * [THRIFT-1607] - Incorrect file modes for several source files
1707 * [THRIFT-1583] - c_glib leaks memory
1708 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
1709 * [THRIFT-1578] - C_GLib generated code does not compile
1710 * [THRIFT-1597] - TJSONProtocol.php is missing from Makefile.am
1711 * [THRIFT-1591] - Enable TCP_NODELAY for ruby gem
1712 * [THRIFT-1624] - Isset Generated differently on different platforms
1713 * [THRIFT-1622] - Incorrect size returned on read
1714 * [THRIFT-1621] - Memory leaks
1715 * [THRIFT-1612] - Base64 encoding is broken
1716 * [THRIFT-1627] - compiler built using compilers.vcxproj cannot be used to build some test .thrift files
1717 * [THRIFT-1571] - Update Ruby HTTP transport for recent Ruby versions
1718 * [THRIFT-1023] - Thrift encoding (UTF-8) issue with Ruby 1.9.2
1719 * [THRIFT-1090] - Document the generation of a file called "Constants.java"
1720 * [THRIFT-1082] - Thrift::FramedTransport sometimes calls close() on an undefined value
1721 * [THRIFT-956] - Python module's version meta-data should be updated
1722 * [THRIFT-973] - Cocoa library won't compile using clang
1723 * [THRIFT-1632] - ruby: data corruption in thrift_native implementation of MemoryBufferTransport
1724 * [THRIFT-1665] - TBinaryProtocol: exceeded message length raises generic TException
1725 * [THRIFT-1664] - Reference to non-existing variable in build script
1726 * [THRIFT-1663] - Java Thrift server is not throwing exceptions
1727 * [THRIFT-1662] - "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
1728 * [THRIFT-1643] - Denial of Service attack in TBinaryProtocol.readString
1729 * [THRIFT-1674] - Update Thrift D library to be compatible with 2.060
1730 * [THRIFT-1673] - Ruby compile flags for extension for multi arch builds (os x)
1731 * [THRIFT-1655] - Configure still trying to use thrift_generators in output
1732 * [THRIFT-1654] - c_glib thrift_socket_read() returns corrupted data
1733 * [THRIFT-1653] - TThreadedSelectorServer leaks CLOSE_WAIT sockets
1734 * [THRIFT-1658] - Java thrift server is not throwing TApplicationException
1735 * [THRIFT-1656] - Setting proper headers in THttpServer.cpp so that "Cross-Origin Resource Sharing" on js client can work.
1736 * [THRIFT-1652] - TSaslTransport does not log the error when kerberos auth fails
1737 * [THRIFT-2272] - CLONE - Denial of Service attack in TBinaryProtocol.readString
1738 * [THRIFT-2086] - Invalid generated code for Node.JS when using namespaces
1739 * [THRIFT-1686] - t_php_generator.cc uses "and" instead of "&&", and causes compiler errors with Visual Studio
1740 * [THRIFT-1693] - libthrift has dependency on two different versions of httpcore
1741 * [THRIFT-1689] - don't exit(-1) in TNonblockingServer
1742 * [THRIFT-1679] - NodeJS: protocol readString() should treat string as utf8, not binary
1743 * [THRIFT-1721] - Dist broken due to 0.8.0 to 0.9.0 changes
1744 * [THRIFT-1710] - Minor issues in test case code
1745 * [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()
1746 * [THRIFT-1707] - [ruby] Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
1747 * [THRIFT-1671] - Cocoa code generator does not put keywords into generated method calls
1748 * [THRIFT-1670] - Incompatibilities between different versions of a Thrift interface
1749 * [THRIFT-1669] - NameError: global name 'TApplicationException' is not defined
1750 * [THRIFT-1668] - Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
1751 * [THRIFT-1845] - Fix compiler warning caused by implicit string conversion with Xcode 4.6
1752 * [THRIFT-304] - Building the Python library requires development headers
1753 * [THRIFT-369] - sets and maps break equality
1754 * [THRIFT-556] - Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
1755 * [THRIFT-481] - indentation of ruby classes is off by a few
1756
1757## Improvement
1758 * [THRIFT-1498] - Allow TThreadedPoolServer.Args to pass a ExecutorService
1759 * [THRIFT-1444] - FunctionRunner - add syntactic sugar to create shared_ptrs
1760 * [THRIFT-1443] - define a TProcessor helper class to implement process()
1761 * [THRIFT-1441] - Generate constructor with parameters for exception class to let it update message property automatically.
1762 * [THRIFT-1520] - Embed version number in erlang .app file
1763 * [THRIFT-1480] - python: remove tabs, adjust whitespace and address PEP8 warnings
1764 * [THRIFT-1485] - Performance: pass large and/or refcounted arguments as "const"
1765 * [THRIFT-1484] - Introduce phpunit test suite
1766 * [THRIFT-1532] - The type specifications in the generated Erlang code should include "undefined" where it's used as a default value
1767 * [THRIFT-1534] - Required fields in the Delphi code generator.
1768 * [THRIFT-1469] - Java isset space optimization
1769 * [THRIFT-1465] - Visibility of methods in generated java code
1770 * [THRIFT-1453] - Don't change types of arguments when serializing with thrift php extension
1771 * [THRIFT-1452] - generate a swap() method for all generated structs
1772 * [THRIFT-1451] - FramedTransport: Prevent infinite loop when writing
1773 * [THRIFT-1521] - Two patches for more Performance
1774 * [THRIFT-1555] - Delphi version of the tutorial code
1775 * [THRIFT-1535] - Why thrift don't use wrapped class for optional fields ?
1776 * [THRIFT-1204] - Ruby autogenerated files should require 'thrift' gem
1777 * [THRIFT-1344] - Using the httpc module directly rather than the deprecated http layer
1778 * [THRIFT-1343] - no_auto_import min/2 to avoid compile warning
1779 * [THRIFT-1340] - Add support of ARC to Objective-C
1780 * [THRIFT-1611] - Improved code generation for typedefs
1781 * [THRIFT-1593] - Pass on errors like "connection closed" to the handler module
1782 * [THRIFT-1615] - PHP Namespace
1783 * [THRIFT-1567] - Thrift/cpp: Allow alternate classes to be used for
1784 * [THRIFT-1072] - Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
1785 * [THRIFT-1650] - [ruby] Update clean items and svn:ignore entries for OS X artifacts
1786 * [THRIFT-1661] - [PATCH] Add --with-qt4 configure option
1787 * [THRIFT-1675] - Do we have any plan to support scala?
1788 * [THRIFT-1645] - Replace Object#tee with more conventional Object#tap in specs
1789 * [THRIFT-1644] - Upgrade RSpec to 2.10.x and refactor specs as needed
1790 * [THRIFT-1672] - MonoTouch (and Mono for Android) compatibility
1791 * [THRIFT-1702] - a thrift manual
1792 * [THRIFT-1694] - Re-Enable serialization for WP7 Silverlight
1793 * [THRIFT-1691] - Serializer/deserializer support for Delphi
1794 * [THRIFT-1688] - Update IDL page markup
1795 * [THRIFT-1725] - Tutorial web pages for Delphi and C#
1796 * [THRIFT-1714] - [ruby] Explicitly add CWD to Ruby test_suites.rb
1797 * [THRIFT-317] - Issues with Java struct validation
1798 * [THRIFT-164] - Build web tutorial on Incubator web site
1799 * [THRIFT-541] - Cocoa code generator doesn't put keywords before all arguments.
1800 * [THRIFT-681] - The HTML generator does not handle JavaDoc style comments very well
1801
1802## New Feature
1803 * [THRIFT-1500] - D programming language support
1804 * [THRIFT-1510] - There should be an implementation of the JsonProtocol for ruby
1805 * [THRIFT-1115] - python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
1806 * [THRIFT-1953] - support for asp.net mvc 3
1807
1808## Question
1809 * [THRIFT-1235] - How could I use THttpServerTransportFactory withTNonBlockingServer
1810 * [THRIFT-1368] - TNonblockingServer usage
1811 * [THRIFT-1061] - Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
1812 * [THRIFT-491] - Ripping raw pthreads out of TFileTransport and associated test issues
1813
1814## Sub-task
1815 * [THRIFT-1596] - Delphi: Test clients should have a return codes that reflect whether they succeeded or not
1816 * [THRIFT-982] - javame: add version Info to the library
1817 * [THRIFT-1722] - C# WP7 Assembly addition beaks mono build
1818 * [THRIFT-336] - Compact Protocol in C#
1819
1820## Test
1821 * [THRIFT-1613] - Add code back into empty source file ToStringTest.java
1822 * [THRIFT-1718] - Incorrect check in TFileTransportTest
1823
1824## Wish
1825 * [THRIFT-1463] - Decouple Thrift IDL from generators
1826 * [THRIFT-1466] - Proper Documentation for Thrift C Glib
1827 * [THRIFT-1539] - Build and distribute the fb303 python libraries along with thrift
1828 * [THRIFT-1685] - Please add "aereo.com" to "Powered by Apache Thrift" list in about page
1829 * [THRIFT-330] - TProcessor - additional method to called when connection is broken
Jake Farrell6fcecd42012-10-11 20:34:25 +00001830
1831
Jake Farrell9c762582011-08-13 21:29:36 +00001832
jfarrell507ba1b2014-07-10 12:44:51 -04001833Thrift 0.8
1834--------------------------------------------------------------------------------
1835## Bug
1836 * [THRIFT-1436] - pip install thrift fails on Windows with "Unable to find vcvarsall.bat"
1837 * [THRIFT-1432] - Javascript struct constants declared in the same file as their struct definition will cause an error
1838 * [THRIFT-1428] - shared.thrft does not include namespace for php, so thrift compiler generate incorrect name
1839 * [THRIFT-1426] - Dist package missing files for release 0.8
1840 * [THRIFT-1425] - The Node package is incompatible with latest node (0.6) & npm (1.0.27)
1841 * [THRIFT-1416] - Python Unit test is broken on ci
1842 * [THRIFT-1419] - AbstractNonBlockingServer does not catch errors when invoking the processor
1843 * [THRIFT-1424] - Ruby specs fail when run with rake
1844 * [THRIFT-1420] - Nonblocking and HsHa server should make sure to close all their socket connections when the selector exits
1845 * [THRIFT-1413] - Generated code does not read MapEnd / ListEnd / SetEnd
1846 * [THRIFT-1409] - Name conflict check does not work properly for exception object(Delphi).
1847 * [THRIFT-1408] - Delphi Test Server: Exception test case fails due to naming conflict with e.message
1848 * [THRIFT-1407] - Typo in Python socket server causes Thrift to fail when we enable a global socket timout
1849 * [THRIFT-1397] - CI server fails during build due to unused parameters in delphi generator
1850 * [THRIFT-1404] - Delphi compiler generates struct reader code with problem.
1851 * [THRIFT-1400] - Ruby native extension aborts with __stack_chk_fail in OSX
1852 * [THRIFT-1399] - One of the TServerImpl.Create CTORs lacks implementation
1853 * [THRIFT-1390] - Debian packages build fix for Squeeze (build from the official 0.7.0 tarball)
1854 * [THRIFT-1393] - TTransportException's thrown from THttpClient contain superfluous slashes in the Exception message
1855 * [THRIFT-1392] - Enabling both namespaces and autoloading in generated PHP code won't work.
1856 * [THRIFT-1406] - Build error after applying THRIFT-1395
1857 * [THRIFT-1405] - Delphi compiler does not generates container serializer properly.
1858 * [THRIFT-1411] - java generator does not provide type parameter for TBaseProcessor
1859 * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
1860 * [THRIFT-1331] - Ruby library deserializes an empty map to nil
1861 * [THRIFT-1330] - PHP Namespaces no longer generated
1862 * [THRIFT-1328] - TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
1863 * [THRIFT-1322] - OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
1864 * [THRIFT-1143] - Build doesn't detect correct architecture type on 64bit osx
1865 * [THRIFT-1205] - port server unduly fragile with arbitrary input
1866 * [THRIFT-1279] - type set is handled incorrectly when writing object
1867 * [THRIFT-1298] - Standard scheme doesn't read or write metadata along with field values
1868 * [THRIFT-1265] - C++ container deserialize
1869 * [THRIFT-1263] - publish ruby client to rubygems
1870 * [THRIFT-1384] - Java help menu missing newline near javame flag
1871 * [THRIFT-1382] - Bundle install doesnot work because thrift crashes
1872 * [THRIFT-1381] - Thrift C++ libs have incorrectly versioned names
1873 * [THRIFT-1350] - Go library code does not build as of r60 (most recent release)
1874 * [THRIFT-1365] - TupleProtocol#writeBitSet unintentionally writes a variable length byte array
1875 * [THRIFT-1359] - --gen-cob cpp:cob_style does not compile anymore
1876 * [THRIFT-1319] - Mismatch between how a union reads and writes a container
1877 * [THRIFT-1309] - libfb303-0.7.0.jar missing in maven repository
1878 * [THRIFT-1238] - Thrift JS client cannot read map of structures
1879 * [THRIFT-1254] - Code can't be compiled against a regular JRE: Object.clone() override has a different return type
1880 * [THRIFT-1367] - Mac OSX build fails with "no such file to load -- spec/rake/spectask"
1881 * [THRIFT-1355] - Running make in lib/rb doesn't build the native extensions
1882 * [THRIFT-1370] - Debian packaging should Build-Depend on libglib2.0-dev
1883 * [THRIFT-1342] - Compilation problem on Windows of fastbinary.c
1884 * [THRIFT-1341] - TProtocol.h endian detection wrong with boost
1885 * [THRIFT-1583] - c_glib leaks memory
1886 * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
1887 * [THRIFT-1578] - C_GLib generated code does not compile
1888 * [THRIFT-1027] - 'make -j 16' fails with "unterminated #ifdef" error
1889 * [THRIFT-1121] - Java server performance regression in 0.6
1890 * [THRIFT-857] - tests run by "make install" fail if generators are disabled
1891 * [THRIFT-380] - Use setuptools for python build
1892
1893## Dependency upgrade
1894 * [THRIFT-1257] - thrift's dependency scope on javax.servlet:servlet-api should be 'provided'
1895
1896## Improvement
1897 * [THRIFT-1445] - minor C++ generator variable cleanup
1898 * [THRIFT-1435] - make TException.Message property conformant to the usual expectations
1899 * [THRIFT-1431] - Rename 'sys' module to 'util'
1900 * [THRIFT-1396] - Dephi generator has dependacy on boost 1.42 later.
1901 * [THRIFT-1395] - Patch to prevent warnings for integer types in some cases
1902 * [THRIFT-1275] - thrift: always prefix namespaces with " ::"
1903 * [THRIFT-1274] - thrift: fail compilation if an unexpected token is
1904 * [THRIFT-1271] - thrift: fix missing namespace in generated local
1905 * [THRIFT-1270] - thrift: add --allow-neg-keys argument to allow
1906 * [THRIFT-1345] - Allow building without tests
1907 * [THRIFT-1286] - Modernize the Thrift Ruby Library Dev Environment
1908 * [THRIFT-1284] - thrift: fix processor inheritance
1909 * [THRIFT-1283] - thrift: wrap t_cpp_generator::generate_process_function() to 80
1910 * [THRIFT-1282] - Upgrade httpclient to 4.1.2 (from 4.0.1)
1911 * [THRIFT-1281] - add @generated to the docblock
1912 * [THRIFT-1280] - Thrift: Improve Monitor exception-free interfaces
1913 * [THRIFT-1278] - javadoc warnings - compilation
1914 * [THRIFT-1227] - Erlang implementation of thrift JSON protocol
1915 * [THRIFT-1295] - Duplicate include in TSocket.cpp
1916 * [THRIFT-1294] - thrift: fix log message typos in TSimpleServer
1917 * [THRIFT-1293] - thrift: improve handling of exceptions thrown by
1918 * [THRIFT-1292] - thrift: silence log spew from TThreadedServer
1919 * [THRIFT-1288] - Allow typedefed exceptions in throws clauses
1920 * [THRIFT-1290] - thrift: TNonblockingServer: clean up state in the
1921 * [THRIFT-1287] - thrift: start refactoring some of the C++ processor
1922 * [THRIFT-1289] - thrift: implement TNonblockingServer::stop()
1923 * [THRIFT-1305] - thrift: make TConnection a private inner class of
1924 * [THRIFT-1304] - TNonblockingServer: pass in the connection context to
1925 * [THRIFT-1302] - thrift: raise an exception if send() times out in
1926 * [THRIFT-1301] - thrift: consolidate common code in TNonblockingServer
1927 * [THRIFT-1377] - abort PHP deserialization on unknown field type
1928 * [THRIFT-1379] - fix uninitialized enum values in thrift C++ objects
1929 * [THRIFT-1376] - Make port specification option in thrift remote
1930 * [THRIFT-1375] - fixed a hex char conversion bug in TJSONProtocol
1931 * [THRIFT-1373] - Fix user-defined exception generation in thrift (python)
1932 * [THRIFT-1361] - Optional replacement of pthread by boost::thread
1933 * [THRIFT-1320] - Consistency of configure generated config.h
1934 * [THRIFT-1317] - Remove copy constructibility from
1935 * [THRIFT-1316] - thrift: update server classes to accept
1936 * [THRIFT-1315] - thrift: generate server interface factory classes
1937 * [THRIFT-1314] - thrift: add TProcessorFactory
1938 * [THRIFT-1335] - Add accept timeout to TServerSocket
1939 * [THRIFT-1334] - Add more info to IllegalStateException
1940 * [THRIFT-1333] - Make RWGuard not copyable
1941 * [THRIFT-1332] - TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
1942 * [THRIFT-1251] - Generated java code should indicate which fields are required and which are optional
1943 * [THRIFT-1387] - Build MSVC libraries with Boost Threads instead of Pthreads
1944 * [THRIFT-1339] - Extend Tuple Protocol to TUnions
1945 * [THRIFT-1031] - Patch to compile Thrift for vc++ 9.0 and 10.0
1946 * [THRIFT-1130] - Add the ability to specify symbolic default value for optional boolean
1947 * [THRIFT-1123] - Patch to compile Thrift server and client for vc++ 9.0 and 10.0
1948 * [THRIFT-386] - Make it possible to build the Python library without the extension
1949
1950## New Feature
1951 * [THRIFT-1401] - JSON-protocol for Delphi XE Libraries
1952 * [THRIFT-1167] - Java nonblocking server with more than one thread for select and handling IO
1953 * [THRIFT-1366] - Delphi generator, lirbrary and unit test.
1954 * [THRIFT-1354] - Add rake task to build just the gem file
1955 * [THRIFT-769] - Pluggable Serializers
1956
1957## Sub-task
1958 * [THRIFT-1415] - delphi: add version Info to the library
1959 * [THRIFT-1391] - Improved Delphi XE test cases
Jake Farrell9c762582011-08-13 21:29:36 +00001960
1961
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00001962
jfarrell507ba1b2014-07-10 12:44:51 -04001963Thrift 0.7
1964--------------------------------------------------------------------------------
1965## Bug
1966 * [THRIFT-1140] - Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
1967 * [THRIFT-1154] - HttpClient does not specify the connection close parameter
1968 * [THRIFT-1153] - HttpClient does not specify the connection close parameter
1969 * [THRIFT-1149] - Nonblocking server fails when client connection is reset
1970 * [THRIFT-1146] - Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor
1971 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
1972 * [THRIFT-1132] - Deserialization error in TApplicationException C#
1973 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
1974 * [THRIFT-1208] - python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec for CONTAINER_WRITE, CONTAINER_READ
1975 * [THRIFT-1200] - JS compiler generates code that clobbers existing namespaces
1976 * [THRIFT-1183] - Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
1977 * [THRIFT-1182] - Native deserializer segfaults on incorrect list element type
1978 * [THRIFT-1181] - AS3 compiler generates incorrect code for setting default values in constructor
1979 * [THRIFT-1234] - thrift --help is missing doc on py:utf8strings
1980 * [THRIFT-1180] - AS3 compiler generates uncompilable code for binary types.
1981 * [THRIFT-1194] - Java lib does not install artifacts to local dir correctly
1982 * [THRIFT-1193] - Potential infinite loop in nonblocking_server
1983 * [THRIFT-1192] - Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
1984 * [THRIFT-1190] - readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage and general server malfunction
1985 * [THRIFT-1187] - nonblocking_server shutdown race under Ruby 1.9
1986 * [THRIFT-1178] - Java: TBase signature should be T extends TBase<?,?>
1987 * [THRIFT-1164] - Segmentation fault on NULL pointer in t_js_generator::generate_const
1988 * [THRIFT-1171] - Perl write/readDouble assumes little-endian platform
1989 * [THRIFT-1222] - Unhandled exception for TEvhttpServer request
1990 * [THRIFT-1220] - TProcessor::process never returns false
1991 * [THRIFT-1285] - Stable 0.7.0 Windows compiler exe available on the webside is not the good one
1992 * [THRIFT-1218] - c_glib uses wrong name in pkg-config
1993 * [THRIFT-1215] - Undefined property Thirft in lib/js/thrift.js
1994 * [THRIFT-1211] - When using THttpClient, non 200 responses leave the connection open
1995 * [THRIFT-1228] - The php accelerator module calls flush incorrectly
1996 * [THRIFT-1308] - libfb303-0.7.0.jar missing in maven repository
1997 * [THRIFT-1255] - Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
1998 * [THRIFT-1253] - Code generated for maps is not compiling
1999 * [THRIFT-1252] - Segfault in Ruby deserializer
2000 * [THRIFT-1094] - bug in TCompactProto python readMessageEnd method and updated test cases
2001 * [THRIFT-1093] - several bugs in python TCompactProtocol
2002 * [THRIFT-1092] - generated validate() method has wrong indentation
2003 * [THRIFT-1011] - Error generating package imports when using classes from other packages
2004 * [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
2005 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
2006 * [THRIFT-1067] - Tons of bugs in php implementation
2007 * [THRIFT-1065] - Unexpected exceptions not proper handled on JS
2008 * [THRIFT-1076] - Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception
2009 * [THRIFT-1057] - casts in TBinaryProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
2010 * [THRIFT-1055] - csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
2011 * [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
2012 * [THRIFT-1117] - JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment
2013 * [THRIFT-1111] - The HTML generator does not distinguish between string and binary types
2014 * [THRIFT-1032] - "make dist" fails due to c_glib problem
2015 * [THRIFT-1036] - Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
2016 * [THRIFT-1041] - TDeserializer holds onto a reference of the array it reads after it is done deserializing
2017 * [THRIFT-1106] - C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions but no virtual destructor. Causes warnings on -Wall
2018 * [THRIFT-1105] - OCaml generator does not prefix methods of included structs with their type
2019 * [THRIFT-1104] - INSTALLDIRS should be included in configure script
2020 * [THRIFT-1102] - typo in configure.ac: "==" operator in 'test' (instead of"'=")
2021 * [THRIFT-1101] - bytebuffer length calculation in TBinaryProtocol writeBinary
2022 * [THRIFT-1098] - Undefined properties in TBinaryProtocolFactory
2023 * [THRIFT-1081] - PHP tests broken and somewhat incomplete
2024 * [THRIFT-1080] - erlang test's 'make' fails on Mac OSX
2025 * [THRIFT-1078] - ThriftTest.thrift generates invalid PHP library
2026 * [THRIFT-1120] - proto.WriteListEnd being called in the wrong place
2027 * [THRIFT-1119] - TJSONProtocol fails to UTF8 decode strings
2028 * [THRIFT-867] - PHP accelerator module's output transport is incompatible with TFramedTransport
2029 * [THRIFT-826] - PHP TSocket Write Timeout
2030 * [THRIFT-835] - Bad AS3 syntax in constructors that set default values
2031 * [THRIFT-788] - thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
2032 * [THRIFT-125] - OCaml libraries don't compile with 32-bit ocaml
2033 * [THRIFT-342] - PHP: can't have sets of complex types
2034 * [THRIFT-731] - configure doesn't check for ant >= 1.7
2035 * [THRIFT-690] - Update TApplicationException codes
2036 * [THRIFT-638] - BufferedTransport + C extensions block until recv timeout is reached on last fread call
2037
2038## Dependency upgrade
2039 * [THRIFT-1177] - Update thrift to reflect changes in Go's networking libraries
2040
2041## Improvement
2042 * [THRIFT-1155] - Remove log4j dependency from java client
2043 * [THRIFT-1151] - Produce more informative runtime error in case of schema and data mismatch during serialization
2044 * [THRIFT-1207] - Support DESTDIR on "make install" of ruby libs
2045 * [THRIFT-1199] - Union structs should have generated methods to test whether a specific field is currently set
2046 * [THRIFT-1233] - Remove unused include in generated C++ code
2047 * [THRIFT-1189] - Ruby deserializer speed improvements
2048 * [THRIFT-1170] - Thrift Generated Code and Java 5
2049 * [THRIFT-1174] - Publish as3 client implementation via Maven for use by flex-mojos users
2050 * [THRIFT-1225] - TCompactProtocol for PHP
2051 * [THRIFT-1221] - Remove SimpleCallback.h
2052 * [THRIFT-1217] - Use evutil_socketpair instead of pipe (Windows port)
2053 * [THRIFT-1216] - build Java Library behind a proxy
2054 * [THRIFT-1231] - Remove bogus include
2055 * [THRIFT-1213] - Membuffer should provide a way to get back the buffer
2056 * [THRIFT-1237] - Java fb303 missing some methods
2057 * [THRIFT-1063] - Fix Erlang Tutorial Files
2058 * [THRIFT-1053] - Make remote client's IP address available for all socket related transports
2059 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
2060 * [THRIFT-1107] - improvement for compiler-generated python for 'None' object comparisons
2061 * [THRIFT-1069] - Add command line option to prevent thrift from inserting gen-* directories
2062 * [THRIFT-1049] - Allow for TServerSocket python library to bind to a specific host
2063 * [THRIFT-1126] - Extending struct_info for erlang bindings
2064 * [THRIFT-1100] - python TSSLSocket improvements, including certificate validation
2065 * [THRIFT-994] - Don't try to invoke phpize if we don't have it
2066 * [THRIFT-993] - Some improvements in C++ stubs for oneway operations
2067 * [THRIFT-997] - Using valueOf for base types in getFieldValue
2068 * [THRIFT-418] - Don't do runtime sorting of struct fields
2069 * [THRIFT-151] - TSSLServerSocket and TSSLSocket implementation
2070 * [THRIFT-27] - Generated erlang types don't contain default values for records
2071 * [THRIFT-113] - to-string methods should omit optional null fields from output
2072 * [THRIFT-363] - Maven Deploy
2073 * [THRIFT-447] - Make an abstract base Client class so we can generate less code
2074 * [THRIFT-627] - should c++ have setters for optional fields?
2075
2076## New Feature
2077 * [THRIFT-1236] - Erlang Reconnecting Thrift Client
2078 * [THRIFT-1021] - Framed transport support for OCaml
2079 * [THRIFT-1068] - Python SSL Socket Support
2080 * [THRIFT-1103] - TZlibTransport for python, a zlib compressed transport
2081 * [THRIFT-1083] - Preforking python process pool server
2082 * [THRIFT-999] - Add TForkingServer
2083
2084## Sub-task
2085 * [THRIFT-1152] - Attributes from private to protected
2086 * [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
2087
2088## Task
2089 * [THRIFT-892] - Refactor erlang build system with rebar
2090
2091## Wish
2092 * [THRIFT-625] - Add support for 'Go'
Bryan Duxburyf54f4cb2011-01-07 18:39:54 +00002093
2094
Bryan Duxburyf0755e92010-09-28 15:06:38 +00002095
jfarrell507ba1b2014-07-10 12:44:51 -04002096Thrift 0.6.1
2097--------------------------------------------------------------------------------
2098## Bug
2099 * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
2100 * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
2101 * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
2102
2103## Improvement
2104 * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
2105 * [THRIFT-363] - Maven Deploy
2106
2107## Question
2108 * [THRIFT-1206] - did the THRIFT 0.6.1 merge THRIFT-563 ?
2109
2110## Sub-task
2111 * [THRIFT-1163] - How can i use multi service in one program?
2112
2113## Task
2114 * [THRIFT-1112] - Apply THRIFT-363 to 0.6 branch
2115 * [THRIFT-1113] - Apply THRIFT-1074 to 0.6 branch
2116
2117
2118
2119Thrift 0.6
2120--------------------------------------------------------------------------------
2121## Bug
2122 * [THRIFT-1020] - OCaml compiler generates invalid OCaml
2123 * [THRIFT-1015] - TUnion does not handle ByteBuffer in toString
2124 * [THRIFT-1013] - generated java code may have name clashes with thrift library
2125 * [THRIFT-1009] - TUnion does not correctly deep copy a ByteBuffer
2126 * [THRIFT-1032] - "make dist" fails due to c_glib problem
2127 * [THRIFT-868] - Referencing constant values doesn't work with with typedef types
2128 * [THRIFT-971] - java module can't be compiled without ivy and network connection
2129 * [THRIFT-970] - Under heavy load, THttpClient may fail with "too many open files"
2130 * [THRIFT-969] - Java Tutorial broken, move CalculatorHandler to a separate file
2131 * [THRIFT-807] - JavaScript: Initialization of Base Types with 0 instead of null
2132 * [THRIFT-955] - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
2133 * [THRIFT-992] - Naming convention in C# constructor is not consistent with other fields causes compile errors
2134 * [THRIFT-1008] - byte[] accessors throw NPE on unset field
2135 * [THRIFT-1006] - Impossible to correctly qualify an enum constant in an external thrift file
2136 * [THRIFT-950] - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
2137 * [THRIFT-975] - lib/c_glib/README is missing => breaks make dist
2138 * [THRIFT-944] - Support all version-4s of base
2139 * [THRIFT-939] - optional binary fields throw NPE on default byte[] getters
2140 * [THRIFT-935] - PHP Extension aborts the build if php-config is not installed
2141 * [THRIFT-933] - Haskell's Thrift.cabal has warnings
2142 * [THRIFT-932] - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
2143 * [THRIFT-904] - C# TSocket should disable nagle and linger
2144 * [THRIFT-941] - Make PHP C Extension use the defined Protocol writeMessageBegin function
2145 * [THRIFT-940] - 'make check' fails if boost is not in the std include and link paths
2146 * [THRIFT-924] - Fix generated php structure constants
2147 * [THRIFT-979] - ruby bindings used to work on jruby
2148 * [THRIFT-977] - Hex Conversion Bug in C++ TJSONProtocol
2149 * [THRIFT-347] - PHP TSocket Timeout Issues
2150 * [THRIFT-517] - TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes
2151
2152## Improvement
2153 * [THRIFT-1024] - Add Python Twisted example to the Tutorial
2154 * [THRIFT-958] - Change accessmodifer on trans_ field in the FrameBuffer class to public.
2155 * [THRIFT-957] - THsHaServer: Change access modifier of the invoker field.
2156 * [THRIFT-1002] - CodeStyle: t_c_glib_generator.cc
2157 * [THRIFT-1005] - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
2158 * [THRIFT-951] - Add a new isServing() method to TServer
2159 * [THRIFT-943] - Silly readme typo fix.
2160 * [THRIFT-961] - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
2161 * [THRIFT-960] - add TestServer, TestNonblockingServer and TestClient again
2162 * [THRIFT-949] - Modify the TEnum interface so it defines a method similar to findByValue
2163 * [THRIFT-946] - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
2164 * [THRIFT-903] - custom ThreadFactory in THsHaServer
2165 * [THRIFT-913] - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
2166 * [THRIFT-926] - Miscellaneous C++ improvements
2167 * [THRIFT-929] - Improvements to the C++ test suite
2168 * [THRIFT-893] - add JavaScript to the tutorial examples
2169 * [THRIFT-1003] - Polishing c_glib code
2170 * [THRIFT-71] - Debian packaging for thrift
2171
2172## New Feature
2173 * [THRIFT-1033] - Node.js language target
2174 * [THRIFT-947] - Provide a helper method to determine the TProtocol used to serialize some data.
2175 * [THRIFT-928] - Make more statistics available in C++ servers
2176 * [THRIFT-922] - Templatized [de]serialization code for C++
2177 * [THRIFT-923] - Event-driven client and server support for C++
2178 * [THRIFT-925] - Provide name<->value map for enums in C++
2179 * [THRIFT-927] - Add option to modify the PHP include path
2180 * [THRIFT-377] - TFileTransport port in Java
2181 * [THRIFT-106] - TSSLServerSocket
2182 * [THRIFT-582] - C implementation of Thrift
2183 * [THRIFT-745] - Make it easier to instantiate servers
2184
2185## Sub-task
2186 * [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
2187
2188## Task
2189 * [THRIFT-862] - Async client issues / improvements
2190
2191## Test
2192 * [THRIFT-581] - Add a testsuite for txThrift (Twisted)
2193
2194
2195
2196Thrift 0.5.0 - Incubating
2197--------------------------------------------------------------------------------
Bryan Duxburyf0755e92010-09-28 15:06:38 +00002198THRIFT-505 Build Make configure give a summary of the enabled components (David Reiss)
2199THRIFT-506 Build Allow Thrift to be built without the C++ library (David Reiss)
2200THRIFT-844 Build Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg)
2201THRIFT-850 Build Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum)
2202THRIFT-854 Build Provide configure option and make rules to build/install php extension (Anthony Molinaro)
2203THRIFT-858 Build Have bootstrap.sh check for a suitable autoconf version before running (David Reiss)
2204THRIFT-871 Build Thrift compiler for WIndows (binary distribution) (David Reiss)
2205THRIFT-323 C# TJSONProtocol (Roger Meier)
2206THRIFT-634 C# C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar)
2207THRIFT-881 C# add csharp to the tutorial (Roger Meier)
2208THRIFT-856 C++ Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke)
2209THRIFT-865 C++ C++ compiler build depends on libfl even when flex/lex not detected (David Reiss)
2210THRIFT-900 C++ Unix domain socket (Roger Meier)
2211THRIFT-920 C++ C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier)
2212THRIFT-567 C++ Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert)
2213THRIFT-756 C++ Exposing TSocket(int) constructor to public (Rajat Goel)
2214THRIFT-798 C++ TNonblockingServer leaks resources when destroyed (David Reiss)
2215THRIFT-812 C++, Python Demo of Thrift over ZeroMQ (David Reiss)
2216THRIFT-629 Cocoa Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar)
2217THRIFT-838 Cocoa Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard)
2218THRIFT-805 Cocoa Don't generate process_XXXX methods for oneway methods (Brad Taylor)
2219THRIFT-507 Compiler Remove the compiler's dependency on Boost (David Reiss)
2220THRIFT-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)
2221THRIFT-852 Compiler (General) Missing newline causes many compiler warnings (Anthony Molinaro)
2222THRIFT-877 Compiler (General) smalltalk namespace doesn't work (Bruce Lowekamp)
2223THRIFT-897 Compiler (General) Don't allow unqualified constant access to enum values (Bryan Duxbury)
2224THRIFT-9 Compiler (General) Add a default namespace declaration for all languages (David Reiss)
2225THRIFT-599 Erlang Don't use unnecessary processes in the Erlang transports and clients (David Reiss)
2226THRIFT-646 Erlang Erlang library is missing install target (David Reiss)
2227THRIFT-698 Erlang Generated module list should contain atoms, not strings (Anthony Molinaro)
2228THRIFT-866 Erlang term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro)
2229THRIFT-886 Erlang Dialyzer warning (Anthony Molinaro)
2230THRIFT-785 Erlang Framed transport server problems (Anthony Molinaro)
2231THRIFT-884 HTML HTML Generator: add Key attribute to the Data Types Tables (Roger Meier)
2232THRIFT-652 Haskell Generated field name for strut is not capitalized correctly (Christian Lavoie)
2233THRIFT-743 Haskell compile error with GHC 6.12.1 (Christian Lavoie)
2234THRIFT-901 Haskell Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie)
2235THRIFT-905 Haskell Make haskell thrift bindings use automake to compile and install (Christian Lavoie)
2236THRIFT-906 Haskell Improve type mappings (Christian Lavoie)
2237THRIFT-914 Haskell Make haskell bindings 'easily' compilable (Christian Lavoie)
2238THRIFT-918 Haskell Make haskell tests run again (Christian Lavoie)
2239THRIFT-919 Haskell Update Haskell bindings README (Christian Lavoie)
2240THRIFT-787 Haskell Enums are not read correctly (Christian Lavoie)
2241THRIFT-250 Java ExecutorService as a constructor parameter for TServer (Ed Ceaser)
2242THRIFT-693 Java Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury)
2243THRIFT-843 Java TNonblockingSocket connects without a timeout (Bryan Duxbury)
2244THRIFT-845 Java async client does not respect timeout (Ning Liang)
2245THRIFT-870 Java Java constants don't get Javadoc comments (Bryan Duxbury)
2246THRIFT-873 Java Java tests fail due to Too many open files (Todd Lipcon)
2247THRIFT-876 Java Add SASL support (Aaron T. Myers)
2248THRIFT-879 Java Remove @Override from TUnion.clear (Dave Engberg)
2249THRIFT-882 Java deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury)
2250THRIFT-888 Java async client should also have nonblocking connect (Eric Jensen)
2251THRIFT-890 Java Java tutorial doesn't work (Todd Lipcon)
2252THRIFT-894 Java Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury)
2253THRIFT-896 Java TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen)
2254THRIFT-907 Java libfb303 doesn't compile in 0.4.0 (Todd Lipcon)
2255THRIFT-912 Java Improvements and bug fixes to SASL implementation (Todd Lipcon)
2256THRIFT-917 Java THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser)
2257THRIFT-931 Java Use log4j for Java tests (Todd Lipcon)
2258THRIFT-880 JavaME JavaME code generator and runtime library (Dave Engberg)
2259THRIFT-846 JavaScript JavaScript Test Framwork: extended Testcases (Roger Meier)
2260THRIFT-885 JavaScript Url encoded strings never get decoded? How do we fix this? (T Jake Luciani)
2261THRIFT-911 JavaScript (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani)
2262THRIFT-860 OCaml copy method and reset method (Lev Walkin)
2263THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
2264THRIFT-851 PHP php extension fails to compile on centos 5.x (Todd Lipcon)
2265THRIFT-840 Perl Perl protocol handler could be more robust against unrecognised types (Conrad Hughes)
2266THRIFT-758 Perl incorrect deference in exception handling (Yann Kerherve)
2267THRIFT-257 Python Support validation of required fields (Esteve Fernandez)
2268THRIFT-335 Python Compact Protocol for Python (David Reiss)
2269THRIFT-596 Python Make Python's TBufferedTransport use a configurable input buffer (David Reiss)
2270THRIFT-597 Python Python THttpServer performance improvements (David Reiss)
2271THRIFT-598 Python Allow Python's threading servers to use daemon threads (David Reiss)
2272THRIFT-666 Python Allow the handler to override HTTP responses in THttpServer (David Reiss)
2273THRIFT-673 Python Generated Python code has whitespace issues (Ian Eure)
2274THRIFT-721 Python THttpClient ignores url parameters (Thomas Kho)
2275THRIFT-824 Python TApplicationException.__str__() refers to class constants as globals (Peter Schuller)
2276THRIFT-855 Python Include optimized compiled python objects in install (Anthony Molinaro)
2277THRIFT-859 Python Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp)
2278THRIFT-869 Python TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight)
2279THRIFT-875 Python Include python setup.cfg in dist (Anthony Molinaro)
2280THRIFT-610 Ruby binary_protocol.rb segfaults [line 86] (Unassigned)
2281THRIFT-899 Ruby Ruby read timeouts can sometimes be 2x what they should be (Ryan King)
2282THRIFT-909 Ruby allow block argument to struct constructor (Michael Stockton)
2283THRIFT-456 Test Suite Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)
2284
2285
jfarrell507ba1b2014-07-10 12:44:51 -04002286Thrift 0.4.0 - Incubating
2287--------------------------------------------------------------------------------
Bryan Duxburyd7042702010-08-13 04:28:13 +00002288THRIFT-650 Build Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro)
2289THRIFT-770 Build Get 'make dist' to work without first compiling source code (Anthony Molinaro)
2290THRIFT-160 C# Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene)
2291THRIFT-834 C# THttpClient resends contents of message after transport errors (Anatoly Fayngelerin)
2292THRIFT-247 C++ THttpServer Transport (Unassigned)
2293THRIFT-676 C++ Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned)
2294THRIFT-570 Compiler Thrift compiler does not error when duplicate method names are present (Bruce Simpson)
2295THRIFT-808 Compiler Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury)
2296THRIFT-646 Erlang Erlang library is missing install target (Anthony Molinaro)
2297THRIFT-544 General multiple enums with the same key generate invalid code (Ben Taitelbaum)
2298THRIFT-434 General ruby compiler should warn when a reserved word is used (Michael Stockton)
2299THRIFT-799 General Files missing proper Apache license header (Bryan Duxbury)
2300THRIFT-832 HTML HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury)
2301THRIFT-226 Java Collections with binary keys or values break equals() (Bryan Duxbury)
2302THRIFT-484 Java Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury)
2303THRIFT-714 Java maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury)
2304THRIFT-751 Java Add clear() method to TBase (Bryan Duxbury)
2305THRIFT-765 Java Improved string encoding and decoding performance (Bryan Duxbury)
2306THRIFT-768 Java Async client for Java (Bryan Duxbury)
2307THRIFT-774 Java TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski)
2308THRIFT-783 Java .equals java method is broken on structs containing binary-type fields (Unassigned)
2309THRIFT-804 Java CompareTo is broken for unions set to map, set, or list (Bryan Duxbury)
2310THRIFT-814 Java Include a TServlet in the standard Thrift distribution (Mathias Herberts)
2311THRIFT-818 Java Async client doesn't send method args (Bryan Duxbury)
2312THRIFT-830 Java Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury)
2313THRIFT-831 Java FramedTransport implementation that reuses its buffers (Bryan Duxbury)
2314THRIFT-833 Java build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury)
2315THRIFT-836 Java Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury)
2316THRIFT-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)
2317THRIFT-815 JavaScript Deserialization of lists is critically broken. (T Jake Luciani)
2318THRIFT-827 OCaml OCaml generator to take default values into account (Lev Walkin)
2319THRIFT-647 PHP PHP library is missing install target (Anthony Molinaro)
2320THRIFT-682 PHP PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
2321THRIFT-718 PHP Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford)
2322THRIFT-778 PHP PHP socket listening server (Nick Jones)
2323THRIFT-780 PHP PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss)
2324THRIFT-837 PHP PHP accelerator bug for writes > 8k (Thomas Kho)
2325THRIFT-782 Perl Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes)
2326THRIFT-395 Python Python library + compiler does not support unicode strings (Unassigned)
2327THRIFT-133 Ruby 'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury)
2328THRIFT-664 Ruby Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati)
2329THRIFT-699 Ruby Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury)
2330THRIFT-767 Ruby ruby compiler does not keep comments for enum values (Bryan Duxbury)
2331THRIFT-811 Ruby http_client_transport.rb: allow custom http headers (Tony Kamenick)
2332THRIFT-459 Ruby Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)
2333
2334
jfarrell507ba1b2014-07-10 12:44:51 -04002335Thrift 0.1.0 - Incubating (not released)
2336--------------------------------------------------------------------------------
Kevin Clark38919c52009-04-07 19:12:01 +00002337Compatibility Breaking Changes:
David Reiss7d64c0a2009-04-08 20:46:13 +00002338 C++:
David Reissc42485a2009-04-07 23:44:01 +00002339 * It's quite possible that regenerating code and rebuilding will be
2340 required. Make sure your headers match your libs!
2341
David Reiss7d64c0a2009-04-08 20:46:13 +00002342 Java:
David Reissc42485a2009-04-07 23:44:01 +00002343
David Reiss7d64c0a2009-04-08 20:46:13 +00002344 Python:
David Reissc42485a2009-04-07 23:44:01 +00002345
David Reiss7d64c0a2009-04-08 20:46:13 +00002346 Ruby:
Kevin Clark38919c52009-04-07 19:12:01 +00002347 * Generated files now have underscored names [THRIFT-421]
2348 * The library has been rearranged to be more Ruby-like [THRIFT-276]
2349
David Reiss7d64c0a2009-04-08 20:46:13 +00002350 Erlang:
David Reissc42485a2009-04-07 23:44:01 +00002351 * Generated code will have to be regenerated, and the new code will
2352 have to be deployed atomically with the new library code [THRIFT-136]
jfarrell507ba1b2014-07-10 12:44:51 -04002353
Kevin Clark38919c52009-04-07 19:12:01 +00002354New Features and Bug Fixes:
David Reiss7d64c0a2009-04-08 20:46:13 +00002355 C++:
David Reissc42485a2009-04-07 23:44:01 +00002356 * Support for TCompactProtocol [THRIFT-333]
Kevin Clark38919c52009-04-07 19:12:01 +00002357
David Reiss7d64c0a2009-04-08 20:46:13 +00002358 Java:
Kevin Clark38919c52009-04-07 19:12:01 +00002359 * Support for TCompactProtocol [THRIFT-110]
2360
David Reiss7d64c0a2009-04-08 20:46:13 +00002361 Python:
David Reissc42485a2009-04-07 23:44:01 +00002362 * Support for Twisted [THRIFT-148]
2363
David Reiss7d64c0a2009-04-08 20:46:13 +00002364 Ruby:
David Reissc42485a2009-04-07 23:44:01 +00002365 * Support for TCompactProtocol [THRIFT-332]
2366