All Versions
19
Latest Version
Avg Release Cycle
360 days
Latest Release
-

Changelog History
Page 2

  • v0.9.3 Changes

    October 11, 2015

    ๐Ÿ› Bug

    • THRIFT-2441 - Cannot shutdown TThreadedServer when clients are still connected
    • ๐Ÿšš THRIFT-2465 - TBinaryProtocolT breaks if copied/moved
    • THRIFT-2474 - thrift.h causes a compile failure
    • ๐Ÿ”ง THRIFT-2540 - Running configure from outside the source directory fails
    • ๐Ÿ”ง THRIFT-2598 - Add check for minimum Go version to configure.ac
    • THRIFT-2647 - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
    • THRIFT-2773 - Generated Java code for 'oneway' methods is incorrect.
    • THRIFT-2789 - TNonblockingServer leaks socket FD's under load
    • THRIFT-2682 - TThreadedServer leaks per-thread memory
    • THRIFT-2674 - JavaScript: declare Accept: and Content-Type: in request
    • THRIFT-3078 - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
    • THRIFT-3077 - C++ TFileTransport ignores return code from ftruncate
    • ๐ŸŽ THRIFT-3067 - C++ cppcheck performance related warnings
    • THRIFT-3066 - C++ TDenseProtocol assert modifies instead of checks
    • THRIFT-3071 - bootstrap.sh on Ubuntu 12.04 (Precise) automake error
    • THRIFT-3069 - C++ TServerSocket leaks socket on fcntl get or set flags error
    • THRIFT-3079 - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
    • THRIFT-3080 - C++ TNonblockingServer connection leak while accept huge number connections.
    • THRIFT-3086 - C++ Valgrind Error Cleanup
    • THRIFT-3085 - thrift_reconnecting_client never try to reconnect
    • ๐Ÿ— THRIFT-3123 - Missing include in compiler/cpp/src/main.h breaks build in some environments
    • THRIFT-3125 - Fix the list of exported headers in automake input
    • THRIFT-3126 - PHP JSON serializer converts empty or int-indexed maps to lists
    • THRIFT-3132 - Properly format date in Java @Generated annotations
    • ๐Ÿ— THRIFT-3137 - Travis build hangs after failure
    • THRIFT-3138 - "make check" parallel execution is underministic
    • โœ… THRIFT-3139 - JS library test is flaky
    • โœ… THRIFT-3140 - ConcurrentModificationException is thrown by JavaScript test server
    • ๐Ÿ— THRIFT-3124 - Some signed/unsigned warnings while building compiler
    • THRIFT-3128 - Go generated code produces name collisions between services
    • THRIFT-3146 - Graphviz generates function name collisions between services
    • THRIFT-3147 - Segfault while receiving data
    • THRIFT-3148 - Markdown links to coding_standards are dead
    • ๐ŸŽ THRIFT-3090 - cmake build is broken on MacOSX
    • THRIFT-3097 - cmake targets unconditionally depend on optional libraries
    • ๐Ÿ— THRIFT-3094 - master as of 2015-APR-13 fails -DBOOST_THREADS cmake build
    • ๐Ÿ— THRIFT-3099 - cmake build is broken on FreeBSD
    • 0๏ธโƒฃ THRIFT-3089 - Assigning default ENUM values results in non-compilable java code if java namespace is not defined
    • ๐Ÿ›  THRIFT-3093 - mingw compile fixes for c++ library 0.9.2
    • ๐Ÿ–จ THRIFT-3098 - Thrift does not pretty print binary typedefs the way it does binary fields
    • THRIFT-3091 - c_glib service method should return result from handler method
    • THRIFT-3088 - TThreadPoolServer with Sasl auth may leak CLOSE_WAIT socket
    • โœ… THRIFT-3109 - Cross test log file cannot be browsed when served in HTTP server
    • THRIFT-3113 - m4 C++11 macro issue
    • ๐Ÿ THRIFT-3105 - C++ libthriftnb library on Windows build failure
    • THRIFT-3115 - Uncompileable code due to name collision with predefined used types
    • THRIFT-3117 - Java TSSLTransportFactory can't load certificates within JAR archive
    • THRIFT-3102 - could not make check for Go Library
    • THRIFT-3120 - Minor spelling errors and an outdated URL
    • THRIFT-3121 - Librt does not exist on OS X
    • THRIFT-3152 - Compiler error on Mac OSX (missing #include )
    • THRIFT-3162 - make fails for dmd 2.067
    • 0๏ธโƒฃ THRIFT-3164 - Thrift C++ library SSL socket by default allows for unsecure SSLv3 negotiation
    • THRIFT-3168 - Fix Maven POM
    • THRIFT-3170 - Initialism code in the Go compiler causes chaos
    • โœ… THRIFT-3169 - Do not export thrift.TestStruct and thrift.TestEnum in thrift Go library
    • ๐Ÿ‘ป THRIFT-3191 - Perl compiler does not add support for unexpected exception handling
    • THRIFT-3178 - glib C does not compile
    • THRIFT-3189 - Perl ServerSocket should allow a specific interface to be listened to
    • THRIFT-3252 - Missing TConcurrentClientSyncInfo.h in cpp Makefile, so doesn't install
    • ๐Ÿ— THRIFT-3255 - Thrift generator doesn't exclude 'package' keyword for thrift property names breaking java builds
    • โš  THRIFT-3260 - multiple warnings in c_glib tutorial
    • โœ… THRIFT-3256 - Some D test timings are too aggressive for slow machines
    • โš  THRIFT-3257 - warning: extra tokens at end of #endif directive
    • THRIFT-3184 - Thrift Go leaves file descriptors open
    • THRIFT-3203 - DOAP - please fix "Ocaml" => "OCaml"
    • THRIFT-3210 - (uncompileable) code generated for server events while are events not enabled
    • THRIFT-3215 - TJSONProtocol '(c++) uses "throw new" to throw exceptions instead of "throw"
    • ๐Ÿ”ง THRIFT-3202 - Allow HSHAServer to configure min and max worker threads separately.
    • THRIFT-3205 - TCompactProtocol return a wrong error when the io.EOF happens
    • THRIFT-3209 - LGPL mentioned in license file
    • THRIFT-3197 - keepAliveTime is hard coded as 60 sec in TThreadPoolServer
    • THRIFT-3196 - Misspelling in lua TBinaryProtocol (stirctWrite => strictWrite)
    • THRIFT-3198 - Allow construction of TTransportFactory with a specified maxLength
    • THRIFT-3192 - Go import paths changed in 1.4, and expired June 1
    • THRIFT-3271 - Could not find or load main class configtest_ax_javac_and_java on some non-english systems
    • THRIFT-3273 - c_glib: Generated code tries to convert between function and void pointers
    • THRIFT-3264 - Fix Erlang 16 namespaced types
    • THRIFT-3270 - reusing TNonblockingServer::TConnection cause dirty TSocket
    • ๐Ÿš‘ THRIFT-3267 - c_glib: "Critical" failure during unit tests
    • THRIFT-3277 - THttpClient leaks connections if it's used for multiple requests
    • ๐Ÿ‘ป THRIFT-3278 - NodeJS: Fix exception stack traces and names
    • THRIFT-3279 - Fix a bug in retry_max_delay (NodeJS)
    • THRIFT-3280 - Initialize retry variables on construction
    • โš  THRIFT-3283 - c_glib: Tutorial server always exits with warning
    • โš  THRIFT-3284 - c_glib: Empty service produces unused-variable warning
    • THRIFT-1925 - c_glib generated code does not compile
    • THRIFT-1849 - after transport->open() opens isOpen returns true and next open() goes thru when it shall not
    • THRIFT-1866 - java compiler generates non-compiling code with const's defined in a thrift when name includes non-identifier chars
    • THRIFT-1938 - FunctionRunner.h -- uses wrong path for Thread.h when installed
    • THRIFT-1844 - Password string not cleared
    • THRIFT-2004 - Thrift::Union violates :== method contract and crashes
    • THRIFT-2073 - Thrift C++ THttpClient error: cannot refill buffer
    • THRIFT-2127 - Autoconf scripting does not properly account for cross-compile
    • THRIFT-2180 - Integer types issues in Cocoa lib on ARM64
    • ๐Ÿ‘ THRIFT-2189 - Go needs "isset" to fully support "union" type (and optionals)
    • THRIFT-2192 - autotools on Redhat based systems
    • โœ… THRIFT-2546 - cross language tests fails at 'TestMultiException' when using nodejs server
    • THRIFT-2547 - nodejs servers and clients fails to connect with cpp using compact protocol
    • THRIFT-2548 - Nodejs servers and clients does not work properly with -ssl
    • ๐Ÿ–จ THRIFT-1471 - toString() does not print ByteBuffer values when nested in a List
    • THRIFT-1201 - getaddrinfo resource leak
    • THRIFT-615 - TThreadPoolServer doesn't call task_done after pulling tasks from it's clients queue
    • THRIFT-162 - Thrift structures are unhashable, preventing them from being used as set elements
    • THRIFT-810 - Crashed client on TSocket::close under loads
    • THRIFT-557 - charset problem with file Autogenerated by Thrift
    • ๐Ÿ‘ THRIFT-233 - IDL doesn't support negative hex literals
    • ๐Ÿ— THRIFT-1649 - contrib/zeromq does not build in 0.8.0
    • ๐Ÿ‘ป THRIFT-1642 - Miscalculation lead to throw unexpected "TTransportException::TIMED_OUT"(or called "EAGAIN (timed out)") exception
    • THRIFT-1587 - TSocket::setRecvTimeout error
    • THRIFT-1248 - pointer subtraction in TMemoryBuffer relies on undefined behavior
    • THRIFT-1774 - Sasl Transport client would hang when trying to connect non-sasl transport server
    • THRIFT-1754 - RangeError in buffer handling
    • ๐Ÿ“‡ THRIFT-1618 - static structMap in FieldMetaData is not thread safe and can lead to deadlocks
    • THRIFT-2335 - thrift incompatibility with py:tornado as server, java as client
    • THRIFT-2803 - TCP_DEFER_ACCEPT not supported with domain sockets
    • THRIFT-2799 - Build Problem(s): ld: library not found for -l:libboost_unit_test_framework.a
    • โœ… THRIFT-2801 - C++ test suite compilation warnings
    • โš  THRIFT-2802 - C++ tutorial compilation warnings
    • THRIFT-2795 - thrift_binary_protocol.c: 'dereferencing type-punned pointer will break strict-aliasing rules'
    • THRIFT-2817 - TSimpleJSONProtocol reads beyond end of message
    • THRIFT-2826 - html:standalone sometimes ignored
    • ๐Ÿ‘ THRIFT-2829 - Support haxelib installation via github
    • THRIFT-2828 - slightly wrong help screen indent
    • ๐Ÿšš THRIFT-2831 - Removes dead code in web_server.js introduced in THRIFT-2819
    • โœ… THRIFT-2823 - All JS-tests are failing when run with grunt test
    • โœ… THRIFT-2827 - Thrift 0.9.2 fails to compile on Yosemite due to tr1/functional include in ProcessorTest.cpp
    • ๐Ÿ”ง THRIFT-2843 - Automake configure.ac has possible typo related to Java
    • ๐Ÿ›  THRIFT-2813 - multiple haxe library fixes/improvements
    • THRIFT-2825 - Supplying unicode to python Thrift client can cause next request arguments to get overwritten
    • THRIFT-2840 - Cabal file points to LICENSE file outside the path of the Haskell project.
    • THRIFT-2818 - Trailing commas in array
    • โš  THRIFT-2830 - Clean up ant warnings in tutorial dir
    • โฑ THRIFT-2842 - Erlang thrift client has infinite timeout
    • THRIFT-2810 - Do not leave the underlying ServerSocket open if construction of TServerSocket fails
    • THRIFT-2812 - Go server adding redundant buffering layer
    • THRIFT-2839 - TFramedTransport read bug
    • ๐Ÿ’ป THRIFT-2844 - Nodejs support broken when running under Browserify
    • THRIFT-2814 - args/result classes not found when no namespace is set
    • THRIFT-2847 - function IfValue() is a duplicate of System.StrUtils.IfThen
    • ๐Ÿ— THRIFT-2848 - certain Delphi tests do not build if TypeRegistry is used
    • THRIFT-2854 - Go Struct writer and reader looses important error information
    • THRIFT-2858 - Enable header field case insensitive match in THttpServer
    • THRIFT-2857 - C# generator creates uncompilable code for struct constants
    • THRIFT-2860 - Delphi server closes connection on unexpected exceptions
    • โœจ THRIFT-2868 - Enhance error handling in the Go client
    • THRIFT-2879 - TMemoryBuffer: using lua string in wrong way
    • ๐Ÿšš THRIFT-2851 - Remove strange public Peek() from Go transports
    • ๐Ÿ‘ THRIFT-2852 - Better Open/IsOpen/Close behavior for StreamTransport.
    • THRIFT-2871 - Missing semicolon in thrift.js
    • THRIFT-2872 - ThreadManager deadlock for task expiration
    • THRIFT-2881 - Handle errors from Accept() correctly
    • THRIFT-2849 - Spell errors reported by codespell tool
    • THRIFT-2870 - C++ TJSONProtocol using locale dependent formatting
    • THRIFT-2882 - Lua Generator: using string.len function to get struct(map,list,set) size
    • ๐Ÿ— THRIFT-2864 - JSON generator missing from Visual Studio build project
    • ๐Ÿ‘ THRIFT-2878 - Go validation support of required fields
    • ๐Ÿ THRIFT-2873 - TPipe and TPipeServer don't compile on Windows with UNICODE enabled
    • THRIFT-2888 - import of is missing in JSON generator
    • ๐Ÿ‘ป THRIFT-2900 - Python THttpClient does not reset socket timeout on exception
    • THRIFT-2907 - 'ntohll' macro redefined
    • THRIFT-2884 - Map does not serialize correctly for JSON protocol in Go library
    • ๐Ÿ”ง THRIFT-2887 - --with-openssl configure flag is ignored
    • THRIFT-2894 - PHP json serializer skips maps with int/bool keys
    • THRIFT-2904 - json_protocol_test.go fails
    • THRIFT-2906 - library not found for -l:libboost_unit_test_framework.a
    • THRIFT-2890 - binary data may lose bytes with JSON transport under specific circumstances
    • THRIFT-2891 - binary data may cause a failure with JSON transport under specific circumstances
    • THRIFT-2901 - Fix for generated TypeScript functions + indentation of JavaScript maps
    • THRIFT-2916 - make check fails for D language
    • โœ… THRIFT-2918 - Race condition in Python TProcessPoolServer test
    • โœ… THRIFT-2920 - Erlang Thrift test uses wrong IDL file
    • โœ… THRIFT-2922 - $TRIAL is used with Python tests but not tested accordingly
    • ๐Ÿ— THRIFT-2912 - Autotool build for C++ Qt library is invalid
    • THRIFT-2914 - explicit dependency to Lua5.2 fails on some systems
    • THRIFT-2910 - libevent is not really optional
    • THRIFT-2911 - fix c++ version zeromq transport, the old version cannot work
    • ๐Ÿ— THRIFT-2915 - Lua generator missing from Visual Studio build project
    • โœ… THRIFT-2917 - "make clean" breaks test/c_glib
    • โœ… THRIFT-2919 - Haxe test server timeout too large
    • THRIFT-2923 - JavaScript client assumes a message being written
    • THRIFT-2924 - TNonblockingServer crashes when user-provided event_base is used
    • ๐Ÿ— THRIFT-2925 - CMake build does not work with OpenSSL nor anything installed in non-system location
    • THRIFT-2931 - Access to undeclared static property: Thrift\Protocol\TProtocol::$TBINARYPROTOCOLACCELERATED
    • ๐Ÿ— THRIFT-2893 - CMake build fails with boost thread or std thread
    • THRIFT-2902 - Generated c_glib code does not compile with clang
    • THRIFT-2903 - Qt4 library built with CMake does not work
    • THRIFT-2942 - CSharp generate invalid code for property named read or write
    • THRIFT-2932 - Node.js Thrift connection libraries throw Exceptions into event emitter
    • THRIFT-2933 - v0.9.2: doubles encoded in node with compact protocol cannot be decoded by python
    • THRIFT-2934 - createServer signature mismatch
    • THRIFT-2981 - IDL with no namespace produces unparsable PHP
    • THRIFT-2999 - Addition of .gitattributes text auto in THRIFT-2724 causes modified files on checkout
    • THRIFT-2949 - typo in compiler/cpp/README.md
    • โš  THRIFT-2957 - warning: source file %s is in a subdirectory, but option 'subdir-objects' is disabled
    • THRIFT-2953 - TNamedPipeServerTransport is not Stop()able
    • ๐Ÿณ THRIFT-2962 - Docker Thrift env for development and testing
    • ๐Ÿ— THRIFT-2971 - C++ test and tutorial parallel build is unstable
    • โœ… THRIFT-2972 - Missing backslash in lib/cpp/test/Makefile.am
    • โœ… THRIFT-2951 - Fix Erlang name conflict test
    • THRIFT-2955 - Using list of typedefs does not compile on Go
    • ๐Ÿ’Ž THRIFT-2960 - namespace regression for Ruby
    • โœ… THRIFT-2959 - nodejs: fix binary unit tests
    • THRIFT-2966 - nodejs: Fix bad references to TProtocolException and TProtocolExceptionType
    • THRIFT-2970 - grunt-jsdoc fails due to dependency issues
    • THRIFT-3001 - C# Equals fails for binary fields (byte[])
    • ๐Ÿ“ฆ THRIFT-3003 - Missing LICENSE file prevents package from being installed
    • ๐Ÿ‘ป THRIFT-3008 - Node.js server does not fully support exception
    • ๐Ÿ— THRIFT-3007 - Travis build is broken because of directory conflict
    • THRIFT-3009 - TSSLSocket does not use the correct hostname (breaks certificate checks)
    • โœ… THRIFT-3011 - C# test server testException() not implemented according to specs
    • THRIFT-3012 - Timing problems in NamedPipe implementation due to unnecessary open/close
    • ๐Ÿ“„ THRIFT-3019 - Golang generator missing docstring for structs
    • ๐Ÿ“ฆ THRIFT-3021 - Service remote tool does not import stub package with package prefix
    • THRIFT-3026 - TMultiplexedProcessor does not have a constructor
    • THRIFT-3028 - Regression caused by THRIFT-2180
    • THRIFT-3017 - order of map key/value types incorrect for one CTOR
    • THRIFT-3020 - Cannot compile thrift as C++03
    • THRIFT-3024 - User-Agent "BattleNet" used in some Thrift library files
    • THRIFT-3047 - Uneven calls to indent_up and indent_down in Cocoa generator
    • THRIFT-3048 - NodeJS decoding of I64 is inconsistent across protocols
    • THRIFT-3043 - go compiler generator uses non C++98 code
    • ๐Ÿณ THRIFT-3044 - Docker README.md paths to Dockerfiles are incorrect
    • THRIFT-3040 - bower.json wrong "main" path
    • THRIFT-3051 - Go Thrift generator creates bad go code
    • ๐Ÿ— THRIFT-3057 - Java compiler build is broken
    • THRIFT-3061 - C++ TSSLSocket shutdown delay/vulnerability
    • THRIFT-3062 - C++ TServerSocket invalid port number (over 999999) causes stack corruption
    • โšก๏ธ THRIFT-3065 - Update libthrift dependencies (slf4j, httpcore, httpclient)
    • THRIFT-3244 - TypeScript: fix namespace of included types
    • ๐Ÿ THRIFT-3246 - Reduce the number of trivial warnings in Windows C++ CMake builds
    • THRIFT-3224 - Fix TNamedPipeServer unpredictable behavior on accept
    • ๐Ÿ‘ป THRIFT-3230 - Python compiler generates wrong code if there is function throwing a typedef of exception with another namespace
    • THRIFT-3236 - MaxSkipDepth never checked
    • THRIFT-3239 - Limit recursion depth
    • THRIFT-3241 - fatal error: runtime: cannot map pages in arena address space
    • ๐Ÿ“ฆ THRIFT-3242 - OSGi Import-Package directive is missing the Apache HTTP packages
    • THRIFT-3234 - Limit recursion depth
    • THRIFT-3222 - TypeScript: Generated Enums are quoted
    • ๐Ÿ‘ป THRIFT-3229 - unexpected Timeout exception when desired bytes are only partially available
    • THRIFT-3231 - CPP: Limit recursion depth to 64
    • THRIFT-3235 - Limit recursion depth
    • THRIFT-3175 - fastbinary.c python deserialize can cause huge allocations from garbage
    • THRIFT-3176 - Union incorrectly implements ==
    • โœ… THRIFT-3177 - Fails to run rake test
    • ๐Ÿ”Œ THRIFT-3180 - lua plugin: framed transport do not work
    • THRIFT-3179 - lua plugin cant connect to remote server because function l_socket_create_and_connect always bind socket to localhost
    • THRIFT-3248 - TypeScript: additional comma in method signature without parameters
    • THRIFT-3302 - Go JSON protocol should encode Thrift byte type as signed integer string
    • THRIFT-3297 - c_glib: an abstract base class is not generated
    • THRIFT-3294 - TZlibTransport for Java does not write data correctly
    • โœ… THRIFT-3296 - Go cross test does not conform to spec
    • ๐Ÿ— THRIFT-3295 - C# library does not build on Mono 4.0.2.5 or later
    • THRIFT-3293 - JavaScript: null values turn into empty structs in constructor
    • THRIFT-3310 - lib/erl/README.md has incorrect formatting
    • ๐Ÿ— THRIFT-3319 - CSharp tutorial will not build using the *.sln
    • ๐Ÿ’Ž THRIFT-3335 - Ruby server does not handle processor exception
    • THRIFT-3338 - Stray underscore in generated go when service name starts with "New"
    • โšก๏ธ THRIFT-3324 - Update Go Docs for pulling all packages
    • THRIFT-3345 - Clients blocked indefinitely when a java.lang.Error is thrown
    • ๐Ÿ— THRIFT-3332 - make dist fails on clean build
    • โœ… THRIFT-3326 - Tests do not compile under *BSD
    • THRIFT-3334 - Markdown notation of protocol spec is malformed
    • โš  THRIFT-3331 - warning: รขโ‚ฌหœetypeรขโ‚ฌโ„ข may be used uninitialized in this function
    • ๐Ÿ‘ป THRIFT-3349 - Python server does not handle processor exception
    • THRIFT-3343 - Fix haskell README
    • โœ… THRIFT-3340 - Python: enable json tests again
    • THRIFT-3311 - Top level README.md has incorrect formmating
    • THRIFT-2936 - Minor memory leak in SSL
    • THRIFT-3290 - Using from in variable names causes the generated Python code to have errors
    • THRIFT-3225 - Fix TPipeServer unpredictable behavior on interrupt()
    • THRIFT-3354 - Fix word-extraction substr bug in initialism code
    • THRIFT-2006 - TBinaryProtocol message header call name length is not validated and can be used to core the server
    • โœ… THRIFT-3329 - C++ library unit tests don't compile against the new boost-1.59 unit test framework
    • ๐Ÿ THRIFT-2630 - windows7 64bit pc. ipv4 and ipv6 pc.can't use
    • THRIFT-3336 - Thrift generated streaming operators added in 0.9.2 cannot be overridden
    • THRIFT-2681 - Core of unwind_cleanup
    • THRIFT-3317 - cpp namespace org.apache issue appears in 0.9

    ๐Ÿ“š Documentation

    ๐Ÿ‘Œ Improvement

    • ๐Ÿ–จ THRIFT-227 - Byte[] in collections aren't pretty printed like regular binary fields
    • THRIFT-2744 - Vagrantfile for Centos 6.5
    • ๐Ÿ‘ THRIFT-2644 - Haxe support
    • THRIFT-2756 - register Media Type @ IANA
    • THRIFT-3076 - Compatibility with Haxe 3.2.0
    • THRIFT-3081 - C++ Consolidate client processing loops in TServers
    • THRIFT-3083 - C++ Consolidate server processing loops in TSimpleServer, TThreadedServer, TThreadPoolServer
    • THRIFT-3084 - C++ add concurrent client limit to threaded servers
    • THRIFT-3074 - Add compiler/cpp/lex.yythriftl.cc to gitignore.
    • ๐Ÿšš THRIFT-3134 - Remove use of deprecated "phantom.args"
    • ๐Ÿ— THRIFT-3133 - Allow "make cross" and "make precross" to run without building all languages
    • THRIFT-3142 - Make JavaScript use downloaded libraries
    • โœ… THRIFT-3141 - Improve logging of JavaScript test
    • THRIFT-3144 - Proposal: make String representation of enums in generated go code less verbose
    • THRIFT-3130 - Remove the last vestiges of THRIFT_OVERLOAD_IF from THRIFT-1316
    • ๐Ÿ“„ THRIFT-3131 - Consolidate suggested import path for go thrift library to git.apache.org in docs and code
    • THRIFT-3092 - Generated Haskell types should derive Generic
    • โœ… THRIFT-3110 - Print error log after cross test failures on Travis
    • THRIFT-3114 - Using local temp variables to not pollute the global table
    • THRIFT-3106 - CMake summary should give more information why a library is set to off
    • ๐ŸŒฒ THRIFT-3119 - Java's TThreadedSelectorServer has indistinguishable log messages in run()
    • THRIFT-3122 - Javascript struct constructor should properly initialize struct and container members from plain js arguments
    • THRIFT-3151 - Fix links to git-wip* - should be git.apache.org
    • ๐Ÿ THRIFT-3167 - Windows build from source instructions need to be revised
    • ๐Ÿ— THRIFT-3155 - move contrib/mingw32-toolchain.cmake to build/cmake/
    • THRIFT-3160 - Make generated go enums implement TextMarshaller and TextUnmarshaller interfaces
    • THRIFT-3150 - Add an option to thrift go generator to make Read and Write methods private
    • THRIFT-3149 - Make ReadFieldN methods in generated Go code private
    • ๐ŸŒ THRIFT-3172 - Add tutorial to Thrift web site
    • THRIFT-3214 - Add Erlang option for using maps instead of dicts
    • ๐Ÿ— THRIFT-3201 - Capture github test artifacts for failed builds
    • ๐Ÿ— THRIFT-3266 - c_glib: Multiple compiler warnings building unit tests
    • ๐Ÿ— THRIFT-3285 - c_glib: Build library with all warnings enabled, no warnings generated
    • โฑ THRIFT-1954 - Allow for a separate connection timeout value
    • ๐Ÿ‘ THRIFT-2098 - Add support for Qt5+
    • ๐Ÿšš THRIFT-2199 - Remove Dense protocol (was: move to Contrib)
    • โœ… THRIFT-406 - C++ Test suite cleanup
    • โฑ THRIFT-902 - socket and connect timeout in TSocket should be distinguished
    • THRIFT-388 - Use a separate wire format for async calls
    • ๐Ÿ‘ป THRIFT-727 - support native C++ language specific exception message
    • ๐Ÿ‘ป THRIFT-1784 - pep-3110 compliance for exception handling
    • THRIFT-1025 - C++ ServerSocket should inherit from Socket with the necessary Ctor to listen on connections from a specific host
    • ๐Ÿš€ THRIFT-2269 - Can deploy libthrift-source.jar to maven center repository
    • THRIFT-2804 - Pull an interface out of TBaseAsyncProcessor
    • THRIFT-2806 - more whitespace fixups
    • THRIFT-2811 - Make remote socket address accessible
    • โšก๏ธ THRIFT-2809 - .gitignore update for compiler's visual project
    • THRIFT-2846 - Expose ciphers parameter from ssl.wrap_socket()
    • THRIFT-2859 - JSON generator: output complete descriptors
    • THRIFT-2861 - add buffered transport
    • โœ… THRIFT-2865 - Test case for Go: SeqId out of sequence
    • THRIFT-2866 - Go generator source code is hard to read and maintain
    • THRIFT-2880 - Read the network address from the listener if available.
    • THRIFT-2875 - Typo in TDenseProtocol.h comment
    • THRIFT-2874 - TBinaryProtocol member variable "string_buf_" is never used.
    • ๐Ÿšš THRIFT-2855 - Move contributing.md to the root of the repository
    • ๐Ÿ— THRIFT-2862 - Enable RTTI and/or build macros for generated code
    • โœ… THRIFT-2876 - Add test for THRIFT-2526 Assignment operators and copy constructors in c++ don't copy the __isset struct
    • THRIFT-2897 - Generate -isEqual: and -hash methods
    • ๐Ÿ— THRIFT-2909 - Improve travis build
    • ๐Ÿš€ THRIFT-2921 - Make Erlang impl ready for OTP 18 release (dict/0 and set/0 are deprecated)
    • โœ… THRIFT-2928 - Rename the erlang test_server module
    • ๐Ÿ“ฆ THRIFT-2940 - Allow installing Thrift from git as NPM module by providing package.json in top level directory
    • THRIFT-2937 - Allow setting a maximum frame size in TFramedTransport
    • ๐Ÿ’ป THRIFT-2976 - nodejs: xhr and websocket support for browserify
    • โœ… THRIFT-2996 - Test for Haxe 3.1.3 or better
    • โœ… THRIFT-2969 - nodejs: DRY up library tests
    • โšก๏ธ THRIFT-2973 - Update Haxe lib readme regarding Haxe 3.1.3
    • THRIFT-2952 - Improve handling of Server.Stop()
    • ๐Ÿšš THRIFT-2964 - nodejs: move protocols and transports into separate files
    • โœ… THRIFT-2963 - nodejs - add test coverage
    • THRIFT-3006 - Attach 'omitempty' json tag for optional fields in Go
    • THRIFT-3027 - Go compiler does not ensure common initialisms have consistent case
    • THRIFT-3030 - TThreadedServer: Property for number of clientThreads
    • THRIFT-3023 - Go compiler is a little overly conservative with names of attributes
    • THRIFT-3018 - Compact protocol for Delphi
    • THRIFT-3025 - Change pure Int constants into @enums (where possible)
    • THRIFT-3031 - migrate "shouldStop" flag to TServer
    • THRIFT-3022 - Compact protocol for Haxe
    • THRIFT-3041 - Generate asynchronous clients for Cocoa
    • ๐Ÿ‘ THRIFT-3053 - Perl SSL Socket Support (Encryption)
    • THRIFT-3247 - Generate a C++ thread-safe client
    • THRIFT-3217 - Provide a little endian variant of the binary protocol in C++
    • ๐Ÿ‘ THRIFT-3223 - TypeScript: Add initial support for Enum Maps
    • THRIFT-3220 - Option to suppress @Generated Annotation entirely
    • THRIFT-3300 - Reimplement TZlibTransport in Java using streams
    • ๐Ÿ— THRIFT-3288 - c_glib: Build unit tests with all warnings enabled, no warnings generated
    • โœ… THRIFT-3347 - Improve cross test servers and clients
    • โœ… THRIFT-3342 - Improve ruby cross test client and server compatibility
    • THRIFT-2296 - Add C++ Base class for service
    • โœ… THRIFT-3337 - Add testBool method to cross tests
    • ๐Ÿ‘ท THRIFT-3303 - Disable concurrent cabal jobs on Travis to avoid GHC crash
    • ๐Ÿณ THRIFT-2623 - Docker container for Thrift
    • THRIFT-3298 - thrift endian converters may conflict with other libraries
    • THRIFT-1559 - Provide memory pool for TBinaryProtocol to eliminate memory fragmentation
    • THRIFT-424 - Steal ProtocolBuffers' VarInt implementation for C++

    ๐Ÿ†• New Feature

    • THRIFT-3070 - Add ability to set the LocalCertificateSelectionCallback
    • THRIFT-1909 - Java: Add compiler flag to use the "option pattern" for optional fields
    • THRIFT-2099 - Stop TThreadPoolServer with alive connections.
    • THRIFT-123 - implement TZlibTransport in Java
    • THRIFT-2368 - New option: reuse-objects for Java generator
    • ๐Ÿšš THRIFT-2836 - Optionally generate C++11 MoveConstructible types
    • THRIFT-2824 - Flag to disable html escaping doctext
    • THRIFT-2819 - Add WebsSocket client to node.js
    • THRIFT-3050 - Client certificate authentication for non-http TLS in C#
    • THRIFT-3292 - Implement TZlibTransport in Go

    Question

    • THRIFT-2583 - Thrift on xPC target (SpeedGoat)
    • THRIFT-2592 - thrift server using c_glib
    • THRIFT-2832 - c_glib: Handle string lists correctly
    • THRIFT-3136 - thrift installation problem on mac
    • THRIFT-3346 - c_glib: Tutorials example crashes saying Calculator.ping implementation returned FALSE but did not set an error

    Sub-task

    • โœ… THRIFT-2578 - Moving 'make cross' from test.sh to test.py
    • THRIFT-2734 - Go coding standards
    • THRIFT-2748 - Add Vagrantfile for Centos 6.5
    • THRIFT-2753 - Misc. Haxe improvements
    • THRIFT-2640 - Compact Protocol in Cocoa
    • โœ… THRIFT-3262 - warning: overflow in implicit constant conversion in DenseProtoTest.cpp
    • ๐Ÿ— THRIFT-3194 - Can't build with go enabled. gomock SCC path incorrect.
    • โš  THRIFT-3275 - c_glib tutorial warnings in generated code
    • ๐Ÿ’Ž THRIFT-1125 - Multiplexing support for the Ruby Library
    • ๐Ÿ’… THRIFT-2807 - PHP Code Style
    • โœ… THRIFT-2841 - Add comprehensive integration tests for the whole Go stack
    • ๐Ÿ‘ THRIFT-2815 - Haxe: Support for Multiplexing Services on any Transport, Protocol and Server
    • โœ… THRIFT-2886 - Integrate binary type in standard Thrift cross test
    • โœ… THRIFT-2946 - Enhance usability of cross test framework
    • THRIFT-2967 - Add .editorconfig to root
    • ๐Ÿ‘ THRIFT-3033 - Perl: Support for Multiplexing Services on any Transport, Protocol and Server
    • THRIFT-3174 - Initialism code in the Go compiler doesn't check first word
    • THRIFT-3193 - Option to suppress date value in @Generated annotation
    • ๐Ÿš€ THRIFT-3305 - Missing dist files for 0.9.3 release candidate
    • โœ… THRIFT-3341 - Add testBool methods
    • ๐Ÿš€ THRIFT-3308 - Fix broken test cases for 0.9.3 release candidate

    Task

    • ๐Ÿšš THRIFT-2834 - Remove semi-colons from python code generator
    • THRIFT-2853 - Adjust comments not applying anymore after THRIFT-2852

    โœ… Test

    • ๐Ÿ‘ THRIFT-3211 - Add make cross support for php TCompactProtocol

    Wish

    • 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
  • v0.9.3.1 Changes

    March 13, 2019

    ๐Ÿš€ This release is a backport of the security fix for CVE-2018-1320 as documented in THRIFT-4506. The only code change is in Java, and a 0.9.3-1 package was released to Maven Central.

    ๐Ÿš€ This is marked in GitHub as a pre-release so that it does not become the "latest" release.

  • v0.9.2 Changes

    November 17, 2014

    ๐Ÿ› Bug

    • THRIFT-2793 - Go compiler produces uncompilable code
    • ๐Ÿ‘ THRIFT-1481 - Unix domain sockets in C++ do not support the abstract namespace
    • โœ… THRIFT-1455 - TBinaryProtocolT::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
    • THRIFT-1579 - PHP Extension) - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
    • THRIFT-1584 - Error: could not SetMinThreads in ThreadPool on single-core machines
    • ๐Ÿ— THRIFT-1614 - Thrift build from svn repo sources fails with automake-1.12
    • THRIFT-1047 - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
    • THRIFT-1639 - Java/Python: Serialization/Deserialization of double type using CompactProtocol
    • THRIFT-1647 - NodeJS BufferedTransport does not work beyond the hello-world example
    • โœ… THRIFT-2130 - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
    • THRIFT-2140 - Error compiling cpp tutorials
    • THRIFT-2139 - MSVC 2012 Error) - Cannot compile due to BoostThreadFactory
    • THRIFT-2138 - pkgconfig file created with wrong include path
    • โš  THRIFT-2160 - Warning in thrift.h when compiling with -Wunused and NDEBUG
    • THRIFT-2158 - Compact, JSON, and SimpleJSON protocols are not working correctly
    • THRIFT-2167 - nodejs lib throws error if options argument isn't passed
    • THRIFT-2288 - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
    • THRIFT-2147 - Thrift IDL grammar allows for dotted identifier names
    • THRIFT-2145 - Rack and Thin are not just development dependencies
    • THRIFT-2267 - Should be able to choose socket family in Python TSocket
    • โšก๏ธ THRIFT-2276 - java path in spec file needs updating
    • THRIFT-2281 - Generated send/recv code ignores errors returned by the underlying protocol
    • THRIFT-2280 - TJSONProtocol.Flush() does not really flush the transport
    • THRIFT-2274 - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
    • ๐Ÿ— THRIFT-2265 - php library doesn't build
    • THRIFT-2232 - IsSet* broken in Go
    • ๐Ÿ–จ THRIFT-2246 - Unset enum value is printed by ToString()
    • THRIFT-2240 - thrift.vim (contrib) does not correctly handle 'union'
    • THRIFT-2243 - TNonblockingServer in thrift crashes when TFramedTransport opens
    • ๐Ÿง THRIFT-2230 - Cannot Build on RHEL/Centos/Amazon Linux 6.x
    • THRIFT-2247 - Go generator doesn't deal well with map keys of type binary
    • THRIFT-2253 - Python Tornado TTornadoServer base class change
    • THRIFT-2261 - java: error: unmappable character for encoding ASCII
    • THRIFT-2259 - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
    • THRIFT-2225 - SSLContext destroy before cleanupOpenSSL
    • THRIFT-2224 - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
    • ๐Ÿ— THRIFT-2229 - thrift failed to build on OSX 10.9 GM
    • ๐Ÿ‘• THRIFT-2227 - Thrift compiler generates spurious warnings with Xlint
    • ๐Ÿ— THRIFT-2219 - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
    • THRIFT-2226 - TServerSocket) - keepAlive wrong initialization order
    • THRIFT-2285 - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
    • THRIFT-2216 - Extraneous semicolon in TProtocolUtil.h makes clang mad
    • THRIFT-2215 - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
    • ๐Ÿ‘ป THRIFT-2211 - Exception constructor does not contain namespace prefix.
    • THRIFT-2210 - lib/java TSimpleJSONProtocol can emit invalid JSON
    • ๐Ÿ’Ž THRIFT-2209 - Ruby generator -- please namespace classes
    • 0๏ธโƒฃ THRIFT-2202 - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
    • ๐Ÿ— THRIFT-2201 - Ternary operator returns different types (build error for some compilers)
    • ๐Ÿ–จ THRIFT-2200 - nested structs cause generate_fingerprint() to slow down at excessive CPU load
    • THRIFT-2197 - fix jar output directory in rpm spec file
    • THRIFT-2196 - Fix invalid dependency in Makefile.am
    • THRIFT-2194 - Node: Not actually prepending residual data in TFramedTransport.receiver
    • THRIFT-2193 - Java code generator emits spurious semicolon when deep copying binary data
    • THRIFT-2191 - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
    • THRIFT-2214 - System header sys/param.h is included inside the Thrift namespace
    • THRIFT-2178 - Thrift generator returns error exit code on --version
    • โœ… THRIFT-2171 - NodeJS implementation has extremely low test coverage
    • THRIFT-2183 - gem install fails on zsh
    • THRIFT-2182 - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
    • THRIFT-2181 - oneway calls don't work in NodeJS
    • THRIFT-2169 - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
    • THRIFT-2168 - Node.js appears broken (at least, examples don't work as intended)
    • THRIFT-2293 - TSSLTransportFactory.createSSLContext() leaves files open
    • THRIFT-2279 - TSerializer only returns the first 1024 bytes serialized
    • ๐Ÿ‘ THRIFT-2278 - Buffered transport doesn't support writes > buffer size
    • THRIFT-2275 - Fix memory leak in golang compact_protocol.
    • THRIFT-2282 - Incorect code generated for some typedefs
    • THRIFT-2009 - Go redeclaration error
    • THRIFT-1964 - 'Isset' causes problems with C#/.NET serializers
    • ๐Ÿ— THRIFT-2026 - Fix TCompactProtocol 64 bit builds
    • โฑ THRIFT-2108 - Fix TAsyncClientManager timeout race
    • THRIFT-2068 - Multiple calls from same connection are not processed in node
    • ๐Ÿ— THRIFT-1750 - Make compiler build cleanly under visual studio 10
    • ๐Ÿ“œ THRIFT-1755 - Comment parsing bug
    • THRIFT-1771 - "make check" fails on x64 for libboost_unit_test_framework.a
    • ๐Ÿ“œ THRIFT-1841 - NodeJS Thrift incorrectly parses non-UTF8-string types
    • THRIFT-1908 - Using php thrift_protocol accelerated transfer causes core dump
    • THRIFT-1892 - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
    • THRIFT-2303 - TBufferredTransport not properly closing underlying transport
    • THRIFT-2313 - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
    • ๐Ÿ‘ป THRIFT-2311 - Go: invalid code generated when exception name is a go keyword
    • ๐Ÿ“œ THRIFT-2308 - node: TJSONProtocol parse error when reading from buffered message
    • โœ… THRIFT-2316 - ccp: TFileTransportTest
    • โœ… THRIFT-2352 - msvc failed to compile thrift tests
    • THRIFT-2337 - Golang does not report TIMED_OUT exceptions
    • ๐Ÿ‘ป THRIFT-2340 - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
    • THRIFT-2354 - Connection errors can lead to case_clause exceptions
    • ๐Ÿ‘ป THRIFT-2339 - Uncaught exception in thrift c# driver
    • THRIFT-2356 - c++ thrift client not working with ssl (SSL_connect hangs)
    • THRIFT-2331 - Missing call to ReadStructBegin() in TApplicationException.Read()
    • THRIFT-2323 - Uncompileable Delphi code generated for typedef'd structs
    • THRIFT-2322 - Correctly show the number of times ExecutorService (java) has rejected the client.
    • THRIFT-2389 - namespaces handled wrongly in acrionscript 3.0 implementation
    • THRIFT-2388 - GoLang) - Fix data races in simple_server and server_socket
    • THRIFT-2386 - Thrift refuses to link yylex
    • THRIFT-2375 - Excessive 's in generated HTML
    • โš  THRIFT-2373 - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
    • THRIFT-2372 - thrift/json_protocol.go:160: function ends without a return statement
    • ๐Ÿšš THRIFT-2371 - ruby bundler version fails on ~1.3.1, remove and take latest avail
    • ๐Ÿ“š THRIFT-2370 - Compiler SEGFAULTs generating HTML documentation for complex strucre
    • THRIFT-2384 - Binary map keys produce uncompilable code in go
    • THRIFT-2380 - unreachable code (CID 1174546, CID 1174679)
    • THRIFT-2378 - service method arguments of binary type lead to uncompileable Go code
    • THRIFT-2363 - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
    • THRIFT-2359 - TBufferedTransport doesn't clear it's buffer on a failed flush call
    • ๐Ÿ‘ THRIFT-2428 - Python 3 setup.py support
    • ๐Ÿ— THRIFT-2367 - Build failure: stdlib and boost both define uint64_t
    • THRIFT-2365 - C# decodes too many binary bytes from JSON
    • THRIFT-2402 - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
    • ๐ŸŽ THRIFT-2396 - Build Error on MacOSX
    • ๐Ÿ’Ž THRIFT-2395 - thrift Ruby gem requires development dependency 'thin' regardless of environment
    • THRIFT-2414 - c_glib fix several bug.
    • ๐Ÿ“œ THRIFT-2420 - Go argument parser for methods without arguments does not skip fields
    • ๐Ÿ“œ THRIFT-2439 - Bug in TProtocolDecorator Class causes parsing errors
    • THRIFT-2419 - golang) - Fix fmt.Errorf in generated code
    • THRIFT-2418 - Go handler function panics on internal error
    • โœ… THRIFT-2405 - Node.js Multiplexer tests fail (silently)
    • THRIFT-2581 - TFDTransport destructor should not throw
    • THRIFT-2575 - Thrift includes siginfo_t within apache::thrift::protocol namespace
    • ๐Ÿ THRIFT-2577 - TFileTransport missuse of closesocket on windows platform
    • THRIFT-2576 - Implement Thrift.Protocol.prototype.skip method in JavaScript library
    • ๐Ÿ— THRIFT-2588 - Thrift compiler is not buildable in Visual Studio 2010
    • THRIFT-2594 - JS Compiler: Single quotes are not being escaped in constants.
    • ๐Ÿ›ฐ THRIFT-2591 - TFramedTransport does not handle payloads split across packets correctly
    • THRIFT-2599 - Uncompileable Delphi code due to naming conflicts with IDL
    • ๐Ÿ‘ THRIFT-2590 - C++ Visual Studio solution doesn't include Multiplexing support
    • THRIFT-2595 - Node.js: Fix global leaks and copy-paste errors
    • THRIFT-2565 - autoconf fails to find mingw-g++ cross compiler on travis CI
    • THRIFT-2555 - excessive "unused field" comments
    • THRIFT-2554 - double initialization in generated Read() method
    • THRIFT-2551 - OutOfMemoryError "unable to create new native thread" kills serve thread
    • THRIFT-2543 - Generated enum type in haskell should be qualified
    • THRIFT-2560 - Thrift compiler generator tries to concat ints with strings using +
    • THRIFT-2559 - Centos 6.5 unable to "make" with Thrift 0.9.1
    • THRIFT-2526 - Assignment operators and copy constructors in c++ don't copy the __isset struct
    • THRIFT-2454 - c_glib: There is no gethostbyname_r() in some OS.
    • 0๏ธโƒฃ 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
    • THRIFT-2450 - include HowToContribute in the src repo
    • โœ… THRIFT-2448 - thrift/test/test.sh has incorrect Node.js test path
    • THRIFT-2460 - unopened socket fd must be less than zero.
    • THRIFT-2459 - --version should not exit 1
    • THRIFT-2468 - Timestamp handling
    • ๐Ÿ— THRIFT-2467 - Unable to build contrib/fb303 on OSX 10.9.2
    • THRIFT-2466 - Improper error handling for SSL/TLS connections that don't complete a handshake
    • โœ… THRIFT-2463 - test/py/RunClientServer.py fails sometimes
    • THRIFT-2458 - Generated golang server code for "oneway" methods is incorrect
    • ๐Ÿ‘ THRIFT-2456 - THttpClient fails when using async support outside Silverlight
    • THRIFT-2524 - Visual Studio project is missing TThreadedServer files
    • THRIFT-2523 - Visual Studio project is missing OverlappedSubmissionThread files
    • ๐Ÿ’… THRIFT-2520 - cpp:cob_style generates incorrect .tcc file
    • THRIFT-2508 - Uncompileable C# code due to language keywords in IDL
    • โšก๏ธ THRIFT-2506 - Update TProtocolException error codes to be used consistently throughout the library
    • THRIFT-2505 - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
    • THRIFT-2515 - TLS Method error during make
    • THRIFT-2503 - C++: Fix name collision when a struct has a member named "val"
    • THRIFT-2477 - thrift --help text with misplaced comma
    • โœ… THRIFT-2492 - test/cpp does not compile on mac
    • THRIFT-2500 - sending random data crashes thrift(golang) service
    • THRIFT-2475 - c_glib: buffered_transport_write function return always TRUE.
    • THRIFT-2495 - JavaScript/Node string constants lack proper escaping
    • โœ… THRIFT-2491 - unable to import generated ThriftTest service
    • ๐Ÿ‘ป THRIFT-2490 - c_glib: if fail to read a exception from server, client may be occurred double free
    • THRIFT-2470 - THttpHandler swallows exceptions from processor
    • โšก๏ธ THRIFT-2533 - Boost version in requirements should be updated
    • โšก๏ธ THRIFT-2532 - Java version in installation requirements should be updated
    • THRIFT-2529 - TBufferedTransport split Tcp data bug in nodeJs
    • THRIFT-2537 - Path for "go get" does not work (pull request 115)
    • โœ… THRIFT-2443 - Node fails cross lang tests
    • THRIFT-2437 - Author fields in Python setup.py must be strings not lists.
    • THRIFT-2435 - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
    • THRIFT-2434 - Missing namespace import for php TMultiplexedProcessor implementation
    • ๐Ÿ— THRIFT-2432 - Flaky parallel build
    • THRIFT-2430 - Crash during TThreadPoolServer shutdown
    • THRIFT-667 - Period should not be allowed in identifier names
    • THRIFT-1212 - Members capital case conflict
    • THRIFT-2584 - Error handler not listened on javascript client
    • THRIFT-2294 - Incorrect Makefile generation
    • ๐Ÿ— THRIFT-2601 - Fix vagrant to work again for builds again
    • ๐Ÿš€ THRIFT-2092 - TNonblocking server should release handler as soon as connection closes
    • THRIFT-2557 - CS0542 member names cannot be the same as their enclosing type
    • โš  THRIFT-2605 - TSocket warning on gcc 4.8.3
    • โš  THRIFT-2607 - ThreadManager.cpp warning on clang++ 3.4
    • โš  THRIFT-1998 - TCompactProtocol.tcc) - one more warning on Visual 2010
    • โš  THRIFT-2610 - MSVC warning in TSocket.cpp
    • โš  THRIFT-2614 - TNonblockingServer.cpp warnings on MSVC
    • โš  THRIFT-2608 - TNonblockingServer.cpp warnings on clang 3.4
    • โš  THRIFT-2606 - ThreadManager.h warning in clang++ 3.4
    • โš  THRIFT-2609 - TFileTransport.h unused field warning (clang 3.4)
    • THRIFT-2416 - Cannot use TCompactProtocol with MSVC
    • ๐Ÿ’Ž THRIFT-1803 - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
    • THRIFT-2385 - Problem with gethostbyname2 during make check
    • THRIFT-2262 - thrift server 'MutateRow' operation gives no indication of success / failure
    • THRIFT-2048 - Prefer boolean context to nullptr_t conversion
    • THRIFT-2528 - Thrift Erlang Library: Multiple thrift applications in one bundle
    • โš  THRIFT-1999 - warning on gcc 4.7 while compiling BoostMutex.cpp
    • THRIFT-2104 - Structs lose binary data when transferred from server to client in Java
    • THRIFT-2184 - undefined method rspec_verify for Thrift::MemoryBufferTransport
    • THRIFT-2351 - PHP TCompactProtocol has fails to decode messages
    • ๐Ÿ“œ THRIFT-2016 - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
    • ๐Ÿš€ THRIFT-2273 - Please delete old releases from mirroring system
    • ๐Ÿ“š THRIFT-2270 - Faulty library version numbering at build or documentation
    • โœ… THRIFT-2203 - Tests keeping failing on Jenkins and Travis CI
    • ๐Ÿ’… THRIFT-2399 - thrift.el: recognize "//"-style comments in emacs thrift-mode
    • ๐Ÿ‘ป THRIFT-2582 - "FileTransport error" exception is raised when trying to use Java's TFileTransport
    • THRIFT-1682 - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
    • THRIFT-2357 - recurse option has no effect when generating php
    • THRIFT-2248 - Go generator doesn't deal well with map keys of type binary
    • THRIFT-2426 - clarify IP rights and contributions from fbthrift
    • THRIFT-2041 - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
    • ๐Ÿ’… THRIFT-2400 - thrift.el: recognize "//"-style comments in emacs thrift-mode
    • ๐Ÿ— THRIFT-1717 - Fix deb build in jenkins
    • THRIFT-2266 - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
    • ๐Ÿ— THRIFT-1300 - Test failures with parallel builds (make -j)
    • ๐ŸŒ THRIFT-2487 - Tutorial requires two IDL files but only one is linked from the Thrift web site
    • ๐Ÿš€ THRIFT-2329 - missing release tags within git
    • THRIFT-2306 - concurent client calls with nodejs
    • ๐Ÿ’Ž THRIFT-2222 - ruby gem cannot be compiled on OS X mavericks
    • THRIFT-2381 - code which generated by thrift2/hbase.thrift compile error
    • THRIFT-2390 - no close event when connection lost
    • THRIFT-2146 - Unable to pass multiple "--gen" options to the thrift compiler
    • ๐Ÿ“œ THRIFT-2438 - Unexpected readFieldEnd call causes JSON Parsing errors
    • THRIFT-2498 - Error message "Invalid method name" while trying to call HBase Thrift API
    • ๐Ÿ— THRIFT-841 - Build cruft
    • THRIFT-2570 - Wrong URL given in http://thrift.apache.org/developers
    • THRIFT-2604 - Fix debian packaging
    • ๐Ÿ— THRIFT-2618 - Unignore /aclocal files required for build
    • ๐Ÿ”ง THRIFT-2562 - ./configure create MakeFile in lib/d with errors
    • ๐Ÿ— THRIFT-2593 - Unable to build thrift on ubuntu-12.04 (Precise)
    • THRIFT-2461 - Can't install thrift-0.8.0 on OS X 10.9.2
    • THRIFT-2602 - Fix missing dist files
    • THRIFT-2620 - Fix python packaging
    • ๐Ÿ— THRIFT-2545 - Test CPP fails to build (possibly typo)
  • v0.9.1 Changes

    February 02, 2014

    ๐Ÿ› Bug

    • THRIFT-1440 - debian packaging: minor-ish policy problems
    • THRIFT-1402 - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
    • THRIFT-1551 - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
    • THRIFT-1264 - TSocketClient is queried by run loop after deallocation in Cocoa
    • ๐Ÿš€ THRIFT-1600 - Thrift Go Compiler and Library out of date with Go 1 Release.
    • THRIFT-1603 - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
    • THRIFT-1062 - Problems with python tutorials
    • 0๏ธโƒฃ THRIFT-864 - default value fails if identifier is a struct
    • ๐Ÿ’Ž THRIFT-930 - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
    • THRIFT-820 - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
    • THRIFT-1640 - None of the tutorials linked on the website contain content
    • THRIFT-1637 - NPM registry does not include version 0.8
    • THRIFT-1648 - NodeJS clients always receive 0 for 'double' values.
    • THRIFT-1660 - Python Thrift library can be installed with pip but not easy_install
    • ๐Ÿ’ป THRIFT-1657 - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
    • THRIFT-2118 - Certificate error handling still incorrect
    • ๐Ÿ— THRIFT-2137 - Ruby test lib fails jenkins build #864
    • ๐Ÿ— THRIFT-2136 - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
    • โœ… THRIFT-2135 - GO lib leaves behind test files that are auto generated
    • THRIFT-2134 - mingw-cross-compile script failing with strip errors
    • โœ… THRIFT-2133 - java TestTBinaryProtocol.java test failing
    • THRIFT-2126 - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
    • THRIFT-2125 - debian missing from DIST
    • โœ… THRIFT-2124 - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
    • ๐Ÿ— THRIFT-2123 - GO lib missing files in DIST build
    • THRIFT-2121 - Compilation bug for Node.js
    • THRIFT-2129 - php ext missing from dist
    • โœ… THRIFT-2128 - lib GO tests fail with funct ends without a return statement
    • THRIFT-2286 - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
    • THRIFT-1973 - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
    • โš  THRIFT-1992 - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
    • THRIFT-1930 - C# generates unsigned byte for Thrift "byte" type
    • โšก๏ธ THRIFT-1929 - Update website to use Mirrors for downloads
    • THRIFT-1928 - Race may still exist in TFileTransport::flush()
    • THRIFT-1934 - Tabs in Example section on main page are not working
    • THRIFT-1933 - Delphi generator crashes when a typedef references another typedef from an included file
    • THRIFT-1942 - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
    • ๐Ÿ‘ THRIFT-1959 - C#: Add Union TMemoryBuffer support
    • THRIFT-1958 - C#: Use static Object.Equals instead of .Equals() calls in equals
    • THRIFT-1957 - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
    • โœ… THRIFT-1955 - Union Type writer generated in C# does not WriteStructBegin
    • THRIFT-1952 - Travis CI
    • ๐Ÿ— THRIFT-1949 - WP7 build broken
    • ๐Ÿ“„ THRIFT-1943 - docstrings for enum values are ignored
    • THRIFT-2070 - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
    • ๐Ÿ“œ THRIFT-2017 - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
    • THRIFT-2032 - C# client leaks sockets/handles
    • THRIFT-1996 - JavaME Constants generation is broken / inconsistent with regular Java generation
    • โœ… THRIFT-2002 - Haskell: Test use Data.Maybe instead of Maybe
    • ๐Ÿ— THRIFT-2051 - Vagrant fails to build erlang
    • THRIFT-2050 - Vagrant C# lib compile fails with TException missing
    • ๐Ÿ’Ž THRIFT-1978 - Ruby: Thrift should allow for the SSL verify mode to be set
    • THRIFT-1984 - namespace collision in python bindings
    • ๐Ÿ— THRIFT-1988 - When trying to build a debian package it fails as the file NEWS doesn't exist
    • THRIFT-1975 - TBinaryProtocol CheckLength can't be used for a client
    • THRIFT-1995 - '.' allowed at end of identifier generates non-compilable code
    • THRIFT-2112 - Error in Go generator when using typedefs in map keys
    • โœ๏ธ THRIFT-2088 - Typos in Thrift compiler help text
    • THRIFT-2080 - C# multiplex processor does not catch IOException
    • THRIFT-2082 - Executing "gmake clean" is broken
    • THRIFT-2102 - constants are not referencing to correct type when included from another thrift file
    • THRIFT-2100 - typedefs are not correctly referenced when including from other thrift files
    • THRIFT-2066 - 'make install' does not install two headers required for C++ bindings
    • THRIFT-2065 - Not valid constants filename in Java
    • THRIFT-2047 - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
    • THRIFT-2036 - Thrift gem warns about class variable access from top level
    • โœ… THRIFT-2057 - Vagrant fails on php tests
    • THRIFT-2105 - Generated code for default values of collections ignores t_field::T_REQUIRED
    • โš  THRIFT-2091 - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
    • THRIFT-2090 - Go generator, fix including of other thrift files
    • ๐Ÿ‘ THRIFT-2106 - Fix support for namespaces in GO generator
    • THRIFT-1783 - C# doesn't handle required fields correctly
    • THRIFT-1782 - async only defined in silverlight
    • THRIFT-1779 - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
    • ๐Ÿ THRIFT-1692 - SO_REUSEADDR allows for socket hijacking on Windows
    • ๐Ÿ’Ž THRIFT-1720 - JRuby times out on successful connection
    • THRIFT-1713 - Named and Anonymous Pipe transport (Delphi)
    • THRIFT-1699 - Native Union#read has extra read_field_end call
    • THRIFT-1749 - Python TSSLSocket error handling obscures actual error
    • THRIFT-1748 - Guard and RWGuard macros defined in global namespace
    • ๐Ÿš€ THRIFT-1734 - Front webpage is still advertising v0.8 as current release
    • ๐Ÿ”จ THRIFT-1729 - C glib refactor left empty folders in svn
    • THRIFT-1767 - unions can't have required fields (Delphi)
    • ๐Ÿ–จ THRIFT-1765 - Incorrect error message printed for null or negative keys
    • ๐Ÿ”ง THRIFT-1778 - Configure requires manual intervention due to tar failure
    • THRIFT-1777 - TPipeServer is UNSTOPPABLE
    • ๐Ÿ THRIFT-1753 - Multiple C++ Windows, OSX, and iOS portability issues
    • THRIFT-1756 - 'make -j 8' fails with "unterminated #ifdef" error
    • THRIFT-1773 - Python library should run on python 2.4
    • THRIFT-1769 - unions can't have required fields (C++)
    • THRIFT-1768 - unions can't have required fields (Compiler)
    • โš  THRIFT-1666 - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
    • THRIFT-1919 - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
    • THRIFT-1864 - implement event handler for non-blocking server
    • THRIFT-1859 - Generated error c++ code with -out and include_prefix param
    • THRIFT-1869 - TThreadPoolServer (java) dies when threadpool is consumed
    • THRIFT-1842 - Memory leak with Pipes
    • ๐Ÿ— THRIFT-1838 - Can't build compiler on OS X because of missing thrifty.h
    • ๐Ÿ— THRIFT-1846 - Restore socket.h header to support builds with Android NDK
    • โœ… THRIFT-1850 - make check hangs on TSocket tests in TransportTest.cpp
    • THRIFT-1873 - Binary protocol factory ignores struct read/write flags
    • THRIFT-1872 - issues with TBufferedTransport buffer
    • THRIFT-1904 - Incorrect code is generated for typedefs which use included types
    • THRIFT-1903 - PHP namespaces cause binary protocols to not be used
    • THRIFT-1895 - Delphi: reserved variable name "result" not detected properly
    • ๐Ÿš€ THRIFT-1881 - TNonblockingServer does not release open connections or threads on shutdown
    • THRIFT-1888 - Java Thrift client can't connect to Python Thrift server on same host
    • THRIFT-1831 - Bug in list deserializer
    • โš  THRIFT-1824 - many compile warning, becase Thread.h includes config.h
    • THRIFT-1823 - Missing parenthesis breaks "IS_..." macro in generated code
    • THRIFT-1806 - Python generation always truncates init.py files
    • THRIFT-1795 - Race condition in TThreadedServerPool java implementation
    • THRIFT-1794 - C# asyncctp broken
    • ๐Ÿ’Ž THRIFT-1804 - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
    • ๐Ÿ“š THRIFT-1800 - Documentation text not always escaped correctly when rendered to HTML
    • THRIFT-1788 - C#: Constants static constructor does not compile
    • THRIFT-1816 - Need "require" included thrift files in "xxx_types.js"
    • โš  THRIFT-1907 - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
    • THRIFT-1913 - skipping unknown fields in java unions
    • THRIFT-2553 - C++ linker error) - transport/TSocket
    • ๐Ÿš€ THRIFT-274 - Towards a working release/versioning process

    ๐Ÿ“š Documentation

    ๐Ÿ‘Œ Improvement

    • THRIFT-1574 - Apache project branding requirements: DOAP file [PATCH]
    • THRIFT-1347 - Unify the exceptions returned in generated Go code
    • ๐ŸŽ THRIFT-1353 - Switch to performance branch, get rid of BinaryParser
    • ๐Ÿ”ง THRIFT-1629 - Ruby 1.9 Compatibility during Thrift configure, make, install
    • ๐Ÿ”จ THRIFT-991 - Refactor Haskell code and generator
    • THRIFT-990 - Sanify gettimeofday usage codebase-wide
    • THRIFT-791 - Let C++ TSimpleServer be driven by an external main loop
    • 0๏ธโƒฃ THRIFT-2117 - Cocoa TBinaryProtocol strictWrite should be set to true by default
    • ๐Ÿ’… THRIFT-2014 - Change C++ lib includes to use style throughout
    • ๐Ÿ‘ THRIFT-1972 - Add support for async processors
    • THRIFT-1970 - [Graphviz] Adds option to render exceptions relationships
    • ๐Ÿ‘ THRIFT-1966 - Support different files for SSL certificates and keys
    • THRIFT-1965 - Adds Graphviz (graph description language) generator
    • THRIFT-1956 - Switch to Apache Commons Lang 3
    • THRIFT-1962 - Multiplex processor should send any TApplicationException back to client
    • THRIFT-1960 - main() declares 22 unused gen bools
    • THRIFT-1951 - libthrift.jar has source files in it
    • ๐Ÿ”ง THRIFT-1997 - Add accept backlog configuration method to TServerSocket
    • ๐Ÿ—„ THRIFT-2003 - Deprecate senum
    • 0๏ธโƒฃ THRIFT-2052 - Vagrant machine image defaults to only 384MB of RAM
    • THRIFT-1980 - Modernize Go tooling, fix go client library.
    • ๐Ÿ›  THRIFT-1977 - C# compiler should generate constant files prefixed with thrift file name
    • ๐Ÿ— THRIFT-1985 - add a Vagrantfile to build and test Apache Thrift fully reproducible
    • ๐Ÿ—„ THRIFT-1994 - Deprecate slist
    • THRIFT-1993 - Factory to create instances from known (generated) interface types with Delphi
    • โฑ THRIFT-2081 - Specified timeout should be used in TSocket.Open()
    • THRIFT-2084 - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
    • THRIFT-2083 - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
    • ๐Ÿ‘ THRIFT-2109 - Secure connections should be supported in Go
    • ๐Ÿ›  THRIFT-2107 - minor Go generator fixes
    • โš  THRIFT-1695 - allow warning-free compilation in VS 2012 and GNU 4.6
    • ๐Ÿ— THRIFT-1735 - integrate tutorial into regular build
    • THRIFT-1716 - max allowed connections should be PIPE_UNLIMITED_INSTANCES
    • ๐Ÿ— THRIFT-1715 - Allow excluding python parts when building contrib/fb303
    • ๐Ÿ— THRIFT-1733 - Fix RPM build issues on RHEL6/OL6 systems
    • THRIFT-1728 - Upgradation of httpcomponents
    • THRIFT-1876 - Use enum names instead of casted integers in assignments
    • โฑ THRIFT-1874 - timeout for the server-side end of a named pipe
    • ๐Ÿ‘ THRIFT-1897 - Support validation of required fields
    • THRIFT-1896 - Add TBase protocol for Cocoa
    • THRIFT-1880 - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
    • THRIFT-1878 - Add the possibility to send custom headers
    • THRIFT-1882 - Use single include
    • THRIFT-1793 - C#: Use static read instead of instance read
    • THRIFT-1799 - Option to generate HTML in "standalone mode"
    • THRIFT-1815 - Code generators line buffer output
    • THRIFT-1890 - C++: Make named pipes server work asynchronously
    • ๐Ÿ’Ž THRIFT-474 - Generating Ruby on Rails friendly code

    ๐Ÿ†• New Feature

    • ๐Ÿ’Ž THRIFT-801 - Provide an interactive shell (irb) when generating ruby bindings
    • THRIFT-2292 - Android Library Project
    • THRIFT-2012 - Modernizing Go
    • โœ… THRIFT-1969 - C#: Tests not properly linked from the solution
    • THRIFT-1785 - C#: Add TMemoryBuffer serializer/deserializer
    • THRIFT-1780 - Add option to generate nullable values
    • THRIFT-1786 - C# Union Typing
    • ๐Ÿ THRIFT-591 - Make the C++ runtime library be compatible with Windows and Visual Studio
    • ๐Ÿ”ง THRIFT-514 - Add option to configure compiler output directory

    Question

    • THRIFT-1764 - how to get the context of client when on a rpc call in server side?
    • THRIFT-1791 - thrift's namespace directive when generating haskell code

    Sub-task

    • โœ… THRIFT-1594 - Java test clients should have a return codes that reflect whether it succeeds or not.
    • โœ… THRIFT-1595 - Java test server should follow the documented behavior as of THRIFT-1590
    • THRIFT-986 - st: add version Info to the library
    • THRIFT-985 - php: add version Info to the library
    • THRIFT-984 - ocaml: add version Info to the library
    • THRIFT-1924 - Delphi: Inconsistency in serialization of optional fields
    • THRIFT-1922 - C#: Inconsistency in serialization of optional fields
    • โœ… THRIFT-1961 - C# tests should be in lib/csharp/test/...
    • โœ… THRIFT-1822 - PHP unit test does not work
    • ๐Ÿ‘ THRIFT-1902 - C++: Support for Multiplexing Services on any Transport, Protocol and Server
    • ๐Ÿ‘ THRIFT-1901 - C#: Support for Multiplexing Services on any Transport, Protocol and Server
    • ๐Ÿ‘ THRIFT-1899 - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
    • ๐Ÿ‘ THRIFT-563 - Support for Multiplexing Services on any Transport, Protocol and Server
  • v0.9.0

    February 02, 2014
  • v0.8.0

    February 02, 2014
  • v0.7.0

    February 02, 2014
  • v0.6.1 Changes

    ๐Ÿ› Bug

    • ๐Ÿš€ THRIFT-1133 - Java and JavaScript tutorial is broken since we have Java maven deployment
    • THRIFT-1131 - C# JSON Protocol is unable to decode escaped characters in string
    • THRIFT-1074 - .keystore and .truststore are missing from the 0.6.0 distribution

    ๐Ÿ‘Œ Improvement

    • ๐Ÿš€ THRIFT-1109 - Deploy fb303 along side libthrift to maven repo
    • ๐Ÿš€ THRIFT-363 - Maven Deploy

    Question

    • ๐Ÿ”€ THRIFT-1206 - did the THRIFT 0.6.1 merge THRIFT-563 ?

    Sub-task

    • THRIFT-1163 - How can i use multi service in one program?

    Task

  • v0.6 Changes

    ๐Ÿ› Bug

    • THRIFT-1020 - OCaml compiler generates invalid OCaml
    • THRIFT-1015 - TUnion does not handle ByteBuffer in toString
    • THRIFT-1013 - generated java code may have name clashes with thrift library
    • THRIFT-1009 - TUnion does not correctly deep copy a ByteBuffer
    • THRIFT-1032 - "make dist" fails due to c_glib problem
    • THRIFT-868 - Referencing constant values doesn't work with with typedef types
    • THRIFT-971 - java module can't be compiled without ivy and network connection
    • THRIFT-970 - Under heavy load, THttpClient may fail with "too many open files"
    • ๐Ÿšš THRIFT-969 - Java Tutorial broken, move CalculatorHandler to a separate file
    • THRIFT-807 - JavaScript: Initialization of Base Types with 0 instead of null
    • ๐Ÿ THRIFT-955 - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
    • THRIFT-992 - Naming convention in C# constructor is not consistent with other fields causes compile errors
    • THRIFT-1008 - byte[] accessors throw NPE on unset field
    • THRIFT-1006 - Impossible to correctly qualify an enum constant in an external thrift file
    • THRIFT-950 - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
    • THRIFT-975 - lib/c_glib/README is missing => breaks make dist
    • ๐Ÿ‘ THRIFT-944 - Support all version-4s of base
    • 0๏ธโƒฃ THRIFT-939 - optional binary fields throw NPE on default byte[] getters
    • ๐Ÿ— THRIFT-935 - PHP Extension aborts the build if php-config is not installed
    • โš  THRIFT-933 - Haskell's Thrift.cabal has warnings
    • โœ… THRIFT-932 - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
    • THRIFT-904 - C# TSocket should disable nagle and linger
    • THRIFT-941 - Make PHP C Extension use the defined Protocol writeMessageBegin function
    • THRIFT-940 - 'make check' fails if boost is not in the std include and link paths
    • THRIFT-924 - Fix generated php structure constants
    • ๐Ÿ’Ž THRIFT-979 - ruby bindings used to work on jruby
    • THRIFT-977 - Hex Conversion Bug in C++ TJSONProtocol
    • โฑ THRIFT-347 - PHP TSocket Timeout Issues
    • THRIFT-517 - TExceptions thrown by server result in cryptic error message on client) - Tried to read 4 bytes, but only got 0 bytes

    ๐Ÿ‘Œ Improvement

    • THRIFT-1024 - Add Python Twisted example to the Tutorial
    • THRIFT-958 - Change accessmodifer on trans_ field in the FrameBuffer class to public.
    • THRIFT-957 - THsHaServer: Change access modifier of the invoker field.
    • THRIFT-1002 - CodeStyle: t_c_glib_generator.cc
    • THRIFT-1005 - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
    • THRIFT-951 - Add a new isServing() method to TServer
    • THRIFT-943 - Silly readme typo fix.
    • โœ… THRIFT-961 - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
    • โœ… THRIFT-960 - add TestServer, TestNonblockingServer and TestClient again
    • THRIFT-949 - Modify the TEnum interface so it defines a method similar to findByValue
    • ๐Ÿ“‡ THRIFT-946 - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
    • THRIFT-903 - custom ThreadFactory in THsHaServer
    • โœ… THRIFT-913 - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
    • THRIFT-926 - Miscellaneous C++ improvements
    • โœ… THRIFT-929 - Improvements to the C++ test suite
    • THRIFT-893 - add JavaScript to the tutorial examples
    • ๐Ÿ’… THRIFT-1003 - Polishing c_glib code
    • THRIFT-71 - Debian packaging for thrift

    ๐Ÿ†• New Feature

    • THRIFT-1033 - Node.js language target
    • THRIFT-947 - Provide a helper method to determine the TProtocol used to serialize some data.
    • THRIFT-928 - Make more statistics available in C++ servers
    • THRIFT-922 - Templatized [de]serialization code for C++
    • ๐Ÿ‘ THRIFT-923 - Event-driven client and server support for C++
    • THRIFT-925 - Provide name<->value map for enums in C++
    • THRIFT-927 - Add option to modify the PHP include path
    • THRIFT-377 - TFileTransport port in Java
    • THRIFT-106 - TSSLServerSocket
    • THRIFT-582 - C implementation of Thrift
    • THRIFT-745 - Make it easier to instantiate servers

    Sub-task

    • 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

    Task

    โœ… Test

    • โœ… THRIFT-581 - Add a testsuite for txThrift (Twisted)