Apache Thrift v0.14.0 Release Notes

  • ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿšš THRIFT-4981 - Remove deprecated netcore bindings from the code base
    • ๐Ÿšš THRIFT-4982 - Remove deprecated csharp bindings from the code base
    • โฌ†๏ธ THRIFT-4990 - Upgrade to .NET Core 3.1 (LTS)
    • THRIFT-5006 - Implement DEFAULT_MAX_LENGTH at TFramedTransport
    • THRIFT-5069 - In Go library TDeserializer.Transport is now typed *TMemoryBuffer instead of TTransport
    • THRIFT-5072 - Haskell generator fails to distinguish between multiple enum types with conflicting enum identifiers
    • โฌ†๏ธ THRIFT-5116 - Upgrade NodeJS to 10.x
    • THRIFT-5138 - Swift generator does not escape keywords properly
    • THRIFT-5164 - In Go library TProcessor interface now includes ProcessorMap and AddToProcessorMap functions.
    • THRIFT-5186 - cpp: use all getaddrinfo() results when retrying failed bind() in T{Nonblocking,}ServerSocket
    • THRIFT-5233 - go: Now all Read*, Write* and Skip functions in TProtocol accept context arg
    • โฑ THRIFT-5152 - go: TSocket and TSSLSocket now have separated connect timeout and socket timeout
    • ๐Ÿ c++: dropped support for Windows XP

    Java

    • ๐Ÿ‘€ THRIFT-5022 - TIOStreamTransport.isOpen returns true for one-sided transports (see THRIFT-2530).

    Go

    • THRIFT-5069 - Add TSerializerPool and TDeserializerPool, which are thread-safe versions of TSerializer and TDeserializer.
    • ๐Ÿ‘ THRIFT-5164 - Add ClientMiddleware function type and WrapClient function to support wrapping a TClient with middleware functions.
    • ๐Ÿ‘ THRIFT-5164 - Add ProcessorMiddleware function type and WrapProcessor function to support wrapping a TProcessor with middleware functions.
    • THRIFT-5233 - Add context deadline check to ReadMessageBegin in TBinaryProtocol, TCompactProtocol, and THeaderProtocol.
    • THRIFT-5240 - The context passed into server handler implementations will be canceled when we detected that the client closed the connection.