Apache Thrift v0.13.0 Release Notes

Release Date: 2019-10-16 // over 4 years ago
  • ๐Ÿ†• New Languages

    • (none)

    ๐Ÿ—„ Deprecated Languages

    • ๐Ÿš€ THRIFT-4723 - CSharp and Netcore targets are deprecated and will be removed with the next release) - use NetStd instead.

    โœ‚ Removed Languages

    • ๐Ÿšš THRIFT-4719 - Cocoa language was removed) - use swift instead.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿšš THRIFT-4743 - compiler: removed the plug-in mechanism
    • ๐Ÿšš THRIFT-4720 - cpp: C++03/C++98 support has been removed; also removed boost as a runtime dependency
    • ๐Ÿšš THRIFT-4730 - cpp: BoostThreadFactory, PosixThreadFactory, StdThreadFactory removed
    • THRIFT-4732 - cpp: CMake build changed to use BUILD_SHARED_LIBS
    • ๐Ÿšš THRIFT-4735 - cpp: Removed Qt4 support
    • THRIFT-4740 - cpp: Use std::chrono::duration for timeouts
    • THRIFT-4762 - cpp: TTransport::getOrigin() is now const
    • THRIFT-4702 - java: class org.apache.thrift.AutoExpandingBuffer is no longer public
    • THRIFT-4709 - java: changes to UTF-8 handling require JDK 1.7 at a minimum
    • THRIFT-4712 - java: class org.apache.thrift.ShortStack is no longer public
    • THRIFT-4725 - java: change return type signature of 'process' methods
    • THRIFT-4805 - java: replaced TSaslTransportException with TTransportException
    • THRIFT-2530 - java: TIOStreamTransport's "isOpen" now returns false after "close" is called
    • THRIFT-4675 - js: now uses node-int64 for 64 bit integer constants
    • THRIFT-4841 - delphi: old THTTPTransport is now TMsxmlHTTPTransport
    • THRIFT-4536 - rust: convert from try-from crate to rust stable (1.34+), re-export ordered-float

    ๐Ÿš‘ Known Issues (Blocker or Critical)

    • โœ… THRIFT-3877 - C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)

    As3

    • THRIFT-4784 - Thrift should throw when skipping over unexpected data

    ๐Ÿ— Build Process

    • ๐Ÿ— THRIFT-2333 - RPMBUILD: Abort build if user did not disable ruby but ruby build will fail later on
    • ๐Ÿš€ THRIFT-4689 - Pull changes from 0.12.0 release branch into master
    • ๐Ÿš€ THRIFT-4690 - Update dlang deimos for OpenSSL 1.1 (use 1.1.0h tagged release instead of master)
    • โฌ†๏ธ THRIFT-4694 - Upgrade Java to Java 1.8
    • ๐Ÿš€ THRIFT-4716 - Create a version alignment tool to make releases easier
    • THRIFT-4760 - Install pkgconfig when using cmake
    • ๐Ÿ“ฆ THRIFT-4769 - Change NuGet package to use netstd artifact
    • THRIFT-4811 - Add cmake config module
    • ๐Ÿ‘ท THRIFT-4855 - go CI fails with "cannot find package "golang.org/x/tools/go/packages" in any of ..."
    • ๐Ÿ‘ท THRIFT-4864 - CI fails at netstd
    • THRIFT-4874 - Thrift 0.12.0 Source Distribution (.tar.gz) Contains Hardlinks) - Extract Fails
    • ๐Ÿ— THRIFT-4896 - cpp and c_glib include paths are added to source files when building
    • ๐Ÿ— THRIFT-4966 - Git ignore files generated by the build

    C glib

    • THRIFT-4842 - Multiplexed protocol has a memory leak in set c_glib
    • ๐Ÿ‘ THRIFT-4878 - c_glib ThriftSocket support for unix domain sockets
    • THRIFT-4950 - fix bind print error and Macro call errors thrift_server_socket

    C

    • โฑ THRIFT-3587 - C# TTLSSocket does not use timeout for opening the socket
    • THRIFT-4024 - Skip() should throw on unknown data types
    • THRIFT-4684 - Missing namespace and un-used private fields in WCF fault classes when enable WCF in C# code generation
    • THRIFT-4715 - C# union "data" should be strongly-typed
    • ๐Ÿ—„ THRIFT-4723 - Consolidate C# and netcore into new netstd language target (and finally deprecate both C# and netcore bindings)
    • THRIFT-4741 - Missing "inner" argument from one CTOR
    • ๐Ÿ“ฆ THRIFT-4769 - Change NuGet package to use netstd artifact
    • THRIFT-4859 - Enables changing 'UserAgent'
    • THRIFT-4907 - strong named assemblies wanted

    C++

    • THRIFT-4384 - Using a concurrent client with cpp async is not safe.
    • ๐Ÿ— THRIFT-4441 - C++: support building lib without Boost
    • ๐Ÿ THRIFT-4487 - gettimeofday: windows implementation not quoting source, applying license to foreign code
    • ๐Ÿง THRIFT-4593 - Unit Tests failing on Alpine Linux due to non-portable mutex initializers
    • THRIFT-4678 - add noexcept cpp generator option
    • ๐Ÿ”จ THRIFT-4720 - Drop support for C++03/C++98 and begin refactoring
    • ๐Ÿšš THRIFT-4730 - Remove pthread and boost::thread library support and use std::thread for C++11
    • ๐Ÿšš THRIFT-4735 - Remove C++ Qt4 support (leave Qt5) - Qt4 LTS ended in 2014
    • ๐Ÿ THRIFT-4739 - Good old concurrency_test failing on windows builds again with some regularity
    • ๐Ÿšš THRIFT-4740 - Use std::chrono for timeout and remove old structures.
    • ๐Ÿ”จ THRIFT-4762 - C++: Applied some C++11 refactorings to the runtime library and compiler
    • THRIFT-4776 - Modernize c++11 code by clang-tidy
    • THRIFT-4830 - Add to_string function for enum in C++ file generate
    • ๐Ÿšš THRIFT-4861 - Fix use of deprecated boost endian header; move to minimum boost 1.56.0
    • ๐Ÿ‘ป THRIFT-4936 - add depth limit type exception description
    • THRIFT-4962 - Deadlock in TimerManager::stop

    cocoa

    • ๐Ÿšš THRIFT-4719 - Remove cocoa language support