Apache Thrift v0.9.1 Release Notes
Release Date: 2014-02-02 // about 10 years ago-
๐ 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
- ๐ THRIFT-1971 - [Graphviz] Adds tutorial/general description documentation
- THRIFT-2001 - http://thrift.apache.org/ Example "C++ Server" tab is broken
๐ 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